diff --git a/pandas/core/arrays/masked.py b/pandas/core/arrays/masked.py index b5c686f53597f..1f3790e0dfccc 100644 --- a/pandas/core/arrays/masked.py +++ b/pandas/core/arrays/masked.py @@ -1126,7 +1126,7 @@ def _wrap_na_result(self, *, name, axis, mask_size): mask = np.ones(mask_size, dtype=bool) float_dtyp = "float32" if self.dtype == "Float32" else "float64" - if name in ["mean", "median", "var", "std", "skew"]: + if name in ["mean", "median", "var", "std", "skew", "kurt"]: np_dtype = float_dtyp elif name in ["min", "max"] or self.dtype.itemsize == 8: np_dtype = self.dtype.numpy_dtype.name diff --git a/pandas/tests/arrays/integer/test_reduction.py b/pandas/tests/arrays/integer/test_reduction.py index 5326a8cb0356b..1c91cd25ba69c 100644 --- a/pandas/tests/arrays/integer/test_reduction.py +++ b/pandas/tests/arrays/integer/test_reduction.py @@ -22,6 +22,7 @@ ["var", np.float64(0.5)], ["std", np.float64(0.5**0.5)], ["skew", pd.NA], + ["kurt", pd.NA], ["any", True], ["all", True], ], @@ -44,6 +45,7 @@ def test_series_reductions(op, expected): ["var", Series([0.5], index=["a"], dtype="Float64")], ["std", Series([0.5**0.5], index=["a"], dtype="Float64")], ["skew", Series([pd.NA], index=["a"], dtype="Float64")], + ["kurt", Series([pd.NA], index=["a"], dtype="Float64")], ["any", Series([True], index=["a"], dtype="boolean")], ["all", Series([True], index=["a"], dtype="boolean")], ], @@ -95,6 +97,7 @@ def test_groupby_reductions(op, expected): ["var", Series([2, 2], index=["B", "C"], dtype="Float64")], ["std", Series([2**0.5, 2**0.5], index=["B", "C"], dtype="Float64")], ["skew", Series([pd.NA, pd.NA], index=["B", "C"], dtype="Float64")], + ["kurt", Series([pd.NA, pd.NA], index=["B", "C"], dtype="Float64")], ["any", Series([True, True, True], index=["A", "B", "C"], dtype="boolean")], ["all", Series([True, True, True], index=["A", "B", "C"], dtype="boolean")], ],