pandas.DataFrame.sum¶
-
DataFrame.
sum
(self, axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs)[source]¶ Return the sum of the values for the requested axis.
This is equivalent to the methodnumpy.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, passmin_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