如何为含2000+列的Pandas DataFrame批量添加列名前缀?
为Pandas DataFrame所有列名批量添加前缀
问题描述
我创建了如下Pandas DataFrame:
import pandas as pd ds = {"col1":[1,2,3,4,5], "col2":[6,7,8,9,10]} df = pd.DataFrame(data=ds) print(df)
输出结果:
col1 col2 0 1 6 1 2 7 2 3 8 3 4 9 4 5 10
实际场景中我有2000+列,无法手动修改列名,需要为所有列名添加前缀Milan_,期望得到的结果:
Milan_col1 Milan_col2 0 1 6 1 2 7 2 3 8 3 4 9 4 5 10
请问如何用Python自动化实现?
解决方案
有两种高效的自动化实现方式,都能轻松处理数千列的场景:
方法1:使用add_prefix()方法(推荐)
这是Pandas内置的专门用于给列名添加前缀的方法,代码简洁且性能最优:
df = df.add_prefix('Milan_') print(df)
执行后会直接为所有列名加上指定前缀,无需手动遍历列列表。
方法2:批量修改columns属性
如果需要更灵活的自定义逻辑(比如仅给特定列加前缀、同时修改列名格式等),可以用列表推导式批量更新列名:
df.columns = [f'Milan_{col}' for col in df.columns] print(df)
内容的提问来源于stack exchange,提问作者Giampaolo Levorato
相关产品推荐
相关产品推荐

