我想看看我的熊猫数据框的多列中是否有列表中的某些值。
基本上,我想查看我的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)]
但是我有很多错误或无法预期的结果。
答案 0 :(得分:2)
.isin
返回一个布尔系列,您需要对值之间的逻辑或使用|
。
尝试一下:
df[df.col_A.isin(processes) | df.col_B.isin(processes) | df.col_C.isin(processes)]
答案 1 :(得分:0)
按如下所示使用any
df[df[['col_A','col_B','col_C']].isin(processes).any(1)]