Skip to content

BUG: maybe_infer_to_datetimelike incorrect on 2D inputs #23988

Closed
@jbrockmendel

Description

@jbrockmendel

Moved from discussion in #23730

>>> ts = pd.Timestamp.now().tz_localize('US/Pacific')
>>> data = np.array([[ts, ts, ts], [ts, ts, ts]])
>>> pd.DataFrame(data)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pandas/core/frame.py", line 416, in __init__
    copy=copy)
  File "pandas/core/frame.py", line 574, in _init_ndarray
    return create_block_manager_from_blocks([values], [columns, index])
  File "pandas/core/internals/managers.py", line 1665, in create_block_manager_from_blocks
    mgr = BlockManager(blocks, axes)
  File "pandas/core/internals/managers.py", line 118, in __init__
    self=self.ndim))
AssertionError: Number of Block dimensions (1) must equal number of axes (2)

This is because maybe_infer_to_datetimelike returns a DatetimeIndex (and not something 2D)

>>> from pandas.core.frame import maybe_infer_to_datetimelike
>>> maybe_infer_to_datetimelike(data)
DatetimeIndex(['2018-11-28 16:07:44.050944-08:00',
               '2018-11-28 16:07:44.050944-08:00',
               '2018-11-28 16:07:44.050944-08:00',
               '2018-11-28 16:07:44.050944-08:00',
               '2018-11-28 16:07:44.050944-08:00',
               '2018-11-28 16:07:44.050944-08:00'],
              dtype='datetime64[ns, US/Pacific]', freq=None)

cc @h-vetinari since you're already on a roll in this neighborhood

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions