熊猫通过多个列中的单个条件过滤数据框

时间:2018-12-04 22:09:30

标签: python pandas

我有一个包含30列的数据框,每个单元格包含1或0。

我想过滤4个特定列中的任何1个== 1的数据框。

现在,它必须像下面这样链接起来:

df[(df['col1'] == 1) | (df['col2'] == 1) | (df['col3'] == 1) | (df['col4'] == 1)]

是否有更简单且可扩展的方法来执行此操作?像列出列名的列表,然后使用切片表示法一次性检查所有布尔条件??

col_list = ['col1', 'col2', 'col3', 'col4']

df[df[col_list] == 1]

1 个答案:

答案 0 :(得分:2)

尝试一下:

col_df=list(df) # get all the column names 
filtered_df=df[df[col_df].any(1)]