pandas实现数据的分组与聚合

目录

1.分组    groupby()

2.聚合

(1)agg()

(2)apply()

(3)transform()


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)

 

你可能感兴趣的:(数据分析,pandas)