在熊猫数据框中排除大于500年的日期

时间:2019-02-27 22:30:58

标签: python pandas

我有一个数据框,其中包含带有日期的列。有些日期缺失(空),而有些日期则是1500年。

我只想获取日期在过去10年内或缺少的行。

由于熊猫的时间范围为584年,因此我这样做是为了避免引发错误:

import arrow as ar
import pandas as pd

df[(pd.to_datetime(df['date'], errors = 'coerce') >= ar.utcnow().shift(days=-3650).date())]

但是,这也摆脱了缺少日期的行,我不希望这样。有没有一种方法可以排除日期大于10年的数据,但不能排除此数据框也缺少日期大于500年的日期

1 个答案:

答案 0 :(得分:2)

然后只需添加条件

con1=(pd.to_datetime(df['date'], errors = 'coerce') >= ar.utcnow().shift(days=-3650).date())
con2=pd.to_datetime(df['date'], errors = 'coerce').isnull()

df.loc[con1|con2]