0.20.2 backports 2
Reminder to change to "rebase and merge" instead of squash. > Reminder to change to "rebase and merge" instead of squash.

huh? For the github merge button. We want the 0.20.x branch to have the commit history, rather than squashing all of the commits in the PR down to one. > For the github merge button. We want the 0.20.x branch to have the commit history, rather than squashing all of the commits in the PR down to one.

no we want 1 commit per PR. This will have 1 commit per *original* PR. I don't think there'd be anything informative about a single squashed commit for commits that happened to be in this PR.

I'm also not sure what squashing would do to `git cherry`, which I've used to double check that I've correctly gotten the commits I should. Git is probably smart enough to figure that out, but I'm not sure. # [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=h1) Report
> :exclamation: No coverage uploaded for pull request base (`0.20.x@eefbaf7`). [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/16570/graphs/tree.svg?width=650&height=150&src=pr&token=eZ4WkYLtcO)](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree)

```diff
@@            Coverage Diff            @@
##             0.20.x   #16570   +/-   ##
=========================================
  Coverage          ?   90.54%           
=========================================
  Files             ?      161           
  Lines             ?    49155           
  Branches          ?        0           
=========================================
  Hits              ?    44505           
  Misses            ?     4650           
  Partials          ?        0
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.23% <96.93%> (?)` | |
| #single | `40.25% <27.55%> (?)` | |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/io/formats/terminal.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2lvL2Zvcm1hdHMvdGVybWluYWwucHk=) | `16.43% <100%> (ø)` | |
| [pandas/io/formats/format.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2lvL2Zvcm1hdHMvZm9ybWF0LnB5) | `96.02% <100%> (ø)` | |
| [pandas/core/indexes/datetimes.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9kYXRldGltZXMucHk=) | `95.33% <100%> (ø)` | |
| [pandas/core/indexes/multi.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9tdWx0aS5weQ==) | `96.65% <100%> (ø)` | |
| [pandas/core/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYmFzZS5weQ==) | `96.21% <100%> (ø)` | |
| [pandas/core/dtypes/inference.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZHR5cGVzL2luZmVyZW5jZS5weQ==) | `98.33% <100%> (ø)` | |
| [pandas/io/parsers.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2lvL3BhcnNlcnMucHk=) | `95.35% <100%> (ø)` | |
| [pandas/core/reshape/tile.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvcmVzaGFwZS90aWxlLnB5) | `90.25% <100%> (ø)` | |
| [pandas/core/indexes/base.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9iYXNlLnB5) | `95.75% <100%> (ø)` | |
| [pandas/core/missing.py](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvbWlzc2luZy5weQ==) | `85.25% <100%> (ø)` | |
| ... and [4 more](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/16570?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/16570?src=pr&el=footer). Last update [eefbaf7...f21e6c0](https://codecov.io/gh/pandas-dev/pandas/pull/16570?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
 @jreback this is not a typical PR, we indeed don't want to squash this one. yes backporting is fine
don't want the general setting to change :)
 The `ngroup` is a new method and should not be backported IMO It was a fairly large enhancement. I'm ok withholding it until 0.20.2. Are the others under Enhancements OK?

```
- Unblocked access to additional compression types supported in pytables: 'blosc:blosclz, 'blosc:lz4', 'blosc:lz4hc', 'blosc:snappy', 'blosc:zlib', 'blosc:zstd' (:issue:`14478`)
- ``Series`` provides a ``to_latex`` method (:issue:`16180`)
``` i don't see why we shouldn't add this enhancement to 0.20.2 (ngroup)

