To extract the day of year from a datetime column in pandas, you can access the “day_of_year” property. The “day_of_year” property returns a 64-bit integer.

import pandas as pd

df = pd.DataFrame({
    "date": ["2021-09-30", "2021-12-31", "2022-03-31", "2022-06-30", "2022-09-30", "2022-12-31"],
    "sales": [100,30,50,60,10,80]
})

df["date"] = pd.to_datetime(df["date"])

df["day_of_year"] = df["date"].dt.day_of_year

print(df)

#Output:
        date  sales  day_of_year
0 2021-09-30    100          273
1 2021-12-31     30          365
2 2022-03-31     50           90
3 2022-06-30     60          181
4 2022-09-30     10          273
5 2022-12-31     80          365

When working with data which contains information over time, the ability to extract certain pieces of information from our data easily is valuable.

One such piece of information is getting the day of year from a date when using pandas in Python.

You can access the pandas datetime “day_of_year” property and get the day of the year from a datetime in pandas. The “day_of_year” property returns a 64-bit integer.

Below is a simple example which shows you how to get the day of the year from a datetime variables in a pandas DataFrame.

import pandas as pd

df = pd.DataFrame({
    "date": ["2021-09-30", "2021-12-31", "2022-03-31", "2022-06-30", "2022-09-30", "2022-12-31"],
    "sales": [100,30,50,60,10,80]
})

df["date"] = pd.to_datetime(df["date"])

df["day_of_year"] = df["date"].dt.day_of_year

print(df)

#Output:
        date  sales  day_of_year
0 2021-09-30    100          273
1 2021-12-31     30          365
2 2022-03-31     50           90
3 2022-06-30     60          181
4 2022-09-30     10          273
5 2022-12-31     80          365

Hopefully this article has been useful for you to learn how to get the day of year from a datetime variable in a pandas DataFrame in Python.

Categorized in:

Python,

Last Update: March 1, 2024