1、多列聚合计算,自定义聚合函数,其实groupby后里面是一个子dataframe,处理的时候当成是dataframe处理即可。例如:
#自定义聚合函数,将数据框两列转成字典关系
def modelDict(x):
dict = {}
for i in x.index:
dict[str(x.loc[i]['MODEL_ID'])] = int(x.loc[i]['SCORE'])
return dict
result= df.groupby('CONTACT_ID').apply(modelDict) #调用函数
2、单列聚合计算,自定义聚合函数,其实groupby后里面是一个子序列。例如:
#自定义聚合函数:将序列转去重数组
def list(x):
news_ids = []
ids = x.tolist()
for i in ids:
if i not in news_ids:
news_ids.append(i)
return news_ids
result=df.groupby('CONTACT_ID').agg(list) #调用函数