Python 如何在df.query()中使用timedelta?

Python 如何在df.query()中使用timedelta?,python,pandas,dataframe,datetime,timedelta,Python,Pandas,Dataframe,Datetime,Timedelta,我希望能够将来自用户或文件的文本传递到过滤器pandas,这似乎是处理它的最佳方式。然而,我有一个datetime索引,似乎无法找到使用timedelta的方法。我知道我可以用>或

我希望能够将来自用户或文件的文本传递到过滤器pandas,这似乎是处理它的最佳方式。然而,我有一个datetime索引,似乎无法找到使用timedelta的方法。我知道我可以用>或
query_string = 'index < datetime.datetime(2020, 2, 20, 11, 8, 19, 615268)'
df.query(queryString)


这失败了,我似乎找不到一种方法来做一些事情,比如过滤任何与时间戳相关的东西。是否有其他方法可以格式化它,以便我可以使用df.query()从日期中添加/减去时间?

query不支持timedelta(在版本1.0.5中检查)。您可以使用以下方法解决此问题:

df[df['index'] >= datetime.now() - datetime.timedelta(10, 'S')]
date = datetime.now()
query_string = 'index > @date - datetime.timedelta(seconds=10)'
df.query(query_string)
df[df['index'] >= datetime.now() - datetime.timedelta(10, 'S')]