Skip to content

Commit ca82d69

Browse files
committed
CLN: Using masks instead of list comprehensions (pandas-dev#35498)
1 parent 3367203 commit ca82d69

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

pandas/_libs/index.pyx

+5-7
Original file line numberDiff line numberDiff line change
@@ -270,13 +270,11 @@ cdef class IndexEngine:
270270
Py_ssize_t i, j, n, n_t, n_alloc
271271

272272
self._ensure_mapping_populated()
273-
if targets[isnaobj(targets)].size > 0:
274-
new_targets = [0 if checknull(t) else t for t in targets]
275-
new_values = [0 if checknull(v) else v for v in self._get_index_values()]
276-
targets = np.array(new_targets, dtype=targets.dtype)
277-
values = np.array(new_values, dtype=self._get_index_values().dtype)
278-
else:
279-
values = np.array(self._get_index_values(), copy=False)
273+
values = np.array(self._get_index_values(), copy=False)
274+
targets_mask = isnaobj(targets)
275+
if targets_mask.any():
276+
targets[targets_mask] = 0
277+
values[isnaobj(values)] = 0
280278

281279
stargets = set(targets)
282280
n = len(values)

0 commit comments

Comments
 (0)