如何使用.query()通过时间戳函数过滤Pandas数据帧 [英] How to filter a Pandas dataframe by timestamp functon using .query()

查看:72
本文介绍了如何使用.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数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆