2016-09-07 62 views
2

我有數據框和字典。這些看起來像,從具有字典鍵的另一列創建熊貓數據框列

import pandas as pd 
df1 = pd.DataFrame({'first':['john','oliver','sarah']}) 
df1_map = {'john': 'anderson', 'oliver': 'smith', 'sarah' : 'shively'} 
print (df1) 
print (df1_map) 

    first 
0 john 
1 oliver 
2 sarah 
{'oliver': 'smith', 'sarah': 'shively', 'john': 'anderson'} 

df1 ['first']的值代表字典的關鍵值。

我想第二列添加到稱爲數據幀DF1 [「第二」]這樣的字典關係得以維持得到以下數據框中,

first last 
0 john anderson 
1 oliver  smith 
2 sarah shively 

現在,我可以遍歷數據框中的值,就像這樣,

df1['last'] = [ df1_map[i] for i in list(df1['first'])] 

我在想,如果大熊貓支持矢量執行/功能,能夠做到這一點沒有遍歷DF行

回答

6

您只需直接映射字典值於與鍵:

df1['last'] = df1['first'].map(df1_map) 

結果是:

Out[6]: 
    first  last 
0 john anderson 
1 oliver  smith 
2 sarah shively 
相關問題