猿问

通过公共索引添加多个数据帧行的优雅方式

我有一个大约 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


素胚勾勒不出你
浏览 150回答 1
1回答

慕神8447489

您可以尝试add,这将添加匹配的索引。在这种情况下,您希望按时匹配,因此可以将其设置为索引。df1.set_index('time').add(df2.set_index('time'), fill_value=0)      data1  data2time              0     100.0  100.01     200.0  200.02     200.0  200.03     100.0  100.0填充值设置为0这样,如果一个数据帧中有一个值,而另一个没有,则将丢失的值视为 0。
随时随地看视频慕课网APP

相关分类

Python
我要回答