Python Pandas

Pandas Add Days to Date

In Python, the “Pandas” library is utilized for data analysis. This library supports various modules and methods to perform different operations on dates and times objects. In Python, various methods are used to add days to date in Pandas.This write-up offers a detailed tutorial on adding days to Date in Pandas using the following methods:

Method 1: Add Days to Date in Pandas Using “pandas.Timedelta()” Method

The “pandas.Timedelta()” method is used to represent the duration and difference between two specified dates or times. This method can also be used to add days to date in Python. The syntax of this particular method is displayed here:

pandas.Timedelta(value=<object object>, unit=None, **kwargs)

For a detailed understanding of this method, you can check this dedicated guide of the “pandas.Timedelta()” method.

Example 1: Adding Days to Date in Pandas DataFrame Column

Let’s utilize this method to add days to date in the DataFrame column via the following code:

import pandas

starting_dates = ["2023-03-04","2023-04-04","2023-05-04","2023-06-04"]

date1=pandas.DataFrame({'Courses Start':pandas.to_datetime(starting_dates), 'Courses Name': ['Python', 'Java', 'JavaScript', 'C++']})

date1['Courses End']=date1['Courses Start']+pandas.Timedelta(days=20)

print(date1)

According to the above code:

  • First, imported the “pandas” module and then created the DataFrame using the “pd.DataFrame()” function.
  • Here, the DataFrame contains one column represented as a DateTime object using the “pandas.to_datetime()” method.
  • Next, the “pandas.Timedelta()” method adds the days to the specified column of the Pandas DataFrame.

Output

The above snippet verified that the specified number of days had been added to the datetime column of DataFrame.

Example 2: Adding Days to Date and Finding the Difference of the Pandas DataFrame Column

This example code adds days to date, then determines the difference between before and after the addition:

import pandas

starting_dates = ["2023-03-04","2023-04-04","2023-05-04","2023-06-04"]

date1=pandas.DataFrame({'Courses Start':pandas.to_datetime(starting_dates), 'Courses Name': ['Python', 'Java', 'JavaScript', 'C++']})

date1['Courses End']=date1['Courses Start']+pandas.Timedelta(days=20)

date1['Duration']=date1['Courses End']- date1['Courses Start']

print(date1)

In this code:

  • Used the “pandas.Timedelta()” method to add the days to the DataFrame date column and retrieve them in a new column.
  • After that, we determined the difference between the input date column and the new date column.

Output

The addition and difference of the DataFrame date column have been retrieved in the above snippet.

Method 2: Add Days to Date in Pandas Using “pandas.DateOffset()” Method

The “pandas.DateOffset()” method can also be used to add days to date in Python. In the following code, the “pandas.DataFrame()” takes dictionary data as an argument and creates the DataFrame with a datetime object column. After that, the “pandas.DateOffset()” method takes the specified days number as an argument and adds them into specified DataFrame column values:

import pandas

starting_dates = ["2023-03-04","2023-04-04","2023-05-04","2023-06-04"]

date1=pandas.DataFrame({'Courses Start':pandas.to_datetime(starting_dates)})

date1['Courses End']=date1+pandas.DateOffset(5)

print(date1)

The above code execution generates the following DataFrame with the column “Courses End”, which represents the date after the addition of particular days:

We can also simply add the DateTime object using the “pandas.DateOffset()” method. In the below example code, the “datetime” object is created using the “datetime.strptime()” method. After that, the specified days have been added to the input datetime object using the “pandas.DateOffset()” method.

import pandas

import datetime

date1=datetime.datetime.strptime('25/05/2023','%d/%m/%Y')

print("Given Date: ",date1)

date2 = date1 + pandas.DateOffset(15)

print("\nDate After Addition of 15 Days: ", date2)

date3 = date1 + pandas.DateOffset(25)

print("\nDate After Addition of 25 Days: ", date3)

The below output verified that the input date had been added with a specified number of days:

Method 3: Add Days to Date in Pandas Using “pandas.to_timedelta()” Method

The “pandas.to_timedelta()” method is used to convert the specified argument into the datetime object. The syntax of this particular method is given below:

pandas.to_timedelta(arg, unit='ns', errors='raise')

Here in this syntax, the “arg” parameter is the data that needs to be converted into timedelta. The “unit” and “errors” are the parameter that specifies units of data and handles the exception.

Here is an example that adds days to date using the “pandas.to_timedelta()” method:

import pandas

import datetime

starting_dates = ["2023-03-04","2023-04-19","2023-05-22","2023-06-03"]

date1=pandas.DataFrame({'Start Date':pandas.to_datetime(starting_dates)}, index= ['HTML', 'C++', 'Java', 'Python'])

print(date1,"\n")

print(date1+pandas.to_timedelta(5,unit='D'),"\n")

print(date1+pandas.to_timedelta('3D'))

In this code:

  • Added the “pandas” and “datetime” modules at the start.
  • After that, the “pandas.DataFrame()” method creates the DataFrame with one datetime object column and specified index.
  • Next, invoked the “pandas.to_timedelta()” method to add the specified number of days to the DataFrame datetime object.

Here is the output of the above-described code:

Method 4: Add Days to Date in Pandas Using Custom Defined Function

We can also define the custom function for adding days to date in Pandas. In the below code, the “add_days()” function is defined with the date and days as an argument value and retrieves the date after adding a specified number of days:

import pandas

import datetime

def add_days(date, days):

date1 = pandas.to_datetime(date) + datetime.timedelta(days=days)

date1 = date1.strftime("%Y-%m-%d")

return date1

print(add_days('2023-04-04', 10))

The above execution retrieves the new date after adding particular days:

Conclusion

The “pandas.Timedelta()”, “pandas.DateOffset()”, “pandas.to_timedelta()”, and custom-defined functions are used to add days to date in Python. These methods can be used to add days to dates of the Datetime columns of Pandas DataFrame. We can also determine/calculate the difference between the original date and the date after the addition of days. This tutorial delivered a comprehensive overview of adding days to date in Python using multiple examples.

About the author

Haroon Javed

Hi, I'm Haroon. I am an electronics engineer and a technical content writer. I am a tech geek who loves to help people to the best of my knowledge.