如果我有一个列名列表,并且如果这些列的值大于零,我想对行进行过滤,是否可以执行类似的操作?
columns = ['colA','colB','colC','colD','colE','colF']
new_df = df.filter(any([df[c]>0 for c in columns]))
返回:
ValueError:无法将列转换为布尔值:请对“和”,“ |”使用“&”构建 DataFrame 布尔表达式时为'or',为'~'为'not'
我想我只能将这些列和过滤器加到一个列上(因为我没有负数。但是如果我有 sum-trick 就行不通。无论如何,如果我不得不在不同于该列的另一种条件下过滤这些列总之,我该怎么做我想做的事?
1 回答
您可以改用
or_
运算符:**编辑:**更多 pythonista 解决方案:
**编辑 2:**完整示例: