Skip to content

Commit

Permalink
Fix for pandas-dev#16909(DeltatimeIndex.get_loc is not working on np.…
Browse files Browse the repository at this point in the history
…deltatime64 data type) (pandas-dev#16912)
  • Loading branch information
jdeschenes authored and jreback committed Jul 14, 2017
1 parent 4ca9fcd commit 6000c5b
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions doc/source/whatsnew/v0.21.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ Indexing
- When called with a null slice (e.g. ``df.iloc[:]``), the ``.iloc`` and ``.loc`` indexers return a shallow copy of the original object. Previously they returned the original object. (:issue:`13873`).
- When called on an unsorted ``MultiIndex``, the ``loc`` indexer now will raise ``UnsortedIndexError`` only if proper slicing is used on non-sorted levels (:issue:`16734`).
- Fixes regression in 0.20.3 when indexing with a string on a ``TimedeltaIndex`` (:issue:`16896`).
- Fixed ``TimedeltaIndex.get_loc`` handling of ``np.timedelta64`` inputs (:issue:`16909`).

I/O
^^^
Expand Down
4 changes: 2 additions & 2 deletions pandas/core/indexes/timedeltas.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
_ensure_int64)
from pandas.core.dtypes.missing import isnull
from pandas.core.dtypes.generic import ABCSeries
from pandas.core.common import _maybe_box, _values_from_object, is_bool_indexer
from pandas.core.common import _maybe_box, _values_from_object

from pandas.core.indexes.base import Index
from pandas.core.indexes.numeric import Int64Index
Expand Down Expand Up @@ -682,7 +682,7 @@ def get_loc(self, key, method=None, tolerance=None):
-------
loc : int
"""
if is_bool_indexer(key) or is_timedelta64_dtype(key):
if is_list_like(key):
raise TypeError

if isnull(key):
Expand Down
3 changes: 3 additions & 0 deletions pandas/tests/indexes/timedeltas/test_timedelta.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ def test_get_loc(self):
for method, loc in [('pad', 1), ('backfill', 2), ('nearest', 1)]:
assert idx.get_loc('1 day 1 hour', method) == loc

# GH 16909
assert idx.get_loc(idx[1].to_timedelta64()) == 1

# GH 16896
assert idx.get_loc('0 days') == 0

Expand Down

0 comments on commit 6000c5b

Please sign in to comment.