BUG: many methods on CategoricalIndex.str are broken · Issue #23556 · pandas-dev/pandas (original) (raw)
This was also uncovered by #23167, but is a different error than #23555.
Basically, all methods calling CategoricalIndex.str._wrap_result(result, use_codes=True)
will necessarily fail, e.g.:
>>> import pandas as pd
>>> pd.Index(['a', 'b', 'aa'], dtype='category').str.replace('a', 'c')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\ProgramData\Miniconda3\envs\pandas-dev\lib\site-packages\pandas\core\strings.py", line 2430, in replace
return self._wrap_result(result)
File "C:\ProgramData\Miniconda3\envs\pandas-dev\lib\site-packages\pandas\core\strings.py", line 1964, in _wrap_result
result = take_1d(result, self._orig.cat.codes)
AttributeError: 'CategoricalIndex' object has no attribute 'cat'
This is because self._orig
is the original CategoricalIndex
, which does not have a cat
-accessor.