我有一个带有一列的数据框,该列的时间戳数据为空。我正在尝试使用np.where用列中最早的日期替换空值。
数据框如下所示:
index date
1 2019-06-30 22:40:25.799000+00:00
2 2019-06-30 22:40:25.799000+00:00
3 NaN
我将代码编写为:
mini = df['date'].min()
df['date'] = np.where(df['date'].isnull(), mini, df['date'])
但是结果的日期列为我提供了一个Unix时间戳记,正确填写了NaN:
index date
1 1552685510470841000
2 1555706405810536000
3 2015-05-07 13:49:51.072000+00:00
为什么会发生这种情况?我该怎么做才是时间戳记?
答案 0 :(得分:2)
numpy倾向于将数组的元素视为浮点数。看到NaN和Timestamp都可以表示为浮点数,因此将df['date']
转换为浮点数。
您可以改用fillna
:
df['date'].fillna(mini, inplace=True)