You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字典对应值追加至Pandas DataFrame原有列名后

Pandas 列名追加映射值实现方法

问题场景

  • 初始测试 DataFrame df 结构如下:
a  b  c 
0  x  x  x
1  x  x  x
2  x  x  x
  • 现有列名映射字典:
headers = {'a' : '3.14', 'b' : '6.67', 'c' : '8.31'}
  • 直接调用df = df.rename(headers)会完全替换原有列名,输出列名为3.14、6.67、8.31,不符合需求。我们需要保留原列名,仅将字典对应值追加到原列名之后,最终效果如下:
a 3.14  b 6.67  c 8.31 
0       x       x       x
1       x       x       x
2       x       x       x

实现代码

最简洁的实现方式是给rename方法的columns参数传入处理函数,对每个列名做拼接:

df = df.rename(columns=lambda col: f"{col} {headers[col]}")

如果字典无法覆盖所有列名,为了避免KeyError,可以改成容错写法,未匹配到的列不追加内容:

df = df.rename(columns=lambda col: f"{col} {headers.get(col, '')}".strip())

你也可以直接通过列表推导式生成新列名赋值,效果完全一致:

df.columns = [f"{col} {headers[col]}" for col in df.columns]

运行上述任意一段代码,即可得到目标格式的列名,不会替换原有列名内容。


内容的提问来源于stack exchange,提问作者macxpat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 20:12:16