我有两个数据框:
df1 =
Id ColA ColB ColC
1 aa bb cc
3 11 ww 55
5 11 bb cc
df2 =
Id ColD ColE ColF
1 ff ee rr
2 ww rr 55
3 hh 11 22
4 11 11 cc
5 cc bb aa
我需要合并这两个数据帧以获得以下结果:
result =
Id ColA ColB ColC ColD ColE ColF
1 aa bb cc ff ee rr
2 NaN NaN NaN ww rr 55
3 11 ww 55 hh 11 22
4 NaN NaN NaN 11 11 cc
5 11 bb cc cc bb aa
我这样合并:
import pandas as pd
result = pd.merge(df1,df2,on='Id')
但是我的结果如下所示,而不是预期的上述结果:
result =
Id ColA ColB ColC ColD ColE ColF
1 aa bb cc ff ee rr
3 11 ww 55 hh 11 22
5 11 bb cc cc bb aa
答案 0 :(得分:1)
根据documentation of merge
,您需要将'how'
参数指定为outer
(默认值为inner
,这与您获得的内容一致):
外部:使用两个框架中的键联合(SQL:全外连接)
内部:使用两个框架中的键交叉(SQL:内部连接)