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

如何基于另一列计数对groupby后的level_3索引进行排序

解决groupby后按指定列聚合值排序分组的问题

要实现按level_3分组后,以LHR Item Count的计数(总和)降序排列分组索引,你需要先计算每个分组的聚合值,再以此为依据对分组结果排序。你的原代码仅重置了每组内部的索引,没有处理分组间的排序逻辑。

解决方案代码

# 1. 计算每个level_3对应的LHR Item Count总和,生成排序依据
group_sort_key = WMS_missing.groupby('level_3')['LHR Item Count'].sum()

# 2. 按总和降序得到level_3的排序顺序
sorted_levels = group_sort_key.sort_values(ascending=False).index

# 3. 按指定顺序分组(关闭默认排序),并重置每组内部索引
result = WMS_missing.groupby('level_3', sort=False).apply(lambda df: df.reset_index(drop=True)).reindex(sorted_levels)

代码说明

  • 第一步先统计每个level_3组的LHR Item Count总和,作为分组排序的依据;
  • 第二步对统计结果降序排序,得到你期望的level_3顺序(010在前,006在后);
  • 第三步通过sort=False关闭groupby的默认字典序排序,再用reindex将分组结果按指定顺序重新排列,同时保留每组内部重置索引的逻辑。

如果你的“计数”指的是每组的行数而非列值总和,只需将sum()替换为count()即可:

group_sort_key = WMS_missing.groupby('level_3')['LHR Item Count'].count()

内容的提问来源于stack exchange,提问作者ViciOus CircLe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:25:10