Spec-Zone.ru › Polars

polars.DataFrame.map_columns

DataFrame.map_columns(
    column_names: str | Sequence[str] | Selector,
    function: Callable[Concatenate[Series,
    P],
    Series],
    *args: P.args,
    **kwargs: P.kwargs,
) → DataFrame

Применить функции в eager-режиме к столбцам DataFrame.

Пользователям всегда следует предпочитать with_columns(), если только они не используют выражения, которые возможны только в Series, но не в Expr. Такое бывает почти никогда, за исключением очень небольшого числа функций, которые не могут определить тип данных результата, не изучив сами данные.

Параметры:
column_names

Столбцы, к которым применяется UDF.

function

Вызываемый объект; первым параметром получит серию столбца, а затем — любые переданные args/kwargs.

*args

Аргументы, передаваемые в UDF.

**kwargs

Именованные аргументы, передаваемые в UDF.

См. также

with_columns

Примеры

>>> df = pl.DataFrame({"a": [1, 2, 3, 4], "b": ["10", "20", "30", "40"]})
>>> df.map_columns("a", lambda s: s.shrink_dtype())
shape: (4, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ i8  ┆ str │
╞═════╪═════╡
│ 1   ┆ 10  │
│ 2   ┆ 20  │
│ 3   ┆ 30  │
│ 4   ┆ 40  │
└─────┴─────┘
>>> df = pl.DataFrame(
...     {
...         "a": ['{"x":"a"}', None, '{"x":"b"}', None],
...         "b": ['{"a":1, "b": true}', None, '{"a":2, "b": false}', None],
...     }
... )
>>> df.map_columns(["a", "b"], lambda s: s.str.json_decode())
shape: (4, 2)
┌───────────┬───────────┐
│ a         ┆ b         │
│ ---       ┆ ---       │
│ struct[1] ┆ struct[2] │
╞═══════════╪═══════════╡
│ {"a"}     ┆ {1,true}  │
│ null      ┆ null      │
│ {"b"}     ┆ {2,false} │
│ null      ┆ null      │
└───────────┴───────────┘
>>> import polars.selectors as cs
>>> df.map_columns(cs.all(), lambda s: s.str.json_decode())
shape: (4, 2)
┌───────────┬───────────┐
│ a         ┆ b         │
│ ---       ┆ ---       │
│ struct[1] ┆ struct[2] │
╞═══════════╪═══════════╡
│ {"a"}     ┆ {1,true}  │
│ null      ┆ null      │
│ {"b"}     ┆ {2,false} │
│ null      ┆ null      │
└───────────┴───────────┘

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

Spec-Zone.ru

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