Open
Description
There are a bunch of places in CategoricalIndex where we check something like:
codes = self.categories.get_indexer(target)
if (codes == -1).any():
do_something()
This leads to ambiguity, as a -1 code can indicate an NA value that is present, or a non-NA value that is not among self.categories. Having to sort out which we're looking at is a hassle which we should try to avoid.