Skip to content

Commit 7dacd5c

Browse files
committed
Address lingering generic np.timedelta64("NaT") warning; defensively
switch to non-generic np.datetime64("NaT") values.
1 parent 26cf1d3 commit 7dacd5c

File tree

6 files changed

+13
-9
lines changed

6 files changed

+13
-9
lines changed

xarray/coding/times.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,7 @@ def cftime_to_nptime(
830830
f"standard calendar. Reason: {e}."
831831
) from e
832832
else:
833-
dt = np.datetime64("NaT")
833+
dt = np.datetime64("NaT", time_unit)
834834
new.append(dt)
835835
return np.asarray(new).reshape(times.shape)
836836

xarray/tests/test_accessor_dt.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ def test_seasons(self) -> None:
266266
dates = xr.date_range(
267267
start="2000/01/01", freq="ME", periods=12, use_cftime=False
268268
)
269-
dates = dates.append(pd.Index([np.datetime64("NaT")]))
269+
dates = dates.append(pd.Index([np.datetime64("NaT", "us")]))
270270
dates = xr.DataArray(dates)
271271
seasons = xr.DataArray(
272272
[

xarray/tests/test_coding_times.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1391,7 +1391,11 @@ def test_roundtrip_datetime64_nanosecond_precision(
13911391
) -> None:
13921392
# test for GH7817
13931393
time = np.datetime64(timestr, format)
1394-
times = [np.datetime64("1970-01-01T00:00:00", format), np.datetime64("NaT"), time]
1394+
times = [
1395+
np.datetime64("1970-01-01T00:00:00", format),
1396+
np.datetime64("NaT", format),
1397+
time,
1398+
]
13951399

13961400
if use_encoding:
13971401
encoding = dict(dtype=dtype, _FillValue=fill_value)

xarray/tests/test_dataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1335,7 +1335,7 @@ def test_chunk_by_frequency(self, freq: str, calendar: str, add_gap: bool) -> No
13351335
).to_numpy(copy=True)
13361336
if add_gap:
13371337
# introduce an empty bin
1338-
time[31 : 31 + ΔN] = np.datetime64("NaT")
1338+
time[31 : 31 + ΔN] = np.datetime64("NaT", "us")
13391339
time = time[~np.isnat(time)]
13401340
else:
13411341
time = time[:N]

xarray/tests/test_duck_array_ops.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -723,11 +723,11 @@ def test_argmin_max_error():
723723
["array", "expected"],
724724
[
725725
(
726-
np.array([np.datetime64("2000-01-01"), np.datetime64("NaT")]),
726+
np.array([np.datetime64("2000-01-01"), np.datetime64("NaT", "D")]),
727727
np.array([False, True]),
728728
),
729729
(
730-
np.array([np.timedelta64(1, "h"), np.timedelta64("NaT")]),
730+
np.array([np.timedelta64(1, "h"), np.timedelta64("NaT", "h")]),
731731
np.array([False, True]),
732732
),
733733
(

xarray/tests/test_groupby.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ def test_groupby_drops_nans(shuffle: bool, chunk: Literal[False] | dict) -> None
726726
[
727727
np.datetime64("2001-01-01"),
728728
np.datetime64("2001-01-01"),
729-
np.datetime64("NaT"),
729+
np.datetime64("NaT", "D"),
730730
],
731731
)
732732
expected5 = xr.DataArray(3, [("t", [np.datetime64("2001-01-01")])])
@@ -2018,7 +2018,7 @@ def test_resample_first_last(self, use_cftime) -> None:
20182018
# missing periods, GH10169
20192019
actual = array.isel(time=[0, 1, 2, 3, 8, 9]).resample(time="1D").last()
20202020
expected = DataArray(
2021-
np.array([times[3], np.datetime64("NaT"), times[9]]),
2021+
np.array([times[3], np.datetime64("NaT", "us"), times[9]]),
20222022
dims="time",
20232023
coords={"time": times[::4]},
20242024
name="time",
@@ -3836,7 +3836,7 @@ def test_mean_datetime_edge_cases():
38363836
# Test with NaT values
38373837
dates_with_nat = pd.date_range("2021-01-01", periods=4, freq="D")
38383838
dates_with_nat_array = dates_with_nat.values.copy()
3839-
dates_with_nat_array[1] = np.datetime64("NaT")
3839+
dates_with_nat_array[1] = np.datetime64("NaT", "us")
38403840

38413841
ds = xr.Dataset(
38423842
{

0 commit comments

Comments
 (0)