See discussion in https://github.com/pydata/pandas/issues/14266.
IndexEngine.get_loc
currently does lookups without building a hash table for large indices, as does DatetimeEngine.__contains__
. get_indexer
, however, still always populates a table, as does __contains__
on non-datetime indices.
Comment From: jbrockmendel
__contains__
now directly calls get_loc
, avoiding creating a hashtable in the same set of cases. get_indexer
always uses a mapping though