BUG: del in Series gives strange errors · Issue #5542 · pandas-dev/pandas (original) (raw)

I'm not sure whether del someseries[something] is supposed to work or not, although there is a Series.__delitem__ method so maybe at some point it was. And .drop() seems to work, so it's not super-important. But ISTM users shouldn't see this:

>>> pd.__version__
'0.12.0-1114-g4d0632b'
>>> ser = pd.Series(range(5))
>>> del ser[0]
Traceback (most recent call last):
  File "<ipython-input-62-e967e45427c2>", line 1, in <module>
    del ser[0]
  File "/usr/local/lib/python2.7/dist-packages/pandas-0.12.0_1114_g4d0632b-py2.7-linux-i686.egg/pandas/core/generic.py", line 1057, in __delitem__
    self._data.delete(key)
  File "/usr/local/lib/python2.7/dist-packages/pandas-0.12.0_1114_g4d0632b-py2.7-linux-i686.egg/pandas/core/internals.py", line 2818, in delete
    self.set_items_norename(new_items)
  File "/usr/local/lib/python2.7/dist-packages/pandas-0.12.0_1114_g4d0632b-py2.7-linux-i686.egg/pandas/core/internals.py", line 2923, in set_items_norename
    self.set_axis(0, value, maybe_rename=False, check_axis=False)
TypeError: set_axis() got an unexpected keyword argument 'maybe_rename'

>>> del ser[0]
Traceback (most recent call last):
  File "<ipython-input-63-e967e45427c2>", line 1, in <module>
    del ser[0]
  File "/usr/local/lib/python2.7/dist-packages/pandas-0.12.0_1114_g4d0632b-py2.7-linux-i686.egg/pandas/core/generic.py", line 1057, in __delitem__
    self._data.delete(key)
  File "/usr/local/lib/python2.7/dist-packages/pandas-0.12.0_1114_g4d0632b-py2.7-linux-i686.egg/pandas/core/internals.py", line 2814, in delete
    self._delete_from_all_blocks(loc, item)
  File "/usr/local/lib/python2.7/dist-packages/pandas-0.12.0_1114_g4d0632b-py2.7-linux-i686.egg/pandas/core/internals.py", line 2945, in _delete_from_all_blocks
    i, _ = self._find_block(item)
TypeError: 'NoneType' object is not iterable

That the error message isn't the same both times is a little disturbing in any case, because that suggests something stateful changed, which it's hard to believe can be right.