我有一个包含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]
答案 0 :(得分:2)
尝试一下:
col_df=list(df) # get all the column names
filtered_df=df[df[col_df].any(1)]