REF: Move Categorical logic from Grouping (#46203) by NickCrews · Pull Request #46207 · pandas-dev/pandas (original) (raw)
Notice the type annotation change here.
I'm not sure why mypy was happy before, since algorithms.factorize returns np.ndarray | Index
for uniques
, and an Index
does not satisfy ArrayLike
.
uniques is typed as merely ArrayLike, mypy gets mad with the result from algorithms.factorize:error: Incompatible types in assignment (expression has type "Union[ndarray[Any, Any], Index]", variable has type "Union[ExtensionArray, ndarray[Any, Any]]") [assignment]
Not totally sure this is the best solution, alternatively keep the return type as ArrayLike and do a cast with the result from algorithms.factorize.