分组与聚合
分组
pf.groupby(by=索引名称) 求以某一列分组后某一列的平均值 means = detail.groupby(by=索引名称)[行名称].mean()
agg方法 同时进行多个统计分析
detail[["counts","amounts"]].agg([np.sum,np.mean,np.min])
对于不同的数据求不同的统计分析
detail.agg({"counts":np.sum,"amounts":np.mean})
对某一列求多个统计分析
detail.agg({"amounts":[np.mean,np.sum],"counts":[np.max,np.min]})
apply方法 自定义自己的统计方法
detail['amounts'].apply(lambda x:x+1)
transform方法
detail.groupby(by='amounts').transform(np.sum)
透视表
比分组聚合更强大
按列
res = pd.pivot_table(data,values=["counts","amounts"],index="order_id") # 默认求平均值
按行
res = pd.pivot_table(data,values=["counts","amounts"],columns="dishes_name") # 默认求平均值
参数: fill_value 填充空值 aggfunc 求值函数