2014-10-02 77 views
1

我有兩個DF,組合的兩個DF的,熊貓

首先DF

A B C 
1 1 3 
1 1 2 
1 2 5 
2 2 7 
2 3 7 

二DF

B D 
1 5 
2 6 
3 4 

B有兩個DFS相同的含義。最簡單的方法是將第D列添加到第一個df中的對應值中?輸出應爲:

A B C D 
1 1 3 5 
1 1 2 5 
1 2 5 6 
2 2 7 6 
2 3 7 4 

回答

1

一個「左」你的情況上柱「B」執行merge

In [206]: 

df.merge(df1, how='left', on='B') 
Out[206]: 
    A B C D 
0 1 1 3 5 
1 1 1 2 5 
2 1 2 5 6 
3 2 2 7 6 
4 2 3 7 4 

另一種方法是,以設置在第二個「B」 DF作爲索引和然後致電map

In [215]: 

df1 = df1.set_index('B') 
df['D'] = df['B'].map(df1['D']) 
df 
Out[215]: 
    A B C D 
0 1 1 3 5 
1 1 1 2 5 
2 1 2 5 6 
3 2 2 7 6 
4 2 3 7 4 
+0

再次感謝您:-) – Guforu 2014-10-02 15:00:42