gluonts.dataset.pandas module#
- class gluonts.dataset.pandas.PandasDataset(dataframes: InitVar[Union[pd.DataFrame, pd.Series, Iterable[pd.DataFrame], Iterable[pd.Series], Iterable[tuple[Any, pd.DataFrame]], Iterable[tuple[Any, pd.Series]], dict[str, pd.DataFrame], dict[str, pd.Series]]], target: Union[str, list[str]] = 'target', feat_dynamic_real: Optional[list[str]] = None, past_feat_dynamic_real: Optional[list[str]] = None, timestamp: Optional[str] = None, freq: Optional[str] = None, static_features: InitVar[Optional[pd.DataFrame]] = None, future_length: int = 0, unchecked: bool = False, assume_sorted: bool = False, dtype: Type = <class 'numpy.float32'>)[source]#
基于
pandas.DataFrame
的数据集类型。该类由一系列
pandas.DataFrame
对象构建而成,每个DataFrame
代表一个时间序列。target
和timestamp
列是必不可少的。时间序列的动态特征可以与其DataFrame
一起指定,而静态特征可以通过static_features
参数在单独的DataFrame
对象中指定。参数
- dataframes (InitVar[Union[pd.DataFrame, pd.Series, Iterable[pd.DataFrame], Iterable[pd.Series], Iterable[tuple[Any, pd.DataFrame]], Iterable[tuple[Any, pd.Series]], dict[str, pd.DataFrame], dict[str, pd.Series]]]) – 单个
pd.DataFrame
/pd.Series
或以列表或字典形式包含至少timestamp
和target
值的集合。如果提供了字典,则键将作为关联的item_id
。 target (Union[str, list[str]]) – 包含
target
时间序列的列名。对于多元目标,应提供列名列表。timestamp (Optional[str]) – 包含时间戳信息的列名。
freq (Optional[str]) – 时间序列中观测值的频率。必须是有效的 pandas 频率。
feat_dynamic_real (Optional[list[str]]) – 包含动态实值特征的列名列表。
past_feat_dynamic_real (Optional[list[str]]) – 包含仅在过去可用的动态实值特征的列名列表。
static_features (InitVar[Optional[pd.DataFrame]]) – 包含时间序列静态特征的
pd.DataFrame
。索引应包含dataframes
参数中时间序列的键。future_length (int) – 对于目标和过去的动态特征,迭代数据集时会移除最后
future_length
个元素。unchecked (bool) – 是否跳过索引一致性检查。(默认值:
False
)assume_sorted (bool) – 是否假定索引按时间排序,并跳过排序。(默认值:
False
)assume_sorted: bool = False#
- dataframes: InitVar[Union[pd.DataFrame, pd.Series, Iterable[pd.DataFrame], Iterable[pd.Series], Iterable[tuple[Any, pd.DataFrame]], Iterable[tuple[Any, pd.Series]], dict[str, pd.DataFrame], dict[str, pd.Series]]]#
- dtype#
-
alias of
numpy.float32
feat_dynamic_real: Optional[list[str]] = None#
- freq: Optional[str] = None#
- classmethod from_long_dataframe(dataframe: pd.DataFrame, item_id: str, timestamp: Optional[str] = None, static_feature_columns: Optional[list[str]] = None, static_features: pd.DataFrame = Empty DataFrame Columns: [] Index: [], **kwargs) PandasDataset [source]#
-
从长格式数据帧构建
PandasDataset
。 长格式数据帧一次包含多个项目的时序数据(目标序列和协变量)。
item_id
列用于区分项目并相应地进行group_by
操作。静态特征也可以包含在长格式数据帧中(具有常量值),或作为单独的数据帧提供,通过
item_id
值进行索引。注意:在大型数据集上,此构造函数可能需要一些时间才能完成,因为它会对数据执行一些索引和分组操作,并缓存结果。
dataframe – pandas.DataFrame,至少包含
timestamp
、target
和item_id
列。- dataframes (InitVar[Union[pd.DataFrame, pd.Series, Iterable[pd.DataFrame], Iterable[pd.Series], Iterable[tuple[Any, pd.DataFrame]], Iterable[tuple[Any, pd.Series]], dict[str, pd.DataFrame], dict[str, pd.Series]]]) – 单个
pd.DataFrame
/pd.Series
或以列表或字典形式包含至少timestamp
和target
值的集合。如果提供了字典,则键将作为关联的item_id
。 item_id – 通过此列进行分组可以得到不同的时间序列,此列的列名。
static_feature_columns –
dataframe
中包含静态特征的列。static_features – 用于静态特征的专用
DataFrame
。如果同时指定了static_features
和static_feature_columns
,则将两组特征附加在一起。**kwargs – 附加参数。与 PandasDataset 类参数相同。
返回
- 包含给定长格式数据帧中的序列数据的 数据集。
返回类型
- PandasDataset
- dataframes (InitVar[Union[pd.DataFrame, pd.Series, Iterable[pd.DataFrame], Iterable[pd.Series], Iterable[tuple[Any, pd.DataFrame]], Iterable[tuple[Any, pd.Series]], dict[str, pd.DataFrame], dict[str, pd.Series]]]) – 单个
- property num_feat_dynamic_real: int#
- property num_feat_static_cat: int#
- property num_feat_static_real: int#
- property num_past_feat_dynamic_real: int#
- past_feat_dynamic_real: Optional[list[str]] = None#
- property static_cardinalities#
- static_features: InitVar[Optional[pd.DataFrame]] = None#
- target: Union[str, list[str]] = 'target'#
- timestamp: Optional[str] = None#
- unchecked: bool = False#
- dataframes (InitVar[Union[pd.DataFrame, pd.Series, Iterable[pd.DataFrame], Iterable[pd.Series], Iterable[tuple[Any, pd.DataFrame]], Iterable[tuple[Any, pd.Series]], dict[str, pd.DataFrame], dict[str, pd.Series]]]) – 单个
-
检查
index
是否包含单调递增的周期,且周期之间的间隔与index.freq
指定的频率一致。 gluonts.dataset.pandas.pair_with_item_id(obj: Union[tuple, pandas.core.frame.DataFrame, pandas.core.series.Series])[source]#
>>> ts = ["2021-01-01 00:00", "2021-01-01 02:00", "2021-01-01 04:00"] >>> is_uniform(pd.DatetimeIndex(ts).to_period("2H")) True >>> ts = ["2021-01-01 00:00", "2021-01-01 04:00"] >>> is_uniform(pd.DatetimeIndex(ts).to_period("2H")) False