本文介绍了如何使用.query()通过时间戳函数过滤Pandas数据帧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试按日期(今天和昨天)过滤Pandas df.为了自动化,我希望使用时间戳功能进行过滤.在R中这是非常无缝的:
I am trying to filter a Pandas df by dates (today and yesterday). For automation purposes I wish to filter using a timestamp function. This is pretty seamless in R:
df %>%
filter(date >= today() - 1)
但是,到目前为止,我在熊猫中复制的尝试并未取得任何成功:昨天结果很好,但是.query()无法识别它?
However, my attempts to replicate in Pandas are not reaching any success so far:Yesterday comes out fine, but .query() doesnt recognise it?
yesterday = (date.today() - timedelta(days=6)).strftime('%Y-%m-%d')
df.\
query('date >= yesterday')
理想情况下,我正在寻找所有包含以下内容的东西:
Ideally I am seeking something all encompassing like:
df.\
query('date >= (date.today() - timedelta(days=6)).strftime('%Y-%m-%d')')
推荐答案
尝试: df.query('date> = @yesterday')
.您需要 @
,以便熊猫识别出它是一个变量.
Try: df.query('date >= @yesterday')
. You need @
so pandas recognizes it's a variable.
这篇关于如何使用.query()通过时间戳函数过滤Pandas数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!