Implement Delegate parts of #24024
State: closed

This one got a little bit messy because until we move all the way away from inheritance there are some methods that need to be overwritten, so the `@delegate_names` calls are a bit more verbose than in #24024.

Labels:
name: Datetime
description: Datetime data dtype
name: ExtensionArray
description: Extending pandas with custom dtypes or arrays.

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

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

```diff
@@            Coverage Diff             @@
##           master   #24463      +/-   ##
==========================================
- Coverage    92.3%   92.29%   -0.01%     
==========================================
  Files         163      163              
  Lines       51969    51937      -32     
==========================================
- Hits        47968    47936      -32     
  Misses       4001     4001
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.7% <97.05%> (-0.01%)` | :arrow_down: |
| #single | `42.99% <97.05%> (-0.02%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/24463?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/indexes/accessors.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9hY2Nlc3NvcnMucHk=) | `91% <100%> (ø)` | :arrow_up: |
| [pandas/core/indexes/datetimes.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9kYXRldGltZXMucHk=) | `96.2% <100%> (-0.11%)` | :arrow_down: |
| [pandas/core/indexes/timedeltas.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy90aW1lZGVsdGFzLnB5) | `90.28% <100%> (+0.16%)` | :arrow_up: |
| [pandas/core/indexes/datetimelike.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9kYXRldGltZWxpa2UucHk=) | `97.56% <66.66%> (-0.15%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/24463?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/24463?src=pr&el=footer). Last update [aa1549f...ea87a22](https://codecov.io/gh/pandas-dev/pandas/pull/24463?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/24463?src=pr&el=h1) Report
> Merging [#24463](https://codecov.io/gh/pandas-dev/pandas/pull/24463?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/aa1549f7fd8ce81bf23296bf92fe9713aa8d6e20?src=pr&el=desc) will **decrease** coverage by `<.01%`.
> The diff coverage is `97.05%`.

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

```diff
@@            Coverage Diff             @@
##           master   #24463      +/-   ##
==========================================
- Coverage    92.3%   92.29%   -0.01%     
==========================================
  Files         163      163              
  Lines       51969    51937      -32     
==========================================
- Hits        47968    47936      -32     
  Misses       4001     4001
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.7% <97.05%> (-0.01%)` | :arrow_down: |
| #single | `42.99% <97.05%> (-0.02%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/24463?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/indexes/accessors.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9hY2Nlc3NvcnMucHk=) | `91% <100%> (ø)` | :arrow_up: |
| [pandas/core/indexes/datetimes.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9kYXRldGltZXMucHk=) | `96.2% <100%> (-0.11%)` | :arrow_down: |
| [pandas/core/indexes/timedeltas.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy90aW1lZGVsdGFzLnB5) | `90.28% <100%> (+0.16%)` | :arrow_up: |
| [pandas/core/indexes/datetimelike.py](https://codecov.io/gh/pandas-dev/pandas/pull/24463/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9kYXRldGltZWxpa2UucHk=) | `97.56% <66.66%> (-0.15%)` | :arrow_down: |

------

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

The delegation changes seem relatively straightforward. @jorisvandenbossche @jreback do you have any problems with doing them in #24024?
I think this uses ``_eadata`` changes. ok here or in main PR.
My point was that if people have had a chance to review the dispatching in #24024, and are happy with it, then it needn't be split off here (especially when the changes here aren't what will end up being in master when eadata is removed).
> My point was that if people have had a chance to review the dispatching in #24024, and are happy with it, then it needn't be split off here (especially when the changes here aren't what will end up being in master when eadata is removed).

well that's the problem. that PR is so big that its not easy to review it at all.
I was under the impression that people had already looked at the dispatching parts. Was that wrong?

cc @jorisvandenbossche.
@TomAugspurger there is so much going on there it will take enormous effort and time to do it this way. splitting is much better.
I don't follow your logic. I'm trying to reduce wasted effort, by not
splitting things that have already been reviewed (though maybe they haven't
been reviewed) and by not having the intermediate _eadata in too many
places.

On Fri, Dec 28, 2018 at 7:54 AM Jeff Reback <notifications@github.com>
wrote:

> @TomAugspurger <https://github.com/TomAugspurger> there is so much going
> on there it will take enormous effort and time to do it this way. splitting
> is much better.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/pandas-dev/pandas/pull/24463#issuecomment-450362583>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABQHIslxcLCC1-4veGGUp026QwBt3Z0Tks5u9iKLgaJpZM4ZjYzs>
> .
>

> I don't follow your logic. I'm trying to reduce wasted effort, by not
splitting things that have already been reviewed (though maybe they haven't
been reviewed) and by not having the intermediate _eadata in too many
places.

The problem is if its in the original, *who* and *how* was it reviewed? its not clear at all. sure maybe it was looked at briefly, but leaving it there is the worst scenario. you have to constantly scan for changes. I haven't even looked at your PR fully once. Its simply too many changes.
I guess I was wrong then. Feel free to proceed how you see best.


On Fri, Dec 28, 2018 at 8:01 AM Jeff Reback <notifications@github.com>
wrote:

> I don't follow your logic. I'm trying to reduce wasted effort, by not
> splitting things that have already been reviewed (though maybe they haven't
> been reviewed) and by not having the intermediate _eadata in too many
> places.
>
> The problem is if its in the original, *who* and *how* was it reviewed?
> its not clear at all. sure maybe it was looked at briefly, but leaving it
> there is the worst scenario. you have to constantly scan for changes. I
> haven't even looked at your PR fully once. Its simply too many changes.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/pandas-dev/pandas/pull/24463#issuecomment-450363478>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABQHImaP2gmUCF6MY0kgBps8y6ikqH5lks5u9iQkgaJpZM4ZjYzs>
> .
>

thanks @jbrockmendel and @TomAugspurger