假设我有4列数据框:
df = pd.DataFrame({'one': [1., 2., 3., 4.],
'two': [4., 3., 2., 1.],
'three': [4., 3., 2., 1.],
'four': [4., 3., 2., 1.]})
并假设还有另一个数据框(2列):
第一列包含数据框df
('one','two','three','four')列的名称,下一列包含名称,我要更改列名称df
数据框。
我怎么能用一两行代码在pandas中做到这一点?
答案 0 :(得分:2)
您需要rename
dict
或Series
:
print (df1)
a b
0 one c
1 two d
2 three e
3 four f
d = df1.set_index('a')['b'].to_dict()
#by Series
#d = df1.set_index('a')['b']
print (d)
{'four': 'f', 'two': 'd', 'three': 'e', 'one': 'c'}
df = pd.DataFrame({'one': [1., 2., 3., 4.],
'two': [4., 3., 2., 1.],
'three': [4., 3., 2., 1.],
'four': [4., 3., 2., 1.]})
print (df)
df = df.rename(columns=d)
print (df)
f c e d
0 4.0 1.0 4.0 4.0
1 3.0 2.0 3.0 3.0
2 2.0 3.0 2.0 2.0
3 1.0 4.0 1.0 1.0