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関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。