Skip to content

ENH: Add accessor for isocalendar returning iso year, week, and day #33206

Closed
@mgmarino

Description

@mgmarino

This enhancement request is to add an accessor to DatetimeProperties for the ISO year, which is the year corresponding to the week calculated via ISO 8601.

Currently, we can access the ISO week via week and weekofyear, and Timestamp objects provide isocalendar, which returns the correct ISO year, week, and day.

Examples

For example:

df = pandas.DataFrame()

df["event_date"] = ["2020-01-01", "2019-12-31"]
df["event_date"] = df.event_date.astype("datetime64[D]")

df.event_date.dt.weekofyear.values, df.event_date.dt.year.values

outputs:

(array([1, 1]), array([2020, 2019]))

and accessing the Timestamp objects

df.event_date[0].isocalendar(), df.event_date[1].isocalendar()

yields

((2020, 1, 3), (2020, 1, 2))

It would be great to have an accessor to get access this isocalendar year value for a series, e.g.:

df.event_date.dt.year_for_weekofyear.values
array([2020, 2020])

or maybe even better to have an isocalendar accessor where the same iso values are available like in Timestamp.isocalendar, e.g.

df.event_date.dt.isocalendar.values
array([[2020, 1, 3], [2020, 1, 2]]))

I am happy to try a PR here, but some input would be great as to:

  • which direction to proceed
  • naming, etc.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions