pandas.to_datetime()
function in the Pandas library in Python used to convert arguments to DateTime. It’s quite handy for converting strings, timestamps, or mixed-type data into datetime objects. In this article, I will explain the pandas.to_datetime()
function, its syntax, parameters, and usage of how to to_datetime()
is a versatile function used extensively in data analysis and manipulation tasks, especially when dealing with time-series data.
Key Points –
Pandas.to_datetime()
converts input into datetime objects.- The function can infer datetime format or be explicitly provided with format specifications.
- It supports handling of missing or erroneous data through optional parameters like errors and
infer_datetime_format
. Pandas.to_datetime()
is a versatile tool for data preprocessing, especially in time-series analysis and data cleaning tasks.- Supports options to handle errors gracefully, such as
'raise'
,'ignore'
, and'coerce'
. - Converts various data types (strings, numbers, lists, etc.) into datetime objects.
Syntax of Pandas.to_datetime()
Following is the syntax of the Pandas.to_datetime()
method.
# Pandas.to_datetime() syntax
Pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False,
utc=None, format=None, exact=True, unit=None,
infer_datetime_format=False, origin='unix', cache=True)
Parameters of the Pandas.to_datetime()
Following are the parameters of the Pandas.to_datetime() function.
arg
– An integer, string, float, list, or DataFrame/dict_like object to convert into a Datetime object.errors
– Take valuesraise
,ignore
orcoerce
. if ‘raise’ is used, raise a KeyError when a dict-like mapper, index, or column contains labels that are not present in the Index being transformed. Default set toignore
.dayfirst
– default set False, Boolean value places day first if True.yearfirst
– Boolean value places year first if True, the default set False.utc
– Boolean value, Returns the time in UTC DatetimeIndex if True.format
– String input to tell the position of the day, month, and year. default set None.exact
– Boolean value, If True, requires an exact format match. – If False, allow the format to match anywhere in the target string.infer_datetime_formatbool
– If True and no format is given, attempt to infer the format of the datetime strings based on the first non-NaN element. the default set False.
Now, let’s create a DataFrame with a few rows and columns, execute the above examples and validate results. Our DataFrame contains column names Courses
, Fee
, Duration
, Discount
and Inserted
.
# Pandas.to_datetime() Syntax & Examples
import pandas as pd
from datetime import datetime, timedelta
from Pandas import DataFrame
df = DataFrame.from_dict(
{'Courses':["Spark","Hadoop","Pandas"],
'Fee' :[20000,25000,30000],
'Duration':['30days','40days','35days'],
'Discount':[1000,2500,1500],
'Inserted': ["11/22/2021, 10:39:24","11/22/2021, 10:39:24","11/22/2021, 10:39:24"]},
orient='index',
columns=['A','B','C']).T
print(df)
Yields below output. Note that Inserted
column on the DataFrame has datetime in the format of "%m/%d/%Y, %H:%M:%S"
# Output:
Courses Fee Duration Discount Inserted
A Spark 20000 30days 1000 11/22/2021, 10:39:24
B Hadoop 25000 40days 2500 11/22/2021, 10:39:24
C Pandas 30000 35days 1500 11/22/2021, 10:39:24
Convert a Pandas String to DateTime
Converting a Pandas string to DateTime is a common operation when dealing with time-series data. You can use the pd.to_datetime()
function
import pandas as pd
# Example string
date_string = '2024-05-07 10:30:00'
# Convert string to datetime
date_time = pd.to_datetime(date_string)
print(date_time)
# Output:
# 2024-05-07 10:30:00
In the above example, the date_string
variable contains a string representing a date and time. The pd.to_datetime()
function converts this string into a Pandas datetime object date_time
. You can now use date_time
for various datetime operations and analyses in Pandas.
FAQ on Pandas.to_datetime()
The pandas.to_datetime()
function is used to convert an argument (string, list, dictionary, or a column in a DataFrame) into a datetime
object, allowing for easier date manipulation and analysis in Pandas.
To use pandas.to_datetime()
to convert a column of date strings to datetime
objects, you simply pass the column (which is typically a Series) to pd.to_datetime()
. This will automatically convert the date strings to datetime64
type, which allows for easier date manipulation and analysis.
You can specify the format
parameter to tell to_datetime()
the exact format of the input strings, which can speed up the conversion process and avoid errors.
You can pass a Unix timestamp (integer or float) to to_datetime()
, and it will automatically be converted to a datetime
object.
to_datetime()
can automatically infer date formats, even if the column has mixed formats, as long as they are recognizable by Pandas.
Related Articles
- How to Format Pandas Datetime?
- Pandas Extract Year from Datetime
- Pandas Filter DataFrame Rows on Dates
- Convert Pandas DatetimeIndex to String
- Pandas Extract Month and Year from Datetime
- Set Order of Columns in Pandas DataFrame
- Pandas Groupby Aggregate Explained
- Pandas Convert Integer to Datetime Type
- Pandas GroupBy Multiple Columns Explained
- Pandas Groupby Sort within Groups