ExtensionArray.
_values_for_factorize
Return an array and missing value suitable for factorization.
An array suitable for factorization. This should maintain order and be a supported dtype (Float64, Int64, UInt64, String, Object). By default, the extension array is cast to object dtype.
The value in values to consider missing. This will be treated as NA in the factorization routines, so it will be coded as na_sentinal and not included in uniques. By default, np.nan is used.
np.nan
Notes
The values returned by this method are also used in pandas.util.hash_pandas_object().
pandas.util.hash_pandas_object()