我有一个数据框,其中包含带有日期的列。有些日期缺失(空),而有些日期则是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年的日期
答案 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]