i/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)
  * __
  * [ Manipulation/selection ](../modify_select.html)
  * polars.LazyF... 

#  polars.LazyFrame.groupby  #

LazyFrame.  groupby  (

     _ by  :  IntoExpr  |  Iterable  [  IntoExpr  ]  _ , 
     _ *  more_by  :  IntoExpr  _ , 
     _ maintain_order  :  [ bool  ](https://docs.python.org/3/library/functions.html#bool "\(in Python v3.12\)") =  False  _ , 
)  →  LazyGroupBy  [ [source]  ](https://github.com/pola-
rs/polars/blob/main/py-polars/polars/lazyframe/frame.py#L6140-L6166) #

    

Start a group by operation.

Deprecated since version 0.19.0:  This method has been renamed to [ `
LazyFrame.group_by()  `
](polars.LazyFrame.group_by.html#polars.LazyFrame.group_by
"polars.LazyFrame.group_by") .

Parameters  :

    

**by**

    

Column(s) to group by. Accepts expression input. Strings are parsed as column
names.

***more_by**

    

Additional columns to group by, specified as positional arguments.

**maintain_order**

    

Ensure that the order of the groups is consistent with the input data. This is
slower than a default group by. Settings this to ` True  ` blocks the
possibility to run on the streaming engine.

[ __ previous  polars.LazyFrame.group_by_rolling
](polars.LazyFrame.group_by_rolling.html "previous page") [ next
polars.LazyFrame.groupby_dynamic