diff --git a/doc/whats-new.rst b/doc/whats-new.rst index 45273d31ca5..d075a9a590e 100644 --- a/doc/whats-new.rst +++ b/doc/whats-new.rst @@ -44,6 +44,7 @@ Bug fixes By `Deepak Cherian `_. - Fix groupby sum, prod for all-NaN groups with ``flox``. (:issue:`7808`). By `Deepak Cherian `_. +- Use `numpy.can_cast` to avoid a RuntimeWarning from numpy. (:pull:`7834`). Documentation ~~~~~~~~~~~~~ diff --git a/xarray/coding/times.py b/xarray/coding/times.py index 3745d61acc0..a746f26385a 100644 --- a/xarray/coding/times.py +++ b/xarray/coding/times.py @@ -615,9 +615,8 @@ def encode_datetime(d): def cast_to_int_if_safe(num) -> np.ndarray: - int_num = np.asarray(num, dtype=np.int64) - if (num == int_num).all(): - num = int_num + if np.can_cast(num, to=np.int64, casting="safe"): + return np.asarray(num, dtype=np.int64) return num