【发布时间】:2020-02-14 13:32:32
【问题描述】:
我有一个类似于"ValueError: cannot reindex from a duplicate axis" 的问题。没有提供解决方案。
我有一个包含多行多列天气数据的 excel 文件。尽管下面的示例中未显示数据,但在某些时间间隔内缺少数据。我想每隔 5 分钟重新索引时间列,以便可以插入缺失值。数据样本:
Date Time Temp Hum Dewpnt WindSpd
04/01/18 12:05 a 30.6 49 18.7 2.7
04/01/18 12:10 a NaN 51 19.3 1.3
04/01/18 12:20 a 30.7 NaN 19.1 2.2
04/01/18 12:30 a 30.7 51 19.4 2.2
04/01/18 12:40 a 30.9 51 19.6 0.9
这是我尝试过的。
import pandas as pd
ts = pd.read_excel('E:\DATA\AP.xlsx')
ts['Time'] = pd.to_datetime(ts['Time'])
ts.set_index('Time', inplace=True)
dt = pd.date_range("2018-04-01 00:00:00", "2018-05-01 00:00:00", freq='5min', name='T')
idx = pd.DatetimeIndex(dt)
ts.reindex(idx)
我只想让我的索引以 5 分钟的频率出现,以便稍后插入 NaN。 预期输出:
Date Time Temp Hum Dewpnt WindSpd
04/01/18 12:05 a 30.6 49 18.7 2.7
04/01/18 12:10 a NaN 51 19.3 1.3
04/01/18 12:15 a NaN NaN NaN NaN
04/01/18 12:20 a 30.7 NaN 19.1 2.2
04/01/18 12:25 a NaN NaN NaN NaN
04/01/18 12:30 a 30.7 51 19.4 2.2
【问题讨论】:
-
以文本而非图片的形式提供您的输入数据和预期输出。
-
进行了建议的更改。
标签: python pandas time-series python-datetime reindex