Python 对部分索引重叠的行进行数据帧合并/联接

Python 对部分索引重叠的行进行数据帧合并/联接,python,pandas,join,merge,Python,Pandas,Join,Merge,我有以下两个数据帧: df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'], ...: 'B': ['B0', 'B1', 'B2'], ...: 'C': ['C0', 'C1', 'C2'], ...: 'D': ['D0', 'D1', 'D2']}, ...: index=

我有以下两个数据帧:

df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2'],
   ...:                     'B': ['B0', 'B1', 'B2'],
   ...:                     'C': ['C0', 'C1', 'C2'],
   ...:                     'D': ['D0', 'D1', 'D2']},
   ...:                     index=[0, 1, 2])

如您所见,df1和df2只有索引2作为重叠

我希望以这样的方式组合这两个df,最终结果是:

df3 = pd.DataFrame({'A': ['A0', 'A1', 'A2',np.nan,np.nan],
   ...:                     'B': ['B0', 'B1', 'B2',np.nan,np.nan],
   ...:                     'C': ['C0', 'C1', 'C2',np.nan, np.nan],
   ...:                     'D': ['D0', 'D1', 'D2',np.nan,np.nan],
                            'E': [np.nan, np.nan, 'E2','E3','E4'],
                            'F': [np.nan, np.nan, 'F2','F3','F4']},
   ...:                     index=[0, 1, 2,3,4])
使用:

使用:


可以使用concat,轴1

pd.concat([df1,df2],axis=1)

    A   B   C   D   E   F
0   A0  B0  C0  D0  NaN NaN
1   A1  B1  C1  D1  NaN NaN
2   A2  B2  C2  D2  E2  F2
3   NaN NaN NaN NaN E3  F3
4   NaN NaN NaN NaN E4  F4

可以使用concat,轴1

pd.concat([df1,df2],axis=1)

    A   B   C   D   E   F
0   A0  B0  C0  D0  NaN NaN
1   A1  B1  C1  D1  NaN NaN
2   A2  B2  C2  D2  E2  F2
3   NaN NaN NaN NaN E3  F3
4   NaN NaN NaN NaN E4  F4
pd.concat([df1,df2],axis=1)

    A   B   C   D   E   F
0   A0  B0  C0  D0  NaN NaN
1   A1  B1  C1  D1  NaN NaN
2   A2  B2  C2  D2  E2  F2
3   NaN NaN NaN NaN E3  F3
4   NaN NaN NaN NaN E4  F4