先日の業務で、あるECサイトの売上データから「価格帯別」の各種データを集計したので、その時のPythonコードをまとめておく。
目的
今回は売上一覧データフレームから、価格帯別の「利益率」、「売上件数」を集計する。
サンプルデータフレーム
以下のようなデータフレームがあるとする。
1 | data_uriage.head() |

このデータを価格帯別に加工していく。
ビン分割
まずは、pandasのcut関数を使って分割処理を行う。
1 2 | data_uriage[ '価格帯' ] = pd.cut(data_uriage[ '売上' ], [ 0 , 50000 , 100000 , 200000 , 300000 , 500000 , 750000 , 1000000 ]) |
これでデータフレームに新たに「価格帯」という列が増えた。
次に、groupby関数を使ってデータを集約していく。
1 2 | data_bins = data_uriage[[ '粗利率' ]].groupby(data_uriage[ '価格帯' ]).mean() data_bins[ '件数' ] = data_uriage[[ '売上' ]].groupby(data_uriage[ '価格帯' ]).count() |
上記のコードを実行すると、次のとおり集約された結果が得られる。
