日期时间索引重采样器对象返回的第一个时间戳的模式是什么?



我有一个这样的时间序列:

idx = pd.DatetimeIndex(['01:55:00', '02:25:00', '03:20:00', '02:35:00'])
ts = Series([1, 2, 3, 4], index=idx)
ts
2019-04-20 01:55:00    1
2019-04-20 02:25:00    2
2019-04-20 03:20:00    3
2019-04-20 02:35:00    4
dtype: int64

当我使用带有参数"2T"resample函数时,groups这样的字典:

r = ts.resample('2T')
r.groups
{Timestamp('2019-04-20 01:54:00', freq='2T'): 1,
 Timestamp('2019-04-20 01:56:00', freq='2T'): 1,
 ...
}
第一个时间戳

是'01:54:00',当我更改参数时,第一个时间戳也会更改。

r = ts.resample('5T')
r.groups
{Timestamp('2019-04-20 01:55:00', freq='5T'): 1,
 Timestamp('2019-04-20 02:00:00', freq='5T'): 1,
 ...
}
r = ts.resample('15T')
r.groups
{Timestamp('2019-04-20 01:45:00', freq='15T'): 1,
 Timestamp('2019-04-20 02:00:00', freq='15T'): 1,
 ...
}

我不知道规则是什么。我搜索了熊猫的文档并用谷歌搜索,但没有找到答案。

我发现熊猫在这种情况下的第一个和最后一个 Timestamp.In 做了一些复杂的事情,简化的代码如下:

from pandas.tseries.frequencies import to_offset
first = pd.Timestamp('2019-04-20 01:55:00')
offset = to_offset('35T')
start_day_nanos = first.normalize().value
foffset = (first.value - start_day_nanos) % offset.nanos
fresult = first.value - foffset
pd.Timestamp(fresult)
Timestamp('2019-04-20 01:45:00') 

相关内容

最新更新