python - 如何计算满足python多个条件的行数?
问题描述
我正在尝试计算数据框中两列的值等于“清除”的数据框中的行数。我的代码是:
pass_both_checks = len(merged_outer(([merged_outer['result_x'] == 'clear']) & [merged_outer['result_y'] == 'clear']))
其中'merged_outer'是数据框,我希望结果是列'result_x'和列'result_y'等于'clear'的所有行的计数。
但是,我收到一个错误:
类型错误:& 不支持的操作数类型:“列表”和“列表”
我该如何解决?如果我在 pass_both_checks 的代码中只插入一个条件,它似乎工作正常。
解决方案
boolean indexing
对于通过添加()
周围条件进行过滤:
pass_both_checks = len(merged_outer[(merged_outer['result_x'] == 'clear') &
(merged_outer['result_y'] == 'clear')])
或sum
用于 count True
s:
pass_both_checks = ((merged_outer['result_x'] == 'clear') &
(merged_outer['result_y'] == 'clear')).sum()
或者比较两列并True
通过以下方式测试每行是否所有 s DataFrame.all
:
pass_both_checks = (merged_outer[['result_x', 'result_y']] == 'clear').all(axis=1).sum()
推荐阅读
- vba - 如何根据用户类型用相似的记录重新填充组合框
- node.js - 如何使用护照本地猫鼬更改用户名密码
- r - Ops.factor(host_neighbourhood, neighbourhood) 中的错误:因子的水平集不同
- php - php计算循环内的元素而不是循环外
- php - 上传 longblob 可以在本地工作,但不能在 Web 服务器上工作
- docker - 如何在使用 docker-compose 启动 webapp 之前填充 elasticsearch 数据库?
- php - 如何根据它的元素更改数组键
- php - 在 XML 文件中重新转义字符
- mysql - 带有return语句的存储函数中的MYSQL异常处理
- laravel - Laravel-5.8::foreach() 提供的参数无效