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

使用Pandas query筛选日期范围时出现语法错误的技术咨询

解决DataFrame日期区间筛选的报错问题

1. 修正语法错误

报错原因是字符串与between关键字之间缺少空格,导致解析失败。修正后的query语句:

df.query("'2021-07-30' between Start and End")

注意字符串、between、and两侧都要保留空格。

2. 确保日期列是datetime类型

如果Start和End列是字符串格式,直接比较可能不符合日期逻辑(字符串按字符顺序比较,会出现错误结果)。先将列转换为datetime类型:

import pandas as pd

df['Start'] = pd.to_datetime(df['Start'])
df['End'] = pd.to_datetime(df['End'])

转换后再执行筛选,会按照实际日期逻辑比较,结果更准确。

3. 替代筛选方式(无需query)

如果不想用query,可以直接用布尔索引筛选,逻辑更直观:

target_date = pd.to_datetime('2021-07-30')
filtered_df = df[(df['Start'] <= target_date) & (target_date <= df['End'])]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:54:17