2024-09-30 06:18:04 发布
网友
我有一个dataframe,它有多个带有日期的列,我想用toordinal方法将其转换为整数,但是有一些缺少的日期,我想知道如何管理它们以便能够进行转换。你知道吗
我试过这个:
dates['date'].apply(lambda x: x.toordinal())
我有个错误:
ValueError: NaTType does not support toordinal
另一个选择是
dates['date'].apply(lambda x: x.toordinal() if pd.notna(x) else 0)
您可以使用datetime模块。注意,NaT被datetime.toordinal转换成1。如果您愿意,您可以将其替换为您选择的值作为单独的步骤。你知道吗
datetime
NaT
datetime.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
另一个选择是
您可以使用
datetime
模块。注意,NaT
被datetime.toordinal
转换成1
。如果您愿意,您可以将其替换为您选择的值作为单独的步骤。你知道吗数据来自@jezrael。你知道吗
相关问题 更多 >
编程相关推荐