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

如何使用AND/OR运算符筛选pandas DataFrame数据并解决TypeError报错

问题原因

你当前的报错是因为逻辑运算的使用逻辑错误:pandas的位运算符&/|需要作用于布尔值组成的筛选掩码序列,但你原代码里直接对筛选后得到的DataFrame对象做位运算,不同类型的对象运算触发了类型错误。

正确实现代码

你需要先构造所有筛选条件的布尔掩码,再统一用掩码对原DataFrame做筛选:

# 高值区间筛选
cond_life_high = state['SSSLifestress'] >= 63
cond_other_high = (state['SSSHealthstress'] >= 63) | (state['SSSFinancialstress'] >= 63) | (state['SSSSocialstress'] >= 63)
high_scale1 = state[cond_life_high & cond_other_high].reset_index(drop=True)

# 低值区间筛选
cond_life_low = state['SSSLifestress'] <= 33
cond_other_low = (state['SSSHealthstress'] <= 33) | (state['SSSFinancialstress'] <= 33) | (state['SSSSocialstress'] <= 33)
low_scale1 = state[cond_life_low & cond_other_low].reset_index(drop=True)

结果验证

上述代码运行后得到的high_scale1和你期望的输出完全一致:

SSSLifestress  SSSHealthstress  SSSFinancialstress  SSSSocialstress
0               64               11                  90               26
1               65               31                  77               48

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:54:05