DOC: resolve all GL03 docstring validation errors
State: closed

- [X] closes #25172 
- [X] tests added / passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

Original number of errors: 95
Remaining errors: 0


Labels:
name: Docs

Comments:
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=h1) Report
> Merging [#25525](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/42b4c975e55c59da7868f99f9949841aca12a08d?src=pr&el=desc) will **decrease** coverage by `50.03%`.
> The diff coverage is `75%`.

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

```diff
@@             Coverage Diff             @@
##           master   #25525       +/-   ##
===========================================
- Coverage   91.75%   41.71%   -50.04%     
===========================================
  Files         173      173               
  Lines       52960    52960               
===========================================
- Hits        48595    22094    -26501     
- Misses       4365    30866    +26501
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `?` | |
| #single | `41.71% <75%> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/feather\_format.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL2ZlYXRoZXJfZm9ybWF0LnB5) | `89.74% <ø> (ø)` | :arrow_up: |
| [pandas/core/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYmFzZS5weQ==) | `33.33% <ø> (-64.43%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `34.79% <ø> (-62.07%)` | :arrow_down: |
| [pandas/core/generic.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ2VuZXJpYy5weQ==) | `37.92% <ø> (-56.25%)` | :arrow_down: |
| [pandas/plotting/\_misc.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19taXNjLnB5) | `6.93% <ø> (-31.76%)` | :arrow_down: |
| [pandas/core/arrays/sparse.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYXJyYXlzL3NwYXJzZS5weQ==) | `40.24% <ø> (-51.93%)` | :arrow_down: |
| [pandas/core/indexes/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9iYXNlLnB5) | `55.72% <ø> (-40.85%)` | :arrow_down: |
| [pandas/core/config.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY29uZmlnLnB5) | `61.12% <0%> (-25.92%)` | :arrow_down: |
| [pandas/core/groupby/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ3JvdXBieS9iYXNlLnB5) | `57.14% <100%> (-34.7%)` | :arrow_down: |
| [pandas/core/arrays/datetimes.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYXJyYXlzL2RhdGV0aW1lcy5weQ==) | `65.88% <100%> (-31.92%)` | :arrow_down: |
| ... and [141 more](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25525?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/25525?src=pr&el=footer). Last update [42b4c97...a87f2e6](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=h1) Report
> Merging [#25525](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/cc4a7e510f4bbd5aeb8138de16b888f4ce1551da?src=pr&el=desc) will **decrease** coverage by `<.01%`.
> The diff coverage is `100%`.

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

```diff
@@            Coverage Diff             @@
##           master   #25525      +/-   ##
==========================================
- Coverage   91.26%   91.26%   -0.01%     
==========================================
  Files         173      173              
  Lines       52968    52967       -1     
==========================================
- Hits        48340    48338       -2     
- Misses       4628     4629       +1
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `89.83% <100%> (-0.01%)` | :arrow_down: |
| #single | `41.71% <100%> (ø)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/feather\_format.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL2ZlYXRoZXJfZm9ybWF0LnB5) | `89.74% <ø> (ø)` | :arrow_up: |
| [pandas/core/groupby/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ3JvdXBieS9iYXNlLnB5) | `91.83% <ø> (ø)` | :arrow_up: |
| [pandas/core/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYmFzZS5weQ==) | `97.76% <ø> (ø)` | :arrow_up: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `96.79% <ø> (ø)` | :arrow_up: |
| [pandas/core/generic.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ2VuZXJpYy5weQ==) | `93.65% <ø> (ø)` | :arrow_up: |
| [pandas/plotting/\_misc.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19taXNjLnB5) | `38.68% <ø> (ø)` | :arrow_up: |
| [pandas/core/config.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY29uZmlnLnB5) | `87% <ø> (-0.05%)` | :arrow_down: |
| [pandas/core/groupby/groupby.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZ3JvdXBieS9ncm91cGJ5LnB5) | `97.2% <ø> (ø)` | :arrow_up: |
| [pandas/core/arrays/sparse.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYXJyYXlzL3NwYXJzZS5weQ==) | `92.17% <ø> (ø)` | :arrow_up: |
| [pandas/core/indexes/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9iYXNlLnB5) | `96.57% <ø> (ø)` | :arrow_up: |
| ... and [2 more](https://codecov.io/gh/pandas-dev/pandas/pull/25525/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/25525?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/25525?src=pr&el=footer). Last update [cc4a7e5...6e79af0](https://codecov.io/gh/pandas-dev/pandas/pull/25525?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

Original errors:
```
pandas.Series.to_numpy: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.agg: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.aggregate: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.cummax: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.cummin: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.cumprod: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.cumsum: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.kurt: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.mad: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.mean: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.median: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.skew: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.kurtosis: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.compound: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.dayofweek: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.weekday: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.is_month_start: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.is_month_end: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.is_quarter_start: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.is_quarter_end: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.is_year_start: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.is_year_end: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.dt.is_leap_year: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.SparseArray: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.read_feather: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.resample.Resampler.apply: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.resample.Resampler.aggregate: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.resample.Resampler.pipe: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.resample.Resampler.mean: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.cummax: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.cummin: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.cumprod: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.cumsum: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.mean: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.median: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.skew: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.swaplevel: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.plotting.andrews_curves: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.describe_option: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.reset_option: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.get_option: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.set_option: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.melt: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Index.reindex: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.dayofweek: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.weekday: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.is_month_start: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.is_month_end: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.is_quarter_start: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.is_quarter_end: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.is_year_start: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.is_year_end: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DatetimeIndex.is_leap_year: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.window.Rolling.aggregate: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.window.Expanding.aggregate: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.GroupBy.head: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.GroupBy.mean: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.GroupBy.nth: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.GroupBy.tail: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.corr: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.cov: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.diff: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.fillna: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.hist: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.idxmax: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.idxmin: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.mad: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.skew: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.take: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.tshift: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.SeriesGroupBy.nlargest: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.SeriesGroupBy.nsmallest: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.SeriesGroupBy.unique: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.SeriesGroupBy.is_monotonic_increasing: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.SeriesGroupBy.is_monotonic_decreasing: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.core.groupby.DataFrameGroupBy.corrwith: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.agg: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.aggregate: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.compound: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.cummax: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.cummin: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.cumprod: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.cumsum: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.kurt: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.kurtosis: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.mad: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.mean: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.median: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.skew: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.DataFrame.to_html: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Series.ptp: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.compound: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.kurt: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.kurtosis: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
pandas.Panel.mad: Double line break found; please use only one blank line to separate sections or paragraphs, and do not leave blank lines at the end of docstrings
```
Thanks. Looks like a few more https://dev.azure.com/pandas-dev/pandas/_build/results?buildId=8945&view=logs&jobId=10b0523a-38de-5c7a-02e7-c2259d583b33&taskId=1a0a9012-bae2-55d5-f263-1897ae870737&lineStart=26&lineEnd=27&colStart=1&colEnd=1

Let us know if you need help finishing this off.
Actually, those are different errors (PR04). Haven't looked close yet at why those are showing up here.
Thanks @TomAugspurger . Should be good to go now.
Thanks!