任务描述
本关任务:使用Pandas加载drinks.csv文件中的数据,根据数据信息求每个大洲红酒消耗量的最大值与最小值的差以及啤酒消耗量的和。
相关知识
*分组聚合的流程主要有三步:
- 分割步骤将DataFrame按照指定的键分割成若干组;
- 应用步骤对每个组应用函数,通常是累计、转换或过滤函数;
- 组合步骤将每一组的结果合并成一个输出数组。*
分组
通常我们将数据分成多个集合的操作称之为分组,Pandas中使用groupby()函数来实现分组操作。
单列和多列分组
对分组后的子集进行数值运算时,不是数值的列会自动过滤
import pandas as pd
data = {
'A': [1, 2, 2, 3, 2, 4],
'B': [2014, 2015, 2014, 2014, 2015, 2017],
'C': ["a", "b", "c", "d", "e", "f"],
'D': [0.5, 0.9, 2.1, 1.5, 0.5, 0.1]
}
df = pd.DataFrame(data)
df.groupby("B") #单列分组 返回的是一个groupby对象
df.groupby(["B","C"]) #多列分组
Series系列分组
选取数据帧中的一列作为index进行分组:
df