複数の要約
CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 44/60。
グループごとに1つの数値だけでは、極端な値が隠れてしまいます。.aggは統計量の名前のリストを受け取り、それぞれに1つの列を作成します:
その5回の上映について、各グループの行数を数える.size()も使います:
shows = pd.DataFrame({
"genre": ["comedy", "comedy", "drama", "drama", "drama"],
"minutes": [95, 100, 130, 110, 150],
})
print(shows.groupby("genre")["minutes"].agg(["mean", "max"]))
print(shows.groupby("genre").size())これは次のように出力されます:
mean max
genre
comedy 97.5 100
drama 130.0 150
genre
comedy 2
drama 3
dtype: int64コメディの平均上映時間は97.5分で、最長でも100分です。また、"min"や"sum"も使えます。件数を確認しましょう。2行から求めた平均は、200行から求めた平均よりも不確かです。
チャレンジ
中級フードトラックでは、1週間分の注文をtruck.csvに保存しています。列はday、dish、payment、total(ドル)です。スターターコードでは、グループ化する列をcolumnに読み込みます。
- 各グループの注文数を出力してください。
- 各グループの
totalを1つの表に出力してください。列はこの順にmin、mean、maxとします。
入力がdayの場合:
day
Fri 5
Mon 3
Thu 5
Tue 7
Wed 4
dtype: int64
min mean max
day
Fri 10 19.60 36
Mon 12 27.00 42
Thu 10 21.60 42
Tue 9 19.00 30
Wed 10 21.25 27自分で試してみよう
import pandas as pd
orders = pd.read_csv("truck.csv")
column = input()
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
データとプロットのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ