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

在R语言中基于另一个DataFrame的值重命名DataFrame列

用DF1的记录替换DF2列名的解决方法

这需求很接地气,我直接给你上代码和清晰解释,保证一步搞定:

先还原你的两个DataFrame结构:

import pandas as pd

# 你的DF1
DF1 = pd.DataFrame({'Name': ['M_D', 'ABC123']})
# 你的DF2
DF2 = pd.DataFrame({'PQR': [111, 456], 'LMN': [345, 999]})

核心解决代码

只需要一行就能完成列名替换:

# 把DF1的Name列转为列表,直接赋值给DF2的columns属性
DF2.columns = DF1['Name'].tolist()

执行完之后打印DF2,就能得到你想要的结果:

M_D  ABC123
0  111     345
1  456     999

额外提示:严谨性优化

如果担心后续出现DF1记录数和DF2列数不匹配的情况,可以加个判断逻辑避免报错:

if len(DF1) == len(DF2.columns):
    DF2.columns = DF1['Name'].tolist()
else:
    print("⚠️ DF1的记录数和DF2的列数不相等,无法完成列名替换!")

原理其实很简单:pandas的DataFrame列名本质是一个可迭代的列表/数组,只要把DF1里的目标值转换成列表,直接覆盖原列名就行啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:22:24