2024-04-25 06:41:46 发布
网友
我正在处理时间序列数据,其中我的数据帧具有以小时为单位指定的索引,如下所示:
[0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, ...]
这种情况持续了几千个小时。我知道第一次测量是,比方说,May 1, 2017 12:00。如何使用这些信息将索引转换为日期时间格式?你知道吗
May 1, 2017 12:00
您可以通过DatetimeIndex的^{}中的参数origin向索引添加小时数:
DatetimeIndex
origin
idx = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4] df = pd.DataFrame({'a':range(13)}, index=idx) start = 'May 1, 2017 12:00' df.index = pd.to_datetime(df.index, origin=start, unit='h') print (df) a 2017-05-01 12:00:00 0 2017-05-01 12:12:00 1 2017-05-01 12:24:00 2 2017-05-01 12:36:00 3 2017-05-01 12:48:00 4 2017-05-01 13:00:00 5 2017-05-01 13:12:00 6 2017-05-01 13:24:00 7 2017-05-01 13:36:00 8 2017-05-01 13:48:00 9 2017-05-01 14:00:00 10 2017-05-01 14:12:00 11 2017-05-01 14:24:00 12
您可以使用pandas.date_range根据index(在本例列表中)的长度指定时段的数量,并指定频率,在本例中为12min或1/5 H:
pandas.date_range
index
12min
1/5 H
l = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4] data = {'Num':np.random.randint(1, 10, size=len(l))} idx = pd.date_range(start=pd.Timestamp(2017, 5, 1, 12), periods=len(l), freq='12T') df = pd.DataFrame(data = data, index= idx)
print(df) Num 2017-05-01 12:00:00 8 2017-05-01 12:12:00 3 2017-05-01 12:24:00 3 2017-05-01 12:36:00 4 2017-05-01 12:48:00 8 2017-05-01 13:00:00 3 2017-05-01 13:12:00 6 2017-05-01 13:24:00 3 2017-05-01 13:36:00 4 2017-05-01 13:48:00 9 2017-05-01 14:00:00 5 2017-05-01 14:12:00 2 2017-05-01 14:24:00 6
您可以通过} 中的参数
DatetimeIndex
的^{origin
向索引添加小时数:您可以使用
pandas.date_range
根据index
(在本例列表中)的长度指定时段的数量,并指定频率,在本例中为12min
或1/5 H
:相关问题 更多 >
编程相关推荐