Skip to content

Commit 420c926

Browse files
committed
Attempt to fix pandas-dev#12089:
Indexing into Series of tz-aware datetime64s fails using __getitem__
1 parent 4182105 commit 420c926

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

pandas/core/index.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -1854,7 +1854,10 @@ def get_value(self, series, key):
18541854
# use this, e.g. DatetimeIndex
18551855
s = getattr(series,'_values',None)
18561856
if isinstance(s, Index) and lib.isscalar(key):
1857-
return s[key]
1857+
try:
1858+
return s[key]
1859+
except IndexError:
1860+
pass
18581861

18591862
s = _values_from_object(series)
18601863
k = _values_from_object(key)

pandas/tests/test_indexing.py

+16
Original file line numberDiff line numberDiff line change
@@ -1019,6 +1019,22 @@ def test_indexing_with_datetimeindex_tz(self):
10191019
expected = pd.Series([0, 5], index=index)
10201020
assert_series_equal(result, expected)
10211021

1022+
def test_indexing_when_data_is_datetimeindex_tz(self):
1023+
1024+
# GH 12089
1025+
# Indexing into Series of tz-aware datetime64s
1026+
dates = pd.date_range('2015-01-01', periods=3, tz='utc')
1027+
index = ['a', 'b', 'c']
1028+
1029+
ser = pd.Series(dates, index=index)
1030+
1031+
for sel, date in zip(index, dates):
1032+
# getitem
1033+
self.assertEqual(ser[sel], date)
1034+
1035+
# .loc getitem
1036+
self.assertEqual(ser.loc[sel], date)
1037+
10221038
def test_loc_setitem_dups(self):
10231039

10241040
# GH 6541

0 commit comments

Comments
 (0)