Pandas: グループごとの累積合計を計算する方法


次の構文を使用して、pandas のグループごとの累積合計を計算できます。

 df[' cumsum_col '] = df. groupby ([' col1 '])[' col2 ']. cumsum ()

この特定の数式は、 col1によってグループ化されたcol2の累積合計を計算し、その結果をcumsum_colというタイトルの新しい列に表示します。

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas でグループごとの累積合計を計算する

さまざまな店舗の販売情報を含む次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' sales ': [4, 7, 10, 5, 8, 9, 12, 15, 10, 8]})

#view DataFrame
print (df)

  blind sales
0 to 4
1 to 7
2 to 10
3 to 5
4 to 8
5 B 9
6 B 12
7 B 15
8 B 10
9 B 8

次の構文を使用して、各店舗の売上の累計を計算できます。

 #add column that shows cumulative sum of sales by store
df[' cumsum_sales '] = df. groupby ([' store '])[' sales ']. cumsum ()

#view updated DataFrame
print (df)

  store sales cumsum_sales
0 to 4 4
1 to 7 11
2 to 10 21
3 to 5 26
4 to 8 34
5 B 9 9
6 B 12 21
7 B 15 36
8 B 10 46
9 B 8 54

cumsum_sales列には、店舗ごとにグループ化された累計売上が表示されます。

: pandas のCumsum関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。

Pandas で特定の列を合計する方法
Pandas で条件に基づいて列を合計する方法
パンダで逆累積和を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です