提问人:lina_ayv 提问时间:11/5/2023 最后编辑:Herickslina_ayv 更新时间:11/5/2023 访问量:114
如何小写列名并删除空格?
How do I lowercase columns names and removing white spaces?
问:
我需要将列名小写并消除空白。
使用该方法后,我收到错误:.lower()
'Index' object has no attribute 'lower'
我做错了什么?
答:
1赞
gtomer
11/5/2023
#1
下部大小写列名称:
df.columns = df.columns.str.lower()
删除空格:
df.columns = df.columns.str.strip()
评论
0赞
lina_ayv
11/5/2023
这个奏效了,谢谢:)
0赞
lina_ayv
11/5/2023
删除列名中的空白怎么办?也许你可以提出一些建议?
0赞
gtomer
11/5/2023
请参阅上面的更新答案
0赞
mkasprowicz
11/5/2023
#2
正如评论中提到的,是一个直接的答案。str.lower()
您可能还对以下内容感兴趣,因为它返回包含重命名列的整个数据帧,并允许就地修改。df.rename(columns=str.lower)
评论
0赞
lina_ayv
11/5/2023
非常感谢,如何消除列名中的空白?
0赞
lina_ayv
11/5/2023
顺便说一句,使用上述方法后,我未经任何修改就获得了列名
0赞
mkasprowicz
11/5/2023
你说的间隙是什么意思——单词之间的空格?关于第二个问题,你能分享代码和输出的屏幕吗?
0赞
lina_ayv
11/5/2023
是的,我的意思是空格。这是代码“df.columns = df.columns.str.strip() df”作为输出,我得到了带有空格的相同列名(不幸的是,我无法在评论中与您共享屏幕)
2赞
Adrien Riaux
11/5/2023
#3
若要完成前面的答案,还可以使用 map 应用所需的任何转换,请参阅以下示例:
df = pd.DataFrame({
"Column 1": [1, 2, 3],
"COLUMN 2 ": [4, 5, 6]
})
df.columns = df.columns.map(lambda x: x.lower().strip())
如果你想用下划线或类似的东西替换所有空格,你可以使用正则表达式:
import re
df.columns = df.columns.map(lambda x: re.sub('\s+', '_', x.lower().strip()))
下一个:OpenCV 未按预期读取图像
评论
df.columns.str.lower()
当然,不要忘记此代码不会覆盖现有的 df.columns。