diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index bfa669a0ca164..fb3cbfaaae6a5 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -1948,6 +1948,9 @@ def __nonzero__(self): @Appender(_index_shared_docs['__contains__'] % _index_doc_kwargs) def __contains__(self, key): hash(key) + if is_float(key) and is_integer_dtype(self.dtype): + if key != int(key): + return False try: return key in self._engine except (OverflowError, TypeError, ValueError):