Closed
Description
In [10]: idx = pd.CategoricalIndex(pd.IntervalIndex.from_breaks([1, 2, 3]))
In [11]: 'a' in idx
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-50c294b3bf00> in <module>()
----> 1 'a' in idx
~/sandbox/pandas/pandas/core/indexes/category.py in __contains__(self, key)
358 return self.hasnans
359
--> 360 return contains(self, key, container=self._engine)
361
362 @Appender(_index_shared_docs['contains'] % _index_doc_kwargs)
~/sandbox/pandas/pandas/core/arrays/categorical.py in contains(cat, key, container)
200 # can't be in container either.
201 try:
--> 202 loc = cat.categories.get_loc(key)
203 except KeyError:
204 return False
~/sandbox/pandas/pandas/core/indexes/interval.py in get_loc(self, key, method)
716 key = self._maybe_cast_slice_bound(key, 'left', None)
717
--> 718 start, stop = self._find_non_overlapping_monotonic_bounds(key)
719
720 if start is None or stop is None:
~/sandbox/pandas/pandas/core/indexes/interval.py in _find_non_overlapping_monotonic_bounds(self, key)
664
665 start = self._searchsorted_monotonic(key, 'left')
--> 666 stop = self._searchsorted_monotonic(key, 'right')
667 return start, stop
668
~/sandbox/pandas/pandas/core/indexes/interval.py in _searchsorted_monotonic(self, label, side, exclude_label)
625 sub_idx = self.left
626 if self.open_left or exclude_label:
--> 627 label = _get_prev_label(label)
628
629 return sub_idx._searchsorted_monotonic(label, side)
~/sandbox/pandas/pandas/core/indexes/interval.py in _get_prev_label(label)
90 else:
91 raise TypeError('cannot determine next label for type {typ!r}'
---> 92 .format(typ=type(label)))
93
94
TypeError: cannot determine next label for type <class 'str'>
cc @jschendel