Python 在Pandas中,如何将2个数据帧与唯一列组合?

Python 在Pandas中,如何将2个数据帧与唯一列组合?,python,pandas,dataframe,Python,Pandas,Dataframe,我正在处理一些数据帧。一个是从一个新的csv中提取,添加了列,并继续日期。但是,大多数列是相同的。我想将它们结合起来,得到一个包含所有日期和所有列的数据帧 CSV与此类似,有一些相同的列和一些不同的列,但都有唯一的日期: df1: day alice bob 8/11 0 0 8/25 2 5 9/1 2 0 df2: day alice charlie 9/12 1 1 9/25 2 3 9

我正在处理一些数据帧。一个是从一个新的csv中提取,添加了列,并继续日期。但是,大多数列是相同的。我想将它们结合起来,得到一个包含所有日期和所有列的数据帧

CSV与此类似,有一些相同的列和一些不同的列,但都有唯一的日期:

df1:
day     alice  bob
8/11    0      0
8/25    2      5
9/1     2      0

df2:
day     alice  charlie
9/12    1      1
9/25    2      3
9/1     2      1

结果数据框应该是这样的,一列日期和所有列都存在(我可以稍后将NaN转换为fillna,我只需要知道如何组合):

当我将实际的2个数据帧与pd.concat组合时,我得到以下错误:

AssertionError: Number of manager items must equal union of block items
# manager items: 65, # tot_items: 66

我不知道会是什么问题。同时,谢谢你,你太棒了:)

你可以使用
concat

pd.concat((df1,df2), sort=False).fillna(0)

    day  alice  bob  charlie
0  8/11      0  0.0      0.0
1  8/25      2  5.0      0.0
2   9/1      2  0.0      0.0
0  9/12      1  0.0      1.0
1  9/25      2  0.0      3.0
2   9/1      2  0.0      1.0

在我的实际数据帧上,我得到断言错误:管理器项的数量必须等于块项的并集#管理器项:65,#tot_项:66,这必须发生在代码中的其他地方,或者您的数据与示例数据的外观不同:-)。它与示例数据不同(其敏感)。但结构是一样的。一些相同的列、一些新列和持续日期。具体请参见第二点。请提供一个,以及整个错误输出。
pd.concat((df1,df2), sort=False).fillna(0)

    day  alice  bob  charlie
0  8/11      0  0.0      0.0
1  8/25      2  5.0      0.0
2   9/1      2  0.0      0.0
0  9/12      1  0.0      1.0
1  9/25      2  0.0      3.0
2   9/1      2  0.0      1.0