我正在处理一些DataFrames。一种是从较新的csv中提取,添加了列和连续的日期。但是,大多数列都是相同的。我想把它们组合起来,得到一个具有所有日期和所有列的DataFrame?
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
得到的dataFrame应该是这样的,有一列日期和所有列(我可以稍后将NaN转换为fillna,我只需要知道如何组合(:
df3:
day alice bob charlie
8/11 0 0 0
8/25 2 5 0
9/1 2 0 0
9/12 1 0 1
9/25 2 0 3
9/1 2 0 1
当我将实际的2个DataFrames与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