#1.全部数据集
data.groupby('col1').count() #单列分组
data.groupby(['col1','col2']).mean() #多列分组
#筛选部分列
data.groupby('col1')['col2','col3'].count()
data[['col1','col2','col3']].groupby(by=['col3']).count()
data['col1'].groupby(data['col2']).size()
#3.多种聚合
data.groupby('col1').agg({np.sum,np.mean,'count'})
data.groupby('col1').agg({'col2':'sum','col3':'mean'}) #对不同列选择不同的聚合方式
#4.等频后,分组
data['col1'].groupby([pd.qcut(data['col2'],50,duplicates='drop')]).sum()
#5.分组后,求各组占比
data_0=pd.DataFrame(data.groupby(['col1','col2'])['col3'].count())
data_0['占比']=data_0['col3']/data_0['col3'].sum()
#6.transform 可直接在源数据集上添加一列,不需要先groupby,再merge
data['col_new']=data.groupby('col1')['col2'].transform(min)
#6.value_counts
data['col1'].value_counts()
#参数有normalize : 默认false,如为true,则以百分比的形式显示
#sort : 默认为true,会对结果进行排序
#ascending : default False 默认降序排序
#bins : integer, 格式(bins=1),类似于pd.cut
#dropna : default True 默认删除na值
PYTHON_分组(groupby,value_counts)
最新推荐文章于 2023-11-03 00:53:00 发布