Currently, we cast to float in the IntegerArray reducing ops:
https://github.com/pandas-dev/pandas/blob/db620397328567ff8153ae6031685b88c84dc8f8/pandas/core/arrays/integer.py#L673-L678
However, the nanops
functions can already handle a mask. So with the appropriate fill_value, there should be no need to cast the integers to float (and check for missing values). At least this is the case for skipna=True
, the case of skipna=False
might need to be handled separately.