Pandas version checks

  • [X] I have checked that this issue has not already been reported.

  • [X] I have confirmed this bug exists on the latest version of pandas.

  • [X] I have confirmed this bug exists on the main branch of pandas.

Reproducible Example

>>> from pandas.core.api import NumericIndex
>>> idx = NumericIndex([1, 2, 3], dtype="float16")
>>> idx
NumericIndex([1, 2, 3], dtype="float16")  # should be float 32, see below
>>> idx.get_loc(1)
KeyError: 1

Issue Description

pandas doesn't have a float16 indexing engine (because khash doesn't have float16 hashing functionality), so can't/shouldn't have float16 index either. If a float16 array is given to NumericIndex, the index should be converted to a float32 index .

Expected Behavior

If a float16 array is given to NumericIndex, the index should be converted to a float32 index .

Installed Versions

Replace this line with the output of pd.show_versions()