将多个框架加在一起(两个以上)

时间:2019-07-10 14:48:10

标签: python pandas numpy

如何将多个数据框添加在一起。我想总结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

2 个答案:

答案 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)