API/INT: why is to_pydatetime handled differently in Series.dt accessor? · Issue #20306 · pandas-dev/pandas (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

@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