通过通用索引添加多个数据框的行的优雅方法

时间:2019-02-08 20:15:54

标签: python pandas dataframe

我有一个〜5,000个数据帧的列表,每个数据帧有〜20列和〜15,000行。所有数据框共享相同的列名,并且我希望优雅地对所有数据框中的所有数据求和,以得出“时间”中的相同值。以下是2个数据帧的示例。关键是要尽可能高效地完成这项工作。

df1 =

time    data1   data2
0       100     100
1       100     100
2       100     100

df2 =

time    data1   data2
1       100     100
2       100     100
3       100     100

输出=

time    data1   data2
0       100     100
1       200     200
2       200     200
3       100     100

1 个答案:

答案 0 :(得分:1)

您可以尝试add,它将添加匹配的索引。在这种情况下,您希望按时进行匹配,因此可以将其设置为索引。

df1.set_index('time').add(df2.set_index('time'), fill_value=0)

      data1  data2
time              
0     100.0  100.0
1     200.0  200.0
2     200.0  200.0
3     100.0  100.0

填充值设置为0,因此,如果一个数据帧中有一个值,而另一个数据帧中没有,则将丢失的值设为0。