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)[source]¶
一组单变量时间序列,其中每一行由一个(
item_id,timestamp)对标识。例如,一个时间序列数据框可以表示一组产品的每日销售情况,其中每个
item_id对应一个产品,timestamp对应记录的日期。- Parameters:
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()来加载这种格式的数据。时间序列数据以 pandas DataFrame 格式存储,且在
item_id和timestamp上有多级索引。例如: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 or pathlib.Path, optional) –
一个可选的数据框,描述每个时间序列的元数据,这些元数据不随时间变化。 可以包含实数值或分类值。例如,如果
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, optional) –
item_id列的名称,如果它与默认值不同。此参数仅在构建 TimeSeriesDataFrame 时使用,使用格式 1(没有多索引的 DataFrame)或格式 2(文件路径)。timestamp_column (str, optional) –
timestamp列的名称,如果它与默认值不同。此参数仅在构建 TimeSeriesDataFrame 时使用,格式为 1(没有多索引的 DataFrame)或 2(文件路径)。num_cpus (int, default = -1) – 用于并行处理可迭代数据集的CPU核心数。设置为-1以使用所有核心。此参数仅在构建格式4(可迭代数据集)的TimeSeriesDataFrame时使用。
- freq¶
一个与pandas兼容的字符串,用于描述时间序列的频率。例如,
"D"表示每日数据,"h"表示每小时数据等。此属性是根据时间戳自动确定的。有关可能值的完整列表,请参阅 pandas文档。- Type:
字符串
- num_items¶
数据集中项目(时间序列)的数量。
- Type:
整数
- item_ids¶
数据集中包含的唯一时间序列ID列表。
- Type:
pd.Index
- __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)[source]¶
方法
将数据框中的每个时间序列转换为给定的频率。
复制TimeSeriesDataFrame。
删除包含NaN的行。
填充由NaN表示的缺失值。
Construct a
TimeSeriesDataFramefrom a pandas DataFrame.从字典的可迭代对象中构造一个
TimeSeriesDataFrame,每个字典代表一个单一的时间序列。Construct a
TimeSeriesDataFramefrom a CSV or Parquet file.读取腌制时间序列数据框的便捷方法。
Prepare model inputs necessary to predict the last
prediction_lengthtime steps of each time series in the dataset.根据观测的时间戳推断时间序列的频率。
数据框中每个时间序列的长度。
从每个时间序列中选择一个子序列,时间戳介于开始(包括)和结束(不包括)之间。
从每个时间序列中选择一个子序列,介于开始(包括)和结束(不包括)索引之间。
Split dataframe to two different
TimeSeriesDataFrames before and after a certaincutoff_time.Convert TimeSeriesDataFrame to a pandas.DataFrame
从给定的数据集中生成训练/测试分割。
属性