首页 > 解决方案 > 在python中使用两个条件过滤数据框

问题描述

我想使用两种不同的条件过滤数据框。

但我想省略不满足条件的行,只想保留在 A 列中至少出现两次的值

所以这是样本数据

df1 = df[(df['A-B occurrence'] >= 3) & (df['A occurrence'] >= 2)]

以上是我正在使用的代码,这是我得到的输出:

在此处输入图像描述

因此,在 A 列中,17 仅在一行中满足条件,所以我想全部省略 17,因为它不满足条件,这意味着我只想保留 A 列中存在的重复值 2 或超过 2次

标签: pythonpandasnumpyfilter

解决方案


IIUC 您只想保留A重复的行。

您可以使用:

df2 = df1[df1['A'].duplicated(keep=False)]

输出:这应该删除索引为 14 (A=17) 和 19 (A=19) 的行

注意。如果需要,您可以在其他列上应用相同的策略


推荐阅读