【发布时间】:2015-11-23 00:49:15
【问题描述】:
我的数据集中有一列以毫秒为单位表示日期,有时它的值为nan(实际上我的列的类型为str,有时它的值为'nan')。我想以本专栏的天数计算纪元。问题是在做两个日期的差时:
(pd.to_datetime('now') - pd.to_datetime(np.nan)).days
如果一个是nan,它会被转换为NaT,区别是NaTType类型,它没有days属性。
在我的情况下,我希望得到nan。
我尝试过的其他方法:不能使用np.datetime64,因为它不能作为参数nan。我的数据无法转换为int,因为int 没有nan。
【问题讨论】:
-
为什么不先过滤列:
df.loc[df['date'].notnull(), 'days'] = (pd.to_datetime('now') -df['date']).days -
我不想过滤,我想拥有所有条目,因为实际上我正在为我的数据集创建一个新列。正如我所说,在这些情况下我想要
days=nan。
标签: pandas missing-data