You need to enable JavaScript to run this app. Python统计DataFrame多条件匹配行数的TypeError报错如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Python统计DataFrame多条件匹配行数的TypeError报错如何解决

错误原因

你写的代码存在两处语法问题:

  • 你给两个判断条件的外层额外套了[],把pandas返回的布尔Series转换成了Python原生列表,而Python列表本身不支持&按位与运算,直接触发了类型错误
  • 筛选DataFrame行需要用方括号[],你误用了小括号(),属于语法逻辑错误

修复方案

方案1(更简洁,推荐)

直接对布尔掩码求和,pandas中True对应数值1、False对应数值0,求和结果就是符合条件的行数:

pass_both_checks = ((merged_outer['result_x'] == 'clear') & (merged_outer['result_y'] == 'clear')).sum()

方案2(兼容你原本想用len的写法)

用布尔掩码筛选出符合条件的行之后再取长度:

pass_both_checks = len(merged_outer[(merged_outer['result_x'] == 'clear') & (merged_outer['result_y'] == 'clear')])

注意事项

每个独立的判断条件必须用小括号()包裹,因为&运算符的优先级高于==等比较运算符,不裹括号会触发运算逻辑错误。

内容的提问来源于stack exchange,提问作者Anirudh Maru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 17:57:02