如何将多个数据框添加在一起。我想总结10个数据框。我尝试使用
df_add = df1.add(df2, df3 fill_value=0)
它不起作用。
这是创建dfs的代码
df1 = pd.DataFrame([(1,2),(3,4),(5,6)], columns=['a','b'])
a b
0 1 2
1 3 4
2 5 6
df2 = pd.DataFrame([(100,200),(300,400),(500,600)], columns=
['a','b'])
df3 = pd.DataFrame([(100,200),(300,400),(500,600)], columns=
['a','b'])
现在我将如何添加这些内容,以便
a b
0 201 402
1 603 804
2 1005 1206
答案 0 :(得分:1)
看起来很简单
sum((df1,df2,df3))
工作并给出:
a b
0 201 402
1 603 804
2 1005 1206
答案 1 :(得分:1)
仅作为附录
df1 + df2 + df3
工作正常。如果性能很重要而索引匹配不重要,请考虑使用向量化np.sum
并避免熊猫开销
%timeit np.sum([df1.values,df2.values,df3.values],axis=0)
27.2 µs ± 3.06 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%timeit df1+df2+df3
1.21 ms ± 23.9 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%timeit sum((df1,df2,df3))
2.04 ms ± 208 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)