2016-12-24 62 views
2

我試圖根據與具有不同長度的數據幀匹配的現有列值添加列。根據列值將列添加到數據框

from pandas import DataFrame 

    a = DataFrame([['a', '1'], ['b', 2], ['c', 3]], columns=['Letters', 'Numbers']) 
    b = DataFrame([['a', '2001'], ['b', '2002'], ['c', '2003'], ['d', '2004']], columns=['Letters', 'Years']) 

我怎麼能一列添加稱爲其中有當年讓快報一個b比賽

所需的輸出:

df = DataFrame([['a', '1', '2001'], ['b', 2, '2002'], ['c', 3, '2003']], columns=['Letters', 'Numbers', 'Years']) 

回答

1

使用merge,如果聯接的列在兩個0​​相同,參數on可以被遺漏的,默認情況下也被inner加入,讓參數how是省略太:

print (pd.merge(a,b)) 
    Letters Numbers Years 
0  a  1 2001 
1  b  2 2002 
2  c  3 2003 

print (pd.merge(a,b, on='Letters')) 
    Letters Numbers Years 
0  a  1 2001 
1  b  2 2002 
2  c  3 2003 
+0

Happ y假期:-) – piRSquared

+0

非常感謝,對你也是;) – jezrael

相關問題