1. 函数定义
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
- by : 接收映射、函数、标签或标签列表;用于确定聚合的组
- axis : 接收 0/1;用于表示沿行(0)或列(1)分割。
- level : 接收int、级别名称或序列,默认为None;如果轴是一个多索引(层次化),则按一个或多个特定级别分组
- as_index : 接收布尔值,默认Ture;Ture则返回以组标签为索引的对象,False则不以组标签为索引
2. 讲解
网上的讲解:讲解
3. 例子
1. 原始数据集:
数据集为泰坦尼克号幸存者数据集
2. 特征与目标相关性
- Survived为目标特征,以Cabin属性为例,展示类别特征与目标特征之间的关系。
results_df = df.groupby(['Pclass'])['Survived'].mean()
- 通过对df中的 ’Sex‘ 属性分组,并对目标特征 ‘Survived’ 计算平均值(因为目标特征只有0和1,所以计算平均值相当于计算不同Sex类别的存活率)
- 返回的是一维Series,索引为类别的种类,并不是下标
3. 绘制柱形图
results_df.plot(y=['Survival Rate'], kind='bar', title="Survival Rate", legend=False)