17

パンダのデータフレーム上にランニングサムを作成したいと思います。私は次のようなものを持っています:

10/10/2012:  50,  0
10/11/2012: -10, 90
10/12/2012: 100, -5

そして私は取得したいと思います:

10/10/2012:  50,  0
10/11/2012:  40, 90
10/12/2012: 140, 85

したがって、すべてのセルはそれ自体と以前のすべてのセルの合計である必要があります。ループを使用せずにこれを行うにはどうすればよいですか。

4

1 に答える 1

28

@JonClementsが言及しているように、cumsumDataFrameメソッドを使用してこれを行うことができます。

from pandas import DataFrame
df = DataFrame({0: {'10/10/2012': 50, '10/11/2012': -10, '10/12/2012': 100}, 1: {'10/10/2012': 0, '10/11/2012': 90, '10/12/2012': -5}})

In [3]: df
Out[3]: 
              0   1
10/10/2012   50   0
10/11/2012  -10  90
10/12/2012  100  -5

In [4]: df.cumsum()
Out[4]: 
              0   1
10/10/2012   50   0
10/11/2012   40  90
10/12/2012  140  85
于 2012-12-14T13:25:21.820 に答える