Skip to content

Commit 3d4bc3c

Browse files
committed
assert that _simple_new always receives an array of datetime64[ns]
1 parent deca8a4 commit 3d4bc3c

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

pandas/core/indexes/datetimes.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -556,9 +556,9 @@ def _generate(cls, start, end, periods, name, freq,
556556
tz,
557557
ambiguous=ambiguous)
558558

559-
arr = arr.view(_NS_DTYPE)
560559
index = DatetimeIndex(arr)
561560

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

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

617617
if is_object_dtype(values):
618618
return cls(values, name=name, freq=freq, tz=tz,
@@ -2094,6 +2094,8 @@ def _generate_regular_range(start, end, periods, freq):
20942094
"if a 'period' is given.")
20952095

20962096
data = np.arange(b, e, stride, dtype=np.int64)
2097+
2098+
# _simple_new is getting an array of int64 here
20972099
data = DatetimeIndex._simple_new(data, None, tz=tz)
20982100
else:
20992101
if isinstance(start, Timestamp):

0 commit comments

Comments
 (0)