polars.DataFrame.map_columns
-
Применить функции в eager-режиме к столбцам DataFrame.
Пользователям всегда следует предпочитать
with_columns(), если только они не используют выражения, которые возможны только вSeries, но не вExpr. Такое бывает почти никогда, за исключением очень небольшого числа функций, которые не могут определить тип данных результата, не изучив сами данные.- Параметры:
-
- column_names
-
Столбцы, к которым применяется UDF.
- function
-
Вызываемый объект; первым параметром получит серию столбца, а затем — любые переданные args/kwargs.
- *args
-
Аргументы, передаваемые в UDF.
- **kwargs
-
Именованные аргументы, передаваемые в UDF.
См. также
Примеры
>>> 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 │ └───────────┴───────────┘
DataFrame.map_columns(
column_names: str | Sequence[str] | Selector,
function: Callable[Concatenate[Series,
P],
Series],
*args: P.args,
**kwargs: P.kwargs,
) → DataFrame
© 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