Skip to content

Commit 9e43a6c

Browse files
backfill_inplace
1 parent 1eb62b2 commit 9e43a6c

File tree

2 files changed

+7
-28
lines changed

2 files changed

+7
-28
lines changed

pandas/_libs_numba/algos.py

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ def pad_inplace(values: np.ndarray, mask: np.ndarray, limit: int | None = None)
586586
def _pad_inplace(
587587
values: np.ndarray, mask: np.ndarray, limit: int | None = None
588588
) -> None:
589-
if len(values):
589+
if values.shape[0]:
590590
if limit is None:
591591
_pad_inplace_no_limit(values, mask)
592592
else:
@@ -734,32 +734,11 @@ def _pad_inplace_with_limit(values: np.ndarray, mask: np.ndarray, limit: int) ->
734734
# return indexer
735735

736736

737-
# @cython.boundscheck(False)
738-
# @cython.wraparound(False)
739-
# def backfill_inplace(algos_t[:] values, const uint8_t[:] mask, limit=None):
740-
# cdef:
741-
# Py_ssize_t i, N
742-
# algos_t val
743-
# int lim, fill_count = 0
744-
745-
# N = len(values)
746-
747-
# # GH#2778
748-
# if N == 0:
749-
# return
750-
751-
# lim = validate_limit(N, limit)
752-
753-
# val = values[N - 1]
754-
# for i in range(N - 1, -1, -1):
755-
# if mask[i]:
756-
# if fill_count >= lim:
757-
# continue
758-
# fill_count += 1
759-
# values[i] = val
760-
# else:
761-
# fill_count = 0
762-
# val = values[i]
737+
def backfill_inplace(
738+
values: np.ndarray, mask: np.ndarray, limit: int | None = None
739+
) -> None:
740+
_validate_limit(limit)
741+
_pad_inplace(values[::-1], mask[::-1], limit)
763742

764743

765744
# @cython.boundscheck(False)

pandas/core/missing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ def _pad_1d(values, limit=None, mask=None):
701701

702702
def _backfill_1d(values, limit=None, mask=None):
703703
values, mask = _fillna_prep(values, mask)
704-
algos.backfill_inplace(values, mask, limit=limit)
704+
algos_numba.backfill_inplace(values, mask, limit=limit)
705705
return values
706706

707707

0 commit comments

Comments
 (0)