Skip to content

Commit 5fba03b

Browse files
committed
BUG: no unboundlocalerror in Panel.__setitem__ close #1826
1 parent 7a83180 commit 5fba03b

File tree

3 files changed

+6
-0
lines changed

3 files changed

+6
-0
lines changed

RELEASE.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ pandas 0.9.0
125125
truncate not changing size of panel (#1823)
126126
- Prevent segfault due to MultiIndex not being supported in HDFStore table
127127
format (#1848)
128+
- Fix UnboundLocalError in Panel.__setitem__ and add better error (#1826)
128129

129130
pandas 0.8.1
130131
============

pandas/core/panel.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,8 @@ def __setitem__(self, key, value):
588588
dtype = _infer_dtype(value)
589589
mat = np.empty((N, K), dtype=dtype)
590590
mat.fill(value)
591+
else:
592+
raise TypeError('Cannot set item of type: %s' % str(type(value)))
591593

592594
mat = mat.reshape((1, N, K))
593595
NDFrame._set_item(self, key, mat)

pandas/tests/test_panel.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,9 @@ def test_setitem(self):
408408
self.panel['ItemP'] = self.panel['ItemA'] > 0
409409
self.assert_(self.panel['ItemP'].values.dtype == np.bool_)
410410

411+
self.assertRaises(TypeError, self.panel.__setitem__, 'foo',
412+
self.panel.ix[['ItemP']])
413+
411414
def test_setitem_ndarray(self):
412415
from pandas import date_range, datetools
413416

0 commit comments

Comments
 (0)