Spec-Zone.ru › Polars

polars.Expr.struct.with_fields

Expr.struct.with_fields(
    *exprs: IntoExpr | Iterable[IntoExpr],
    **named_exprs: IntoExpr,
) → Expr

Добавить или перезаписать поля этой структуры.

Это похоже на with_columns у DataFrame.

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

Поле или поля для добавления, указанные в виде позиционных аргументов. Принимает выражения. Строки интерпретируются как имена столбцов, остальные значения, не являющиеся выражениями, — как литералы.

**named_exprs

Дополнительные поля для добавления, указанные в виде именованных аргументов. Столбцы будут переименованы в соответствии с именами аргументов.

См. также

field

Примеры

>>> df = pl.DataFrame(
...     {
...         "coords": [{"x": 1, "y": 4}, {"x": 4, "y": 9}, {"x": 9, "y": 16}],
...         "multiply": [10, 2, 3],
...     }
... )
>>> df
shape: (3, 2)
┌───────────┬──────────┐
│ coords    ┆ multiply │
│ ---       ┆ ---      │
│ struct[2] ┆ i64      │
╞═══════════╪══════════╡
│ {1,4}     ┆ 10       │
│ {4,9}     ┆ 2        │
│ {9,16}    ┆ 3        │
└───────────┴──────────┘
>>> df = df.with_columns(
...     pl.col("coords").struct.with_fields(
...         pl.field("x").sqrt(),
...         y_mul=pl.field("y") * pl.col("multiply"),
...     )
... )
>>> df
shape: (3, 2)
┌─────────────┬──────────┐
│ coords      ┆ multiply │
│ ---         ┆ ---      │
│ struct[3]   ┆ i64      │
╞═════════════╪══════════╡
│ {1.0,4,40}  ┆ 10       │
│ {2.0,9,18}  ┆ 2        │
│ {3.0,16,48} ┆ 3        │
└─────────────┴──────────┘
>>> df.unnest("coords")
shape: (3, 4)
┌─────┬─────┬───────┬──────────┐
│ x   ┆ y   ┆ y_mul ┆ multiply │
│ --- ┆ --- ┆ ---   ┆ ---      │
│ f64 ┆ i64 ┆ i64   ┆ i64      │
╞═════╪═════╪═══════╪══════════╡
│ 1.0 ┆ 4   ┆ 40    ┆ 10       │
│ 2.0 ┆ 9   ┆ 18    ┆ 2        │
│ 3.0 ┆ 16  ┆ 48    ┆ 3        │
└─────┴─────┴───────┴──────────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/expressions/api/polars.Expr.struct.with_fields.html

Spec-Zone.ru

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