累積和

DataFrameやSeriesのcumsum()を使うと、累積和を計算できます。累積和とは、次の図のように各地点までのデータの総和を計算したものです。メソッド名の cumsum は「cumulative sum(累積和)」の略です。

https://images.pyq.jp/repo/prod/pandas_prepare_calc_v2/cumsum_image.jpg
ABC
0110100
1330300
2550500

Seriesのcumsum()の結果はSeriesになります。列Aについて累積和を求める場合、次のような結果になります。

# 列Aについて各行の累積和を計算
df["A"].cumsum()
0    1
1    4
2    9
Name: A, dtype: int64
https://images.pyq.jp/repo/prod/pandas_prepare_calc_v2/cumsum_series.jpg

DataFrameのcumsum()は、各行または各列の累積和を計算します。
引数axisで処理の方向を指定できます。

  • 0行方向の処理。列ごとに各行の累積和を計算。デフォルト(N行目 = 1〜N行目の和)
  • 1列方向の処理。行ごとに各列の累積和を計算(N列目 = 1〜N列目の和)

引数axisが未指定の場合、行方向に沿って累積和を求めます。

# 列ごとに各行の累積和を計算
df.cumsum()
ABC
0110100
1440400
2990900
https://images.pyq.jp/repo/prod/pandas_prepare_calc_v2/cumsum_axis=0.jpg

引数axis1を指定すると、列方向に沿って累積和を求めます。

# 行ごとに各列の累積和を計算
df.cumsum(axis=1)
ABC
0111111
1333333
2555555
https://images.pyq.jp/repo/prod/pandas_prepare_calc_v2/cumsum_axis=1.jpg

コメント

タイトルとURLをコピーしました