diff --git a/pandas/tests/frame/methods/test_interpolate.py b/pandas/tests/frame/methods/test_interpolate.py index 25d4019fda9f8..1910e3c8c1c60 100644 --- a/pandas/tests/frame/methods/test_interpolate.py +++ b/pandas/tests/frame/methods/test_interpolate.py @@ -440,3 +440,19 @@ def test_interpolate_arrow(self, dtype): result = df.interpolate(limit=2) expected = DataFrame({"a": [1, 1.5, 2.0, None, 3]}, dtype="float64[pyarrow]") tm.assert_frame_equal(result, expected) + + @pytest.mark.parametrize( + "dtype", + [ + "Int64", + "Float64", + ], + ) + def test_interpolate_time_nullable_int_float(self, dtype): + # GH#40252 + idx = date_range("1970-01-02", periods=3, freq="D") + + df = DataFrame({"a": [1, None, 2]}, index=idx, dtype=dtype) + result = df.interpolate(method="time") + expected = DataFrame({"a": [1.0, 1.5, 2.0]}, index=idx, dtype="Float64") + tm.assert_frame_equal(result, expected)