Skip to content

sequence_to_dt64ns doesn't handle non-ndarray sequences with a dtype #24539

Closed
@TomAugspurger

Description

@TomAugspurger

For example an xarray.DataArray.

In [21]: import xarray as xr

In [22]: import pandas as pd; import numpy as np

In [23]: arr = xr.DataArray(pd.date_range('2000', periods=4).to_numpy())

In [24]: pd.core.arrays.datetimes.sequence_to_dt64ns(arr)
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-24-fd995f4e5bef> in <module>
----> 1 pd.core.arrays.datetimes.sequence_to_dt64ns(arr)

~/sandbox/pandas/pandas/core/arrays/datetimes.py in sequence_to_dt64ns(data, dtype, copy, tz, dayfirst, yearfirst, ambiguous)
   1712         result = result.copy()
   1713
-> 1714     assert isinstance(result, np.ndarray), type(result)
   1715     assert result.dtype == 'M8[ns]', result.dtype
   1716

AssertionError: <class 'xarray.core.dataarray.DataArray'>

A user would hit this via DatetimeIndex(arr)

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugConstructorsSeries/DataFrame/Index/pd.array ConstructorsDatetimeDatetime data dtype

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions