You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不重置索引的情况下获取groupby后按Total排序的前7大分组?

解决方案

情况1:你的数据是多层索引(MultiIndex)的DataFrame

已经通过groupby+sort_index(level=1)得到排序后的DataFrame(即你展示的表格形式,Name和Total作为层级索引),可直接基于索引筛选:

# 获取前7个唯一的分组索引((Name, Total)组合)
top7_group_indexes = df.index.unique()[:7]
# 提取对应分组的所有数据
top7_df = df.loc[top7_group_indexes]

情况2:你的数据是GroupBy对象

如果还未将分组结果转换为DataFrame,仅持有GroupBy对象,可通过分组键列表批量获取:

# 按Total降序排序后的GroupBy对象假设为gb
# 获取前7个分组的键
top7_keys = list(gb.groups.keys())[:7]
# 合并多个分组的数据
top7_df = pd.concat([gb.get_group(key) for key in top7_keys])

关键说明

  • 两种方法均无需重置索引,完全基于原有的分组索引/GroupBy结构操作。
  • 由于你已按Total完成排序,前7个唯一分组索引/分组键即为Total值最大的7个分组。

内容的提问来源于stack exchange,提问作者Dintal -_-

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 15:50:27