Table Of Contents

Search

Enter search terms or a module, class or function name.

pandas.Series.sum

Series.sum(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs)[source]

Return the sum of the values for the requested axis

Parameters:
axis : {index (0)}

skipna : boolean, 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 scalar

numeric_only : boolean, 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.

Returns:
sum : scalar or Series (if level specified)

Examples

MultiIndex series example of monthly rainfall

>>> index = pd.MultiIndex.from_product(
...     [['London', 'New York'], ['Jun', 'Jul', 'Aug']],
...     names=['city', 'month'])
>>> s = pd.Series([47, 35, 54, 112, 117, 113], index=index)
>>> s
city      month
London    Jun       47
          Jul       35
          Aug       54
New York  Jun      112
          Jul      117
          Aug      113
dtype: int64
>>> s.sum()
478

Sum using level names, as well as indices

>>> s.sum(level='city')
city
London      136
New York    342
dtype: int64
>>> s.sum(level=1)
month
Jun    159
Jul    152
Aug    167
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