Warm tip: This article is reproduced from stackoverflow.com, please click
dataframe operators pandas python

dataframe.isin using multiple OR operators

发布于 2020-03-27 10:18:51

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. 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.

Questioner
Pedro Alves
Viewed
119
Adam.Er8 2019-07-03 21:44

.isin returns a boolean Series, you need to use | for logical OR between the values.

try this:

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