【发布时间】:2017-07-27 06:28:55
【问题描述】:
我想将 pandas 数据框过滤到最近 3 个月。
import pandas as pd
dates = pd.DataFrame(['2016-11-01', '2016-12-01', '2017-01-01', '2017-02-01', '2017-03-01'], columns=['date'])
dates.date = pd.DatetimeIndex(dates.date)
import datetime
today = datetime.date.today()
first = today.replace(day=1)
lastMonth = first - datetime.timedelta(days=90)
print (lastMonth.strftime("%Y-%m"))
dates[dates.date >= lastMonth]
这种 sn-p 类型已经有效,但将一个月的长度硬编码为 30 天。我怎样才能使用pd.Timedelta('-3 month')(它似乎不像这样工作)来实现更强大的功能?
【问题讨论】:
标签: python pandas datetime filter