gpt4 book ai didi

python - 如何用 pandas 系列中的日期替换日期列中的 NaT?

转载 作者:行者123 更新时间:2023-12-02 07:03:08 24 4
gpt4 key购买 nike

我有一个 df 如下:

dates   values
2020-12-31 23:45:00 75.6
2021-01-01 00:00:00 74.7
NaT 73.7
NaT 72.3
NaT 70.5
NaT 68.2

我想用我制作的一系列值替换 NaT 值,如下所示:

oct_two_am = datetime.datetime(2020, 10, 25, 2, 0)
oct_three_am = datetime.datetime(2020, 10, 25, 3, 0)

# generates 15mins data
oct_dls = pd.date_range(start=oct_two_am, end=oct_three_am, freq='15min', closed='left')
oct_dls = oct_dls.to_series().reset_index(drop=True)

这给了我以下系列oct_dls:

oct_dls
Out[26]:
0 2020-10-25 02:00:00
1 2020-10-25 02:15:00
2 2020-10-25 02:30:00
3 2020-10-25 02:45:00
dtype: datetime64[ns]

现在,我想用 oct_dls 系列中的值替换数据帧 df 中的 NaTs

我尝试过:

df['dates'] = df['dates'].fillna(value=oct_dls)

但是这不起作用。

最佳答案

由于您的索引不匹配,这就是为什么不能填充空值。

index 匹配是 pandas 赋值中的隐藏键之一。

oct_dls.index=df.index[df['dates'].isnull()]
df['dates'] = df['dates'].fillna(value=oct_dls)

关于python - 如何用 pandas 系列中的日期替换日期列中的 NaT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60992480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com