Skip to main content
`Ctrl`+`K`

# pandas.api.typing.DataFrameGroupBy.cumsum

DataFrameGroupBy.cumsum(numeric_only=False, skipna=True, *args, **kwargs)

  Cumulative sum for each group.

  Returns a Series or DataFrame of the same size with the cumulative sum computed within each group.

  Parameters:
    numeric_only bool, default False

      Include only float, int, boolean columns.

    skipna bool, default True

      Exclude NA/null values. If an entire row/column is NA, the result will be NA.

    *args tuple

      Positional arguments to be passed to func.

      Deprecated since version 3.1.0: Passing `*args` to GroupBy.cumsum is deprecated and will be removed in a future version of pandas.

    **kwargs dict

      Additional keyword arguments to be passed to the function.

      Deprecated since version 3.1.0: Passing `**kwargs` to GroupBy.cumsum is deprecated and will be removed in a future version of pandas.

  Returns:
    Series or DataFrame

      Cumulative sum for each group. Same object type as the caller.

  See also

  `Series.cumsum`

    Apply function cumsum to a Series.

  `DataFrame.cumsum`

    Apply function cumsum to each row or column of a DataFrame.

  Examples

  For SeriesGroupBy:

      >>> lst = ["a", "a", "b"]
      >>> ser = pd.Series([6, 2, 0], index=lst)
      >>> ser
      a    6
      a    2
      b    0
      dtype: int64
      >>> ser.groupby(level=0).cumsum()
      a    6
      a    8
      b    0
      dtype: int64

  For DataFrameGroupBy:

      >>> data = [[1, 8, 2], [1, 2, 5], [2, 6, 9]]
      >>> df = pd.DataFrame(
      ...     data, columns=["a", "b", "c"], index=["fox", "gorilla", "lion"]
      ... )
      >>> df
                a   b   c
      fox       1   8   2
      gorilla   1   2   5
      lion      2   6   9
      >>> df.groupby("a").groups
      {1: ['fox', 'gorilla'], 2: ['lion']}
      >>> df.groupby("a").cumsum()
                b   c
      fox       8   2
      gorilla  10   7
      lion      6   9