对数据帧中的所有值求和

2024-07-08 15:20:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将数据帧中的所有值相加为一个数字。

例如数据帧

            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(),但那只是按列求和。

任何帮助都将不胜感激。


Tags: 数据posdfdate数字summtcost
3条回答

只需对列总和求和:

df.sum().sum()

如果数据帧包含非数字数据,并且只想获得整数和,请执行以下操作:

df.sum(numeric_only=True).sum()

我会的

>>> 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

相关问题 更多 >

    热门问题