GroupBy

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

Indexing, iteration

GroupBy.iter(self)Groupby iterator.
GroupBy.groupsDict {group name -> group labels}.
GroupBy.indicesDict {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 andDataFrameGroupBy objects, but may differ slightly, usually in thatthe DataFrameGroupBy version usually permits the specification of anaxis argument, and often an argument indicating whether to restrictapplication 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.corrCompute pairwise correlation of columns, excluding NA/null values.
DataFrameGroupBy.count(self)Compute count of group, excluding missing values.
DataFrameGroupBy.covCompute 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.diffFirst discrete difference of element.
DataFrameGroupBy.ffill(self[, limit])Forward fill the values.
DataFrameGroupBy.fillnaFill 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.histMake a histogram of the DataFrame’s.
DataFrameGroupBy.idxmaxReturn index of first occurrence of maximum over requested axis.
DataFrameGroupBy.idxminReturn index of first occurrence of minimum over requested axis.
DataFrameGroupBy.madReturn 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 pctchange of each value to previous entry in group.
DataFrameGroupBy.plotClass 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.skewReturn unbiased skew over requested axis Normalized by N-1.
DataFrameGroupBy.takeReturn the elements in the given _positional indices along an axis.
DataFrameGroupBy.tshiftShift the time index, using the index’s frequency if available.

The following methods are available only for SeriesGroupBy objects.

SeriesGroupBy.nlargestReturn the largest n elements.
SeriesGroupBy.nsmallestReturn the smallest n elements.
SeriesGroupBy.nunique(self[, dropna])Return number of unique elements in the group.
SeriesGroupBy.uniqueReturn unique values of Series object.
SeriesGroupBy.value_counts(self[, …])
SeriesGroupBy.is_monotonic_increasingReturn boolean if values in the object are monotonic_increasing.
SeriesGroupBy.is_monotonic_decreasingReturn boolean if values in the object are monotonic_decreasing.

The following methods are available only for DataFrameGroupBy objects.

DataFrameGroupBy.corrwithCompute 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.