pandas过滤和比较日期
我有一个sql文件,其中包含以下数据,我将这些数据读入pandas中。
df = pandas.read_sql('Database count details', con=engine, index_col='id', parse_dates='newest_available_date')
id code newest_date_available9793708 3514 2015-12-24
9792282 2399 2015-12-25
9797602 7452 2015-12-25
9804367 9736 2016-01-20
9804438 9870 2016-01-20
下一行代码是获取上周的日期
date_before = datetime.date.today() - datetime.timedelta(days=7) # Which is 2016-01-20
我所试图做的是,比较date_before
有df
并打印出所有行小于date_before
if (df['newest_available_date'] < date_before): print(#all rows)
显然,这会返回一个错误 The truth value of a Series is ambiguous. Use a.empty, a.bool(),
a.item(), a.any() or a.all().
我应该怎么做?
回答:
我会做一个面具,像:
a = df[df['newest_date_available'] < date_before]
如果为date_before = datetime.date(2016, 1, 19)
,则返回:
id code newest_date_available0 9793708 3514 2015-12-24
1 9792282 2399 2015-12-25
2 9797602 7452 2015-12-25
以上是 pandas过滤和比较日期 的全部内容, 来源链接: utcz.com/qa/432717.html