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

如何获取Pandas DataFrame GroupBy后最大key对应的分组?

解决方案

这里有几种简洁的方法可以实现你的需求,基于你已经创建好的分组对象来操作:

方法1:利用分组对象的get_group方法

先把你的代码补全(通常大家会用pd作为pandas的别名,不过直接用pandas也完全没问题):

import pandas as pd
td = [[10,'A'],[10, 'B'],[2, 'C']]
df = pd.DataFrame(td, columns=['col1','col2'])
grouped = df.groupby('col1')

接下来两步就能拿到结果:

  1. 找到分组里的最大key——其实就是col1列的最大值,直接用df['col1'].max()获取比从分组对象里取更高效;
  2. 用分组对象的get_group方法传入这个最大key,就能拿到对应分组的DataFrame,再提取col2列转成列表:
max_key = df['col1'].max()
target_list = grouped.get_group(max_key)['col2'].tolist()
print(target_list)  # 输出: ['A', 'B']

方法2:无需分组直接筛选(更简便)

如果你的核心需求只是获取最大col1对应的col2值列表,其实可以跳过groupby,直接对原DataFrame做筛选:

max_key = df['col1'].max()
target_list = df[df['col1'] == max_key]['col2'].tolist()

两种方法都能得到你想要的['A','B']结果,根据你的实际场景选择就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:27:18