繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM