pandas groupby 分组操作

最一般化的groupby 方法是apply.

tips=pd.read_csv('tips.csv')
tips[:5]

这里写图片描述

新生成一列

tips['tip_pct']=tips['tip']/tips['total_bill']
tips[:6]

这里写图片描述

根据分组选出最高的5个tip_pct值

def top(df,n=5,column='tip_pct'):
    return df.sort_index(by=column)[-n:]
top(tips,n=6)

这里写图片描述

对smoker分组并应用该函数

tips.groupby('smoker').apply(top)

这里写图片描述

原文地址:https://www.cnblogs.com/bonelee/p/7596676.html