Skip to content

Commit 4dcecb0

Browse files
committed
Merge pull request #6053 from jreback/get
BUG: Regression in .get(None) from 0.12 (GH5652)
2 parents 12c8793 + cbbf004 commit 4dcecb0

File tree

4 files changed

+13
-1
lines changed

4 files changed

+13
-1
lines changed

doc/source/release.rst

+1
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ Bug Fixes
139139
- Possible segfault when chained indexing with an object array under numpy 1.7.1 (:issue:`6016`)
140140
- Bug in setting using fancy indexing a single element with a non-scalar (e.g. a list),
141141
(:issue:`6043`)
142+
- Regression in ``.get(None)`` indexing from 0.12 (:issue:`5652`)
142143

143144
pandas 0.13.0
144145
-------------

pandas/core/generic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,7 @@ def get(self, key, default=None):
981981
"""
982982
try:
983983
return self[key]
984-
except KeyError:
984+
except (KeyError, ValueError):
985985
return default
986986

987987
def __getitem__(self, item):

pandas/tests/test_frame.py

+5
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,11 @@ def test_get(self):
147147
self.assert_(self.frame.get('foo') is None)
148148
assert_series_equal(self.frame.get('foo', self.frame['B']),
149149
self.frame['B'])
150+
# None
151+
# GH 5652
152+
for df in [DataFrame(), DataFrame(columns=list('AB')), DataFrame(columns=list('AB'),index=range(3)) ]:
153+
result = df.get(None)
154+
self.assert_(result is None)
150155

151156
def test_getitem_iterator(self):
152157
idx = iter(['A', 'B', 'C'])

pandas/tests/test_series.py

+6
Original file line numberDiff line numberDiff line change
@@ -724,6 +724,12 @@ def test_getitem_get(self):
724724
d = self.ts.index[0] - datetools.bday
725725
self.assertRaises(KeyError, self.ts.__getitem__, d)
726726

727+
# None
728+
# GH 5652
729+
for s in [Series(), Series(index=list('abc'))]:
730+
result = s.get(None)
731+
self.assert_(result is None)
732+
727733
def test_iget(self):
728734
s = Series(np.random.randn(10), index=lrange(0, 20, 2))
729735
for i in range(len(s)):

0 commit comments

Comments
 (0)