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

Pandas按条件筛选行保留分组最大值,无循环实现方法咨询

有两种常用的pandas内置实现方案,全程不需要手动写for循环:

方案1:排序后去重(适合需要保留最大值行全部字段的场景)

先按id_1升序、value降序排序,再按id_1去重保留第一条记录即可,代码示例:

import pandas as pd

# df为你的原始DataFrame
df_sorted = df.sort_values(by=['id_1', 'value'], ascending=[True, False])
res = df_sorted.drop_duplicates(subset='id_1', keep='first')

方案2:分组聚合(适合仅需要id_1和对应最大value的场景)

直接按id_1分组后取value的最大值即可,代码更简洁:

res = df.groupby('id_1', as_index=False)['value'].max()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:39:01