Spellcheck
This PR is a continuation of my read-through of the docs, the earlier PRs are #18941, #18973 and #18948.

**The changes included in this PR include**
- Changed spelling of "python" to "Python" for consistency, same with "numpy" to "NumPy". This change was made globally, i.e. for most documents in `/docs/source/`.
- A review of `groupby.rst` and `missing_data.rst`
  - Added punctuation where missing.
  - Added more function references (i.e. `:meth:...`) where appropriate.
  - Rewrote a few sentences.

Feedback is very welcome.


> Changed spelling of "python" to "Python" for consistency, same with "numpy" to "NumPy". This change was made globally, i.e. for most documents in /docs/source/.

can you add a lint rule for this (and other things that we want to check globally)
in ``ci/lint.sh``
 also can you add a note in the whats new about documentation edits (there is a section) and include these PR#'s ?
and a similar note for #18966  # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/19017?src=pr&el=h1) Report
> Merging [#19017](https://codecov.io/gh/pandas-dev/pandas/pull/19017?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/04beec77e5a713dd90ba31dcf7ad43fd64ac55bb?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `n/a`.

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

```diff
@@           Coverage Diff           @@
##           master   #19017   +/-   ##
=======================================
  Coverage   91.56%   91.56%           
=======================================
  Files         150      150           
  Lines       48942    48942           
=======================================
  Hits        44816    44816           
  Misses       4126     4126
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `89.93% <ø> (ø)` | :arrow_up: |
| #single | `41.75% <ø> (ø)` | :arrow_up: |


------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/19017?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/19017?src=pr&el=footer). Last update [04beec7...277c1b8](https://codecov.io/gh/pandas-dev/pandas/pull/19017?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 @jreback I've added a reference to this and earlier PRs in `whatsnew/v0.23.0.txt`. I don't know how to make the linting rule, since for instance ` numpy ` should be replaced with ` NumPy ` in writte documentation, but not in the accompanying code. Not sure how to enforce this. rebase and push again, fixed some hanging by Travis CI @jreback - I've addressed the review, rebased and pushed. I could not figure out good logic for a rule in `lint.sh`, will come back to this in the future if I figure it out. @tommyod the grep command below could be a starter for you. This will find any instance of ``numpy`` but subsequently exclude it if the line contains ``from`` or ``import``

It could miss some lines like ``# need to import foo from numpy`` but should realistically catch most issues

`` grep -R --include="*.py" --include="*.pyx" --include="*.rst" "numpy" $path | grep -Ev "from|import"`` thanks @tommyod 

yeah a rule similar to

``grep -R --include="*.py" --include="*.pyx" --include="*.rst" "numpy" doc/ pandas/ | grep -Ev "from|import|_numpy_|\/numpy\/"``

is close, though picking up extra things so prob have to add a bit to it

would take as a followup