Skip to content

Commit 4f9d9df

Browse files
committed
CLN: differentiate 0 and np.nan (pandas-dev#35498)
1 parent ca82d69 commit 4f9d9df

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

pandas/_libs/index.pyx

+9-3
Original file line numberDiff line numberDiff line change
@@ -272,9 +272,10 @@ cdef class IndexEngine:
272272
self._ensure_mapping_populated()
273273
values = np.array(self._get_index_values(), copy=False)
274274
targets_mask = isnaobj(targets)
275+
values_mask = isnaobj(values)
275276
if targets_mask.any():
276277
targets[targets_mask] = 0
277-
values[isnaobj(values)] = 0
278+
values[values_mask] = 0
278279

279280
stargets = set(targets)
280281
n = len(values)
@@ -325,8 +326,13 @@ cdef class IndexEngine:
325326
n_alloc += 10_000
326327
result = np.resize(result, n_alloc)
327328

328-
result[count] = j
329-
count += 1
329+
if val == 0:
330+
if targets_mask[i] == values_mask[j]:
331+
result[count] = j
332+
count += 1
333+
else:
334+
result[count] = j
335+
count += 1
330336

331337
# value not found
332338
else:

0 commit comments

Comments
 (0)