初めに
データサイエンス100本ノックを行っている、転職を目標とするものです。
groupbyについて忘れていたので復習します。忘備録として。
学習。
groupbyについて。
df上で同じ値を持つデータをまとめる。
そのまとめた塊に対して操作(合計、平均等の算出)をおこなう。
これだけじゃさっぱりですよね。さっさと実例を。
実例。
まずはdfを提示致します。行数がとても多いですね…。
そして一旦コードを提示します。
df_amount_sum = receipt.groupby('customer_id').amount.sum().reset_index()
df_amount_sum.head(5)
これが結果。コードも結果も現時点ではさっぱりですよね。
抑えてほしいポイントは、reciptのカラムにcustomer_idとamountがある。コードと結果も同様のカラムがあるという事です。
つまりreceiptの中の'customer_id'と"amount"に何かしらの処理を行っているという訳ですね。
答をお教えします。
'customer_id'の個別データを"amount"の合計を算出できるようにまとめる。という事です。
具体例を提示致します。
例えば、"ZZ000000000000"が複数あるけど、それぞれに個別に"amount"の数値が記載されていますよね。
その複数ある"ZZ000000000000"の列を1列にして、"amount"も合計.sum() を算出しているという事です。画像でも補足致します。
別例追加。2022/08/02更新
この例も分かりやすいのではないでしょうか。
要素ごとにグループ化した上で平均を算出しております。
#df3のカラムClassから出現回数カウント
df3["Class"].value_counts()
#カラムの固有値、グループごとの集計。
#Classでの値毎にグループでまとめる。その各々の中で
df3.groupby("Class").mean()
終わりに。
いかがでしょうか?
正直、あまり説明が伝わらなかったのではと思います。それは一重に私の勉強不足です。
文章で説明は難しいですね。これから人に説明できるよう精進を続けてまいります。