Python 将多个帧添加到一起(两个以上)
如何将多个数据帧添加到一起。我要总结10个数据帧。我试着用Python 将多个帧添加到一起(两个以上),python,pandas,numpy,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',
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
看起来很简单
sum((df1,df2,df3))
工作和提供:
a b
0 201 402
1 603 804
2 1005 1206
作为附录
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)
df1+df2+df3
有什么问题?我同意在数据帧对象上使用pythonsum
是不明智的,最好让数据帧处理求和或使用numpy。df1+df2+df3
更好。见@rafaelc计时。