多项汇总
本课属于 Coddy Machine Learning 学习旅程的“数据与图表”单元。第 44 课,共 60 课。
每组只用一个数字会掩盖极值。.agg 接收统计名称列表,并为每个名称生成一列:
对于这 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 行数据计算的可靠。
挑战
中等一辆餐车将一周的订单保存在 truck.csv 中:day、dish、payment 和 total(美元)。起始代码会将要分组的列读入 column。
- 打印每个组中的订单数。
- 打印一个表格,展示每个组的
total,列按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 在线编译器