dataframe.isin 使用多个 OR 运算符
dataframe.isin using multiple OR operators
我想看看我的 pandas 数据框的多列列表中是否有一些值。
基本上,如果列表中的值存在,我想查看我的 A、B 和 C 列,如果存在,则过滤存在这些值的行。
为此,我正在使用这个:
processes = ['process_A', 'process_B']
df[df.col_A.isin(processes),df.col_B.isin(processes), df.col_C.isin(processes)].any()
已经试过了:
df[df.col_A.isin(processes) OR df.col_B.isin(processes) or df.col_C.isin(processes)]
但是我得到了很多错误或意想不到的结果。
.isin
returns 布尔系列,您需要使用 |
进行值之间的逻辑或。
试试这个:
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)]
我想看看我的 pandas 数据框的多列列表中是否有一些值。
基本上,如果列表中的值存在,我想查看我的 A、B 和 C 列,如果存在,则过滤存在这些值的行。 为此,我正在使用这个:
processes = ['process_A', 'process_B']
df[df.col_A.isin(processes),df.col_B.isin(processes), df.col_C.isin(processes)].any()
已经试过了:
df[df.col_A.isin(processes) OR df.col_B.isin(processes) or df.col_C.isin(processes)]
但是我得到了很多错误或意想不到的结果。
.isin
returns 布尔系列,您需要使用 |
进行值之间的逻辑或。
试试这个:
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)]