2017-07-03 74 views
1

假設我有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數據幀的列名。

我該如何在一兩行代碼中完成熊貓?

回答

2

您需要rename通過dictSeries

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 
+0

完美,謝謝! –

+0

很高興能幫到你!您也可以註冊 - 點擊接受標記上方'0'上方的小三角。謝謝。 – jezrael