今回やりたいことは、次のとおりです。
①企業ごとの売上金額を集計したい。(合計、平均)
④その他、平均とか色々と見てみたい。
◯◯ごとに集計する
ひと通りデータは出揃いましたので、まず「IDごとに集計」してみます。「◯◯ごとに集計」するには、「.groupby(by=”列名”)」を使います。中身の(by=”列名”)の部分で、何で集計するのかを列名で指定します。
IDごとの「合計値」を見る
goupby()は最後の部分で、集計方法を指定します。今回は『合計値』なので、「.sum()」と付け足します。
# IDごとに集計した結果をdf_id_sumに入れる
df_id_sum = df_01_1.groupby(by="ID").sum()
# 確認
df_id_sum.head()
「◯◯ごとに集計」するには、「.groupby(by=”列名”)」を使います。中身の(by=”列名”)の部分で、何で集計するのかを列名で指定します。
IDごとに合計値が出てきました。これを見ると『単価』列もしっかりと合計されていますので、この列は不要ですね。
見ずらい場合は「.drop(columns=[])」で削除してしまっても良いでしょう。
IDごとの平均値を見る
今度は『平均値』で見てみます。先ほどは「.sum()」で合計でしたが、平均値の場合はこれを「.mean()」に変えるだけです。
そして、ついでに『単価』の列は見ても仕方がないことが分かりましたので、この『単価』列は削除してしまいましょう。
# IDごとに集計した結果をdf_id_meanに入れる
df_id_mean = df_01_1.groupby(by="ID").mean().drop(columns=["単価"])
# 確認
df_id_mean.head()
計算方法の部分を「.mean()」に変えるだけで、平均値が算出されました。
そして、後ろに続けて「.drop(columns=[“単価”])」をつけることで、.groupby()と同時に列の削除も実行できることがわかりました。
商品ごとの「出現回数(count)」を見る
今度は『商品ごとに何回出ているのか』を見てみます。『何回出ているか(出現しているか)』は各商品が登場している回数をカウントすれば良いので、集計の部分を「.count()」に変えます。
# 商品ごとにカウント数を出す
df_syohin_count = df_01_1.groupby(by="商品").count()
# 確認
df_syohin_count.head()
「.count()」により、何回出ているのかが分かりました。ただ、今回は単に商品A~Eが何回出ているかだけ表示できれば良いので、他の情報が邪魔ですね。
そこで、『商品』を購入した『ID』数だけに絞って表示させましょう。
# 商品ごとのカウントdf_syohin_countのうち『ID』列のみ表示
df_syohin_count["ID"]
これで見た目がスッキリしました。
【プログラミング入門書ランキング】
コメント