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