我正在尝试根据与具有不同长度的数据框匹配的现有列值添加列。
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'])
如何向名为年的 a 添加一列,其中信件的年份为 a , b 匹配。
期望的输出:
df = DataFrame([['a', '1', '2001'], ['b', 2, '2002'], ['c', 3, '2003']], columns=['Letters', 'Numbers', 'Years'])
答案 0 :(得分:1)
使用merge
,如果DataFrame
中的连接列相同,则可省略参数on
,默认情况下也为inner
加入,因此参数{{1}也省略了:
how
print (pd.merge(a,b))
Letters Numbers Years
0 a 1 2001
1 b 2 2002
2 c 3 2003