Skip to content

Commit 08a4c1a

Browse files
jbrockmendeljreback
authored andcommitted
BUG: DTA/TDA incorrectly accepting iNaT for setitem (pandas-dev#27699)
1 parent 1fa1ad9 commit 08a4c1a

File tree

3 files changed

+4
-7
lines changed

3 files changed

+4
-7
lines changed

pandas/core/arrays/datetimelike.py

-3
Original file line numberDiff line numberDiff line change
@@ -499,9 +499,6 @@ def __setitem__(
499499
value = self._unbox_scalar(value)
500500
elif is_valid_nat_for_dtype(value, self.dtype):
501501
value = iNaT
502-
elif not isna(value) and lib.is_integer(value) and value == iNaT:
503-
# exclude misc e.g. object() and any NAs not allowed above
504-
value = iNaT
505502
else:
506503
msg = (
507504
"'value' should be a '{scalar}', 'NaT', or array of those. "

pandas/tests/arrays/test_datetimelike.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -682,15 +682,15 @@ def test_casting_nat_setitem_array(array, casting_nats):
682682
[
683683
(
684684
pd.TimedeltaIndex(["1 Day", "3 Hours", "NaT"])._data,
685-
(np.datetime64("NaT", "ns"),),
685+
(np.datetime64("NaT", "ns"), pd.NaT.value),
686686
),
687687
(
688688
pd.date_range("2000-01-01", periods=3, freq="D")._data,
689-
(np.timedelta64("NaT", "ns"),),
689+
(np.timedelta64("NaT", "ns"), pd.NaT.value),
690690
),
691691
(
692692
pd.period_range("2000-01-01", periods=3, freq="D")._data,
693-
(np.datetime64("NaT", "ns"), np.timedelta64("NaT", "ns")),
693+
(np.datetime64("NaT", "ns"), np.timedelta64("NaT", "ns"), pd.NaT.value),
694694
),
695695
],
696696
ids=lambda x: type(x).__name__,

pandas/tests/test_base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ def test_value_counts_unique_nunique_null(self, null_obj):
418418
values = o._shallow_copy(v)
419419
else:
420420
o = o.copy()
421-
o[0:2] = iNaT
421+
o[0:2] = pd.NaT
422422
values = o._values
423423

424424
elif needs_i8_conversion(o):

0 commit comments

Comments
 (0)