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

如何用另一DataFrame的对应值替换目标DataFrame的列名?

解决方法

问题场景

现有两个DataFrame:
df1结构:

AB
Xy1
XXy2

df2结构:

XXX
12
23

需要将df2的列名(X、XX)替换为df1中对应行的B列值,最终得到列名为y1、y2的df2。

代码实现

首先用pandas构建两个DataFrame:

import pandas as pd

# 构建df1
df1 = pd.DataFrame({
    'A': ['X', 'XX'],
    'B': ['y1', 'y2']
})

# 构建df2
df2 = pd.DataFrame({
    'X': [1, 2],
    'XX': [2, 3]
})

方法一:直接替换列名(适用于列顺序完全匹配的情况)

df2.columns = df1['B']

方法二:通过映射字典重命名(通用方法,不受列顺序影响)

# 创建列名映射关系:原列名 -> 目标列名
col_mapping = dict(zip(df1['A'], df1['B']))
# 重命名df2的列
df2 = df2.rename(columns=col_mapping)

最终结果

执行后df2的结构为:

y1  y2
0   1   2
1   2   3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 05:15:30