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.Path 或 Iterable) –
用于构建
TimeSeriesDataFrame
的时间序列数据。该类目前支持四种输入格式。没有多重索引的 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()
加载此类格式的数据。CSV 或 Parquet 格式数据文件的路径。文件必须包含
item_id
和timestamp
列,以及包含时间序列值的列。这与上面的选项 1 类似(没有多重索引的 pandas DataFrame 格式)。远程(例如,S3)和本地路径都接受。您也可以使用from_path()
加载此类格式的数据。在
item_id
和timestamp
上带有分级索引的 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
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, str 或 pathlib.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)[源代码]¶
方法
为时间序列数据框分配新列。
将数据框中的每个时间序列转换为给定频率。
创建 TimeSeriesDataFrame 的副本。
删除包含 NaN 的行。
填充由 NaN 表示的缺失值。
从 pandas DataFrame 构建
TimeSeriesDataFrame
。从一个字典的可迭代对象构建
TimeSeriesDataFrame
,其中每个字典代表一个时间序列。从 CSV 或 Parquet 文件构建
TimeSeriesDataFrame
。读取 pickle 化的时间序列数据框的便捷方法。
准备模型输入,以便预测数据集中每个时间序列的最后
prediction_length
个时间步。根据观测值的时间戳推断时间序列的频率。
数据框中每个时间序列的长度。
从每个时间序列中选择开始(包含)和结束(不包含)时间戳之间的子序列。
从每个时间序列中选择开始(包含)和结束(不包含)索引之间的子序列。
按标签(沿轴)对对象进行排序。
在某个
cutoff_time
之前和之后将数据框分割成两个不同的TimeSeriesDataFrame
。将 TimeSeriesDataFrame 转换为 pandas.DataFrame
从给定数据集中生成训练/测试分割。
属性
freq
数据框中时间戳的推断的 pandas 兼容频率。
item_ids
数据集中包含的唯一时间序列 ID 列表。
num_items
数据集中的项目(时间序列)数量。
static_features