Skip to content

API/INT: why is to_pydatetime handled differently in Series.dt accessor? #20306

Closed
@jorisvandenbossche

Description

@jorisvandenbossche

While reviewing: #20198, I notices this was defined in the DatetimeProperties itself:

class DatetimeProperties(Properties):
"""
Accessor object for datetimelike properties of the Series values.
Examples
--------
>>> s.dt.hour
>>> s.dt.second
>>> s.dt.quarter
Returns a Series indexed like the original Series.
Raises TypeError if the Series does not contain datetimelike values.
"""
def to_pydatetime(self):
return self._get_values().to_pydatetime()
@property
def freq(self):
return self._get_values().inferred_freq
DatetimeProperties._add_delegate_accessors(
delegate=DatetimeIndex,
accessors=DatetimeIndex._datetimelike_ops,
typ='property')
DatetimeProperties._add_delegate_accessors(
delegate=DatetimeIndex,
accessors=DatetimeIndex._datetimelike_methods,
typ='method')

Is there any reason that we have it like that, while all others are just wrapped DatetimeIndex attributes/methods?

Because that means this returns (a bit strangly) an ndarray instead of a Series of the datetime.datetime values (making it inconsistent with other methods)

cc @jbrockmendel @jreback

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions