1. 分组的一般模式
分组的三个要素:分组依据、数据来源、操作、返回结果;分组代码的一般模式即:
df.groupby(分组依据)[数据来源].使用操作
举个梨子:
df.groupby('Gender')['Longevity'].mean()
Gender
Female 159.6
Male 173.4
Name: Height, dtype: float64
2. 分组依据的本质
- 在groupby中传入相应列名构成的列表即可
- 根据(布尔列的)分组的条件
df.groupby(['School', 'Gender'])['Height'].mean()
School Gender
Fudan University Female 158.776923
Male 174.212500
Peking University Female 158.666667
Male 172.030000
Shanghai Jiao Tong University Female 159.122500
Male 176.760000
Tsinghua University Female 159.753333
Male 171.638889
Name: Height, dtype: float64
3. Groupby对象
groupby对象 自带属性:
# 打印对象属性 DataFrameGroupBy
group_data = taxi_data.groupby('CARNO')
group_data
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001D10202C430>
DataFrameGroupBy对象支持迭代:
对于单键的情况,可以产生一个二元元组(由分组名和相应的子 DataFrame组成)。
for name, group in taxi_data.groupby(["CARNO"]):
print(name)
print(group)