Skip to content

Commit

Permalink
DEPR: deprecate IntervalIndex.itemsize and remove IntervalArray.items…
Browse files Browse the repository at this point in the history
…ize (#22149)
  • Loading branch information
jschendel authored and jreback committed Aug 1, 2018
1 parent 59c3132 commit b62c324
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 8 deletions.
4 changes: 0 additions & 4 deletions pandas/core/arrays/interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -688,10 +688,6 @@ def size(self):
def shape(self):
return self.left.shape

@property
def itemsize(self):
return self.left.itemsize + self.right.itemsize

def take(self, indices, allow_fill=False, fill_value=None, axis=None,
**kwargs):
"""
Expand Down
10 changes: 8 additions & 2 deletions pandas/core/indexes/interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,8 +369,14 @@ def shape(self):

@property
def itemsize(self):
# Avoid materializing ndarray[Interval]
return self._data.itemsize
msg = ('IntervalIndex.itemsize is deprecated and will be removed in '
'a future version')
warnings.warn(msg, FutureWarning, stacklevel=2)

# supress the warning from the underlying left/right itemsize
with warnings.catch_warnings():
warnings.simplefilter('ignore')
return self.left.itemsize + self.right.itemsize

def __len__(self):
return len(self.left)
Expand Down
6 changes: 4 additions & 2 deletions pandas/tests/indexes/interval/test_interval.py
Original file line number Diff line number Diff line change
Expand Up @@ -989,9 +989,11 @@ def test_itemsize(self):
# GH 19209
left = np.arange(0, 4, dtype='i8')
right = np.arange(1, 5, dtype='i8')

result = IntervalIndex.from_arrays(left, right).itemsize
expected = 16 # 8 * 2

with tm.assert_produces_warning(FutureWarning, check_stacklevel=False):
result = IntervalIndex.from_arrays(left, right).itemsize

assert result == expected

@pytest.mark.parametrize('new_closed', [
Expand Down

0 comments on commit b62c324

Please sign in to comment.