Skip to content

Commit 4233f6f

Browse files
committed
assert that _simple_new always receives an array of datetime64[ns]
1 parent f841afd commit 4233f6f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

pandas/core/indexes/datetimes.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -555,9 +555,9 @@ def _generate(cls, start, end, periods, name, freq,
555555
tz,
556556
ambiguous=ambiguous)
557557

558-
arr = arr.view(_NS_DTYPE)
559558
index = DatetimeIndex(arr)
560559

560+
561561
# index is localized datetime64 array -> have to convert
562562
# start/end as well to compare
563563
if start is not None:
@@ -610,8 +610,8 @@ def _simple_new(cls, values, name=None, freq=None, tz=None,
610610
dtype=dtype, **kwargs)
611611
values = np.array(values, copy=False)
612612

613-
# values should be a numpy array
614-
assert isinstance(values, np.ndarray)
613+
assert isinstance(values, np.ndarray), "values is not an np.ndarray"
614+
assert is_datetime64_dtype(values)
615615

616616
if is_object_dtype(values):
617617
return cls(values, name=name, freq=freq, tz=tz,
@@ -1862,6 +1862,8 @@ def _generate_regular_range(start, end, periods, freq):
18621862
"if a 'period' is given.")
18631863

18641864
data = np.arange(b, e, stride, dtype=np.int64)
1865+
1866+
# _simple_new is getting an array of int64 here
18651867
data = DatetimeIndex._simple_new(data, None, tz=tz)
18661868
else:
18671869
if isinstance(start, Timestamp):

0 commit comments

Comments
 (0)