如何修复浮点时间范围判断代码中的TypeError错误?
修复浮点时间区间校验的TypeError问题
报错原因
你碰到的TypeError本质是运算符优先级错误:Python里位运算符&的优先级比比较运算符>、<高,导致代码先尝试对两个浮点数执行位运算(time_window_start & time_check),但浮点数不支持位运算,因此报错。另外你的代码还缺少对DataFrame列的正确引用。
修复后的代码
# 给每个比较条件单独加括号,并正确引用DataFrame的列 df1 = df1[(df1['time_check'] > df1['time_window_start']) & (df1['time_check'] < df1['time_window_end'])]
额外说明
- 括号是关键:必须把每个独立的比较表达式用括号包裹,确保先完成数值比较,再执行逻辑与运算。
- 如果需要包含区间边界值,可将
>改为>=,<改为<=。 - 20000行数据属于pandas的常规处理量级,这个写法的效率完全够用。
内容的提问来源于stack exchange,提问作者Pratzy30
相关产品推荐
相关产品推荐

