Skip to content

Commit 8930519

Browse files
committed
BUG: Fix .iat indexing with a PeriodIndex GH4390
Series.get with negative indexers returns the same as []
1 parent 03b4997 commit 8930519

File tree

5 files changed

+14
-2
lines changed

5 files changed

+14
-2
lines changed

doc/source/release.rst

+2
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ pandas 0.13
6262
- deprecated ``iterkv``, which will be removed in a future release (was just
6363
an alias of iteritems used to get around ``2to3``'s changes).
6464
(:issue:`4384`, :issue:`4375`, :issue:`4372`)
65+
- ``Series.get`` with negative indexers now returns the same as ``[]`` (:issue:`4390`)
6566

6667
**Experimental Features**
6768

@@ -87,6 +88,7 @@ pandas 0.13
8788
dtypes, surfaced in (:issue:`4377`)
8889
- Fixed bug with duplicate columns and type conversion in ``read_json`` when
8990
``orient='split'`` (:issue:`4377`)
91+
- Fix ``.iat`` indexing with a ``PeriodIndex`` (:issue:`4390`)
9092

9193
pandas 0.12
9294
===========

doc/source/v0.13.0.txt

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ API changes
2929
- deprecated ``iterkv``, which will be removed in a future release (was just
3030
an alias of iteritems used to get around ``2to3``'s changes).
3131
(:issue:`4384`, :issue:`4375`, :issue:`4372`)
32+
- ``Series.get`` with negative indexers now returns the same as ``[]`` (:issue:`4390`)
3233

3334
Enhancements
3435
~~~~~~~~~~~~

pandas/core/series.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,7 @@ def get_value(self, label):
10181018
-------
10191019
value : scalar value
10201020
"""
1021-
return self.index._engine.get_value(self, label)
1021+
return self.index.get_value(self, label)
10221022

10231023
def set_value(self, label, value):
10241024
"""

pandas/tests/test_series.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ def test_getitem_get(self):
629629
self.assertEqual(self.series[idx1], self.series[5])
630630
self.assertEqual(self.objSeries[idx2], self.objSeries[5])
631631

632-
self.assert_(self.series.get(-1) is None)
632+
self.assertEqual(self.series.get(-1), self.series.get(self.series.index[-1]))
633633
self.assertEqual(self.series[5], self.series.get(self.series.index[5]))
634634

635635
# missing

pandas/tseries/tests/test_period.py

+9
Original file line numberDiff line numberDiff line change
@@ -1323,6 +1323,15 @@ def test_as_frame_columns(self):
13231323
ts = df['1/1/2000']
13241324
assert_series_equal(ts, df.ix[:, 0])
13251325

1326+
def test_indexing(self):
1327+
1328+
# GH 4390, iat incorrectly indexing
1329+
index = period_range('1/1/2001', periods=10)
1330+
s = Series(randn(10), index=index)
1331+
expected = s[index[0]]
1332+
result = s.iat[0]
1333+
self.assert_(expected == result)
1334+
13261335
def test_frame_setitem(self):
13271336
rng = period_range('1/1/2000', periods=5)
13281337
rng.name = 'index'

0 commit comments

Comments
 (0)