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

如何获取Pandas Groupby分组后每个weakness下计数最大的type值

实现步骤

你得到的gf是二级索引(weakness、type)的计数Series,按以下逻辑处理即可满足需求:

  1. 将计数Series转为DataFrame,明确计数字段名
# 把计数列命名为count,同时展开两层索引为普通列
gf_df = gf.reset_index(name='count')
  1. 按规则排序:同一weakness下先按计数降序排列,计数相同时按type的字母升序排列
gf_sorted = gf_df.sort_values(
    by=['weakness', 'count', 'type'],
    ascending=[True, False, True]
)
  1. 按weakness分组,取每组的第一条结果即为符合要求的条目
result = gf_sorted.groupby('weakness').first().reset_index()

如果只需要保留weakness和对应的最大计数type,可以在最后加列筛选:

result = result[['weakness', 'type']]

原理解释

排序逻辑保证了每个weakness分组内,优先级最高的条目(计数最大、同计数时字母序最靠前)会排在分组的第一位,直接取分组首行即可得到正确结果。之前取尾行未得到正确结果的核心原因是排序规则不匹配,没有同时兼顾计数降序和type升序的双重排序要求。

内容的提问来源于stack exchange,提问作者Vidarshana Dissanayaka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:54:04