我试图将数据框中的所有值合并为一个数字。
例如,使用数据框
BBG.XAMS.FUR.S_pnl_pos_cost BBG.XAMS.MT.S_pnl_pos_cost
date
2015-03-23 -0.674996 -0.674997
2015-03-24 82.704951 11.868748
2015-03-25 -11.027327 84.160210
2015-03-26 228.426675 -131.901556
2015-03-27 -99.744986 214.579858
我想要返回值377.71658。
我尝试过df.sum(),但只按列进行求和。
非常感谢任何帮助。
答案 0 :(得分:7)
我愿意
>>> df.values.sum()
377.71658000000002
如果帧是全数字的话,会下降到底层的numpy数组,并且可能是最快的。但是还有很多其他选择:
>>> %timeit df.values.sum()
100000 loops, best of 3: 6.27 µs per loop
>>> %timeit df.sum().sum()
10000 loops, best of 3: 109 µs per loop
>>> %timeit df.unstack().sum()
1000 loops, best of 3: 233 µs per loop
>>> %timeit df.stack().sum()
1000 loops, best of 3: 190 µs per loop
答案 1 :(得分:3)
只需对列总和求和:
df.sum().sum()
答案 2 :(得分:0)
如果数据帧包含非数字数据,并且只想获取整数之和,请执行以下操作:
df.sum(numeric_only=True).sum()