Skip to content

Commit

Permalink
DOC: Correct/update skipna docstrings for any and all (#23109) (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesmyatt authored and jreback committed Dec 10, 2018
1 parent baad046 commit 5389987
Showing 1 changed file with 40 additions and 19 deletions.
59 changes: 40 additions & 19 deletions pandas/core/generic.py
Original file line number Diff line number Diff line change
Expand Up @@ -9894,11 +9894,11 @@ def _add_numeric_operations(cls):
axis_descr, name, name2 = _doc_parms(cls)

cls.any = _make_logical_function(
cls, 'any', name, name2, axis_descr,
_any_desc, nanops.nanany, _any_examples, _any_see_also)
cls, 'any', name, name2, axis_descr, _any_desc, nanops.nanany,
_any_examples, _any_see_also, empty_value=False)
cls.all = _make_logical_function(
cls, 'all', name, name2, axis_descr, _all_doc,
nanops.nanall, _all_examples, _all_see_also)
cls, 'all', name, name2, axis_descr, _all_desc, nanops.nanall,
_all_examples, _all_see_also, empty_value=True)

@Substitution(outname='mad',
desc="Return the mean absolute deviation of the values "
Expand Down Expand Up @@ -10219,12 +10219,14 @@ def _doc_parms(cls):
original index.
* None : reduce all axes, return a scalar.
bool_only : boolean, default None
bool_only : bool, default None
Include only boolean columns. If None, will attempt to use everything,
then use only boolean data. Not implemented for Series.
skipna : boolean, default True
Exclude NA/null values. If an entire row/column is NA, the result
will be NA.
skipna : bool, default True
Exclude NA/null values. If the entire row/column is NA and skipna is
True, then the result will be %(empty_value)s, as for an empty row/column.
If skipna is False, then NA are treated as True, because these are not
equal to zero.
level : int or level name, default None
If the axis is a MultiIndex (hierarchical), count along a
particular level, collapsing into a %(name1)s.
Expand All @@ -10234,28 +10236,37 @@ def _doc_parms(cls):
Returns
-------
%(outname)s : %(name1)s or %(name2)s (if level specified)
%(name1)s or %(name2)s
If level is specified, then, %(name2)s is returned; otherwise, %(name1)s
is returned.
%(see_also)s
%(examples)s"""

_all_doc = """\
_all_desc = """\
Return whether all elements are True, potentially over an axis.
Returns True if all elements within a series or along a Dataframe
axis are non-zero, not-empty or not-False."""
Returns True unless there at least one element within a series or
along a Dataframe axis that is False or equivalent (e.g. zero or
empty)."""

_all_examples = """\
Examples
--------
Series
**Series**
>>> pd.Series([True, True]).all()
True
>>> pd.Series([True, False]).all()
False
>>> pd.Series([]).all()
True
>>> pd.Series([np.nan]).all()
True
>>> pd.Series([np.nan]).all(skipna=False)
True
DataFrames
**DataFrames**
Create a dataframe from a dictionary.
Expand Down Expand Up @@ -10597,10 +10608,11 @@ def _doc_parms(cls):
"""

_any_desc = """\
Return whether any element is True over requested axis.
Return whether any element is True, potentially over an axis.
Unlike :meth:`DataFrame.all`, this performs an *or* operation. If any of the
values along the specified axis is True, this will return True."""
Returns False unless there at least one element within a series or
along a Dataframe axis that is True or equivalent (e.g. non-zero or
non-empty)."""

_any_examples = """\
Examples
Expand All @@ -10610,8 +10622,16 @@ def _doc_parms(cls):
For Series input, the output is a scalar indicating whether any element
is True.
>>> pd.Series([False, False]).any()
False
>>> pd.Series([True, False]).any()
True
>>> pd.Series([]).any()
False
>>> pd.Series([np.nan]).any()
False
>>> pd.Series([np.nan]).any(skipna=False)
True
**DataFrame**
Expand Down Expand Up @@ -10897,9 +10917,10 @@ def cum_func(self, axis=None, skipna=True, *args, **kwargs):


def _make_logical_function(cls, name, name1, name2, axis_descr, desc, f,
examples, see_also):
examples, see_also, empty_value):
@Substitution(outname=name, desc=desc, name1=name1, name2=name2,
axis_descr=axis_descr, examples=examples, see_also=see_also)
axis_descr=axis_descr, examples=examples, see_also=see_also,
empty_value=empty_value)
@Appender(_bool_doc)
def logical_func(self, axis=0, bool_only=None, skipna=True, level=None,
**kwargs):
Expand Down

0 comments on commit 5389987

Please sign in to comment.