演習課題「集約方法の複数指定」
コードエリアには、データフレーム df が定義されています。
このデータフレーム df を Category でグルーピングし、Subtotal 列を「平均値」「最小値」「最大値」「個数」に集約し、次の形式で出力してください。
Subtotal
mean min max count
Category
--- --- --- --- ---
--- --- --- --- ---
...
--- --- --- --- ---
※ 回答時には
print(df)
をコメントアウトして回答してください。※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#11:集約方法の複数指定
このチャプターでは、集約方法を複数指定する方法を学習します。
- agg メソッドの引数に関数名のリストを渡すことで、集約方法を複数指定することができる
import pandas as pd
df = pd.DataFrame([["cloudy", 22], ["rainy", 19], ["sunny", 26],
["sunny", 25], ["cloudy", 24], ["rainy", 17]], columns=["weather", "temperature"])
print(df.groupby("weather").agg(["mean", "max"]))
- 自分で定義した関数は、その関数をそのまま渡すことで指定できる
import pandas as pd
def count_even(group_series):
return group_series[group_series % 2 == 0].count()
df = pd.DataFrame([["cloudy", 22], ["rainy", 19], ["sunny", 26],
["sunny", 25], ["cloudy", 24], ["rainy", 17]], columns=["weather", "temperature"])
print(df.groupby("weather").agg([count_even, "min", "max"]))