Python Pandas

Pandas to Date

Pandas, a widely-used Python library for data manipulation and analysis, relies heavily on DataFrames as its primary data structure. DataFrames are 2-dimensional labeled data structures with columns of different types. Sometimes while working with DataFrames, we need to transform it into a datetime object. The “pandas.to_date()” method is utilized to convert/transform data into a datetime object.

This guide will present a comprehensive tutorial on the “pandas.to_date()” method utilizing numerous methods, such as:

How to Convert Pandas DataFrame Columns to Datetime in Python?

In Python, the “pandas.to_datetime()” method is utilized to change the input argument value into a datetime object. The datetime object shows a particular time, such as “2023-09-10 07:21:59”. This method is used to convert Pandas DataFrame columns into datetime objects.

Syntax

pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=False, format=None, exact=_NoDefault.no_default, unit=None, infer_datetime_format=_NoDefault.no_default, origin='unix', cache=True)

 

Parameters

In the above syntax:

  • The “arg” parameter represents the input object to convert to a datetime object.
  • The “errors” parameter specifies how we can handle invalid parsing using various error values.
  • The “dayfirst” parameter is used to parse dates with the day first such as 10/09/2023 is parsed as 2023-09-10.
  • The “yearfirst” parameter is used to parse the dates with the year first.
  • The “utc” parameter is used when we want to retrieve a timezone-aware UTC-localized datetime object.
  • The “format” parameter represents the format string that is used to parse the date and time.

You can check this Pandas documentation for further syntax explanation.

Return Value

The retrieved value of the “Pandas to_datetime()” method is a datetime object of the Pandas library.

Example 1: Converting Single DataFrame Column to Datetime Object

In the code below, the “pandas.to_datetime()” method accepts the DataFrame column “start_date” as an argument and transforms/converts it into a datetime object:

import pandas
data = pandas.DataFrame({'Course': ['Python', 'Java', 'Linux', 'Ubuntu'],
                         'start_date': ['2/3/2023', '5/3/2023', '7/3/2023', '12/3/2023'],
                         'end_date': ['12/3/2023', '15/3/2023', '17/3/2023', '22/3/2023']})
print(data, '\n')
data["start_date"]= pandas.to_datetime(data["start_date"])
print(data)

 

The input DataFrame column has been converted into a datetime representation:

Example 2: Converting Multiple DataFrame Columns to Datetime Object

We can also convert multiple DataFrame columns to Datetime objects. In the below-provided code, the “pandas.to_datetime()” method takes the multiple DataFrame columns as a list and converts them into datetime objects:

import pandas
data = pandas.DataFrame({'Course': ['Python', 'Java', 'Linux', 'Ubuntu'],
                         'start_date': ['3/2/2023', '3/5/2023', '3/7/2023', '3/12/2023'],
                         'end_date': ['3/12/2023', '3/15/2023', '3/17/2023', '3/22/2023']})
print(data, '\n')
data[["start_date", "end_date"]]= data[["start_date", "end_date"]].apply(pandas.to_datetime)
print(data)

 

The multiple DataFrame columns have been converted into datetime representation:

Example 3: Converting Numeric DataFrame Column to Datetime Object

We can also convert the numeric date string column value into a datetime object using the “pandas.to_datetime()” method. Here is an example that will achieve this:

import pandas
data = pandas.DataFrame({'Course': ['Python', 'Java', 'Linux', 'Ubuntu'],
                         'start_date': ['20230302', '20230305', '20230307', '20230312'],
                         'end_date': ['2023/03/12', '2023/03/15', '2023/03/17', '2023/03/22']})
print(data, '\n')
data["start_date"]= pandas.to_datetime(data["start_date"])
print(data, '\n')
print(data.dtypes)

 

The numeric datetime object has been converted into a datetime object:

Example 4: Converting DataFrame Column to Datetime Object with Specified Format

Sometimes, we need to convert the column to a datetime object by specifying the particular format of the datetime. The “format” parameter is used to specify the format for the conversion of the date string into a datetime object. Take the following code to demonstrate this:

import pandas
data = pandas.DataFrame({'Course': ['Python', 'Java', 'Linux', 'Ubuntu'],
                         'start_date': ['230302', '230305', '230307', '230312']})
print(data, '\n')
data["start_date"]= pandas.to_datetime(data["start_date"], format='%y%m%d')
print(data)

 

Conclusion

In Python, the “pandas.to_date()” method of the “pandas” library is used to convert an object into a datetime format object. This method can be used to convert the single, multiple, or more than one DataFrame column’s value into datetime objects. We can also provide the datetime objects utilizing the “format” columns.

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.