Pandas
keyboard_arrow_down 655 guides
chevron_leftTime Series Cookbook
Adding new column containing the difference between two date columnsCombining columns containing date and timeCombining columns of years, months and daysConverting a column of strings to datetimeConverting dates to stringsConverting datetime column to date and time columnsConverting DatetimeIndex to Series of datetimeConverting index to datetimeConverting UNIX timestamp to datetimeCreating a column of datesCreating a range of datesExtracting month and year from Datetime columnGetting all weekdays between two datesGetting all weekends between two datesGetting day unit from date columnGetting month unit from date columnGetting name of months in date columnGetting week numbers from a date columnGetting day of week of date columnsGetting year unit from date columnModifying datesOffsetting datetimeRemoving time unit from datesSetting date to beginning of monthSorting DataFrame by datesUsing dates as the index of a DataFrame
check_circle
Mark as learned thumb_up
1
thumb_down
0
chat_bubble_outline
0
Comment auto_stories Bi-column layout
settings
Combining columns containing date and time in Pandas
schedule Aug 12, 2023
Last updated local_offer
Tags Python●Pandas
tocTable of Contents
expand_more Master the mathematics behind data science with 100+ top-tier guides
Start your free 7-days trial now!
Start your free 7-days trial now!
Consider the following DataFrame:
df = pd.DataFrame({"A":["2020-12-22","2020-12-23"], "B":["15:30:00","16:30:00"]})df
A B0 2020-12-22 15:30:001 2020-12-23 16:30:00
Here, column A
represents the date unit while B
represents the time unit. They are both of type string
.
Solution
To add a new column C
of type datetime64
that combines A
and B
:
df["C"] = pd.to_datetime(df["A"] + " " + df["B"])df
A B C0 2020-12-22 15:30:00 2020-12-22 15:30:001 2020-12-23 16:30:00 2020-12-23 16:30:00
Explanation
We first make a Series of datetime strings using concatenation:
df["A"] + " " + df["B"]
0 2020-12-22 15:30:001 2020-12-23 16:30:00dtype: object
The space " "
is essential - the conversion to datetime64
is not possible without it.
We then use to_datetime(~)
method to convert the datetime strings into type datetime64
.
Published by Isshin Inada
Edited by 0 others
Did you find this page useful?
thumb_up
thumb_down
Comment
Citation
Ask a question or leave a feedback...
thumb_up
1
thumb_down
0
chat_bubble_outline
0
settings
Enjoy our search
Hit / to insta-search docs and recipes!