autogluon.timeseries.TimeSeriesDataFrame

class autogluon.timeseries.TimeSeriesDataFrame(data: DataFrame | str | Path | Iterable, static_features: DataFrame | str | Path | None = None, id_column: str | None = None, timestamp_column: str | None = None, num_cpus: int = -1, *args, **kwargs)[源代码]

单变量时间序列的集合,其中每一行由一个 (item_id, timestamp) 对标识。

例如,时间序列数据框可以表示一组产品的每日销售额,其中每个 item_id 对应一个产品,timestamp 对应记录的日期。

参数:
  • data (pd.DataFrame, str, pathlib.PathIterable) –

    用于构建 TimeSeriesDataFrame 的时间序列数据。该类目前支持四种输入格式。

    1. 没有多重索引的 pandas DataFrame 格式的时间序列数据。例如

         item_id  timestamp  target
      0        0 2019-01-01       0
      1        0 2019-01-02       1
      2        0 2019-01-03       2
      3        1 2019-01-01       3
      4        1 2019-01-02       4
      5        1 2019-01-03       5
      6        2 2019-01-01       6
      7        2 2019-01-02       7
      8        2 2019-01-03       8
      

    您也可以使用 from_data_frame() 加载此类格式的数据。

    1. CSV 或 Parquet 格式数据文件的路径。文件必须包含 item_idtimestamp 列,以及包含时间序列值的列。这与上面的选项 1 类似(没有多重索引的 pandas DataFrame 格式)。远程(例如,S3)和本地路径都接受。您也可以使用 from_path() 加载此类格式的数据。

    2. item_idtimestamp 上带有分级索引的 pandas DataFrame 格式的时间序列数据。例如

                          target
      item_id timestamp
      0       2019-01-01       0
              2019-01-02       1
              2019-01-03       2
      1       2019-01-01       3
              2019-01-02       4
              2019-01-03       5
      2       2019-01-01       6
              2019-01-02       7
              2019-01-03       8
      
    3. Iterable 格式的时间序列数据。例如

      iterable_dataset = [
          {"target": [0, 1, 2], "start": pd.Period("01-01-2019", freq='D')},
          {"target": [3, 4, 5], "start": pd.Period("01-01-2019", freq='D')},
          {"target": [6, 7, 8], "start": pd.Period("01-01-2019", freq='D')}
      ]
      

    您也可以使用 from_iterable_dataset() 加载此类格式的数据。

  • static_features (pd.DataFrame, strpathlib.Path, 可选) –

    一个可选的数据框,描述每个独立时间序列的元数据,这些元数据不随时间变化。可以接受实数值或分类值。例如,如果 TimeSeriesDataFrame 包含各种产品的销售额,静态特征可能指的是与时间无关的特征,如颜色或品牌。

    static_features 的索引必须包含相应 TimeSeriesDataFrame 中存在的每个项目的单个条目。例如,以下 TimeSeriesDataFrame

                        target
    item_id timestamp
    A       2019-01-01       0
            2019-01-02       1
            2019-01-03       2
    B       2019-01-01       3
            2019-01-02       4
            2019-01-03       5
    

    与以下 static_features 兼容

             feat_1 feat_2
    item_id
    A           2.0    bar
    B           5.0    foo
    

    TimeSeriesDataFrame 将确保在序列化/反序列化、复制和切片操作期间静态特征的一致性。

    如果在 fit 期间提供了 static_features,则 TimeSeriesPredictor 期望在预测时也提供相同的元数据。

  • id_column (str, 可选) – item_id 列的名称,如果它与默认名称不同。此参数仅在使用格式 1(没有多重索引的 DataFrame)或 2(文件路径)构造 TimeSeriesDataFrame 时使用。

  • timestamp_column (str, 可选) – timestamp 列的名称,如果它与默认名称不同。此参数仅在使用格式 1(没有多重索引的 DataFrame)或 2(文件路径)构造 TimeSeriesDataFrame 时使用。

  • num_cpus (int, 默认为 -1) – 用于并行处理可迭代数据集的 CPU 核心数。设置为 -1 使用所有核心。此参数仅在使用格式 4(可迭代数据集)构造 TimeSeriesDataFrame 时使用。

__init__(data: DataFrame | str | Path | Iterable, static_features: DataFrame | str | Path | None = None, id_column: str | None = None, timestamp_column: str | None = None, num_cpus: int = -1, *args, **kwargs)[源代码]

方法

assign

为时间序列数据框分配新列。

convert_frequency

将数据框中的每个时间序列转换为给定频率。

copy

创建 TimeSeriesDataFrame 的副本。

dropna

删除包含 NaN 的行。

fill_missing_values

填充由 NaN 表示的缺失值。

from_data_frame

从 pandas DataFrame 构建 TimeSeriesDataFrame

from_iterable_dataset

从一个字典的可迭代对象构建 TimeSeriesDataFrame,其中每个字典代表一个时间序列。

from_path

从 CSV 或 Parquet 文件构建 TimeSeriesDataFrame

from_pickle

读取 pickle 化的时间序列数据框的便捷方法。

get_model_inputs_for_scoring

准备模型输入,以便预测数据集中每个时间序列的最后 prediction_length 个时间步。

infer_frequency

根据观测值的时间戳推断时间序列的频率。

num_timesteps_per_item

数据框中每个时间序列的长度。

slice_by_time

从每个时间序列中选择开始(包含)和结束(不包含)时间戳之间的子序列。

slice_by_timestep

从每个时间序列中选择开始(包含)和结束(不包含)索引之间的子序列。

sort_index

按标签(沿轴)对对象进行排序。

split_by_time

在某个 cutoff_time 之前和之后将数据框分割成两个不同的 TimeSeriesDataFrame

to_data_frame

TimeSeriesDataFrame 转换为 pandas.DataFrame

train_test_split

从给定数据集中生成训练/测试分割。

属性

freq

数据框中时间戳的推断的 pandas 兼容频率。

item_ids

数据集中包含的唯一时间序列 ID 列表。

num_items

数据集中的项目(时间序列)数量。

static_features