TimeSeriesDataFrame.slice_by_timestep¶
- TimeSeriesDataFrame.slice_by_timestep(start_index: int | None = None, end_index: int | None = None) TimeSeriesDataFrame[source]¶
从每个时间序列中选择一个子序列,介于开始(包括)和结束(不包括)索引之间。
此操作相当于从每个时间序列中选择一个切片
[start_index : end_index],然后将这些切片组合成一个新的TimeSeriesDataFrame。请参见下面的示例。返回原始数据的副本。这对于构建用于验证的保留集非常有用。
- Parameters:
start_index (int 或 None) – 每个时间序列切片的起始索引(包含)。 负值从每个时间序列的末尾开始计数。 当设置为 None 时,切片从每个时间序列的开头开始。
end_index (int 或 None) – 每个时间序列切片的结束索引(不包含)。 负值从每个时间序列的末尾开始计数。 当设置为 None 时,切片包括每个时间序列的末尾。
- Returns:
ts_df – 一个新的时间序列数据框,包含原始时间序列在开始和结束索引之间的条目。
- Return type:
示例
>>> ts_df target item_id timestamp 0 2019-01-01 0 2019-01-02 1 2019-01-03 2 1 2019-01-02 3 2019-01-03 4 2019-01-04 5 2 2019-01-03 6 2019-01-04 7 2019-01-05 8
选择每个时间序列的第一个条目
>>> df.slice_by_timestep(0, 1) target item_id timestamp 0 2019-01-01 0 1 2019-01-02 3 2 2019-01-03 6
选择每个时间序列的最后2个条目
>>> df.slice_by_timestep(-2, None) target item_id timestamp 0 2019-01-02 1 2019-01-03 2 1 2019-01-03 4 2019-01-04 5 2 2019-01-04 7 2019-01-05 8
选择每个时间序列中除最后一项之外的所有条目
>>> df.slice_by_timestep(None, -1) target item_id timestamp 0 2019-01-01 0 2019-01-02 1 1 2019-01-02 3 2019-01-03 4 2 2019-01-03 6 2019-01-04 7
复制整个数据框
>>> df.slice_by_timestep(None, None) target item_id timestamp 0 2019-01-01 0 2019-01-02 1 2019-01-03 2 1 2019-01-02 3 2019-01-03 4 2019-01-04 5 2 2019-01-03 6 2019-01-04 7 2019-01-05 8