我想结合2个类似的数据框。我已经检查了几个网站,但找不到我的问题的答案。
df1 = DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'C': ['C0', 'C1', 'C2', 'C3'],
index=[0, 1, 2])
df2 = DataFrame({'A': ['A0', 'A1', 'A4', 'A3'],
'B': ['B0', 'B1', 'B4', 'B3'],
'D': ['D0', 'D1', 'D4', 'D3']},
index=[0, 1, 2])
我希望有
df3 = DataFrame({'A': ['A0', 'A1', 'A3'],
'B': ['B0', 'B1', 'B3'],
'C': ['C0', 'C1', 'C3'],
'D': ['D0', 'D1', 'D3'].
index=[0, 1, 2, 3])
本质上,我组合了2个数据帧,将列D添加到第一个数据帧。但是,我忽略了行C和D都没有值的行,例如行2和4。
我试过了append和concat,但它只给了我所有列和所有行彼此堆叠的方式。
谢谢!
最佳答案
只需执行默认的merge
,这将对公共列执行内部联接:
In [80]:
df1.merge(df2)
Out[80]:
A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A3 B3 C3 D3