简体   繁体   English

使用多个OR运算符的dataframe.isin

[英]dataframe.isin using multiple OR operators

I want to see if I have some values from a list in multiple columns from my pandas dataframe. 我想看看我的熊猫数据框的多列中是否有列表中的某些值。

Basically, I want to look over my column A, B and C if the values from a list exists and if so filter the rows where those values exist. 基本上,如果列表中的值存在,我想查看A,B和C列,如果有,则对这些值所在的行进行过滤。 For that I am using this: 为此,我正在使用此:

processes = ['process_A', 'process_B']
df[df.col_A.isin(processes),df.col_B.isin(processes), df.col_C.isin(processes)].any()

And already try this: 并且已经尝试过:

df[df.col_A.isin(processes) OR df.col_B.isin(processes) or df.col_C.isin(processes)]

But I got a lot of errors or unexpectables results. 但是我有很多错误或无法预期的结果。

.isin returns a boolean Series, you need to use | .isin返回一个布尔系列,您需要使用| for logical OR between the values. 值之间的逻辑或。

try this: 尝试这个:

df[df.col_A.isin(processes) | df.col_B.isin(processes) | df.col_C.isin(processes)]

使用any如下

df[df[['col_A','col_B','col_C']].isin(processes).any(1)]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM