【发布时间】:2020-06-18 22:18:50
【问题描述】:
我有一个数据框。许多列名包含非 ASCII 字符和特殊字符,如 ()、/、+、. (中间的非 ascii 点)等和非 ascii 空格。 读取 csv 时没有发生这种情况。这由于单热编码而发生。(当我将分类变量转换为数字列并且类别值具有非 ascii 值时)
df
Col1/name Col 2() name Col3 + name Col4 ^¨ name etc...
预期输出
我只想要列名中的数字、下划线和字符(我只想更改列名而不是数据框或行中的任何值)。这是必要的,因为一些机器学习算法(例如 lightGBM)不适用于列名中的非 ASCII 字符或非 ASCII 空格。
预期输出 df:
Col1name Col_2_name Col3__name Col4__name etc...
所以用下划线替换空格并删除列名中的所有非数字和非字符。
【问题讨论】:
-
为什么不先从你单热编码的列中清除非 ascii 字符?
-
有 1000 列和 30 万行.. 太费劲了
-
我的列名中只需要 ascii 字符,机器学习算法就可以工作
标签: python pandas multiple-columns