check if date is the last day of a year in pandas

Pandas – Check If Date is the Last Day of a Year

The datetime type in pandas comes with a number of useful built-in functions to get additional information about the given date. In this tutorial, we will look at how to check if a date in a pandas dataframe is the last day of a year or not with the help of some examples.

Using the is_year_end attribute

check if date is the last day of a year in pandas

You can use is_year_end attribute on a pandas series (or a column in a dataframe) containing datetime values with the help the .dt accessor to check if each date is the last date of a year or not.

The following is the syntax –

df["Date"].dt.is_year_end

It returns a boolean pandas series where True represents that the corresponding date is the end date of the year and False represents that it’s not.

Examples

Let’s now look at some examples of using the above syntax.

First, we will create a sample dataframe to apply the above method.

import pandas as pd

# create a dataframe
df = pd.DataFrame({
    "Date": pd.date_range("2022-12-26", "2023-01-04"),
    "Sales": [10, 12, 7, 17, 21, 5, 11, 13, 14, 8]
})

# display the dataframe
df

Output:

the resulting dataframe with date level sales data

Here, we created a dataframe with the date level sales data for an ecommerce website. Notice, we used the pandas date_range() function to get datetime values from “2022-12-26” to “2023-01-04” (both inclusive).

📚 Data Science Programs By Skill Level

Introductory

Intermediate ⭐⭐⭐

Advanced ⭐⭐⭐⭐⭐

🔎 Find Data Science Programs 👨‍💻 111,889 already enrolled

Disclaimer: Data Science Parichay is reader supported. When you purchase a course through a link on this site, we may earn a small commission at no additional cost to you. Earned commissions help support this website and its team of writers.

Let’s now check whether the dates in the “Date” represent the last day of a year or not.

df["Date"].dt.is_year_end

Output:

0    False
1    False
2    False
3    False
4    False
5     True
6    False
7    False
8    False
9    False
Name: Date, dtype: bool

We get a pandas series of boolean values. Notice that we get True for the date “2022-12-31” which, in fact, is the last day of the year 2022.

Let’s add the result from the is_year_end attribute as an additional column in the above dataframe.

# add new column
df["Is Last Day of Year"] = df["Date"].dt.is_year_end
# display the dataframe
df

Output:

dataframe with a new column "Is Last Day of Year"

You might also be interested in –


Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.


Author

  • Piyush Raj

    Piyush is a data professional passionate about using data to understand things better and make informed decisions. He has experience working as a Data Scientist in the consulting domain and holds an engineering degree from IIT Roorkee. His hobbies include watching cricket, reading, and working on side projects.

Scroll to Top