In Pandas, you can extract the day, month, and year from a DateTime column using the dt accessor, which provides a variety of datetime-related properties.
In this article, I will quickly explain how to create new columns by extracting Data, Month, and Year from the DateTime column.
Key Points –
- Use the
pd.to_datetime()function to ensure a column is in DateTime format before extracting specific components like day, month, or year. - To extract the year, access the
.dt.yearattribute of a DateTime column. - For retrieving the month, use the
.dt.monthattribute. - To get the day of the month, utilize the
.dt.dayattribute. - The
.dtaccessor is used exclusively with columns of DateTime dtype; attempting to use it on non-DateTime types will result in an error. - You can extract weekday information using
.dt.day_name()or.dt.weekday, where.dt.weekdayreturns an integer (0 for Monday, 6 for Sunday).
Quick Examples of Extracting Day, Month, and Year from DateTime
Following are quick examples of extracting Data, Month, and Year from the DateTime column.
# Quick examples of extracting day, month, and year from datetime
# Example 1: Using dt accessor to extract day
df["InsertedDateTime"]= pd.to_datetime(df[ "InsertedDateTime"])
df['DayOfMonth']=df[ "InsertedDateTime"].dt.day
# Example 2: Using dt accessor to extract month
df["InsertedDateTime"]= pd.to_datetime(df[ "InsertedDateTime"])
df['Month']=df[ "InsertedDateTime"].dt.month
# Example 3: Using dt accessor to extract year
df["InsertedDateTime"]= pd.to_datetime(df[ "InsertedDateTime"])
df['Year']=df[ "InsertedDateTime"].dt.year
First, let’s create Pandas DataFrame.
# Create DataFrame
import pandas as pd
technologies = ({
'Courses':["Spark","PySpark","Hadoop","Python","Pandas"],
'Fee':[22000,25000,23000,24000,26000],
"InsertedDateTime":['2021-11-15 21:04:15','2020-05-04 22:04:10','2018-01-26 15:23:14','2019-02-18 10:05:18','2021-12-10 15:13:21']
})
df = pd.DataFrame(technologies)
print("DataFrame:\n", df)
Yields below output.

Get Day from DateTime
You can use the dt.day attribute to get the Day from the datetime. Before going to get the day from the datetime column we need to convert the InsertedDateTime column from string object to datetime type using the <a href="https://sparkbyexamples.com/tag/pd-to_datetime/">pd.to_datetime()</a> method.
# Using dt accessor to extract day
df["InsertedDateTime"]= pd.to_datetime(df[ "InsertedDateTime"])
df['DayOfMonth']=df[ "InsertedDateTime"].dt.day
print("Get the day from the datetime column:\n", df)
Yields below output.

Get Month from DateTime
To extract the month from a datetime column in a Pandas DataFrame, you can use the dt accessor, which allows you to access various datetime properties. In this DataFrame, the Month column contains the month extracted from the InsertedDateTime column.
# Using dt accessor to extract month
df["InsertedDateTime"]= pd.to_datetime(df[ "InsertedDateTime"])
df['Month']=df[ "InsertedDateTime"].dt.month
print("Get the month from the datetime column:\n", df)
Yields below output.
# Output:
# Get the month from the datetime column:
Courses Fee InsertedDateTime Month
0 Spark 22000 2021-11-15 21:04:15 11
1 PySpark 25000 2020-05-04 22:04:10 5
2 Hadoop 23000 2018-01-26 15:23:14 1
3 Python 24000 2019-02-18 10:05:18 2
4 Pandas 26000 2021-12-10 15:13:21 12
Get Year from DateTime
You can extract the year from a datetime column in a Pandas DataFrame, you can use the dt accessor. In this DataFrame, the Year column contains the year extracted from the InsertedDateTime column.
# Using dt accessor to extract year
df["InsertedDateTime"]= pd.to_datetime(df[ "InsertedDateTime"])
df['Year']=df[ "InsertedDateTime"].dt.year
print("Get the year from the datetime column:\n", df)
Yields below output.
# Output:
# Get the year from the datetime column:
Courses Fee InsertedDateTime Year
0 Spark 22000 2021-11-15 21:04:15 2021
1 PySpark 25000 2020-05-04 22:04:10 2020
2 Hadoop 23000 2018-01-26 15:23:14 2018
3 Python 24000 2019-02-18 10:05:18 2019
4 Pandas 26000 2021-12-10 15:13:21 2021
FAQ on Pandas Get Day, Month, and Year from DateTime
To get the day from a DateTime column in a Pandas DataFrame, you can use the .dt.day attribute.
To get the month from a DateTime column in a Pandas DataFrame, you can use the .dt.month attribute.
To get the year from a DateTime column in a Pandas DataFrame, you can use the .dt.year attribute.
To extract the full date, month, or year in a specific format from a DateTime column in Pandas, you can use the strftime() function.
You can extract the day of the week from a DateTime column in Pandas using the .dt.weekday or .dt.day_name() attributes.
Conclusion
In this article, you have learned how to extract day, month, and year from the datetime column of Pandas DataFrame by using the pandas.Series.dt attribute with some examples.
Happy Learning !!
Related Articles
- Convert Column To DateTime
- Convert Integer to Datetime Type
- Convert Datetime to Date Column
- Extract Month and Year from Datetime
- Convert Pandas DatetimeIndex to String
- Sort Pandas DataFrame by Date (Datetime)
- Convert Date (datetime) to String Format
- Convert Multiple Columns To DateTime Type
- Pandas rolling() Mean, Average, Sum Examples