Spec-Zone.ru › Polars

polars.LazyFrame.pipe_with_schema

LazyFrame.pipe_with_schema(
    function: Callable[[LazyFrame,
    Schema],
    LazyFrame],
) → LazyFrame

Позволяет изменять ленивый фрейм на этапе построения плана с использованием разрешённой схемы.

В отличие от pipe, этот метод не выполняет function немедленно, а делает это только на этапе построения плана. Это позволяет динамически изменять ленивый фрейм, используя разрешённую схему входных данных. Это также означает, что любые исключения, вызванные function, будут возникать только на этапе построения плана.

Предупреждение

Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось критическим изменением.

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

Вызываемый объект; получит фрейм в качестве первого параметра, а разрешённую схему — в качестве второго.

См. также

pipe

Примеры

>>> def cast_to_float_if_necessary(
...     lf: pl.LazyFrame, schema: pl.Schema
... ) -> pl.LazyFrame:
...     required_casts = [
...         pl.col(name).cast(pl.Float64)
...         for name, dtype in schema.items()
...         if not dtype.is_float()
...     ]
...     return lf.with_columns(required_casts)
>>> lf = pl.LazyFrame(
...     {"a": [1.0, 2.0], "b": ["1.0", "2.5"], "c": [2.0, 3.0]},
...     schema={"a": pl.Float64, "b": pl.String, "c": pl.Float32},
... )
>>> lf.pipe_with_schema(cast_to_float_if_necessary).collect()
shape: (2, 3)
┌─────┬─────┬─────┐
│ a   ┆ b   ┆ c   │
│ --- ┆ --- ┆ --- │
│ f64 ┆ f64 ┆ f32 │
╞═════╪═════╪═════╡
│ 1.0 ┆ 1.0 ┆ 2.0 │
│ 2.0 ┆ 2.5 ┆ 3.0 │
└─────┴─────┴─────┘

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

Spec-Zone.ru

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