kd.data.TreeFlattenWithPath

kd.data.TreeFlattenWithPath#

class kauldron.data.TreeFlattenWithPath(*, key: typing.Annotated[typing.Any, <object object at 0x76412092fb90>] | typing.Sequence[typing.Annotated[typing.Any, <object object at 0x76412092fb90>]] | dict[typing.Annotated[typing.Any, <object object at 0x76412092fb90>], typing.Annotated[typing.Any, <object object at 0x76412092fb90>]], separator: str = '_')[source]

Bases: kauldron.data.transforms.base.ElementWise, kauldron.data.transforms.abc.MapTransform

Flatten any tree-structured elements.

For example, using ‘a’ as key, with:

features = {‘a’: {‘b’: 2, ‘c’: {‘d’: 3}}, ‘e’: 5 , ‘f’: {‘g’: 6}}

becomes:

features = {‘a_b’: 2, ‘a_c_d’: 3, ‘e’: 5, ‘f’: {‘g’: 6}}

separator: str = '_'
map(features)[source]

Maps a single element.