目录
1.分组 groupby()
import pandas as pd
import numpy as np
#加载数据
detail=pd.read_excel('./meal_order_detail.xlsx')
print(detail)
#分组
#按照amounts进行分组,统计counts平均值
detail=detail.groupby(by='amounts')['counts'].mean()
print('detail:',detail)
#按照order_id,dished_id 进行分组 统计amounts的均值
#先按照order_id分组,在一个相同的分组里面,再通过dishes_id进行分组
de=detail.groupby(by=['order_id','dishes_id'])['amounts'].mean()
print(de)
print(type(de)) # series 双重索引,一列数据
2.聚合
agg() |
apply() |
trandform() |
(1)agg()
可以对多列数据,同时进行多个统计分析
de=detail[['counts','amounts']].agg([np.sum,np.mean])
print(de)
可以对不同列数据,求取不同的统计分析,可以用字典
de=detail.agg({'counts':np.max,'amounts':np.min})
print(de)
可以对不同列的数据求取不同个数的统计分析
de=detail.agg({'counts':np.max,'amounts':[np.min,np.mean]})
print(de)
(2)apply()
自定义自己的统计方法
de=detail['amounts'].apply(lambda x:x+1)
print(de)
(3)transform()
de=detail.groupby['counts'].transform(lambda x:x+1)
print(de)