首页 > 解决方案 > 如何用另一个数据框行重命名列名?

问题描述

我有一个列名的数据框:df1

A_01 A_02 B_03 C_04
 0    0    0    1
 1    2    1    0
 0    1    0    3

还有,df2:

no. value
01  1103
02  1105
03  1210
04  1306

如何使用 df2 上的值重命名 df1 列,如下所示:

1103 1105 1210 1306
 0    0    0    1
 1    2    1    0
 0    1    0    3

标签: pythonpandasdataframerename

解决方案


你需要:

df1.columns = df1.columns.str.split('_').str[1].map(df2.set_index('no.')['value'])

输出:

    1103    1105    1210    1306
0   0         0      0         1
1   1         2      1         0
2   0         1      0         3

推荐阅读