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

Python Pandas 按条件合并行、保留col_a唯一值的实现问询

方案1:groupby聚合(仅需保留col_a、col_b时使用)

利用字符串比较"Yes" > "No"为True的特性,分组后直接对col_b取最大值即可完全匹配规则,一行代码实现且无额外临时列:

import pandas as pd
# df为你的原始DataFrame
res = df.groupby('col_a', as_index=False)['col_b'].max()

方案2:排序+去重(需要保留原表其他列时使用)

如果你的表除了col_a、col_b外还有其他字段需要保留,可以先排序让每个col_a分组下的Yes排在最前,再按col_a去重保留第一条即可:

# 按col_a升序、col_b降序排序,保证Yes行在每个分组的最前
res = df.sort_values(by=['col_a', 'col_b'], ascending=[True, False]).drop_duplicates('col_a', keep='first')

两种方案都不需要创建额外的临时计算列,运行效率也远高于逐行判断的实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:15:05