Labels
DatetimeDatetime data dtypeEnhancement

Comments

@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

@jorisvandenbossche

Ah, now I opened this issue, I thought of a probable reason: because otherwise the datetime.datetime values would quickly get inferred / coerced back to datetime64 ?

@jorisvandenbosschejorisvandenbossche added the DatetimeDatetime data dtypelabel Mar 12, 2018
@jreback

yes that is the reason
though we could return an object dtype Index

@jbrockmendel

Could change this for 2.0. Hard to deprecate since there isn't a good "do X instead."

Sign up for free to join this conversation on . Already have an account? Sign in to comment
DatetimeDatetime data dtypeEnhancement
None yet

Successfully merging a pull request may close this issue.