[英]Filter a Pandas dataframe with a single condition on multiple columns, programmatically
[英]Pandas filter dataframe by single condition across multiple columns
我有一个包含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]
尝试这个:
col_df=list(df) # get all the column names
filtered_df=df[df[col_df].any(1)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.