%PDF- %PDF-
| Direktori : /proc/self/root/backups/router/usr/local/lib/python3.11/site-packages/bottleneck/slow/ |
| Current File : //proc/self/root/backups/router/usr/local/lib/python3.11/site-packages/bottleneck/slow/nonreduce.py |
import numpy as np
__all__ = ["replace"]
def replace(a, old, new):
"Slow replace (inplace) used for unaccelerated dtypes."
if type(a) is not np.ndarray:
raise TypeError("`a` must be a numpy array.")
if not issubclass(a.dtype.type, np.inexact):
if old != old:
# int arrays do not contain NaN
return
if int(old) != old:
raise ValueError("Cannot safely cast `old` to int.")
if int(new) != new:
raise ValueError("Cannot safely cast `new` to int.")
if old != old:
mask = np.isnan(a)
else:
mask = a == old
np.putmask(a, mask, new)