
In Python Pandas 3, you can use PyArrow dtypes — which are nullable:
s = Series([10, 20, 30, 40], dtype='int64[pyarrow]')
s.loc[2] = pd.NA
What is s?
0 10
1 20
2 <NA> # pd.NA, not np.nan
3 40
dtype: int64[pyarrow] # see? Not float!
