根据另一个数据帧中给出的值更新数据框列名

时间:2017-12-07 11:20:10

标签: python pandas dataframe

我是python的新手。我正在尝试根据另一个数据帧重命名数据框的列。

基本上我的数据看起来像是

DataFrame1

A    B    C   D
1    2    3   4

我有另一个看起来像'DataFrame2

的表
Col1    Col2
A       E
B       Q
C       R
D       Z

我想根据此表重命名我的第一个数据框的列,以便它出来:注意。列名称顺序不相同。

E    Q    R    Z
1    2    3    4

2 个答案:

答案 0 :(得分:4)

rename创建的字典使用zip

d = dict(zip(df1['Col1'], df1['Col2']))
df = df.rename(columns=d)
print (df)
   E  Q  R  Z
0  1  2  3  4

答案 1 :(得分:2)

通过设置索引使用map,即

df.columns = df.columns.map(df2.set_index('Col1')['Col2'].get)

   E  Q  R  Z
0  1  2  3  4