pandas过滤和比较日期

我有一个sql文件,其中包含以下数据,我将这些数据读入pandas中。

df = pandas.read_sql('Database count details', con=engine,

index_col='id', parse_dates='newest_available_date')

id       code   newest_date_available

9793708 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_beforedf并打印出所有行小于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_available

0 9793708 3514 2015-12-24

1 9792282 2399 2015-12-25

2 9797602 7452 2015-12-25

以上是 pandas过滤和比较日期 的全部内容, 来源链接: utcz.com/qa/432717.html

回到顶部