gpt4 book ai didi

python - 填写我的 pd.date_range 中缺少的日期/时间

转载 作者:行者123 更新时间:2023-11-30 22:43:29 25 4
gpt4 key购买 nike

我有一列数据,如下所示: enter image description here

我正在尝试设置整个月的范围:

rng = pd.date_range('2016-09-01 00:00:00', '2016-09-30 23:59:58', freq='S')

但是我的数据列(上面)丢失了几个小时,而且我不确定在哪里(因为我的数据有 200 万行)。

我尝试使用reindex命令,但它似乎用零填充了所有内容。

我使用的代码如下:

df = pd.DataFrame(df_csv)
rng = pd.date_range('2016-09-01 00:00:00', '2016-09-30 23:59:58', freq='S')
df = df.reindex(rng,fill_value=0.0)

如何正确填写缺失的日期/时间而不用 0 填充所有内容?

最佳答案

我认为你需要set_index首先从 date 列,然后可以使用 reindex :

#cast column date if dtype is not datetime
df.date = pd.to_datetime(df.date)
df = df.set_index('date').reindex(rng,fill_value=0.0)

您获得所有 NaN 值,因为通过 datetime 值重新索引 int 索引(使用 fill_value=0.0所有 NaN 均替换为 0.0)。

此外,如果date列已排序,您可以使用更通用的解决方案,选择date列的第一个和最后一个值:

start_date = df.date.iat[0]
end_date = df.date.iat[-1]
rng = pd.date_range(start_date, end_date, freq='S')

关于python - 填写我的 pd.date_range 中缺少的日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41750033/

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