【毎日Python】Pythonでデータフレームをカラムごとに集計する方法|DataFrame.agg

agg
こつこつPython
import pandas as pd

Pythonでカラムごとに値を集計する方法です。
使用するのは、PythonのPandasライブラリのaggメソッドです。
似た名前のメソッドである、aggregate(アグリゲイト)メソッドでも同様に実行できます。
このようなデータフレームを作成します。

df = pd.DataFrame({'apple': [70, 82, 69, 98, 91], 'banana': [92, 80, 82, 95, 78], 'peach': [62, 75, 80, 79, 68]})
df
df.agg(['mean'])

まず、カラムごとの平均値を求めてみましょう。
引数に角括弧とシングルクォーテーションで、meanと指定します。
実行します。
カラムごとに平均値を集計することができました。

df.agg(['mean', 'max', 'min'])

複数の処理を同時に集計することもできます。
平均値、最大値、最小値を求めてみましょう。
最大値はmax、最小値はminを指定して実行します。
複数の値を集計することができました。

df.agg({'apple': ['sum', 'max'], 'banana': ['mean', 'min']})

次に、カラムを指定して、それぞれ別の処理を行ってみましょう。
appleは合計値と最大値を、bananaは平均値と最小値を求めてみます。
このように辞書型にして、キーにカラム名、値に求めたい値を指定して、実行します。
それぞれ指定した条件で集計することができました。

df = pd.read_csv('/content/sample.csv')
df
df.groupby('社員ID')['数量', '売上金額'].agg({'数量': 'sum', '売上金額': 'mean'})

また、aggメソッドは、groupbyメソッドと併用することもできます。
groupbyメソッドとは、カラムごとに値をグルーピングすることができるメソッドです。
このようなcsvファイルのデータを使用します。
groupbyメソッドで社員IDごとにグルーピングして、aggメソッドで数量の合計値と、売上金額の平均値を求めてみましょう。
実行します。
社員ごとの数量と売上金額を集計することができました。

関連メソッド

【毎日Python】Pythonでデータフレームを指定しカラムごとに集計する方法|DataFrame.groupby

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト