将数据框与一些列相等和一些列不同

Concatenate dataframe with some columns equals and some columns different

我正在尝试连接两个 Dataframes,但系统性地发生错误,我不知道如何更正它。

我在 Pandas 文档中看到了我想要执行的操作的示例:

但是,我正在尝试对我的两个数据帧执行相同的操作:

df1 :

df2 :

有些列相似,但有些不同。我使用 reset_index(drop=True) 来避免这个问题,即使每个数据帧的索引都不同。

我正在尝试这样做:pd.concat([df1, df2], ignore_index=True, sort=False) 但我遇到了这个错误:

有人可以告诉我如何解决这个错误吗? 提前感谢您的宝贵时间!

手动重置索引,转置数据帧,进行外部连接,然后将它们转回。

import pandas as pd

df1 = pd.DataFrame({'A': [1,2,3,4,5], 'B':[2,3,4,5,6], 'C':[-9,-2,-1,8,0]})
df2 = pd.DataFrame({'A': [4,5], 'B':[2,6], 'D':[9,0]})

df1.index = range(df1.shape[0])
df2.index = range(df1.shape[0], df1.shape[0]+df2.shape[0])

result = df1.T.join(df2.T, how='outer').T
result
     A    B    C    D
0  1.0  2.0 -9.0  NaN
1  2.0  3.0 -2.0  NaN
2  3.0  4.0 -1.0  NaN
3  4.0  5.0  8.0  NaN
4  5.0  6.0  0.0  NaN
5  4.0  2.0  NaN  9.0
6  5.0  6.0  NaN  0.0