如何批量修改列表中所有DataFrame的指定列名(去除空格)?
这里有两种实用的方法帮你批量修改列表里所有DataFrame的列名,根据你的需求选就行:
方法1:精准修改指定列名
如果你只需要修改这两列的名称,不想碰其他可能存在的列,直接用rename()方法指定列名映射是最稳妥的:
import pandas as pd # 假设你的DataFrame列表叫df_list for df in df_list: # inplace=True直接修改原DataFrame,不需要重新赋值 df.rename(columns={ 'Total Counts': 'TotalCounts', 'Total Overshoot': 'TotalOvershoot' }, inplace=True)
或者你不想修改原DataFrame,而是生成一个全新的修改后列表:
df_list_updated = [ df.rename(columns={ 'Total Counts': 'TotalCounts', 'Total Overshoot': 'TotalOvershoot' }) for df in df_list ]
方法2:批量去除所有列名的空格
如果你的所有列名(不止这两列)都需要去掉空格,用字符串替换的方式更高效,不用逐个列名指定:
for df in df_list: # 直接替换列名里的所有空格 df.columns = df.columns.str.replace(' ', '')
同样,生成新列表的写法:
df_list_updated = [df.rename(columns=lambda col: col.replace(' ', '')) for df in df_list]
小提示
- 如果你的DataFrame列表里每个DF的结构完全一致,两种方法都适用;如果有个别DF列名存在差异,方法1的精准映射更不容易出错。
- 使用
inplace=True时会直接修改原DataFrame,如果你需要保留原始数据,建议用列表推导式生成新列表的方式。
内容的提问来源于stack exchange,提问作者user195366
相关产品推荐
相关产品推荐

