Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REF: Make PeriodArray an ExtensionArray #22862

Merged
merged 149 commits into from Oct 25, 2018

Conversation

Projects
None yet
5 participants
@TomAugspurger
Copy link
Contributor

commented Sep 27, 2018

Closes #22862
Closes #14108
Closes #18053

@pep8speaks

This comment has been minimized.

Copy link

commented Sep 27, 2018

Hello @TomAugspurger! Thanks for updating the PR.

file_to_check.py:2537:-258: W605 invalid escape sequence '('
file_to_check.py:2537:-255: W605 invalid escape sequence ')'


Comment last updated on October 20, 2018 at 01:57 Hours UTC
@TomAugspurger

This comment has been minimized.

Copy link
Contributor Author

commented Sep 27, 2018

Many things are broken right now.


@property
def na_value(self):
return iNaT

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

What's the logic for why iNaT instead of NaT?

This comment has been minimized.

Copy link
@TomAugspurger

TomAugspurger Sep 27, 2018

Author Contributor

It should be NaT. I got the user-facing and physical-storage semantics backwards.


@classmethod
def _simple_new(cls, values, name=None, freq=None, **kwargs):
# TODO: clean up signature.

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

Yah, I was thinking this when reading asfreq a few lines up. Maybe a _from_period_array or more generally _from_ea?

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

In eg IntervalIndex, we kept the name _simple_new for the constructor that takes the EA. I think this is also in the same spirit as what _simple_new did before (getting the raw ordinals).

I would not call it _from_period_array, since then the name will be different for each class.

return PeriodArray._from_ordinals(values, freq=freq)

def shift(self, n):
# TODO: May need to

This comment has been minimized.

Copy link
@jbrockmendel
@@ -323,7 +310,7 @@ def _int64index(self):

@property
def values(self):
return self.astype(object).values
return self._data

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

Maybe take this opportunity to move away from _data? Brainstorm: _initvalues, _i8values

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

For IntervalIndex and CategoricalIndex we use _data as well (@jbrockmendel the reason you mention this is to not have the confusion with BlockManager _data of DataFrame/Series ?)

But going from our overview table

@property
def _values(self):
# type: () -> Union[ExtensionArray, Index]
# TODO(EA): remove index types as they become extension arrays
"""The best array representation.
This is an ndarray, ExtensionArray, or Index subclass. This differs
from ``_ndarray_values``, which always returns an ndarray.
Both ``_values`` and ``_ndarray_values`` are consistent between
``Series`` and ``Index``.
It may differ from the public '.values' method.
index | values | _values | _ndarray_values |
----------------- | -------------- -| ----------- | --------------- |
CategoricalIndex | Categorical | Categorical | codes |
DatetimeIndex[tz] | ndarray[M8ns] | DTI[tz] | ndarray[M8ns] |
For the following, the ``._values`` is currently ``ndarray[object]``,
but will soon be an ``ExtensionArray``
index | values | _values | _ndarray_values |
----------------- | --------------- | ------------ | --------------- |
PeriodIndex | ndarray[object] | ndarray[obj] | ndarray[int] |
IntervalIndex | ndarray[object] | ndarray[obj] | ndarray[object] |
See Also
--------
values
_ndarray_values
"""
return self.values

we could maybe also use the _values directly? Instead of having _values point to _data ?

@@ -2326,7 +2326,7 @@ def combine(self, other, func, fill_value=None):
# if the type is compatible with the calling EA
try:
new_values = self._values._from_sequence(new_values)
except TypeError:
except Exception:

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

Can't be more specific?

(PeriodDtype(freq='D'), com.PeriodDtypeType),
('period[D]', com.PeriodDtypeType),
(PeriodDtype(freq='D'), pd.Period),
('period[D]', pd.Period),

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

This is inevitably going to be a big PR before its through. Might be worth separating out easy bits like this.

@@ -70,6 +79,9 @@ def wrapper(self, other):
elif other is NaT:
result = np.empty(len(self._ndarray_values), dtype=bool)
result.fill(nat_result)
elif isinstance(other, (list, np.ndarray)):
# XXX: is this correct?

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

No, but this is broken in the status quo, #21793

# Constructors

def __new__(cls, data=None, ordinal=None, freq=None, start=None, end=None,
periods=None, tz=None, dtype=None, copy=False,

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

tz very likely doesnt belong

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

Part of why the constructors for the existing mixins are bare-bones is because there are comments in the Index subclasses suggesting things like start/end should be taken out of them.

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

As I mentioned on the mailing list, I would rather go for a very simple constructor (basically what _simple_new is now below). I don't think our array classes should have a __new__.
If it is too much work for this PR to refactor this __new__ method, we could also leave it for now as is but under another name (eg _complex_new :-))

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

And I think we could then combine _simple_new and _from _ordinals ?

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

To maybe clarify what I mean, a small change to IntervalArray: https://github.com/pandas-dev/pandas/compare/master...jorisvandenbossche:intervalarray?expand=1 (needs better naming of course): remove fastpath (should be done anyway as it is not used), and use __init__ instead of __new__. Of course, the functionality of passing a single array-like (of scalars or of interval dtype) what is now in the __new__ could still be kept in the __init__ if we find that important.

This comment has been minimized.

Copy link
@TomAugspurger

TomAugspurger Sep 28, 2018

Author Contributor

No preference on doing it as part of this PR or another. The diff is already impossible to read, so I may as well try doing it here.

elif isinstance(fill_value, Period):
fill_value = fill_value.ordinal
elif fill_value is NaT:
fill_value = iNaT

This comment has been minimized.

Copy link
@jbrockmendel

jbrockmendel Sep 27, 2018

Member

possibly self._fill_value or self._na_value or something? Those attributes exist in a few places but I don't think get used often.

Show resolved Hide resolved pandas/core/arrays/period.py
# Constructors

def __new__(cls, data=None, ordinal=None, freq=None, start=None, end=None,
periods=None, tz=None, dtype=None, copy=False,

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

As I mentioned on the mailing list, I would rather go for a very simple constructor (basically what _simple_new is now below). I don't think our array classes should have a __new__.
If it is too much work for this PR to refactor this __new__ method, we could also leave it for now as is but under another name (eg _complex_new :-))


@property
def asi8(self):
return self._data.view("i8")

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

Is this needed?

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

It is also duplicated a bit below

Show resolved Hide resolved pandas/core/arrays/period.py Outdated
# Constructors

def __new__(cls, data=None, ordinal=None, freq=None, start=None, end=None,
periods=None, tz=None, dtype=None, copy=False,

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

And I think we could then combine _simple_new and _from _ordinals ?

"""
A Period duck-typed class, suitable for holding a period with freq dtype.
THIS IS NOT A REAL NUMPY DTYPE, but essentially a sub-class of np.int64.
"""
type = PeriodDtypeType
type = Period
kind = 'O'
str = '|O08'

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

What is this exactly?

This comment has been minimized.

Copy link
@TomAugspurger

TomAugspurger Sep 28, 2018

Author Contributor

No idea :)

@property
def freq(self):
"""Return the frequency object if it is set, otherwise None"""
return self.values.freq

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

Should we standardize on using _values for the underlying EA for now, so some classes (like DatetimeIndex) can still return ndarray for .values, but so internally we can use a certain attribute consistently?


@classmethod
def _simple_new(cls, values, name=None, freq=None, **kwargs):
# TODO: clean up signature.

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

In eg IntervalIndex, we kept the name _simple_new for the constructor that takes the EA. I think this is also in the same spirit as what _simple_new did before (getting the raw ordinals).

I would not call it _from_period_array, since then the name will be different for each class.

@@ -323,7 +310,7 @@ def _int64index(self):

@property
def values(self):
return self.astype(object).values
return self._data

This comment has been minimized.

Copy link
@jorisvandenbossche

jorisvandenbossche Sep 28, 2018

Member

For IntervalIndex and CategoricalIndex we use _data as well (@jbrockmendel the reason you mention this is to not have the confusion with BlockManager _data of DataFrame/Series ?)

But going from our overview table

@property
def _values(self):
# type: () -> Union[ExtensionArray, Index]
# TODO(EA): remove index types as they become extension arrays
"""The best array representation.
This is an ndarray, ExtensionArray, or Index subclass. This differs
from ``_ndarray_values``, which always returns an ndarray.
Both ``_values`` and ``_ndarray_values`` are consistent between
``Series`` and ``Index``.
It may differ from the public '.values' method.
index | values | _values | _ndarray_values |
----------------- | -------------- -| ----------- | --------------- |
CategoricalIndex | Categorical | Categorical | codes |
DatetimeIndex[tz] | ndarray[M8ns] | DTI[tz] | ndarray[M8ns] |
For the following, the ``._values`` is currently ``ndarray[object]``,
but will soon be an ``ExtensionArray``
index | values | _values | _ndarray_values |
----------------- | --------------- | ------------ | --------------- |
PeriodIndex | ndarray[object] | ndarray[obj] | ndarray[int] |
IntervalIndex | ndarray[object] | ndarray[obj] | ndarray[object] |
See Also
--------
values
_ndarray_values
"""
return self.values

we could maybe also use the _values directly? Instead of having _values point to _data ?

@jreback

This comment has been minimized.

Copy link
Contributor

commented Oct 24, 2018

@TomAugspurger happy to have you merge this when ready. you already have a list of followups :>

@TomAugspurger

This comment has been minimized.

Copy link
Contributor Author

commented Oct 24, 2018

Latest commit un-xfails the ufunc(Series[period]) tests by borrowing part of https://github.com/pandas-dev/pandas/pull/23293/files#diff-150fd3c5a732ae915ec47bc54a933c41R673

This still involves a conversion to object-dtype via get_values in __array__, but we re-infer object dtype after the op is done.

I'm working on stack, unstack, and combine_first today. I don't have a preference which order we do things in.

@TomAugspurger

This comment has been minimized.

Copy link
Contributor Author

commented Oct 25, 2018

Short update:

  1. I went through Period issues and add a few Closes to the top
  2. I have open PRs for all the xfails I've added here (#23317 and #23284)
  3. I'm just going to keep CI passing and fix conflicts as they come up
@jorisvandenbossche

This comment has been minimized.

Copy link
Member

commented Oct 25, 2018

For me it is also fine to just merge this one, and rebase the smaller PRs

@TomAugspurger

This comment has been minimized.

Copy link
Contributor Author

commented Oct 25, 2018

To be clear, I'm happy with merging this first as well :)

@jreback jreback merged commit ed29430 into pandas-dev:master Oct 25, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
pandas-dev.pandas Build #20181025.21 succeeded
Details
@jreback

This comment has been minimized.

Copy link
Contributor

commented Oct 25, 2018

thanks @TomAugspurger awesome effort!

@jbrockmendel

This comment has been minimized.

Copy link
Member

commented Oct 25, 2018

way to go!

@jorisvandenbossche

This comment has been minimized.

Copy link
Member

commented Oct 26, 2018

Whoohoo!

@jreback small github related workflow: when merging a PR, can you remove the content in the body of the proposed commit message (just leave the title, unless the body is an informative summary of course). Because now it are all 150 commits listed there, making the git log less usable.

I went through the discussion to see what we mentioned as follow-ups, and apart from the stack/unstack/combine for which there are already PRs:

  • caching on Index: this still needs to be fixed. Do we already have an issue for this?
  • decide on public '.values' (#19954, and @TomAugspurger I think you also opened a more recent issue about this?)
  • consolidate code for repr (#22846)
  • clean-up _shallow_copy (#22862 (comment)) -> check and fix all cases where object dtype data is still passed to it
  • [after DatetimeArray] consolidate things in an ArrayMixin
  • [after DatetimeArray] clean-up / generalize the delegation of attributes/methods (PeriodIndex being an accessor) -> not fully sure what this is about

Any others?

@TomAugspurger

This comment has been minimized.

Copy link
Contributor Author

commented Oct 26, 2018

thoo added a commit to thoo/pandas that referenced this pull request Oct 27, 2018

Merge remote-tracking branch 'repo_org/master' into Warning_prefix_pa…
…ndas

* repo_org/master: (23 commits)
  DOC: Add docstring validations for "See Also" section (pandas-dev#23143)
  TST: Fix test assertion (pandas-dev#23357)
  BUG: Handle Period in combine (pandas-dev#23350)
  REF: SparseArray imports (pandas-dev#23329)
  CI: Migrate some CircleCI jobs to Azure (pandas-dev#22992)
  DOC: update the is_month_start/is_month_end docstring (pandas-dev#23051)
  Partialy fix issue pandas-dev#23334 - isort pandas/core/groupby directory (pandas-dev#23341)
  TST: Add base test for extensionarray setitem pandas-dev#23300 (pandas-dev#23304)
  API: Add sparse Acessor (pandas-dev#23183)
  PERF: speed up CategoricalIndex.get_loc (pandas-dev#23235)
  fix and test incorrect case in delta_to_nanoseconds (pandas-dev#23302)
  BUG: Handle Datetimelike data in DataFrame.combine (pandas-dev#23317)
  TST: re-enable gbq tests (pandas-dev#23303)
  Switched references of App veyor to azure pipelines in the contributing CI section (pandas-dev#23311)
  isort imports-io (pandas-dev#23332)
  DOC: Added a Multi Index example for the Series.sum method (pandas-dev#23279)
  REF: Make PeriodArray an ExtensionArray (pandas-dev#22862)
  DOC: Added Examples for Series max (pandas-dev#23298)
  API/ENH: tz_localize handling of nonexistent times: rename keyword + add shift option (pandas-dev#22644)
  BUG: Let MultiIndex.set_levels accept any iterable (pandas-dev#23273) (pandas-dev#23291)
  ...

thoo added a commit to thoo/pandas that referenced this pull request Oct 27, 2018

Merge remote-tracking branch 'repo_org/master' into check_np_pd_fromE…
…xamples

* repo_org/master: (83 commits)
  DOC: Add docstring validations for "See Also" section (pandas-dev#23143)
  TST: Fix test assertion (pandas-dev#23357)
  BUG: Handle Period in combine (pandas-dev#23350)
  REF: SparseArray imports (pandas-dev#23329)
  CI: Migrate some CircleCI jobs to Azure (pandas-dev#22992)
  DOC: update the is_month_start/is_month_end docstring (pandas-dev#23051)
  Partialy fix issue pandas-dev#23334 - isort pandas/core/groupby directory (pandas-dev#23341)
  TST: Add base test for extensionarray setitem pandas-dev#23300 (pandas-dev#23304)
  API: Add sparse Acessor (pandas-dev#23183)
  PERF: speed up CategoricalIndex.get_loc (pandas-dev#23235)
  fix and test incorrect case in delta_to_nanoseconds (pandas-dev#23302)
  BUG: Handle Datetimelike data in DataFrame.combine (pandas-dev#23317)
  TST: re-enable gbq tests (pandas-dev#23303)
  Switched references of App veyor to azure pipelines in the contributing CI section (pandas-dev#23311)
  isort imports-io (pandas-dev#23332)
  DOC: Added a Multi Index example for the Series.sum method (pandas-dev#23279)
  REF: Make PeriodArray an ExtensionArray (pandas-dev#22862)
  DOC: Added Examples for Series max (pandas-dev#23298)
  API/ENH: tz_localize handling of nonexistent times: rename keyword + add shift option (pandas-dev#22644)
  BUG: Let MultiIndex.set_levels accept any iterable (pandas-dev#23273) (pandas-dev#23291)
  ...

@jorisvandenbossche jorisvandenbossche moved this from Design / PRs to Done in DatetimeArray Refactor Nov 7, 2018

brute4s99 added a commit to brute4s99/pandas that referenced this pull request Nov 19, 2018

REF: Make PeriodArray an ExtensionArray (pandas-dev#22862)
* WIP: PeriodArray

* WIP

* remove debug

* Just moves

* PeriodArray.shift definition

* _data type

* clean

* accessor wip

* some more wip

* tshift, shift

* Arithmetic

* repr changes

* wip

* freq setter

* Added disabled ops

* copy

* Support concat

* object ctor

* Updates

* lint

* lint

* wip

* more wip

* array-setitem

* wip

* wip

* Use ._tshift internally for datetimelike ops

In preperation for PeriodArray / DatetimeArray / TimedeltaArray.

Index.shift has a different meaning from ExtensionArray.shift.

- Index.shift pointwise shifts each element by some amount
- ExtensionArray.shift shits the *position* of each value in the array
  padding the end with NA

This is going to get confusing. This PR tries to avoid some of that by
internally using a new `_tshift` method (time-shift) when we want to do pointwise
shifting of each value. Places that know they want that behavior (like in the
datetimelike ops) should use that.

* deep

* Squashed commit of the following:

commit 23e5cfc
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:10:41 2018 -0500

    Use ._tshift internally for datetimelike ops

    In preperation for PeriodArray / DatetimeArray / TimedeltaArray.

    Index.shift has a different meaning from ExtensionArray.shift.

    - Index.shift pointwise shifts each element by some amount
    - ExtensionArray.shift shits the *position* of each value in the array
      padding the end with NA

    This is going to get confusing. This PR tries to avoid some of that by
    internally using a new `_tshift` method (time-shift) when we want to do pointwise
    shifting of each value. Places that know they want that behavior (like in the
    datetimelike ops) should use that.

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit bccfc3f
Merge: d65980e 9caf048
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:47:48 2018 -0500

    Merge remote-tracking branch 'upstream/master' into period-dtype-type

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit d65980e
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:46:38 2018 -0500

    typo

commit e5c61fc
Merge: d7a8e1b 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:57:59 2018 -0500

    Merge remote-tracking branch 'upstream/master' into period-dtype-type

commit d7a8e1b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:57:56 2018 -0500

    Fixed

commit 598cc62
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:32:22 2018 -0500

    doc note

commit 83db05c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:28:52 2018 -0500

    updates

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit f07ab80
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:22:27 2018 -0500

    str, bytes

commit 8a8bdb0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:40:59 2018 -0500

    import at top

commit 99bafdd
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:38:12 2018 -0500

    Update type for PeriodDtype

    Removed unused IntervalDtypeType

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* fixup

* The rest of the EA tests

* docs

* rename to time_shift

* Squashed commit of the following:

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit ee80803
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Wed Oct 3 08:25:44 2018 -0700

     BUG: Correctly weekly resample over DST (pandas-dev#22941)

    * test resample fix

    * move the localization until needed

    * BUG: Correctly weekly resample over DST

    * Move whatsnew to new section

commit fea27f0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Wed Oct 3 08:49:44 2018 -0500

    CI: pin moto to 1.3.4 (pandas-dev#22959)

commit 15d32bb
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 04:32:35 2018 -0700

    [CLN] Dispatch (some) Frame ops to Series, avoiding _data.eval (pandas-dev#22019)

    * avoid casting to object dtype in mixed-type frames

    * Dispatch to Series ops in _combine_match_columns

    * comment

    * docstring

    * flake8 fixup

    * dont bother with try_cast_result

    * revert non-central change

    * simplify

    * revert try_cast_results

    * revert non-central changes

    * Fixup typo syntaxerror

    * simplify assertion

    * use dispatch_to_series in combine_match_columns

    * Pass unwrapped op where appropriate

    * catch correct error

    * whatsnew note

    * comment

    * whatsnew section

    * remove unnecessary tester

    * doc fixup

commit 3e3256b
Author: alimcmaster1 <alimcmaster1@gmail.com>
Date:   Wed Oct 3 12:23:22 2018 +0100

    Allow passing a mask to NanOps (pandas-dev#22865)

commit e756e99
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 02:19:27 2018 -0700

    CLN: Use is_period_dtype instead of ABCPeriodIndex checks (pandas-dev#22958)

commit 03181f0
Author: Wenhuan <lixx0880@gmail.com>
Date:   Wed Oct 3 15:28:07 2018 +0800

    BUG: fix Series(extension array) + extension array values addition (pandas-dev#22479)

commit 04ea51d
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Wed Oct 3 09:24:36 2018 +0200

    CLN: small clean-up of IntervalIndex (pandas-dev#22956)

commit b0f9a10
Author: Tony Tao <34781056+tonytao2012@users.noreply.github.com>
Date:   Tue Oct 2 19:01:08 2018 -0500

    DOC GH22893 Fix docstring of groupby in pandas/core/generic.py (pandas-dev#22920)

commit 08ecba8
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Tue Oct 2 14:22:53 2018 -0700

    BUG: fix DataFrame+DataFrame op with timedelta64 dtype (pandas-dev#22696)

commit c44bad2
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:16:25 2018 -0400

    CLN GH22873 Replace base excepts in pandas/core (pandas-dev#22901)

commit 8e749a3
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:14:48 2018 -0400

    CLN GH22874 replace bare excepts in pandas/io/pytables.py (pandas-dev#22919)

commit 1102a33
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 22:31:36 2018 +0200

    DOC/CLN: clean-up shared_docs in generic.py (pandas-dev#20074)

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit 7714e79
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 10:13:06 2018 -0500

    Always return ndarray

commit 1921c6f
Merge: 01f7366 fea27f0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 09:50:30 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit fea27f0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Wed Oct 3 08:49:44 2018 -0500

    CI: pin moto to 1.3.4 (pandas-dev#22959)

commit 15d32bb
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 04:32:35 2018 -0700

    [CLN] Dispatch (some) Frame ops to Series, avoiding _data.eval (pandas-dev#22019)

    * avoid casting to object dtype in mixed-type frames

    * Dispatch to Series ops in _combine_match_columns

    * comment

    * docstring

    * flake8 fixup

    * dont bother with try_cast_result

    * revert non-central change

    * simplify

    * revert try_cast_results

    * revert non-central changes

    * Fixup typo syntaxerror

    * simplify assertion

    * use dispatch_to_series in combine_match_columns

    * Pass unwrapped op where appropriate

    * catch correct error

    * whatsnew note

    * comment

    * whatsnew section

    * remove unnecessary tester

    * doc fixup

commit 3e3256b
Author: alimcmaster1 <alimcmaster1@gmail.com>
Date:   Wed Oct 3 12:23:22 2018 +0100

    Allow passing a mask to NanOps (pandas-dev#22865)

commit e756e99
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 02:19:27 2018 -0700

    CLN: Use is_period_dtype instead of ABCPeriodIndex checks (pandas-dev#22958)

commit 03181f0
Author: Wenhuan <lixx0880@gmail.com>
Date:   Wed Oct 3 15:28:07 2018 +0800

    BUG: fix Series(extension array) + extension array values addition (pandas-dev#22479)

commit 04ea51d
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Wed Oct 3 09:24:36 2018 +0200

    CLN: small clean-up of IntervalIndex (pandas-dev#22956)

commit b0f9a10
Author: Tony Tao <34781056+tonytao2012@users.noreply.github.com>
Date:   Tue Oct 2 19:01:08 2018 -0500

    DOC GH22893 Fix docstring of groupby in pandas/core/generic.py (pandas-dev#22920)

commit 08ecba8
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Tue Oct 2 14:22:53 2018 -0700

    BUG: fix DataFrame+DataFrame op with timedelta64 dtype (pandas-dev#22696)

commit c44bad2
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:16:25 2018 -0400

    CLN GH22873 Replace base excepts in pandas/core (pandas-dev#22901)

commit 8e749a3
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:14:48 2018 -0400

    CLN GH22874 replace bare excepts in pandas/io/pytables.py (pandas-dev#22919)

commit 1102a33
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 22:31:36 2018 +0200

    DOC/CLN: clean-up shared_docs in generic.py (pandas-dev#20074)

commit 01f7366
Merge: 5372134 9caf048
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:50:28 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit 5372134
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:35:07 2018 -0500

    fixed move

commit ce1a3c6
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:32:11 2018 -0500

    fixed move

commit b9c7e4b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:28:57 2018 -0500

    remove old note

commit a4a2933
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:24:48 2018 -0500

    handle test

commit be63feb
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:19:17 2018 -0500

    move test

commit 0eef0cf
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:18:18 2018 -0500

    move back

commit 2183f7b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:17:28 2018 -0500

    api

commit 85fc5d8
Merge: 9059c0d 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:15:52 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit 9059c0d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:33:15 2018 -0500

    Note

commit 0c53f08
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:30:54 2018 -0500

    Imports

commit ce94bf9
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:28:16 2018 -0500

    Moves

commit fdd43c4
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:26:09 2018 -0500

    Closes pandas-dev#22850

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

* fixed merge conflict

* Handle divmod test

* extension tests passing

* Squashed commit of the following:

commit c9d6e89
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:34:22 2018 -0500

    xpass -> skip

commit 95d5cbf
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:22:17 2018 -0500

    typo, import

commit 4e9b7f0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:18:40 2018 -0500

    doc update

commit cc2bfc8
Merge: 11a0d93 fe67b94
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:15:46 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit fe67b94
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:55:09 2018 -0500

    Update type for PeriodDtype / DatetimeTZDtype / IntervalDtype (pandas-dev#22938)

commit b12e5ba
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:30:29 2018 -0500

    Safer is dtype (pandas-dev#22975)

commit c19c805
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:27:54 2018 -0500

    Catch Exception in combine (pandas-dev#22936)

commit d553ab3
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:24:06 2018 +0200

    TST: Fixturize series/test_combine_concat.py (pandas-dev#22964)

commit 4c78b97
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:23:39 2018 +0200

    TST: Fixturize series/test_constructors.py (pandas-dev#22965)

commit 45d3bb7
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:23:20 2018 +0200

    TST: Fixturize series/test_datetime_values.py (pandas-dev#22966)

commit f1a22ff
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:22:21 2018 +0200

    TST: Fixturize series/test_dtypes.py (pandas-dev#22967)

commit abf68fd
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:21:45 2018 +0200

    TST: Fixturize series/test_io.py (pandas-dev#22972)

commit e6b0c29
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:20:46 2018 +0200

    TST: Fixturize series/test_missing.py (pandas-dev#22973)

commit 9b405b8
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Thu Oct 4 13:16:28 2018 +0200

    CLN: values is required argument in _shallow_copy_with_infer (pandas-dev#22983)

commit c282e31
Author: h-vetinari <33685575+h-vetinari@users.noreply.github.com>
Date:   Thu Oct 4 03:34:35 2018 +0200

    Fix ASV import error (pandas-dev#22978)

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

* merge conflict

* wip

* indexes passing

* op names

* extension, arrays passing

* fixup

* lint

* Fixed to_timestamp

* Same error message for index, series

* Fix freq handling in to_timestamp

* dtype update

* accept kwargs

* fixups

* updates

* explicit

* add to assert

* wip period_array

* wip period_array

* order

* sort order

* test for hashing

* update

* lint

* boxing

* fix fixtures

* infer

* Remove seemingly unreachable code

* lint

* wip

* Updates for master

* simplify

* wip

* remove view

* simplify

* lint

* Removed add_comparison_methods

* xfail op

* remove some

* constructors

* Constructor cleanup

* misc fixups

* more xfails

* typo

* Added asi8

* Allow setting nan

* revert breaking docs

* Override _add_sub_int_array

* lint

* Update PeriodIndex._simple_new

* Clean up uses of .values, ._values, ._ndarray_values, ._data

* one more values

* remove xfails

* Fixed freq handling in _shallow_copy with a freq

* test updates

* API: Keep PeriodIndex.values an ndarray

* BUG: Raise for non-equal freq in take

* Punt on DataFrame.replace specializing

* lint

* fixed xfail message

* TST: _from_datetime64

* Fixups

- Perf in period_array
- pyarrow error
- py2 compat

* escape

* dtype

* revert and unxfail values

* error catching

* isort

* Avoid PeriodArray.values

* clarify _box_func usage

* TST: unxfail ops tests

* Avoid use of .values

* __setitem__ type

* Misc cleanups

* docstring on PeriodArray
* examples for period_array
* remove _box_values_as_index
* names
* object_dtype
* use __sub__

* lint

* API: remove ordinal from period_array

* catch exception

* misc cleanup

* Handle astype integer size

* Bump test coverage

* remove partial test

* close bracket

* change the test

* isort

* consistent _data

* lint

* ndarray_values -> asi8

* colocate ops

* refactor PeriodIndex.item

remove unused method

* return NotImplemented for Series / Index

* remove xpass

* release note

* types, use data

* remove ufunc xpass
@jbrockmendel

This comment has been minimized.

Copy link
Member

commented Nov 20, 2018

@TomAugspurger tests.series.test_period has xfailed tests test_NaT_scalar and test_NaT_cast with reason "PeriodDtype Series not supported yet". Should these be fixable now?

@TomAugspurger

This comment has been minimized.

Copy link
Contributor Author

commented Nov 20, 2018

@jbrockmendel jbrockmendel removed this from Done in DatetimeArray Refactor Jan 4, 2019

Pingviinituutti added a commit to Pingviinituutti/pandas that referenced this pull request Feb 28, 2019

REF: Make PeriodArray an ExtensionArray (pandas-dev#22862)
* WIP: PeriodArray

* WIP

* remove debug

* Just moves

* PeriodArray.shift definition

* _data type

* clean

* accessor wip

* some more wip

* tshift, shift

* Arithmetic

* repr changes

* wip

* freq setter

* Added disabled ops

* copy

* Support concat

* object ctor

* Updates

* lint

* lint

* wip

* more wip

* array-setitem

* wip

* wip

* Use ._tshift internally for datetimelike ops

In preperation for PeriodArray / DatetimeArray / TimedeltaArray.

Index.shift has a different meaning from ExtensionArray.shift.

- Index.shift pointwise shifts each element by some amount
- ExtensionArray.shift shits the *position* of each value in the array
  padding the end with NA

This is going to get confusing. This PR tries to avoid some of that by
internally using a new `_tshift` method (time-shift) when we want to do pointwise
shifting of each value. Places that know they want that behavior (like in the
datetimelike ops) should use that.

* deep

* Squashed commit of the following:

commit 23e5cfc
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:10:41 2018 -0500

    Use ._tshift internally for datetimelike ops

    In preperation for PeriodArray / DatetimeArray / TimedeltaArray.

    Index.shift has a different meaning from ExtensionArray.shift.

    - Index.shift pointwise shifts each element by some amount
    - ExtensionArray.shift shits the *position* of each value in the array
      padding the end with NA

    This is going to get confusing. This PR tries to avoid some of that by
    internally using a new `_tshift` method (time-shift) when we want to do pointwise
    shifting of each value. Places that know they want that behavior (like in the
    datetimelike ops) should use that.

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit bccfc3f
Merge: d65980e 9caf048
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:47:48 2018 -0500

    Merge remote-tracking branch 'upstream/master' into period-dtype-type

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit d65980e
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:46:38 2018 -0500

    typo

commit e5c61fc
Merge: d7a8e1b 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:57:59 2018 -0500

    Merge remote-tracking branch 'upstream/master' into period-dtype-type

commit d7a8e1b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:57:56 2018 -0500

    Fixed

commit 598cc62
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:32:22 2018 -0500

    doc note

commit 83db05c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:28:52 2018 -0500

    updates

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit f07ab80
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:22:27 2018 -0500

    str, bytes

commit 8a8bdb0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:40:59 2018 -0500

    import at top

commit 99bafdd
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:38:12 2018 -0500

    Update type for PeriodDtype

    Removed unused IntervalDtypeType

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* fixup

* The rest of the EA tests

* docs

* rename to time_shift

* Squashed commit of the following:

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit ee80803
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Wed Oct 3 08:25:44 2018 -0700

     BUG: Correctly weekly resample over DST (pandas-dev#22941)

    * test resample fix

    * move the localization until needed

    * BUG: Correctly weekly resample over DST

    * Move whatsnew to new section

commit fea27f0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Wed Oct 3 08:49:44 2018 -0500

    CI: pin moto to 1.3.4 (pandas-dev#22959)

commit 15d32bb
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 04:32:35 2018 -0700

    [CLN] Dispatch (some) Frame ops to Series, avoiding _data.eval (pandas-dev#22019)

    * avoid casting to object dtype in mixed-type frames

    * Dispatch to Series ops in _combine_match_columns

    * comment

    * docstring

    * flake8 fixup

    * dont bother with try_cast_result

    * revert non-central change

    * simplify

    * revert try_cast_results

    * revert non-central changes

    * Fixup typo syntaxerror

    * simplify assertion

    * use dispatch_to_series in combine_match_columns

    * Pass unwrapped op where appropriate

    * catch correct error

    * whatsnew note

    * comment

    * whatsnew section

    * remove unnecessary tester

    * doc fixup

commit 3e3256b
Author: alimcmaster1 <alimcmaster1@gmail.com>
Date:   Wed Oct 3 12:23:22 2018 +0100

    Allow passing a mask to NanOps (pandas-dev#22865)

commit e756e99
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 02:19:27 2018 -0700

    CLN: Use is_period_dtype instead of ABCPeriodIndex checks (pandas-dev#22958)

commit 03181f0
Author: Wenhuan <lixx0880@gmail.com>
Date:   Wed Oct 3 15:28:07 2018 +0800

    BUG: fix Series(extension array) + extension array values addition (pandas-dev#22479)

commit 04ea51d
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Wed Oct 3 09:24:36 2018 +0200

    CLN: small clean-up of IntervalIndex (pandas-dev#22956)

commit b0f9a10
Author: Tony Tao <34781056+tonytao2012@users.noreply.github.com>
Date:   Tue Oct 2 19:01:08 2018 -0500

    DOC GH22893 Fix docstring of groupby in pandas/core/generic.py (pandas-dev#22920)

commit 08ecba8
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Tue Oct 2 14:22:53 2018 -0700

    BUG: fix DataFrame+DataFrame op with timedelta64 dtype (pandas-dev#22696)

commit c44bad2
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:16:25 2018 -0400

    CLN GH22873 Replace base excepts in pandas/core (pandas-dev#22901)

commit 8e749a3
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:14:48 2018 -0400

    CLN GH22874 replace bare excepts in pandas/io/pytables.py (pandas-dev#22919)

commit 1102a33
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 22:31:36 2018 +0200

    DOC/CLN: clean-up shared_docs in generic.py (pandas-dev#20074)

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit 7714e79
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 10:13:06 2018 -0500

    Always return ndarray

commit 1921c6f
Merge: 01f7366 fea27f0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 09:50:30 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit fea27f0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Wed Oct 3 08:49:44 2018 -0500

    CI: pin moto to 1.3.4 (pandas-dev#22959)

commit 15d32bb
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 04:32:35 2018 -0700

    [CLN] Dispatch (some) Frame ops to Series, avoiding _data.eval (pandas-dev#22019)

    * avoid casting to object dtype in mixed-type frames

    * Dispatch to Series ops in _combine_match_columns

    * comment

    * docstring

    * flake8 fixup

    * dont bother with try_cast_result

    * revert non-central change

    * simplify

    * revert try_cast_results

    * revert non-central changes

    * Fixup typo syntaxerror

    * simplify assertion

    * use dispatch_to_series in combine_match_columns

    * Pass unwrapped op where appropriate

    * catch correct error

    * whatsnew note

    * comment

    * whatsnew section

    * remove unnecessary tester

    * doc fixup

commit 3e3256b
Author: alimcmaster1 <alimcmaster1@gmail.com>
Date:   Wed Oct 3 12:23:22 2018 +0100

    Allow passing a mask to NanOps (pandas-dev#22865)

commit e756e99
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 02:19:27 2018 -0700

    CLN: Use is_period_dtype instead of ABCPeriodIndex checks (pandas-dev#22958)

commit 03181f0
Author: Wenhuan <lixx0880@gmail.com>
Date:   Wed Oct 3 15:28:07 2018 +0800

    BUG: fix Series(extension array) + extension array values addition (pandas-dev#22479)

commit 04ea51d
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Wed Oct 3 09:24:36 2018 +0200

    CLN: small clean-up of IntervalIndex (pandas-dev#22956)

commit b0f9a10
Author: Tony Tao <34781056+tonytao2012@users.noreply.github.com>
Date:   Tue Oct 2 19:01:08 2018 -0500

    DOC GH22893 Fix docstring of groupby in pandas/core/generic.py (pandas-dev#22920)

commit 08ecba8
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Tue Oct 2 14:22:53 2018 -0700

    BUG: fix DataFrame+DataFrame op with timedelta64 dtype (pandas-dev#22696)

commit c44bad2
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:16:25 2018 -0400

    CLN GH22873 Replace base excepts in pandas/core (pandas-dev#22901)

commit 8e749a3
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:14:48 2018 -0400

    CLN GH22874 replace bare excepts in pandas/io/pytables.py (pandas-dev#22919)

commit 1102a33
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 22:31:36 2018 +0200

    DOC/CLN: clean-up shared_docs in generic.py (pandas-dev#20074)

commit 01f7366
Merge: 5372134 9caf048
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:50:28 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit 5372134
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:35:07 2018 -0500

    fixed move

commit ce1a3c6
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:32:11 2018 -0500

    fixed move

commit b9c7e4b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:28:57 2018 -0500

    remove old note

commit a4a2933
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:24:48 2018 -0500

    handle test

commit be63feb
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:19:17 2018 -0500

    move test

commit 0eef0cf
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:18:18 2018 -0500

    move back

commit 2183f7b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:17:28 2018 -0500

    api

commit 85fc5d8
Merge: 9059c0d 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:15:52 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit 9059c0d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:33:15 2018 -0500

    Note

commit 0c53f08
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:30:54 2018 -0500

    Imports

commit ce94bf9
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:28:16 2018 -0500

    Moves

commit fdd43c4
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:26:09 2018 -0500

    Closes pandas-dev#22850

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

* fixed merge conflict

* Handle divmod test

* extension tests passing

* Squashed commit of the following:

commit c9d6e89
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:34:22 2018 -0500

    xpass -> skip

commit 95d5cbf
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:22:17 2018 -0500

    typo, import

commit 4e9b7f0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:18:40 2018 -0500

    doc update

commit cc2bfc8
Merge: 11a0d93 fe67b94
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:15:46 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit fe67b94
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:55:09 2018 -0500

    Update type for PeriodDtype / DatetimeTZDtype / IntervalDtype (pandas-dev#22938)

commit b12e5ba
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:30:29 2018 -0500

    Safer is dtype (pandas-dev#22975)

commit c19c805
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:27:54 2018 -0500

    Catch Exception in combine (pandas-dev#22936)

commit d553ab3
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:24:06 2018 +0200

    TST: Fixturize series/test_combine_concat.py (pandas-dev#22964)

commit 4c78b97
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:23:39 2018 +0200

    TST: Fixturize series/test_constructors.py (pandas-dev#22965)

commit 45d3bb7
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:23:20 2018 +0200

    TST: Fixturize series/test_datetime_values.py (pandas-dev#22966)

commit f1a22ff
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:22:21 2018 +0200

    TST: Fixturize series/test_dtypes.py (pandas-dev#22967)

commit abf68fd
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:21:45 2018 +0200

    TST: Fixturize series/test_io.py (pandas-dev#22972)

commit e6b0c29
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:20:46 2018 +0200

    TST: Fixturize series/test_missing.py (pandas-dev#22973)

commit 9b405b8
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Thu Oct 4 13:16:28 2018 +0200

    CLN: values is required argument in _shallow_copy_with_infer (pandas-dev#22983)

commit c282e31
Author: h-vetinari <33685575+h-vetinari@users.noreply.github.com>
Date:   Thu Oct 4 03:34:35 2018 +0200

    Fix ASV import error (pandas-dev#22978)

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

* merge conflict

* wip

* indexes passing

* op names

* extension, arrays passing

* fixup

* lint

* Fixed to_timestamp

* Same error message for index, series

* Fix freq handling in to_timestamp

* dtype update

* accept kwargs

* fixups

* updates

* explicit

* add to assert

* wip period_array

* wip period_array

* order

* sort order

* test for hashing

* update

* lint

* boxing

* fix fixtures

* infer

* Remove seemingly unreachable code

* lint

* wip

* Updates for master

* simplify

* wip

* remove view

* simplify

* lint

* Removed add_comparison_methods

* xfail op

* remove some

* constructors

* Constructor cleanup

* misc fixups

* more xfails

* typo

* Added asi8

* Allow setting nan

* revert breaking docs

* Override _add_sub_int_array

* lint

* Update PeriodIndex._simple_new

* Clean up uses of .values, ._values, ._ndarray_values, ._data

* one more values

* remove xfails

* Fixed freq handling in _shallow_copy with a freq

* test updates

* API: Keep PeriodIndex.values an ndarray

* BUG: Raise for non-equal freq in take

* Punt on DataFrame.replace specializing

* lint

* fixed xfail message

* TST: _from_datetime64

* Fixups

- Perf in period_array
- pyarrow error
- py2 compat

* escape

* dtype

* revert and unxfail values

* error catching

* isort

* Avoid PeriodArray.values

* clarify _box_func usage

* TST: unxfail ops tests

* Avoid use of .values

* __setitem__ type

* Misc cleanups

* docstring on PeriodArray
* examples for period_array
* remove _box_values_as_index
* names
* object_dtype
* use __sub__

* lint

* API: remove ordinal from period_array

* catch exception

* misc cleanup

* Handle astype integer size

* Bump test coverage

* remove partial test

* close bracket

* change the test

* isort

* consistent _data

* lint

* ndarray_values -> asi8

* colocate ops

* refactor PeriodIndex.item

remove unused method

* return NotImplemented for Series / Index

* remove xpass

* release note

* types, use data

* remove ufunc xpass

Pingviinituutti added a commit to Pingviinituutti/pandas that referenced this pull request Feb 28, 2019

REF: Make PeriodArray an ExtensionArray (pandas-dev#22862)
* WIP: PeriodArray

* WIP

* remove debug

* Just moves

* PeriodArray.shift definition

* _data type

* clean

* accessor wip

* some more wip

* tshift, shift

* Arithmetic

* repr changes

* wip

* freq setter

* Added disabled ops

* copy

* Support concat

* object ctor

* Updates

* lint

* lint

* wip

* more wip

* array-setitem

* wip

* wip

* Use ._tshift internally for datetimelike ops

In preperation for PeriodArray / DatetimeArray / TimedeltaArray.

Index.shift has a different meaning from ExtensionArray.shift.

- Index.shift pointwise shifts each element by some amount
- ExtensionArray.shift shits the *position* of each value in the array
  padding the end with NA

This is going to get confusing. This PR tries to avoid some of that by
internally using a new `_tshift` method (time-shift) when we want to do pointwise
shifting of each value. Places that know they want that behavior (like in the
datetimelike ops) should use that.

* deep

* Squashed commit of the following:

commit 23e5cfc
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:10:41 2018 -0500

    Use ._tshift internally for datetimelike ops

    In preperation for PeriodArray / DatetimeArray / TimedeltaArray.

    Index.shift has a different meaning from ExtensionArray.shift.

    - Index.shift pointwise shifts each element by some amount
    - ExtensionArray.shift shits the *position* of each value in the array
      padding the end with NA

    This is going to get confusing. This PR tries to avoid some of that by
    internally using a new `_tshift` method (time-shift) when we want to do pointwise
    shifting of each value. Places that know they want that behavior (like in the
    datetimelike ops) should use that.

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit bccfc3f
Merge: d65980e 9caf048
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:47:48 2018 -0500

    Merge remote-tracking branch 'upstream/master' into period-dtype-type

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit d65980e
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:46:38 2018 -0500

    typo

commit e5c61fc
Merge: d7a8e1b 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:57:59 2018 -0500

    Merge remote-tracking branch 'upstream/master' into period-dtype-type

commit d7a8e1b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:57:56 2018 -0500

    Fixed

commit 598cc62
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:32:22 2018 -0500

    doc note

commit 83db05c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:28:52 2018 -0500

    updates

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit f07ab80
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:22:27 2018 -0500

    str, bytes

commit 8a8bdb0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:40:59 2018 -0500

    import at top

commit 99bafdd
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:38:12 2018 -0500

    Update type for PeriodDtype

    Removed unused IntervalDtypeType

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* fixup

* The rest of the EA tests

* docs

* rename to time_shift

* Squashed commit of the following:

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit ee80803
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Wed Oct 3 08:25:44 2018 -0700

     BUG: Correctly weekly resample over DST (pandas-dev#22941)

    * test resample fix

    * move the localization until needed

    * BUG: Correctly weekly resample over DST

    * Move whatsnew to new section

commit fea27f0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Wed Oct 3 08:49:44 2018 -0500

    CI: pin moto to 1.3.4 (pandas-dev#22959)

commit 15d32bb
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 04:32:35 2018 -0700

    [CLN] Dispatch (some) Frame ops to Series, avoiding _data.eval (pandas-dev#22019)

    * avoid casting to object dtype in mixed-type frames

    * Dispatch to Series ops in _combine_match_columns

    * comment

    * docstring

    * flake8 fixup

    * dont bother with try_cast_result

    * revert non-central change

    * simplify

    * revert try_cast_results

    * revert non-central changes

    * Fixup typo syntaxerror

    * simplify assertion

    * use dispatch_to_series in combine_match_columns

    * Pass unwrapped op where appropriate

    * catch correct error

    * whatsnew note

    * comment

    * whatsnew section

    * remove unnecessary tester

    * doc fixup

commit 3e3256b
Author: alimcmaster1 <alimcmaster1@gmail.com>
Date:   Wed Oct 3 12:23:22 2018 +0100

    Allow passing a mask to NanOps (pandas-dev#22865)

commit e756e99
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 02:19:27 2018 -0700

    CLN: Use is_period_dtype instead of ABCPeriodIndex checks (pandas-dev#22958)

commit 03181f0
Author: Wenhuan <lixx0880@gmail.com>
Date:   Wed Oct 3 15:28:07 2018 +0800

    BUG: fix Series(extension array) + extension array values addition (pandas-dev#22479)

commit 04ea51d
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Wed Oct 3 09:24:36 2018 +0200

    CLN: small clean-up of IntervalIndex (pandas-dev#22956)

commit b0f9a10
Author: Tony Tao <34781056+tonytao2012@users.noreply.github.com>
Date:   Tue Oct 2 19:01:08 2018 -0500

    DOC GH22893 Fix docstring of groupby in pandas/core/generic.py (pandas-dev#22920)

commit 08ecba8
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Tue Oct 2 14:22:53 2018 -0700

    BUG: fix DataFrame+DataFrame op with timedelta64 dtype (pandas-dev#22696)

commit c44bad2
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:16:25 2018 -0400

    CLN GH22873 Replace base excepts in pandas/core (pandas-dev#22901)

commit 8e749a3
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:14:48 2018 -0400

    CLN GH22874 replace bare excepts in pandas/io/pytables.py (pandas-dev#22919)

commit 1102a33
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 22:31:36 2018 +0200

    DOC/CLN: clean-up shared_docs in generic.py (pandas-dev#20074)

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit 7714e79
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 10:13:06 2018 -0500

    Always return ndarray

commit 1921c6f
Merge: 01f7366 fea27f0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 09:50:30 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit fea27f0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Wed Oct 3 08:49:44 2018 -0500

    CI: pin moto to 1.3.4 (pandas-dev#22959)

commit 15d32bb
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 04:32:35 2018 -0700

    [CLN] Dispatch (some) Frame ops to Series, avoiding _data.eval (pandas-dev#22019)

    * avoid casting to object dtype in mixed-type frames

    * Dispatch to Series ops in _combine_match_columns

    * comment

    * docstring

    * flake8 fixup

    * dont bother with try_cast_result

    * revert non-central change

    * simplify

    * revert try_cast_results

    * revert non-central changes

    * Fixup typo syntaxerror

    * simplify assertion

    * use dispatch_to_series in combine_match_columns

    * Pass unwrapped op where appropriate

    * catch correct error

    * whatsnew note

    * comment

    * whatsnew section

    * remove unnecessary tester

    * doc fixup

commit 3e3256b
Author: alimcmaster1 <alimcmaster1@gmail.com>
Date:   Wed Oct 3 12:23:22 2018 +0100

    Allow passing a mask to NanOps (pandas-dev#22865)

commit e756e99
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Wed Oct 3 02:19:27 2018 -0700

    CLN: Use is_period_dtype instead of ABCPeriodIndex checks (pandas-dev#22958)

commit 03181f0
Author: Wenhuan <lixx0880@gmail.com>
Date:   Wed Oct 3 15:28:07 2018 +0800

    BUG: fix Series(extension array) + extension array values addition (pandas-dev#22479)

commit 04ea51d
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Wed Oct 3 09:24:36 2018 +0200

    CLN: small clean-up of IntervalIndex (pandas-dev#22956)

commit b0f9a10
Author: Tony Tao <34781056+tonytao2012@users.noreply.github.com>
Date:   Tue Oct 2 19:01:08 2018 -0500

    DOC GH22893 Fix docstring of groupby in pandas/core/generic.py (pandas-dev#22920)

commit 08ecba8
Author: jbrockmendel <jbrockmendel@gmail.com>
Date:   Tue Oct 2 14:22:53 2018 -0700

    BUG: fix DataFrame+DataFrame op with timedelta64 dtype (pandas-dev#22696)

commit c44bad2
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:16:25 2018 -0400

    CLN GH22873 Replace base excepts in pandas/core (pandas-dev#22901)

commit 8e749a3
Author: Pamela Wu <pambot@users.noreply.github.com>
Date:   Tue Oct 2 17:14:48 2018 -0400

    CLN GH22874 replace bare excepts in pandas/io/pytables.py (pandas-dev#22919)

commit 1102a33
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 22:31:36 2018 +0200

    DOC/CLN: clean-up shared_docs in generic.py (pandas-dev#20074)

commit 01f7366
Merge: 5372134 9caf048
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 13:50:28 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit 9caf048
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 13:25:22 2018 -0500

    CI: change windows vm image (pandas-dev#22948)

commit 5372134
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:35:07 2018 -0500

    fixed move

commit ce1a3c6
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:32:11 2018 -0500

    fixed move

commit b9c7e4b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:28:57 2018 -0500

    remove old note

commit a4a2933
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:24:48 2018 -0500

    handle test

commit be63feb
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:19:17 2018 -0500

    move test

commit 0eef0cf
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:18:18 2018 -0500

    move back

commit 2183f7b
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:17:28 2018 -0500

    api

commit 85fc5d8
Merge: 9059c0d 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:15:52 2018 -0500

    Merge remote-tracking branch 'upstream/master' into combine-exception

commit 1d9f76c
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Tue Oct 2 17:11:11 2018 +0200

    CLN: remove Index._to_embed (pandas-dev#22879)

    * CLN: remove Index._to_embed

    * pep8

commit 6247da0
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Tue Oct 2 08:50:41 2018 -0500

    Provide default implementation for `data_repated` (pandas-dev#22935)

commit 9059c0d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:33:15 2018 -0500

    Note

commit 0c53f08
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:30:54 2018 -0500

    Imports

commit ce94bf9
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 06:28:16 2018 -0500

    Moves

commit fdd43c4
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 21:26:09 2018 -0500

    Closes pandas-dev#22850

commit 5ce06b5
Author: Matthew Roeschke <emailformattr@gmail.com>
Date:   Mon Oct 1 14:22:20 2018 -0700

     BUG: to_datetime preserves name of Index argument in the result (pandas-dev#22918)

    * BUG: to_datetime preserves name of Index argument in the result

    * correct test

* Squashed commit of the following:

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

* fixed merge conflict

* Handle divmod test

* extension tests passing

* Squashed commit of the following:

commit c9d6e89
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:34:22 2018 -0500

    xpass -> skip

commit 95d5cbf
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:22:17 2018 -0500

    typo, import

commit 4e9b7f0
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:18:40 2018 -0500

    doc update

commit cc2bfc8
Merge: 11a0d93 fe67b94
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Thu Oct 4 08:15:46 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit fe67b94
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:55:09 2018 -0500

    Update type for PeriodDtype / DatetimeTZDtype / IntervalDtype (pandas-dev#22938)

commit b12e5ba
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:30:29 2018 -0500

    Safer is dtype (pandas-dev#22975)

commit c19c805
Author: Tom Augspurger <TomAugspurger@users.noreply.github.com>
Date:   Thu Oct 4 06:27:54 2018 -0500

    Catch Exception in combine (pandas-dev#22936)

commit d553ab3
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:24:06 2018 +0200

    TST: Fixturize series/test_combine_concat.py (pandas-dev#22964)

commit 4c78b97
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:23:39 2018 +0200

    TST: Fixturize series/test_constructors.py (pandas-dev#22965)

commit 45d3bb7
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:23:20 2018 +0200

    TST: Fixturize series/test_datetime_values.py (pandas-dev#22966)

commit f1a22ff
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:22:21 2018 +0200

    TST: Fixturize series/test_dtypes.py (pandas-dev#22967)

commit abf68fd
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:21:45 2018 +0200

    TST: Fixturize series/test_io.py (pandas-dev#22972)

commit e6b0c29
Author: Anjali2019 <Anjali2019@users.noreply.github.com>
Date:   Thu Oct 4 13:20:46 2018 +0200

    TST: Fixturize series/test_missing.py (pandas-dev#22973)

commit 9b405b8
Author: Joris Van den Bossche <jorisvandenbossche@gmail.com>
Date:   Thu Oct 4 13:16:28 2018 +0200

    CLN: values is required argument in _shallow_copy_with_infer (pandas-dev#22983)

commit c282e31
Author: h-vetinari <33685575+h-vetinari@users.noreply.github.com>
Date:   Thu Oct 4 03:34:35 2018 +0200

    Fix ASV import error (pandas-dev#22978)

commit 11a0d93
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:26:34 2018 -0500

    typerror

commit a0cd5e7
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 14:25:38 2018 -0500

    TypeError for Series

commit 2247461
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:29:29 2018 -0500

    Test op(Series[EA], EA])

commit c9fe5d3
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:21:33 2018 -0500

    make strict

commit 7ef697c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:14:52 2018 -0500

    Use super

commit 35d4213
Merge: 0671e7d ee80803
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Wed Oct 3 13:11:05 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit 0671e7d
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 11:10:42 2018 -0500

    Fixup

commit 1b4261f
Merge: c92a4a8 1d9f76c
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Tue Oct 2 10:58:43 2018 -0500

    Merge remote-tracking branch 'upstream/master' into ea-divmod

commit c92a4a8
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:56:15 2018 -0500

    Update old test

commit 52538fa
Author: Tom Augspurger <tom.w.augspurger@gmail.com>
Date:   Mon Oct 1 16:51:48 2018 -0500

    BUG: divmod return type

* merge conflict

* wip

* indexes passing

* op names

* extension, arrays passing

* fixup

* lint

* Fixed to_timestamp

* Same error message for index, series

* Fix freq handling in to_timestamp

* dtype update

* accept kwargs

* fixups

* updates

* explicit

* add to assert

* wip period_array

* wip period_array

* order

* sort order

* test for hashing

* update

* lint

* boxing

* fix fixtures

* infer

* Remove seemingly unreachable code

* lint

* wip

* Updates for master

* simplify

* wip

* remove view

* simplify

* lint

* Removed add_comparison_methods

* xfail op

* remove some

* constructors

* Constructor cleanup

* misc fixups

* more xfails

* typo

* Added asi8

* Allow setting nan

* revert breaking docs

* Override _add_sub_int_array

* lint

* Update PeriodIndex._simple_new

* Clean up uses of .values, ._values, ._ndarray_values, ._data

* one more values

* remove xfails

* Fixed freq handling in _shallow_copy with a freq

* test updates

* API: Keep PeriodIndex.values an ndarray

* BUG: Raise for non-equal freq in take

* Punt on DataFrame.replace specializing

* lint

* fixed xfail message

* TST: _from_datetime64

* Fixups

- Perf in period_array
- pyarrow error
- py2 compat

* escape

* dtype

* revert and unxfail values

* error catching

* isort

* Avoid PeriodArray.values

* clarify _box_func usage

* TST: unxfail ops tests

* Avoid use of .values

* __setitem__ type

* Misc cleanups

* docstring on PeriodArray
* examples for period_array
* remove _box_values_as_index
* names
* object_dtype
* use __sub__

* lint

* API: remove ordinal from period_array

* catch exception

* misc cleanup

* Handle astype integer size

* Bump test coverage

* remove partial test

* close bracket

* change the test

* isort

* consistent _data

* lint

* ndarray_values -> asi8

* colocate ops

* refactor PeriodIndex.item

remove unused method

* return NotImplemented for Series / Index

* remove xpass

* release note

* types, use data

* remove ufunc xpass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.