DOC: update the pandas.Series.dropna and pandas.DataFrame.dropna docstring
State: closed

Checklist for the pandas documentation sprint (ignore this if you are doing
an unrelated PR):

- [x] PR title is "DOC: update the <your-function-or-method> docstring"
- [ ] The validation script passes: `scripts/validate_docstrings.py <your-function-or-method>`
- [x] The PEP8 style check passes: `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x]  The html version looks good: `python doc/make.py --single <your-function-or-method>`
- [x] It has been proofread on language by another sprint participant

Parameter **kwargs causes the only warning in validate script
```
################################################################################
####################### Docstring (pandas.Series.dropna) #######################
################################################################################

Remove missing values.

Return Series without NA values.

Parameters
----------
axis : {0 or 'index'}, default 0
    There is only one axis to drop values from.
inplace : boolean, default False
    If True, do operation inplace and return None.
**kwargs
    Not in use.

Returns
-------
Series
    Series with NA entries dropped from it.

See also
--------
isna: show missing values
notna : show existing (non-missing) values

Examples
--------
>>> ser = pd.Series([np.NaN, 2, pd.NaT, '', None, 'I stay'])
>>> ser
0       NaN
1         2
2       NaT
3
4      None
5    I stay
dtype: object

Drop NA values from a Series.

>>> ser.dropna()
1         2
3
5    I stay
dtype: object

Drop NA values from a Series and save it in the same variable.

>>> ser.dropna(inplace=True)
>>> ser
1         2
3
5    I stay
dtype: object

################################################################################
################################## Validation ##################################
################################################################################

Errors found:
        Errors in parameters section
                Parameters {'kwargs'} not documented
                Unknown parameters {'**kwargs'}
                Parameter "**kwargs" has no type
```

```
################################################################################
##################### Docstring (pandas.DataFrame.dropna)  #####################
################################################################################

Remove missing values.

Return object with labels on given axis omitted where alternately any
or all of the data are missing.

Parameters
----------
axis : {0 or 'index', 1 or 'columns'}, or tuple/list thereof
    Pass tuple or list to drop on multiple axes.
how : {'any', 'all'}, default 'any'
    Determine if label is removed when we have at least one NA or all
    NA.
    * any : If any NA values are present, drop that label.
    * all : If all values are NA, drop that label.
thresh : int, default None
    Require that many non-NA values.
subset : array-like
    Labels along other axis to consider, e.g. if you are dropping rows
    these would be a list of columns to include.
inplace : boolean, default False
    If True, do operation inplace and return None.

Returns
-------
DataFrame
    DataFrame with NA entries dropped from it.

See also
--------
isna: show missing values
notna : show existing (non-missing) values

Examples
--------
>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0], [3, 4, np.nan, 1],
...                    [np.nan, np.nan, np.nan, 5]],
...                   columns=list('ABCD'))
>>> df
     A    B   C  D
0  NaN  2.0 NaN  0
1  3.0  4.0 NaN  1
2  NaN  NaN NaN  5

Drop the columns where all elements are nan:

>>> df.dropna(axis=1, how='all')
     A    B  D
0  NaN  2.0  0
1  3.0  4.0  1
2  NaN  NaN  5

Drop the columns where any of the elements is nan

>>> df.dropna(axis=1, how='any')
   D
0  0
1  1
2  5

Drop the rows where all of the elements are nan
(there is no row to drop, so df stays the same):

>>> df.dropna(axis=0, how='all')
     A    B   C  D
0  NaN  2.0 NaN  0
1  3.0  4.0 NaN  1
2  NaN  NaN NaN  5

Keep only the rows with at least 2 non-na values:

>>> df.dropna(thresh=2)
     A    B   C  D
0  NaN  2.0 NaN  0
1  3.0  4.0 NaN  1

################################################################################
################################## Validation ##################################
################################################################################

Docstring for "pandas.DataFrame.dropna" correct. :)
```


Labels:
name: Docs
name: Missing-data
description: np.nan, pd.NaT, pd.NA, dropna, isnull, interpolate

Comments:
Very nice docstrings IMO, thanks!
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20204?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request base (`master@5b0caf4`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit).
> The diff coverage is `100%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/20204/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/20204?src=pr&el=tree)

```diff
@@            Coverage Diff            @@
##             master   #20204   +/-   ##
=========================================
  Coverage          ?   91.78%           
=========================================
  Files             ?      152           
  Lines             ?    49196           
  Branches          ?        0           
=========================================
  Hits              ?    45153           
  Misses            ?     4043           
  Partials          ?        0
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.16% <100%> (?)` | |
| #single | `41.82% <61.19%> (?)` | |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/20204?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/20204/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.18% <100%> (ø)` | |
| [pandas/core/series.py](https://codecov.io/gh/pandas-dev/pandas/pull/20204/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvc2VyaWVzLnB5) | `93.84% <100%> (ø)` | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20204?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/20204?src=pr&el=footer). Last update [5b0caf4...305f693](https://codecov.io/gh/pandas-dev/pandas/pull/20204?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

Implemented proposed changes. I'm not absolutely happy with the axis=1 example in DataFrame.dropna (returns empty df), but otherwise there would a second df be needed, which would complicate the section again.
@donK23 can you take a look at the change I made in  979ac8e? That removed your last row of all NA values. Is there a reason you wanted an all-NA row? Removing it solves your issue of the `df.dropna(axis='columns')` example being empty.
Thanks @donK23