Spec-Zone.ru › Polars

polars.LazyFrame.unpivot

LazyFrame.unpivot(
    on: ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None = None,
    *,
    index: ColumnNameOrSelector | Sequence[ColumnNameOrSelector] | None = None,
    variable_name: str | None = None,
    value_name: str | None = None,
    streamable: bool = True,
) → LazyFrame

Преобразует DataFrame из широкого формата в длинный.

При необходимости оставляет столбцы-идентификаторы.

Эта функция позволяет преобразовать DataFrame в формат, в котором один или несколько столбцов являются переменными-идентификаторами (индексом), а все остальные столбцы, рассматриваемые как измеряемые переменные (on), «разворачиваются» в строки, оставляя только два столбца, не являющихся идентификаторами: ‘variable’ и ‘value’.

движок:В памятиПотоковая обработкаРаспределённый
Параметры:
on

Столбец или столбцы либо селектор или селекторы, используемые как переменные-значения; если on пуст, столбцы использоваться не будут. Если задано значение None (по умолчанию), будут использоваться все столбцы, отсутствующие в index.

index

Столбец или столбцы либо селектор или селекторы, используемые как переменные-идентификаторы.

variable_name

Имя столбца variable. По умолчанию — “variable”

value_name

Имя столбца value. По умолчанию — “value”

streamable

устарел

Примечания

Если вы знакомы с pandas, эта операция похожа на pandas.DataFrame.melt, но вместо id_vars используется index, а вместо value_vars — on. В других фреймворках эта операция может называться pivot_longer.

Порядок строк в результате не определён.

Примеры

>>> lf = pl.LazyFrame(
...     {
...         "a": ["x", "y", "z"],
...         "b": [1, 3, 5],
...         "c": [2, 4, 6],
...     }
... )
>>> import polars.selectors as cs
>>> lf.unpivot(cs.numeric(), index="a").collect()
shape: (6, 3)
┌─────┬──────────┬───────┐
│ a   ┆ variable ┆ value │
│ --- ┆ ---      ┆ ---   │
│ str ┆ str      ┆ i64   │
╞═════╪══════════╪═══════╡
│ x   ┆ b        ┆ 1     │
│ y   ┆ b        ┆ 3     │
│ z   ┆ b        ┆ 5     │
│ x   ┆ c        ┆ 2     │
│ y   ┆ c        ┆ 4     │
│ z   ┆ c        ┆ 6     │
└─────┴──────────┴───────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/lazyframe/api/polars.LazyFrame.unpivot.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API