如何管理数据帧中缺少的日期?

2024-09-30 06:18:04 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我试过这个:

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

我有个错误:

ValueError: NaTType does not support toordinal

Tags: 方法lambdasupportdataframedate错误not整数
2条回答

另一个选择是

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

您可以使用datetime模块。注意,NaTdatetime.toordinal转换成1。如果您愿意,您可以将其替换为您选择的值作为单独的步骤。你知道吗

数据来自@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

相关问题 更多 >

    热门问题