DEPR/API: Series[categorical].replace behavior (original) (raw)

Discussed briefly at the sprint and achieved consensus:

NDFrame.replace behaves differently with Categorical dtypes than it does with everything else (the special casing occurs in Block.replace and Block.replace_list), changing the dtype in addition to the values. We should deprecate this behavior to make it consistent with other dtypes and tell users to go through e.g. ser.cat.rename_categories instead (not quite as easy as that since rename_categories is only equivalent in some of the affected cases)