考虑一个看起来像这样的数据框:
time
18:00:00.051563 2575.50
18:00:01.023444 2575.50
18:00:02.000000 2575.50
18:00:03.000000 2575.50
18:00:04.000000 2575.50
18:00:05.000000 2575.50
18:00:06.000000 2575.50
18:00:07.000000 2575.50
我想重新采样到2秒间隔,开始间隔为18:00:00.000000
。但由于我的系列中的第一个数据点是18:00:00.051563
,因此生成的存储桶也会从00.051563
而不是00.00000
开始。
df.resample('2S', closed='left', label='left', base=0).mean()
time
18:00:00.051563 2575.317742
18:00:02.051563 2575.427632
18:00:04.051563 2575.674342
18:00:06.051563 2575.902778
18:00:08.051563 2576.287037
18:00:10.051563 2576.392857
18:00:12.051563 2576.416667
18:00:14.051563 2576.164286
18:00:16.051563 2576.100000
答案 0 :(得分:1)
实现@ piRSquared的代码按预期工作我重新检查了数据管道,并意识到我的time
列类型是TimedeltaIndex
,这导致重新采样中的意外行为。
TimedeltaIndex
来自于仅限时间字符串的隐式转换。
如果您的问题与我的问题类似,这可能会对您有所帮助:
df['datetime'] = pd.to_datetime(df['date'] + df['time'])