【发布时间】:2020-02-06 18:50:49
【问题描述】:
我正在尝试使用 .isin
过滤具有多个条件的数据我用这样的数据创建了一个数据框。
col_a col_b col_c
abc yes a
abc no b
abc yes a
def no b
def yes a
def no b
def yes a
def no b
ghi yes a
ghi no b
ghi yes a
当我尝试这种类型的过滤时,参考我在堆栈溢出时看到的这个解决方案,我得到 返回所有 NaN 值。 Pandas: Filtering multiple conditions
如何应用这三个条件进行过滤?
fil_1 = test.isin({'col_a': ['abc','def','ghi']})
fil_2 = test.isin({'col_b': ['yes']})
fil_3 = test.isin({'col_c' :['a']})
data = test[fil_1 & fil_2 & fil_3]
data
【问题讨论】:
-
fil_1 & fil_2 & fil_3对于 DataFrame 中的所有单元格都为 False,所以你会得到一个带有 NaN 值的 DataFrame。您确定要使用&? -
我不确定我明白了我可以看到第二行甚至应该在上面的代码中返回,'abc' 在 col_1 中,'yes' 在 col_2 和 'a'在 col_3 中