/api/polars.exceptions.DuplicateError.html)
    * [ polars.exceptions.InvalidOperationError ](../../api/polars.exceptions.InvalidOperationError.html)
    * [ polars.exceptions.NoDataError ](../../api/polars.exceptions.NoDataError.html)
    * [ polars.exceptions.NoRowsReturnedError ](../../api/polars.exceptions.NoRowsReturnedError.html)
    * [ polars.exceptions.PolarsError ](../../api/polars.exceptions.PolarsError.html)
    * [ polars.exceptions.PolarsPanicError ](../../api/polars.exceptions.PolarsPanicError.html)
    * [ polars.exceptions.RowsError ](../../api/polars.exceptions.RowsError.html)
    * [ polars.exceptions.SchemaError ](../../api/polars.exceptions.SchemaError.html)
    * [ polars.exceptions.SchemaFieldNotFoundError ](../../api/polars.exceptions.SchemaFieldNotFoundError.html)
    * [ polars.exceptions.ShapeError ](../../api/polars.exceptions.ShapeError.html)
    * [ polars.exceptions.StructFieldNotFoundError ](../../api/polars.exceptions.StructFieldNotFoundError.html)
    * [ polars.exceptions.TooManyRowsReturnedError ](../../api/polars.exceptions.TooManyRowsReturnedError.html)

  * [ Testing ](../../testing.html) __
    * [ polars.testing.assert_frame_equal ](../../api/polars.testing.assert_frame_equal.html)
    * [ polars.testing.assert_frame_not_equal ](../../api/polars.testing.assert_frame_not_equal.html)
    * [ polars.testing.assert_series_equal ](../../api/polars.testing.assert_series_equal.html)
    * [ polars.testing.assert_series_not_equal ](../../api/polars.testing.assert_series_not_equal.html)
    * [ polars.testing.parametric.dataframes ](../../api/polars.testing.parametric.dataframes.html)
    * [ polars.testing.parametric.series ](../../api/polars.testing.parametric.series.html)
    * [ polars.testing.parametric.column ](../../api/polars.testing.parametric.column.html)
    * [ polars.testing.parametric.columns ](../../api/polars.testing.parametric.columns.html)
    * [ polars.testing.parametric.create_list_strategy ](../../api/polars.testing.parametric.create_list_strategy.html)
    * [ polars.testing.parametric.load_profile ](../../api/polars.testing.parametric.load_profile.html)
    * [ polars.testing.parametric.set_profile ](../../api/polars.testing.parametric.set_profile.html)

  * [ Metadata ](../../metadata.html) __
    * [ polars.build_info ](../../api/polars.build_info.html)
    * [ polars.get_index_type ](../../api/polars.get_index_type.html)
    * [ polars.show_versions ](../../api/polars.show_versions.html)
    * [ polars.thread_pool_size ](../../api/polars.thread_pool_size.html)
    * [ polars.threadpool_size ](../../api/polars.threadpool_size.html)

  * [ __ ](../../../index.html)
  * [ Python API reference ](../../index.html)
  * __
  * [ Miscellaneous ](../miscellaneous.html)
  * polars.LazyF... 

#  polars.LazyFrame.pipe  #

LazyFrame.  pipe  (

     _ function  :  Callable  [  Concatenate  [  LazyFrame  ,  P  ]  ,  T  ]  _ , 
     _ *  args  :  P.args  _ , 
     _ **  kwargs  :  P.kwargs  _ , 
)  →  T  [ [source]  ](https://github.com/pola-rs/polars/blob/main/py-
polars/polars/lazyframe/frame.py#L609-L678) #

    

Offers a structured way to apply a sequence of user-defined functions (UDFs).

Parameters  :

    

**function**

    

Callable; will receive the frame as the first parameter, followed by any given
args/kwargs.

***args**

    

Arguments to pass to the UDF.

****kwargs**

    

Keyword arguments to pass to the UDF.

Examples

    
    
    >>> def cast_str_to_int(data, col_name):
    ...     return data.with_columns(pl.col(col_name).cast(pl.Int64))
    >>> lf = pl.LazyFrame(
    ...     {
    ...         "a": [1, 2, 3, 4],
    ...         "b": ["10", "20", "30", "40"],
    ...     }
    ... )
    >>> lf.pipe(cast_str_to_int, col_name="b").collect()
    shape: (4, 2)
    ┌─────┬─────┐
    │ a   ┆ b   │
    │ --- ┆ --- │
    │ i64 ┆ i64 │
    ╞═════╪═════╡
    │ 1   ┆ 10  │
    │ 2   ┆ 20  │
    │ 3   ┆ 30  │
    │ 4   ┆ 40  │
    └─────┴─────┘
    
    
    
    >>> lf =