polars unnest для датафрейма
Разделяет столбцы типа struct на отдельные столбцы для каждого из их полей. Новые столбцы будут вставлены в датафрейм на место столбца типа struct.
Сигнатура
> polars unnest {flags} ...rest
Флаги
-
--separator, -s {string}: Необязательный разделитель, используемый при создании новых имён столбцов.
Параметры
-
...rest: Столбцы для разделения.
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| polars_dataframe | polars_dataframe |
| polars_lazyframe | polars_lazyframe |
Примеры
Разделение датафрейма
> [[id person]; [1 {name: "Bob", age: 36}] [2 {name: "Betty", age: 63}]]
| polars into-df -s {id: i64, person: {name: str, age: u8}}
| polars unnest person
| polars get id name age
| polars sort-by id
╭───┬────┬───────┬─────╮
│ # │ id │ name │ age │
├───┼────┼───────┼─────┤
│ 0 │ 1 │ Bob │ 36 │
│ 1 │ 2 │ Betty │ 63 │
╰───┴────┴───────┴─────╯
Разделение ленивого датафрейма
> [[id person]; [1 {name: "Bob", age: 36}] [2 {name: "Betty", age: 63}]]
| polars into-df -s {id: i64, person: {name: str, age: u8}}
| polars into-lazy
| polars unnest person
| polars select (polars col id) (polars col name) (polars col age)
| polars collect
| polars sort-by id
╭───┬────┬───────┬─────╮
│ # │ id │ name │ age │
├───┼────┼───────┼─────┤
│ 0 │ 1 │ Bob │ 36 │
│ 1 │ 2 │ Betty │ 63 │
╰───┴────┴───────┴─────╯
Разделение с пользовательским разделителем
> [[id person]; [1 {name: "Bob", age: 36}] [2 {name: "Betty", age: 63}]]
| polars into-df -s {id: i64, person: {name: str, age: u8}}
| polars unnest person -s "_"
| polars get id person_name person_age
| polars sort-by id
╭───┬────┬─────────────┬────────────╮
│ # │ id │ person_name │ person_age │
├───┼────┼─────────────┼────────────┤
│ 0 │ 1 │ Bob │ 36 │
│ 1 │ 2 │ Betty │ 63 │
╰───┴────┴─────────────┴────────────╯
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/polars_unnest.html