gluonts.dataset.schema.translate 模块#

gluonts.dataset.schema.translate#

此模块提供了 Translator 类,可用于翻译字典。它旨在与 GluonTS 数据集一起使用,以便在输入数据方面提供更大的灵活性

tl = Translator.parse(target="demand", feat_dynamic_real="[price]")
class gluonts.dataset.schema.translate.Get(name: str)[源代码]#

基类: gluonts.dataset.schema.translate.Op

从输入中提取字段 name

fields()[源代码]#
name: str#
class gluonts.dataset.schema.translate.GetAttr(obj: gluonts.dataset.schema.translate.Op, name: str)[源代码]#

基类: gluonts.dataset.schema.translate.Op

调用 obj.name

fields()[源代码]#
name: str#
obj: gluonts.dataset.schema.translate.Op#
class gluonts.dataset.schema.translate.GetItem(obj: gluonts.dataset.schema.translate.Op, dims: List[int])[源代码]#

基类: gluonts.dataset.schema.translate.Op

dims: List[int]#
fields()[源代码]#
obj: gluonts.dataset.schema.translate.Op#
class gluonts.dataset.schema.translate.Method(obj: gluonts.dataset.schema.translate.Op, args: list)[源代码]#

基类: gluonts.dataset.schema.translate.Op

args: list#
fields()[源代码]#
obj: gluonts.dataset.schema.translate.Op#
class gluonts.dataset.schema.translate.Op[源代码]#

基类: object

fields()[源代码]#
class gluonts.dataset.schema.translate.Parser(stream: gluonts.dataset.schema.translate.TokenStream)[源代码]#

基类: object

parse_args()[源代码]#
parse_dot(obj)[源代码]#
parse_expr()[源代码]#
parse_getitem(obj)[源代码]#
parse_invoke(obj)[源代码]#
parse_number()[源代码]#
stream: gluonts.dataset.schema.translate.TokenStream#
class gluonts.dataset.schema.translate.Stack(objects: List[gluonts.dataset.schema.translate.Op])[源代码]#

基类: gluonts.dataset.schema.translate.Op

fields()[源代码]#
objects: List[gluonts.dataset.schema.translate.Op]#
class gluonts.dataset.schema.translate.Token(name: str, value: str, match: Any)[源代码]#

基类: object

match: Any#
name: str#
value: str#
class gluonts.dataset.schema.translate.TokenStream(tokens: List[gluonts.dataset.schema.translate.Token], idx: dataclasses.InitVar[int] = 0)[源代码]#

基类: object

RX: ClassVar[str] = '(?P<DOT>\\.)|(?P<COMMA>,)|(?P<PAREN_OPEN>[\\[|\\(])|(?P<PARAN_CLOSE>[\\]|\\)])|(?P<NUMBER>\\-?\\d+)|(?P<NAME>\\w+)|(?P<WHITESPACE>\\s+)|(?P<INVALID>.+)'#
TOKENS: ClassVar[dict] = {'COMMA': ',', 'DOT': '\\.', 'INVALID': '.+', 'NAME': '\\w+', 'NUMBER': '\\-?\\d+', 'PARAN_CLOSE': '[\\]|\\)]', 'PAREN_OPEN': '[\\[|\\(]', 'WHITESPACE': '\\s+'}#
classmethod from_str(s)[源代码]#
idx: dataclasses.InitVar[int] = 0#
peek(ty=None, val=None)[源代码]#
pop(ty=None, val=None)[源代码]#
pop_if(ty=None, val=None)[源代码]#
tokens: List[gluonts.dataset.schema.translate.Token]#
class gluonts.dataset.schema.translate.Translator(fields: typing.Dict[str, gluonts.dataset.schema.translate.Op] = <factory>, drop: bool = False)[源代码]#

基类: object

GluonTS 数据集的简单翻译。

给定的转换器将输入字典(数据条目)转换为输出字典。

基本用法

>>> tl = Translator.parse(x="a[0]")
>>> data = {"a": [1, 2, 3]}
>>> assert tl(data)["x"] == 1

转换器首先将所有输入字段复制到一个新的字典中,然后再应用翻译。因此,一个空的 Translator 就像字典的恒等函数一样。

>>> identity = Translator()
>>> data = {"a": 1, "b": 2, "c": 3}
>>> assert identity(data) == data

使用 Translator.parse(...) ,可以定义应用于输入数据的表达式。例如,Translator.parse(x="y") 会将 y 的值写入输出字典的 x 字段。

这些右手边的表达式支持索引(例如 y[1])、属性访问(例如 x.T)和方法调用(例如 y.transpose(1, 0))。

drop: bool = False#
fields: Dict[str, gluonts.dataset.schema.translate.Op]#
get_fields()[源代码]#
static parse(fields: Optional[dict] = None, drop: bool = False, **kwargs_fields) gluonts.dataset.schema.translate.Translator[源代码]#
gluonts.dataset.schema.translate.check_type(token, ty, val)[源代码]#
gluonts.dataset.schema.translate.one_of(s)[源代码]#
gluonts.dataset.schema.translate.parse(x: Union[str, list]) gluonts.dataset.schema.translate.Op[源代码]#