Python 筛选过去x天的数据帧

Python 筛选过去x天的数据帧,python,datetime,pandas,Python,Datetime,Pandas,我有一个带有日期列的数据框,我每天都更新它。我想用过去30天的数据创建一个副本 根据我对在R中执行此操作的了解,我尝试了以下语法: df[df[date]>dt.date.today()-30] 日期列不是索引,但如果有帮助的话,我不反对这样做 谢谢 试试这个: import datetime import pandas as pd df[df.the_date_column > datetime.datetime.now() - pd.to_timedelta("30day

我有一个带有日期列的数据框,我每天都更新它。我想用过去30天的数据创建一个副本

根据我对在R中执行此操作的了解,我尝试了以下语法:

df[df[date]>dt.date.today()-30]
日期列不是索引,但如果有帮助的话,我不反对这样做

谢谢

试试这个:

import datetime
import pandas as pd 


df[df.the_date_column > datetime.datetime.now() - pd.to_timedelta("30day")]

更新:根据Josh的建议进行编辑。

考虑
df

today = pd.datetime.today().date()
begin = today - pd.offsets.Day(90)
tidx = pd.date_range(begin, today)
df = pd.DataFrame(dict(A=np.arange(len(tidx))), tidx)
你可以像这样把最后30天切成薄片

cut_off = today - pd.offsets.Day(29)
df[cut_off:]

             A
2016-09-23  61
2016-09-24  62
2016-09-25  63
2016-09-26  64
2016-09-27  65
2016-09-28  66
2016-09-29  67
2016-09-30  68
2016-10-01  69
2016-10-02  70
2016-10-03  71
2016-10-04  72
2016-10-05  73
2016-10-06  74
2016-10-07  75
2016-10-08  76
2016-10-09  77
2016-10-10  78
2016-10-11  79
2016-10-12  80
2016-10-13  81
2016-10-14  82
2016-10-15  83
2016-10-16  84
2016-10-17  85
2016-10-18  86
2016-10-19  87
2016-10-20  88
2016-10-21  89
2016-10-22  90

美丽的。我必须做的一个轻微调整是
df[df.the_date\u column>datetime.datetime.now()-pd.to_timedelta(“30天”)]