This appears related to https://github.com/pandas-dev/pandas/issues/45725 which is marked closed but this is highly reproducible on 1.5.1, Python 3.8.2
import pandas
import numpy
data = list(numpy.nan for b in range(0,100))
df = pandas.DataFrame({'a': data})
df['a'].replace(numpy.nan, None)
Gives error
File "C:\Users\carpt9\AppData\Roaming\JetBrains\PyCharm2022.2\scratches\scratch_2.py", line 9, in <module>
df['a'].replace(numpy.nan, None)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\util\_decorators.py", line 331, in wrapper
return func(*args, **kwargs)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\series.py", line 5380, in replace
return super().replace(
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\util\_decorators.py", line 331, in wrapper
return func(*args, **kwargs)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\generic.py", line 7280, in replace
new_data = self._mgr.replace(
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\managers.py", line 467, in replace
return self.apply(
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\managers.py", line 347, in apply
applied = getattr(b, f)(**kwargs)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\blocks.py", line 612, in replace
return blk.replace(
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\blocks.py", line 612, in replace
return blk.replace(
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\blocks.py", line 612, in replace
return blk.replace(
[Previous line repeated 978 more times]
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\blocks.py", line 611, in replace
blk = self.coerce_to_target_dtype(value)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\blocks.py", line 450, in coerce_to_target_dtype
return self.astype(new_dtype, copy=False)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\internals\blocks.py", line 526, in astype
new_values = astype_array_safe(values, dtype, copy=copy, errors=errors)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\dtypes\astype.py", line 299, in astype_array_safe
new_values = astype_array(values, dtype, copy=copy)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\dtypes\astype.py", line 217, in astype_array
if is_datetime64tz_dtype(dtype) and is_datetime64_dtype(values.dtype):
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\dtypes\common.py", line 390, in is_datetime64tz_dtype
return DatetimeTZDtype.is_dtype(arr_or_dtype)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\dtypes\base.py", line 312, in is_dtype
if isinstance(dtype, (ABCSeries, ABCIndex, ABCDataFrame, np.dtype)):
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\dtypes\generic.py", line 47, in _instancecheck
return _check(inst) and not isinstance(inst, type)
File "C:\Users\carpt9\AppData\Local\pypoetry\Cache\virtualenvs\ot-airflow-J7BRUYuz-py3.8\lib\site-packages\pandas\core\dtypes\generic.py", line 41, in _check
return getattr(inst, attr, "_typ") in comp
RecursionError: maximum recursion depth exceeded while calling a Python object
Comment From: timc
Confirmed this works as expected on 1.4.4
Comment From: asishm
the fix will be available in 1.5.2 when released.
Comment From: phofl
Yes, this is a duplicate. Thanks for the report