Menu
CoddyTech

複数の要約

CoddyのMachine Learningジャーニー「データとプロット」セクションの一部。レッスン 44/60。

グループごとに1つの数値だけでは、極端な値が隠れてしまいます。.aggは統計量の名前のリストを受け取り、それぞれに1つの列を作成します:

コメディとドラマのジャンルごとに5つの上映時間をまとめ、その後、平均値と最大値の列を含む表に要約:コメディは97.5と100、ドラマは130.0と150

その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行から求めた平均よりも不確かです。

challenge icon

チャレンジ

中級

フードトラックでは、1週間分の注文をtruck.csvに保存しています。列はday、dish、payment、total(ドル)です。スターターコードでは、グループ化する列をcolumnに読み込みます。

  1. 各グループの注文数を出力してください。
  2. 各グループの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()

# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

データとプロットのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ