GroupBy

GroupBy objects are returned by groupby calls: pandas.DataFrame.groupby(), pandas.Series.groupby(), etc.

Indexing, iteration

GroupBy.__iter__(self) Groupby iterator.
GroupBy.groups Dict {group name -> group labels}.
GroupBy.indices Dict {group name -> group indices}.
GroupBy.get_group(self, name[, obj]) Construct DataFrame from group with provided name.
Grouper([key, level, freq, axis, sort]) A Grouper allows the user to specify a groupby instruction for a target object

Function application

GroupBy.apply(self, func, \*args, \*\*kwargs) Apply function func group-wise and combine the results together.
GroupBy.agg(self, func, \*args, \*\*kwargs)
GroupBy.aggregate(self, func, \*args, \*\*kwargs)
GroupBy.transform(self, func, \*args, \*\*kwargs)
GroupBy.pipe(self, func, \*args, \*\*kwargs) Apply a function func with arguments to this GroupBy object and return the function’s result.

Computations / descriptive stats

GroupBy.all(self[, skipna]) Return True if all values in the group are truthful, else False.
GroupBy.any(self[, skipna]) Return True if any value in the group is truthful, else False.
GroupBy.bfill(self[, limit]) Backward fill the values.
GroupBy.count(self) Compute count of group, excluding missing values.
GroupBy.cumcount(self[, ascending]) Number each item in each group from 0 to the length of that group - 1.
GroupBy.cummax(self[, axis]) Cumulative max for each group.
GroupBy.cummin(self[, axis]) Cumulative min for each group.
GroupBy.cumprod(self[, axis]) Cumulative product for each group.
GroupBy.cumsum(self[, axis]) Cumulative sum for each group.
GroupBy.ffill(self[, limit]) Forward fill the values.
GroupBy.first(self, \*\*kwargs) Compute first of group values.
GroupBy.head(self[, n]) Return first n rows of each group.
GroupBy.last(self, \*\*kwargs) Compute last of group values.
GroupBy.max(self, \*\*kwargs) Compute max of group values.
GroupBy.mean(self, \*args, \*\*kwargs) Compute mean of groups, excluding missing values.
GroupBy.median(self, \*\*kwargs) Compute median of groups, excluding missing values.
GroupBy.min(self, \*\*kwargs) Compute min of group values.
GroupBy.ngroup(self[, ascending]) Number each group from 0 to the number of groups - 1.
GroupBy.nth(self, n, List[int]], dropna, …) Take the nth row from each group if n is an int, or a subset of rows if n is a list of ints.
GroupBy.ohlc(self) Compute sum of values, excluding missing values.
GroupBy.prod(self, \*\*kwargs) Compute prod of group values.
GroupBy.rank(self[, method, ascending, …]) Provide the rank of values within each group.
GroupBy.pct_change(self[, periods, …]) Calculate pct_change of each value to previous entry in group.
GroupBy.size(self) Compute group sizes.
GroupBy.sem(self[, ddof]) Compute standard error of the mean of groups, excluding missing values.
GroupBy.std(self[, ddof]) Compute standard deviation of groups, excluding missing values.
GroupBy.sum(self, \*\*kwargs) Compute sum of group values.
GroupBy.var(self[, ddof]) Compute variance of groups, excluding missing values.
GroupBy.tail(self[, n]) Return last n rows of each group.

The following methods are available in both SeriesGroupBy and DataFrameGroupBy objects, but may differ slightly, usually in that the DataFrameGroupBy version usually permits the specification of an axis argument, and often an argument indicating whether to restrict application to columns of a specific data type.

DataFrameGroupBy.all(self[, skipna]) Return True if all values in the group are truthful, else False.
DataFrameGroupBy.any(self[, skipna]) Return True if any value in the group is truthful, else False.
DataFrameGroupBy.bfill(self[, limit]) Backward fill the values.
DataFrameGroupBy.corr Compute pairwise correlation of columns, excluding NA/null values.
DataFrameGroupBy.count(self) Compute count of group, excluding missing values.
DataFrameGroupBy.cov Compute pairwise covariance of columns, excluding NA/null values.
DataFrameGroupBy.cummax(self[, axis]) Cumulative max for each group.
DataFrameGroupBy.cummin(self[, axis]) Cumulative min for each group.
DataFrameGroupBy.cumprod(self[, axis]) Cumulative product for each group.
DataFrameGroupBy.cumsum(self[, axis]) Cumulative sum for each group.
DataFrameGroupBy.describe(self, \*\*kwargs) Generate descriptive statistics that summarize the central tendency, dispersion and shape of a dataset’s distribution, excluding NaN values.
DataFrameGroupBy.diff First discrete difference of element.
DataFrameGroupBy.ffill(self[, limit]) Forward fill the values.
DataFrameGroupBy.fillna Fill NA/NaN values using the specified method.
DataFrameGroupBy.filter(self, func[, dropna]) Return a copy of a DataFrame excluding elements from groups that do not satisfy the boolean criterion specified by func.
DataFrameGroupBy.hist Make a histogram of the DataFrame’s.
DataFrameGroupBy.idxmax Return index of first occurrence of maximum over requested axis.
DataFrameGroupBy.idxmin Return index of first occurrence of minimum over requested axis.
DataFrameGroupBy.mad Return the mean absolute deviation of the values for the requested axis.
DataFrameGroupBy.nunique(self[, dropna]) Return DataFrame with number of distinct observations per group for each column.
DataFrameGroupBy.pct_change(self[, periods, …]) Calculate pct_change of each value to previous entry in group.
DataFrameGroupBy.plot Class implementing the .plot attribute for groupby objects.
DataFrameGroupBy.quantile(self[, q, …]) Return group values at the given quantile, a la numpy.percentile.
DataFrameGroupBy.rank(self[, method, …]) Provide the rank of values within each group.
DataFrameGroupBy.resample(self, rule, …) Provide resampling when using a TimeGrouper.
DataFrameGroupBy.shift(self[, periods, …]) Shift each group by periods observations.
DataFrameGroupBy.size(self) Compute group sizes.
DataFrameGroupBy.skew Return unbiased skew over requested axis Normalized by N-1.
DataFrameGroupBy.take Return the elements in the given positional indices along an axis.
DataFrameGroupBy.tshift Shift the time index, using the index’s frequency if available.

The following methods are available only for SeriesGroupBy objects.

SeriesGroupBy.nlargest Return the largest n elements.
SeriesGroupBy.nsmallest Return the smallest n elements.
SeriesGroupBy.nunique(self[, dropna]) Return number of unique elements in the group.
SeriesGroupBy.unique Return unique values of Series object.
SeriesGroupBy.value_counts(self[, …])
SeriesGroupBy.is_monotonic_increasing Return boolean if values in the object are monotonic_increasing.
SeriesGroupBy.is_monotonic_decreasing Return boolean if values in the object are monotonic_decreasing.

The following methods are available only for DataFrameGroupBy objects.

DataFrameGroupBy.corrwith Compute pairwise correlation between rows or columns of DataFrame with rows or columns of Series or DataFrame.
DataFrameGroupBy.boxplot(grouped[, …]) Make box plots from DataFrameGroupBy data.
Scroll To Top