You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas中Sum函数多条件筛选报错的解决办法

解决Pandas条件统计的TypeError问题

错误根源

这是运算符优先级导致的问题:&(按位与)的优先级高于比较运算符>,你的代码会先执行15 & frames['ratio'],试图将浮点数数组与整数做位运算,直接触发类型错误。本质是两个条件没有正确分组,导致运算顺序混乱。

正确代码写法

给每个比较条件单独套上括号,确保先算出每个条件的布尔结果,再用&进行组合:

total_enhancements = ((frames['dif'] > 15) & (frames['ratio'] > 0.05)).sum()

也可以用numpy的逻辑与函数实现相同逻辑:

import numpy as np
total_enhancements = np.logical_and(frames['dif'] > 15, frames['ratio'] > 0.05).sum()

补充说明

从你提供的frames数据来看,所有dif和ratio都是负数,所以最终统计结果会是0,但修复后的代码逻辑完全正确,不会再报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:15:29