0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

groupbyの使い方。分かりやすく簡潔に。

Last updated at Posted at 2022-07-24

初めに

データサイエンス100本ノックを行っている、転職を目標とするものです。
groupbyについて忘れていたので復習します。忘備録として。

学習。

groupbyについて。

df上で同じ値を持つデータをまとめる。
そのまとめた塊に対して操作(合計、平均等の算出)をおこなう。

これだけじゃさっぱりですよね。さっさと実例を。

実例。

まずはdfを提示致します。行数がとても多いですね…。

2022-07-24_13h14_52.png

そして一旦コードを提示します。

df_amount_sum = receipt.groupby('customer_id').amount.sum().reset_index()
df_amount_sum.head(5)

これが結果。コードも結果も現時点ではさっぱりですよね。

2022-07-24_13h11_41.png

抑えてほしいポイントは、reciptのカラムにcustomer_idとamountがある。コードと結果も同様のカラムがあるという事です。

つまりreceiptの中の'customer_id'と"amount"に何かしらの処理を行っているという訳ですね。

答をお教えします。

'customer_id'の個別データを"amount"の合計を算出できるようにまとめる。という事です。

具体例を提示致します。
例えば、"ZZ000000000000"が複数あるけど、それぞれに個別に"amount"の数値が記載されていますよね。
その複数ある"ZZ000000000000"の列を1列にして、"amount"も合計.sum() を算出しているという事です。画像でも補足致します。

2022-07-24_13h29_13.png

別例追加。2022/08/02更新

この例も分かりやすいのではないでしょうか。
要素ごとにグループ化した上で平均を算出しております。

#df3のカラムClassから出現回数カウント
df3["Class"].value_counts()

#カラムの固有値、グループごとの集計。
#Classでの値毎にグループでまとめる。その各々の中で
df3.groupby("Class").mean()

2022-08-02_13h49_09.png

終わりに。

いかがでしょうか?
正直、あまり説明が伝わらなかったのではと思います。それは一重に私の勉強不足です。
文章で説明は難しいですね。これから人に説明できるよう精進を続けてまいります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?