# pandas.DataFrame.sum

`DataFrame.``sum`(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs)

  Return the sum of the values for the requested axis.

  > This is equivalent to the method `numpy.sum`.

  Parameters:

  axis : {index (0), columns (1)}

  > Axis for the function to be applied on.

  skipna : bool, default True

  > Exclude NA/null values when computing the result.

  level : int or level name, default None

  > If the axis is a MultiIndex (hierarchical), count along a particular level, collapsing into a Series.

  numeric_only : bool, default None

  > Include only float, int, boolean columns. If None, will attempt to use everything, then use only numeric data. Not implemented for Series.

  min_count : int, 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.

  > New in version 0.22.0: Added with the default being 0. This means the sum of an all-NA or empty Series is 0, and the product of an all-NA or empty Series is 1.

  **kwargs

  > Additional keyword arguments to be passed to the function.

  Returns: | Series or DataFrame (if level specified)

  See also

  `Series.sum`
    Return the sum.
  `Series.min`
    Return the minimum.
  `Series.max`
    Return the maximum.
  `Series.idxmin`
    Return the index of the minimum.
  `Series.idxmax`
    Return the index of the maximum.
  `DataFrame.sum`
    Return the sum over the requested axis.
  `DataFrame.min`
    Return the minimum over the requested axis.
  `DataFrame.max`
    Return the maximum over the requested axis.
  `DataFrame.idxmin`
    Return the index of the minimum over the requested axis.
  `DataFrame.idxmax`
    Return the index of the maximum over the requested axis.

  Examples

      >>> idx = pd.MultiIndex.from_arrays([
      ...     ['warm', 'warm', 'cold', 'cold'],
      ...     ['dog', 'falcon', 'fish', 'spider']],
      ...     names=['blooded', 'animal'])
      >>> s = pd.Series([4, 2, 0, 8], name='legs', index=idx)
      >>> s
      blooded  animal
      warm     dog       4
               falcon    2
      cold     fish      0
               spider    8
      Name: legs, dtype: int64

      >>> s.sum()
      14

  Sum using level names, as well as indices.

      >>> s.sum(level='blooded')
      blooded
      warm    6
      cold    8
      Name: legs, dtype: int64

      >>> s.sum(level=0)
      blooded
      warm    6
      cold    8
      Name: legs, dtype: int64

  By default, the sum of an empty or all-NA Series is `0`.

      >>> pd.Series([]).sum()  # min_count=0 is the default
      0.0

  This can be controlled with the `min_count` parameter. For example, if you’d like the sum of an empty series to be NaN, pass `min_count=1`.

      >>> pd.Series([]).sum(min_count=1)
      nan

  Thanks to the `skipna` parameter, `min_count` handles all-NA and empty series identically.

      >>> pd.Series([np.nan]).sum()
      0.0

      >>> pd.Series([np.nan]).sum(min_count=1)
      nan

Scroll To Top