pandas.core.groupby.DataFrameGroupBy.sum#

DataFrameGroupBy.sum(numeric_only=False, min_count=0, engine=None, engine_kwargs=None)[source]#

Compute sum of group values.

Parameters:
numeric_onlybool, default False

Include only float, int, boolean columns.

Changed in version 2.0.0: numeric_only no longer accepts None.

min_countint, default 0

The required number of valid values to perform the operation. If fewer than min_count non-NA values are present the result will be NA.

enginestr, default None None
  • 'cython' : Runs rolling apply through C-extensions from cython.

  • 'numba'Runs rolling apply through JIT compiled code from numba.

    Only available when raw is set to True.

  • None : Defaults to 'cython' or globally setting compute.use_numba

engine_kwargsdict, default None None
  • For 'cython' engine, there are no accepted engine_kwargs

  • For 'numba' engine, the engine can accept nopython, nogil

    and parallel dictionary keys. The values must either be True or False. The default engine_kwargs for the 'numba' engine is {'nopython': True, 'nogil': False, 'parallel': False} and will be applied to both the func and the apply groupby aggregation.

Returns:
Series or DataFrame

Computed sum of values within each group.

See also

SeriesGroupBy.min

Return the min of the group values.

DataFrameGroupBy.min

Return the min of the group values.

SeriesGroupBy.max

Return the max of the group values.

DataFrameGroupBy.max

Return the max of the group values.

SeriesGroupBy.sum

Return the sum of the group values.

DataFrameGroupBy.sum

Return the sum of the group values.

Examples

For SeriesGroupBy:

>>> lst = ['a', 'a', 'b', 'b']
>>> ser = pd.Series([1, 2, 3, 4], index=lst)
>>> ser
a    1
a    2
b    3
b    4
dtype: int64
>>> ser.groupby(level=0).sum()
a    3
b    7
dtype: int64

For DataFrameGroupBy:

>>> data = [[1, 8, 2], [1, 2, 5], [2, 5, 8], [2, 6, 9]]
>>> df = pd.DataFrame(data, columns=["a", "b", "c"],
...                   index=["tiger", "leopard", "cheetah", "lion"])
>>> df
          a  b  c
  tiger   1  8  2
leopard   1  2  5
cheetah   2  5  8
   lion   2  6  9
>>> df.groupby("a").sum()
     b   c
a
1   10   7
2   11  17