diff --git a/pandas/core/arrays/masked.py b/pandas/core/arrays/masked.py index 1fd6482f650da..3aa6a12160b73 100644 --- a/pandas/core/arrays/masked.py +++ b/pandas/core/arrays/masked.py @@ -38,7 +38,6 @@ from pandas.util._decorators import doc from pandas.util._validators import validate_fillna_kwargs -from pandas.core.dtypes.astype import astype_nansafe from pandas.core.dtypes.base import ExtensionDtype from pandas.core.dtypes.common import ( is_bool, @@ -492,10 +491,6 @@ def astype(self, dtype: AstypeArg, copy: bool = True) -> ArrayLike: raise ValueError("cannot convert float NaN to bool") data = self.to_numpy(dtype=dtype, na_value=na_value, copy=copy) - if self.dtype.kind == "f": - # TODO: make this consistent between IntegerArray/FloatingArray, - # see test_astype_str - return astype_nansafe(data, dtype, copy=False) return data __array_priority__ = 1000 # higher than ndarray so ops dispatch to us diff --git a/pandas/tests/arrays/floating/test_astype.py b/pandas/tests/arrays/floating/test_astype.py index 5a6e0988a0897..ade3dbd2c99da 100644 --- a/pandas/tests/arrays/floating/test_astype.py +++ b/pandas/tests/arrays/floating/test_astype.py @@ -65,7 +65,7 @@ def test_astype_to_integer_array(): def test_astype_str(): a = pd.array([0.1, 0.2, None], dtype="Float64") - expected = np.array(["0.1", "0.2", ""], dtype=object) + expected = np.array(["0.1", "0.2", ""], dtype="U32") tm.assert_numpy_array_equal(a.astype(str), expected) tm.assert_numpy_array_equal(a.astype("str"), expected)