使用确切的开始周期重新采样数据帧

时间:2017-10-31 22:18:42

标签: python pandas

考虑一个看起来像这样的数据框:

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

1 个答案:

答案 0 :(得分:1)

实现@ piRSquared的代码按预期工作我重新检查了数据管道,并意识到我的time列类型是TimedeltaIndex,这导致重新采样中的意外行为。

TimedeltaIndex来自于仅限时间字符串的隐式转换。

如果您的问题与我的问题类似,这可能会对您有所帮助:

df['datetime'] = pd.to_datetime(df['date'] + df['time'])