附加的实用函数

class darts.utils.utils.ModelMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:Enum

ADDITIVE = 'additive'
MULTIPLICATIVE = 'multiplicative'
NONE = None
class darts.utils.utils.SeasonalityMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:Enum

ADDITIVE = 'additive'
MULTIPLICATIVE = 'multiplicative'
NONE = None
class darts.utils.utils.TrendMode(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[源代码]

基类:Enum

EXPONENTIAL = 'exponential'
LINEAR = 'linear'
darts.utils.utils.drop_after_index(index, split_point)[源代码]

从索引中删除提供的时间 `split_point`(不包括)之后的所有内容。

参数
  • index (Union[RangeIndex, DatetimeIndex]) – 要从中删除值的索引。

  • split_point (Union[int, Timestamp]) – 指示截止时间的时戳。

返回

一个新的索引,其中 split_point 之后的值被丢弃。

返回类型

Union[pd.RangeIndex, pd.DatetimeIndex]

darts.utils.utils.drop_before_index(index, split_point)[源代码]

从索引中删除提供的时间 `split_point`(不包括)之前的所有内容。

参数
  • index (Union[RangeIndex, DatetimeIndex]) – 要从中删除值的索引。

  • split_point (Union[int, Timestamp]) – 指示截止时间的时戳。

返回

一个新的索引,其中 split_point 之前的值被丢弃。

返回类型

Union[pd.RangeIndex, pd.DatetimeIndex]

darts.utils.utils.expand_arr(arr, ndim)[源代码]

将 np.ndarray 扩展到 ndim 维度(如果尚未满足)。

darts.utils.utils.generate_index(start=None, end=None, length=None, freq=None, name=None)[源代码]

返回一个从给定的起点和长度开始的索引。可以是具有给定频率的 pandas DatetimeIndex,或者是 pandas RangeIndex。索引从

参数
  • start (Union[Timestamp, int, None]) – 返回索引的开始。如果传递的是 pandas Timestamp,索引将是 pandas DatetimeIndex。如果传递的是整数,索引将是 pandas RangeIndex。仅适用于 lengthend

  • end (Union[Timestamp, int, None]) – 可选地,返回索引的结束。仅在使用 startlength 时有效。如果设置了 startend 必须与 start 类型相同。否则,它可以是 pandas Timestamp 或整数。

  • length (Optional[int, None]) – 可选地,返回索引的长度。仅在使用 startend 时有效。

  • freq (Union[str, int, DateOffset]) – 返回索引中两个相邻条目之间的时间差。如果 start 是时间戳,则预期为 DateOffset 别名;请参阅 文档。默认使用“D”(每日)。如果 start 是整数,freq 将被解释为底层 RangeIndex 中的步长。生成整数索引时,freq 是可选的(如果未指定,则使用 1)。

  • name (str) – 可选地,一个索引名称。

返回类型

Union[DatetimeIndex, RangeIndex]

darts.utils.utils.n_steps_between(end, start, freq)[源代码]

获取在 endstart 之间以给定频率 freq 的时间步数。适用于整数和时间戳。

  • 如果 end, start, freq 都是整数,我们可以简单地将差值除以频率。

  • 如果 freq 是一个 pandas Dateoffset,且其时间增量不模糊(例如,“d”、“h”,而不是“ME”、“YE”,…),

    我们可以简单地除以频率

  • 否则,我们取两个时间戳之间的时间差。

参数
  • end (Union[Timestamp, int]) – 结束的 pandas 时间戳 / 整数。

  • start (Union[Timestamp, int]) – 开始 pandas 时间戳 / 整数。

  • freq (Union[DateOffset, int, str]) – 频率 / 步长。

返回

在给定频率 freq 下,endstart 之间的步数/周期数。

返回类型

int

实际案例

>>> n_steps_between(start=pd.Timestamp("2000-01-01"), end=pd.Timestamp("2000-03-01"), freq="ME")
2
>>> n_steps_between(start=0, end=2, freq=1)
2
>>> n_steps_between(start=0, end=2, freq=2)
1
darts.utils.utils.slice_index(index, start, end)[源代码]

返回一个与输入 index 类型相同的新索引,包含 startend 之间的值(包括 startend)。如果 startend 不在索引中,则使用最接近的值。startend 值可以是整数(在这种情况下,它们被解释为索引),或者是 pd.Timestamps(在这种情况下,它们被解释为实际的时间戳)。

参数
  • index (Union[RangeIndex, DatetimeIndex]) – 要切片的索引。

  • start (Union[int, Timestamp]) – 返回索引的开始。

  • end (Union[int, Timestamp]) – 返回索引的结尾。

返回

一个与输入 index 类型相同的新索引,但仅包含 startend 之间的值。

返回类型

Union[pd.RangeIndex, pd.DatetimeIndex]