Skip to content

Commit d034421

Browse files
committed
Revert "[BUG]: Isin converted floats unnecessarily to int causing rounding issues"
This reverts commit addfd75
1 parent 06aa378 commit d034421

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

pandas/core/algorithms.py

+2-10
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
construct_1d_object_array_from_listlike,
2020
infer_dtype_from_array,
2121
maybe_promote,
22-
maybe_upcast,
2322
)
2423
from pandas.core.dtypes.common import (
2524
ensure_float64,
@@ -450,13 +449,6 @@ def isin(comps: AnyArrayLike, values: AnyArrayLike) -> np.ndarray:
450449
return np.zeros(comps.shape, dtype=bool)
451450

452451
comps, dtype = _ensure_data(comps)
453-
if is_numeric_dtype(comps):
454-
try:
455-
# Try finding a dtype which would not change our values
456-
values, _ = maybe_upcast(values, dtype=dtype)
457-
dtype = values.dtype
458-
except (ValueError, TypeError):
459-
pass
460452
values, _ = _ensure_data(values, dtype=dtype)
461453

462454
f = htable.ismember_object
@@ -472,7 +464,7 @@ def isin(comps: AnyArrayLike, values: AnyArrayLike) -> np.ndarray:
472464
f = lambda c, v: np.logical_or(np.in1d(c, v), np.isnan(c))
473465
else:
474466
f = np.in1d
475-
elif is_integer_dtype(comps.dtype) and is_integer_dtype(values):
467+
elif is_integer_dtype(comps.dtype):
476468
try:
477469
values = values.astype("int64", copy=False)
478470
comps = comps.astype("int64", copy=False)
@@ -481,7 +473,7 @@ def isin(comps: AnyArrayLike, values: AnyArrayLike) -> np.ndarray:
481473
values = values.astype(object)
482474
comps = comps.astype(object)
483475

484-
elif is_numeric_dtype(comps.dtype) or is_numeric_dtype(values):
476+
elif is_float_dtype(comps.dtype):
485477
try:
486478
values = values.astype("float64", copy=False)
487479
comps = comps.astype("float64", copy=False)

0 commit comments

Comments
 (0)