您如何管理数据框中的缺失日期?

时间:2018-06-26 13:43:38

标签: python pandas jupyter-notebook missing-data

我有一个带有多个列的数据框,我想使用toordinal方法将其转换为整数,但是有一些缺少的日期,我想知道如何管理它们以便进行转换。

我尝试过这个:

dates['date'].apply(lambda x: x.toordinal())

我有错误:

ValueError: NaTType does not support toordinal

2 个答案:

答案 0 :(得分:3)

另一个选择是

dates['date'].apply(lambda x: x.toordinal() if pd.notna(x) else 0)

答案 1 :(得分:2)

您可以使用datetime模块。请注意,NaT1转换为datetime.toordinal。如果需要,可以将其替换为您选择的值,作为一个单独的步骤。

来自@jezrael的数据。

from datetime import datetime

rng = pd.date_range('2017-04-03', periods=5)
dates = pd.DataFrame({'date': rng}) 
dates.loc[6, 'date'] = np.nan

dates['date_ordinal'] = dates['date'].apply(datetime.toordinal)

print(dates)

        date  date_ordinal
0 2017-04-03        736422
1 2017-04-04        736423
2 2017-04-05        736424
3 2017-04-06        736425
4 2017-04-07        736426
6        NaT             1