GroupBy

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

Indexing, iteration

GroupBy.__iter__()

Groupby iterator.

GroupBy.groups

Dict {group name -> group labels}.

GroupBy.indices

Dict {group name -> group indices}.

GroupBy.get_group(name[, obj])

Construct DataFrame from group with provided name.

Grouper(*args, **kwargs)

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

Function application

GroupBy.apply(func, *args, **kwargs)

Apply function func group-wise and combine the results together.

GroupBy.agg(func, *args, **kwargs)

SeriesGroupBy.aggregate([func, engine, …])

Aggregate using one or more operations over the specified axis.

DataFrameGroupBy.aggregate([func, engine, …])

Aggregate using one or more operations over the specified axis.

SeriesGroupBy.transform(func, *args[, …])

Call function producing a like-indexed Series on each group and return a Series having the same indexes as the original object filled with the transformed values

DataFrameGroupBy.transform(func, *args[, …])

Call function producing a like-indexed DataFrame on each group and return a DataFrame having the same indexes as the original object filled with the transformed values

GroupBy.pipe(func, *args, **kwargs)

Apply a function func with arguments to this GroupBy object and return the function’s result.

Computations / descriptive stats

GroupBy.all([skipna])

Return True if all values in the group are truthful, else False.

GroupBy.any([skipna])

Return True if any value in the group is truthful, else False.

GroupBy.bfill([limit])

Backward fill the values.

GroupBy.backfill([limit])

Backward fill the values.

GroupBy.count()

Compute count of group, excluding missing values.

GroupBy.cumcount([ascending])

Number each item in each group from 0 to the length of that group - 1.

GroupBy.cummax([axis])

Cumulative max for each group.

GroupBy.cummin([axis])

Cumulative min for each group.

GroupBy.cumprod([axis])

Cumulative product for each group.

GroupBy.cumsum([axis])

Cumulative sum for each group.

GroupBy.ffill([limit])

Forward fill the values.

GroupBy.first([numeric_only, min_count])

Compute first of group values.

GroupBy.head([n])

Return first n rows of each group.

GroupBy.last([numeric_only, min_count])

Compute last of group values.

GroupBy.max([numeric_only, min_count])

Compute max of group values.

GroupBy.mean([numeric_only])

Compute mean of groups, excluding missing values.

GroupBy.median([numeric_only])

Compute median of groups, excluding missing values.

GroupBy.min([numeric_only, min_count])

Compute min of group values.

GroupBy.ngroup([ascending])

Number each group from 0 to the number of groups - 1.

GroupBy.nth(n[, 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()

Compute open, high, low and close values of a group, excluding missing values.

GroupBy.pad([limit])

Forward fill the values.

GroupBy.prod([numeric_only, min_count])

Compute prod of group values.

GroupBy.rank([method, ascending, na_option, …])

Provide the rank of values within each group.

GroupBy.pct_change([periods, fill_method, …])

Calculate pct_change of each value to previous entry in group.

GroupBy.size()

Compute group sizes.

GroupBy.sem([ddof])

Compute standard error of the mean of groups, excluding missing values.

GroupBy.std([ddof])

Compute standard deviation of groups, excluding missing values.

GroupBy.sum([numeric_only, min_count])

Compute sum of group values.

GroupBy.var([ddof])

Compute variance of groups, excluding missing values.

GroupBy.tail([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([skipna])

Return True if all values in the group are truthful, else False.

DataFrameGroupBy.any([skipna])

Return True if any value in the group is truthful, else False.

DataFrameGroupBy.backfill([limit])

Backward fill the values.

DataFrameGroupBy.bfill([limit])

Backward fill the values.

DataFrameGroupBy.corr

Compute pairwise correlation of columns, excluding NA/null values.

DataFrameGroupBy.count()

Compute count of group, excluding missing values.

DataFrameGroupBy.cov

Compute pairwise covariance of columns, excluding NA/null values.

DataFrameGroupBy.cumcount([ascending])

Number each item in each group from 0 to the length of that group - 1.

DataFrameGroupBy.cummax([axis])

Cumulative max for each group.

DataFrameGroupBy.cummin([axis])

Cumulative min for each group.

DataFrameGroupBy.cumprod([axis])

Cumulative product for each group.

DataFrameGroupBy.cumsum([axis])

Cumulative sum for each group.

DataFrameGroupBy.describe(**kwargs)

Generate descriptive statistics.

DataFrameGroupBy.diff

First discrete difference of element.

DataFrameGroupBy.ffill([limit])

Forward fill the values.

DataFrameGroupBy.fillna

Fill NA/NaN values using the specified method.

DataFrameGroupBy.filter(func[, dropna])

Return a copy of a DataFrame excluding filtered elements.

DataFrameGroupBy.hist

Make a histogram of the DataFrame’s columns.

DataFrameGroupBy.idxmax([axis, skipna])

Return index of first occurrence of maximum over requested axis.

DataFrameGroupBy.idxmin([axis, skipna])

Return index of first occurrence of minimum over requested axis.

DataFrameGroupBy.mad

Return the mean absolute deviation of the values over the requested axis.

DataFrameGroupBy.nunique([dropna])

Return DataFrame with counts of unique elements in each position.

DataFrameGroupBy.pad([limit])

Forward fill the values.

DataFrameGroupBy.pct_change([periods, …])

Calculate pct_change of each value to previous entry in group.

DataFrameGroupBy.plot

Class implementing the .plot attribute for groupby objects.

DataFrameGroupBy.quantile([q, interpolation])

Return group values at the given quantile, a la numpy.percentile.

DataFrameGroupBy.rank([method, ascending, …])

Provide the rank of values within each group.

DataFrameGroupBy.resample(rule, *args, **kwargs)

Provide resampling when using a TimeGrouper.

DataFrameGroupBy.sample([n, frac, replace, …])

Return a random sample of items from each group.

DataFrameGroupBy.shift([periods, freq, …])

Shift each group by periods observations.

DataFrameGroupBy.size()

Compute group sizes.

DataFrameGroupBy.skew

Return unbiased skew over requested axis.

DataFrameGroupBy.take

Return the elements in the given positional indices along an axis.

DataFrameGroupBy.tshift

(DEPRECATED) Shift the time index, using the index’s frequency if available.

The following methods are available only for SeriesGroupBy objects.

SeriesGroupBy.hist

Draw histogram of the input series using matplotlib.

SeriesGroupBy.nlargest

Return the largest n elements.

SeriesGroupBy.nsmallest

Return the smallest n elements.

SeriesGroupBy.nunique([dropna])

Return number of unique elements in the group.

SeriesGroupBy.unique

Return unique values of Series object.

SeriesGroupBy.value_counts([normalize, …])

SeriesGroupBy.is_monotonic_increasing

Alias for is_monotonic.

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.

DataFrameGroupBy.boxplot([subplots, column, …])

Make box plots from DataFrameGroupBy data.