DataFrameやSeriesのcumsum()
を使うと、累積和を計算できます。累積和とは、次の図のように各地点までのデータの総和を計算したものです。メソッド名の cumsum
は「cumulative sum(累積和)」の略です。
A | B | C | |
---|---|---|---|
0 | 1 | 10 | 100 |
1 | 3 | 30 | 300 |
2 | 5 | 50 | 500 |
Seriesのcumsum()
の結果はSeriesになります。列A
について累積和を求める場合、次のような結果になります。
# 列Aについて各行の累積和を計算
df["A"].cumsum()
0 1
1 4
2 9
Name: A, dtype: int64
DataFrameのcumsum()
は、各行または各列の累積和を計算します。
引数axis
で処理の方向を指定できます。
0
: 行方向の処理。列ごとに各行の累積和を計算。デフォルト(N行目 = 1〜N行目の和)1
: 列方向の処理。行ごとに各列の累積和を計算(N列目 = 1〜N列目の和)
引数axis
が未指定の場合、行方向に沿って累積和を求めます。
# 列ごとに各行の累積和を計算
df.cumsum()
A | B | C | |
---|---|---|---|
0 | 1 | 10 | 100 |
1 | 4 | 40 | 400 |
2 | 9 | 90 | 900 |
引数axis
に1
を指定すると、列方向に沿って累積和を求めます。
# 行ごとに各列の累積和を計算
df.cumsum(axis=1)
A | B | C | |
---|---|---|---|
0 | 1 | 11 | 111 |
1 | 3 | 33 | 333 |
2 | 5 | 55 | 555 |
コメント