【发布时间】:2020-07-13 19:26:05
【问题描述】:
我正在尝试按日期(今天和昨天)过滤 Pandas df。出于自动化目的,我希望使用时间戳功能进行过滤。这在 R 中非常无缝:
df %>%
filter(date >= today() - 1)
但是,到目前为止,我在 Pandas 中进行复制的尝试并未取得任何成功: 昨天的结果很好,但是 .query() 不识别它?
yesterday = (date.today() - timedelta(days=6)).strftime('%Y-%m-%d')
df.\
query('date >= yesterday')
理想情况下,我正在寻找包罗万象的东西,例如:
df.\
query('date >= (date.today() - timedelta(days=6)).strftime('%Y-%m-%d')')
【问题讨论】:
-
你为什么在 Python 中使用
timedelta(days=6)(六天前)并与在 R 中抓取 昨天(一天前)进行比较? -
抱歉,这很混乱,而且是一个错字。因此,出于测试目的,我构建的数据集意味着日期变量在 6 天前结束。抱歉,这似乎有点混乱。
标签: python pandas datetime data-manipulation