polars.DataFrame.unpivot
-
Преобразует 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 │ └─────┴──────────┴───────┘
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
© 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