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

如何使用Pandas筛选同一colA对应不同colB值的记录

筛选DataFrame中同一colA对应多值colB的分组行

需求

从包含colA、colB列的DataFrame中,获取所有属于「同一colA值对应多个不同colB值」分组的行。

输入示例

colA  colB
a     1 <--
b     2
a     1 <--
a     0 <-- different

输出示例

colA  colB
a     1 <--
a     1 <--
a     0 <-- different

解决方案

方案1

使用groupby.filter()方法筛选符合条件的分组:

out = df.groupby('colA').filter(lambda x: x['colB'].nunique() > 1)

方案2(@mozway提供)

使用transform()结合布尔索引实现,执行效率更高:

out = df[df.groupby('colA')['colB'].transform('nunique').gt(1)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:18:17