A default dtype of DataFrame index is int64 and I would like to change it to int32.
I tried changing it with pd.DataFrame.set_index and Num
All of the code paths I could find, coerce the dtype:
Check in pandas.Index.__new__()
if issubclass(data.dtype.type, np.integer):
from .numeric import Int64Index
return Int64Index(data, copy=copy, dtype=dtype, name=name)
This allows passing a dtype, but in NumericIndex().__new__() we have:
if copy or not is_dtype_equal(data.dtype, cls._default_dtype):
subarr = np.array(data, dtype=cls._default_dtype, copy=copy)
Which changes the dtype.