pandas如何批量去除列名首尾多余空格 无需手动迁移删除列
列名首尾空格批量清理方案
你可以直接对DataFrame的列名字符串做批量trim操作,不需要修改原有数据,一行代码即可完成:
通用解决方案(推荐)
直接对df.columns调用字符串处理方法即可:
# 一次性清理所有列名的首尾空格 df.columns = df.columns.str.strip()
- 如果仅需要清理列名开头的空格:替换为
str.lstrip() - 如果仅需要清理列名结尾的空格:替换为
str.rstrip() - 如果还需要合并列名中间的连续多个空格为单个空格,可以组合使用:
df.columns = df.columns.str.replace(r'\s+', ' ', regex=True).str.strip()
可选方案:使用rename方法
如果你不想直接修改原DataFrame的列名,或者需要链式调用操作,可以用rename方法:
# 直接修改原df df.rename(columns=lambda x: x.strip(), inplace=True) # 不修改原df,返回处理后的新df new_df = df.rename(columns=lambda x: x.strip())
以上两种方案都只会修改列名字符串本身,不会变动任何单元格内的实际数据,比手动复制列再删除旧列的效率高很多,也不会出现遗漏处理的情况。
内容的提问来源于stack exchange,提问作者jay
相关产品推荐
相关产品推荐

