最一般化的groupby 方法是apply.

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

pandas groupby 分组操作_机器学习

新生成一列

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

pandas groupby 分组操作_机器学习_02

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

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

pandas groupby 分组操作_机器学习_03

对smoker分组并应用该函数

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

pandas groupby 分组操作_机器学习_04

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6