Skip to content

Commit c25d1f8

Browse files
committed
Make it work with NaT and test for that
1 parent 12d2e5b commit c25d1f8

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

pandas/core/missing.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def bfill_nan(arr):
328328
# Generate array where the NaN-gap-width is filled in as value
329329
# at each NaN location.
330330
cumsum = np.cumsum(invalid).astype("float")
331-
diff = np.zeros_like(yvalues)
331+
diff = np.zeros_like(yvalues, dtype='float')
332332
diff[~invalid] = np.pad(np.diff(cumsum[~invalid]), (1, 0), mode="constant")
333333
diff[invalid] = np.nan
334334
diff = bfill_nan(diff)

pandas/tests/series/test_missing.py

+8
Original file line numberDiff line numberDiff line change
@@ -1513,6 +1513,14 @@ def test_interp_max_gap(self):
15131513
result = s.interpolate(method="pad", max_gap=2, limit_area="inside")
15141514
assert_series_equal(result, excpected)
15151515

1516+
def test_interp_max_gap_nat(self):
1517+
series = Series([0, 1, 2, iNaT], dtype="M8[ns]")
1518+
1519+
result = series.interpolate(method="pad", max_gap=2)
1520+
expected = Series([0, 1, 2, 2], dtype="M8[ns]")
1521+
1522+
assert_series_equal(result, expected)
1523+
15161524
def test_interp_max_gap_errors(self):
15171525
s = Series([nan, 1.0, nan, 2.0, nan, nan, 5.0, nan, nan, nan, -1.0, nan, nan])
15181526

0 commit comments

Comments
 (0)