Long overdue follow-up item on the initial merge of the nullable float64/float32 support (https://github.com/pandas-dev/pandas/pull/34307).
List of follow-up TODO items:
- [x] Update the
convert_dtypes
method to also return nullable floats (one question here: what with floats that are all "integer"-like? I think we want to keep returning nullable int for that, but we might want to add a parameter controlling that behaviour?) -> #38117 - [x] Arithmetic operations with IntegerArray/BooleanArray can now return a FloatingArray instead of numpy float array(eg division with Int64 should give Float64 -> #38178
- [ ] Ufuncs on IntegerArray/BooleanArray can return FloatingArray, ufuncs on mixture of IntegerArray/FloatArray
- [x] Consolidate some tests that are common for integer/boolean/float
- For example the
value_counts
test could easily be shared and moved to masked/ (see the ones I added in https://github.com/pandas-dev/pandas/pull/38178) - [ ] Deduplicate more things between the Array classes and move to BaseMaskedArray (eg the arithmetic / comparison ops can probably be moved with a bit of refactoring)
- [x]
__from_arrow__
-> https://github.com/pandas-dev/pandas/pull/38411 - [x] ufuncs -> https://github.com/pandas-dev/pandas/pull/38412
- [ ]
coerce_to_array
, but this will probably require some refactoring - [x] Honor the formatting options (eg precision) #39336
- [x] Fix membership test for np.nan (
np.nan in arr
), see https://github.com/pandas-dev/pandas/pull/37867#discussion_r531079439
And of course, we also still have the NA vs NaN discussion to further flesh out (https://github.com/pandas-dev/pandas/issues/32265), but this issue is for the direct practical TODO items.