Skip to content

Commit

Permalink
DOC: add RT03 and fix EX01 for pandas.Series.sum (#58778)
Browse files Browse the repository at this point in the history
DOC: add RT03 for pandas.Series.sum
  • Loading branch information
tuhinsharma121 committed May 19, 2024
1 parent ab12958 commit 3f8f704
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 2 deletions.
1 change: 0 additions & 1 deletion ci/code_checks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
-i "pandas.Series.str.wrap RT03,SA01" \
-i "pandas.Series.str.zfill RT03" \
-i "pandas.Series.struct.dtypes SA01" \
-i "pandas.Series.sum RT03" \
-i "pandas.Series.to_dict SA01" \
-i "pandas.Series.to_frame SA01" \
-i "pandas.Series.to_markdown SA01" \
Expand Down
84 changes: 83 additions & 1 deletion pandas/core/series.py
Original file line number Diff line number Diff line change
Expand Up @@ -6647,7 +6647,6 @@ def max(
)

@deprecate_nonkeyword_arguments(version="3.0", allowed_args=["self"], name="sum")
@doc(make_doc("sum", ndim=1))
def sum(
self,
axis: Axis | None = None,
Expand All @@ -6656,6 +6655,89 @@ def sum(
min_count: int = 0,
**kwargs,
):
"""
Return the sum of the values over the requested axis.
This is equivalent to the method ``numpy.sum``.
Parameters
----------
axis : {index (0)}
Axis for the function to be applied on.
For `Series` this parameter is unused and defaults to 0.
.. warning::
The behavior of DataFrame.sum with ``axis=None`` is deprecated,
in a future version this will reduce over both axes and return a scalar
To retain the old behavior, pass axis=0 (or do not pass axis).
.. versionadded:: 2.0.0
skipna : bool, default True
Exclude NA/null values when computing the result.
numeric_only : bool, default False
Include only float, int, boolean columns. 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.
**kwargs
Additional keyword arguments to be passed to the function.
Returns
-------
scalar or Series (if level specified)
Median of the values for the requested axis.
See Also
--------
numpy.sum : Equivalent numpy function for computing sum.
Series.mean : Mean of the values.
Series.median : Median of the values.
Series.std : Standard deviation of the values.
Series.var : Variance of the values.
Series.min : Minimum value.
Series.max : Maximum value.
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
By default, the sum of an empty or all-NA Series is ``0``.
>>> pd.Series([], dtype="float64").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([], dtype="float64").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
"""
return NDFrame.sum(
self,
axis=axis,
Expand Down

0 comments on commit 3f8f704

Please sign in to comment.