Spec-Zone.ru › Polars

polars.DataFrame.unpivot

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

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

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

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

Параметры:
on

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

index

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

variable_name

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

value_name

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

Примечания

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

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

Примеры

>>> df = pl.DataFrame(
...     {
...         "a": ["x", "y", "z"],
...         "b": [1, 3, 5],
...         "c": [2, 4, 6],
...     }
... )
>>> import polars.selectors as cs
>>> df.unpivot(cs.numeric(), index="a")
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/dataframe/api/polars.DataFrame.unpivot.html

Spec-Zone.ru

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