class pandas.Grouper(key=None, level=None, freq=None, axis=0, sort=False)[source]

A Grouper allows the user to specify a groupby instruction for an object.

This specification will select a column via the key parameter, or if the level and/or axis parameters are given, a level of the index of the target object.

If axis and/or level are passed as keywords to both Grouper and groupby, the values passed to Grouper take precedence.

keystr, defaults to None

Groupby key, which selects the grouping column of the target.

levelname/number, defaults to None

The level for the target index.

freqstr / frequency object, defaults to None

This will groupby the specified frequency if the target selection (via key or level) is a datetime-like object. For full specification of available frequencies, please see here.

axisstr, int, defaults to 0

Number/name of the axis.

sortbool, default to False

Whether to sort the resulting labels.

closed{‘left’ or ‘right’}

Closed end of interval. Only when freq parameter is passed.

label{‘left’ or ‘right’}

Interval boundary to use for labeling. Only when freq parameter is passed.

convention{‘start’, ‘end’, ‘e’, ‘s’}

If grouper is PeriodIndex and freq parameter is passed.

baseint, default 0

Only when freq parameter is passed.

loffsetstr, DateOffset, timedelta object

Only when freq parameter is passed.

A specification for a groupby instruction


Syntactic sugar for df.groupby('A')

>>> df.groupby(Grouper(key='A'))

Specify a resample operation on the column ‘date’

>>> df.groupby(Grouper(key='date', freq='60s'))

Specify a resample operation on the level ‘date’ on the columns axis with a frequency of 60s

>>> df.groupby(Grouper(level='date', freq='60s', axis=1))