繁体   English   中英

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

[英]dataframe.isin using multiple OR operators

我想看看我的熊猫数据框的多列中是否有列表中的某些值。

基本上,如果列表中的值存在,我想查看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返回一个布尔系列,您需要使用| 值之间的逻辑或。

尝试这个:

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