如何对Pandas分组聚合结果排序并展示Top2性能均值?
解决方案
可以通过链式调用pandas的方法一步完成需求,代码如下:
import pandas as pd # 假设你的DataFrame名为df result = df.groupby('name')['performance'].mean().sort_values(ascending=False).head(2) print(result)
代码解释:
groupby('name')['performance']:按name分组后,仅指定performance列进行后续计算,避免year列被错误纳入均值统计。.mean():计算每个分组内performance的平均值。.sort_values(ascending=False):将结果按平均值从高到低降序排列。.head(2):只保留排序后的前2个结果。
运行结果:
执行后会输出:
name bob 74.000000 sarah 73.333333 Name: performance, dtype: float64
内容的提问来源于stack exchange,提问作者user4740374
相关产品推荐
相关产品推荐

