Let’s discuss how to convert an Integer to Datetime in it. Now to convert Integers to Datetime in Pandas DataFrame.
Syntax of pd.to_datetime
df['DataFrame Column'] = pd.to_datetime(df['DataFrame Column'], format=specify your format)
Create the DataFrame to Convert Integer to Datetime in Pandas
Check data type for the ‘Dates’ column is Integer.
Python
# importing pandas package import pandas as pd # creating a dataframe values = { 'Dates' : [ 20190902 , 20190913 , 20190921 ], 'Attendance' : [ 'Attended' , 'Not Attended' , 'Attended' ] } df = pd.DataFrame(values, columns = [ 'Dates' , 'Attendance' ]) # display print (df) print (df.dtypes) |
Output:
Example 1:
Now to convert it into Datetime we use the previously mentioned syntax. Since in this example the date format is yyyymmdd, the date format can be represented as follows:
format= '%Y%m%d'
Python3
# importing pandas package import pandas as pd # creating the dataframe values = { 'Dates' : [ 20190902 , 20190913 , 20190921 ], 'Attendance' : [ 'Attended' , 'Not Attended' , 'Attended' ] } df = pd.DataFrame(values, columns = [ 'Dates' , 'Attendance' ]) # converting the integers to datetime format df[ 'Dates' ] = pd.to_datetime(df[ 'Dates' ], format = '%Y%m%d' ) # display print (df) print (df.dtypes) |
Output:
Example 2:
Now, suppose the Pandas DataFrame has a date in the format yymmdd. In this case, the date format would now contain ‘y’ in lowercase:
format='%y%m%d'
Python3
# importing pandas package import pandas as pd # creating dataframe values = { 'Dates' : [ 190902 , 190913 , 190921 ], 'Attendance' : [ 'Attended' , 'Not Attended' , 'Attended' ] } df = pd.DataFrame(values, columns = [ 'Dates' , 'Attendance' ]) # changing the integer dates to datetime format df[ 'Dates' ] = pd.to_datetime(df[ 'Dates' ], format = '%y%m%d' ) # display print (df) print (df.dtypes) |
Output:
Example 3:
Now, let’s suppose that your integers contain both date and time. In that case, the format that you should specify is:
format='%Y%m%d%H%M%S'
Python3
# importing pandas package import pandas as pd # creating dataframe values = { 'Dates' : [ 20190902093000 , 20190913093000 , 20190921200000 ], 'Attendance' : [ 'Attended' , 'Not Attended' , 'Attended' ] } df = pd.DataFrame(values, columns = [ 'Dates' , 'Attendance' ]) # changing integer values to datetime format df[ 'Dates' ] = pd.to_datetime(df[ 'Dates' ], format = '%Y%m%d%H%M%S' ) # display print (df) print (df.dtypes) |
Output:
Example 4:
Consider this DataFrame with microseconds in our DateTime values. In this case, the format should be specified as:
format='%Y%m%d%H%M%S%F'
Python3
# importing pandas package import pandas as pd # creating dataframe values = { 'Dates' : [ 20190902093000912 , 20190913093000444 , 20190921200000009 ], 'Attendance' : [ 'Attended' , 'Not Attended' , 'Attended' ] } df = pd.DataFrame(values, columns = [ 'Dates' , 'Attendance' ]) # changing the integer dates to datetime format df[ 'Dates' ] = pd.to_datetime(df[ 'Dates' ], format = '%Y%m%d%H%M%S%F' ) # display print (df) print (df.dtypes) |
Output: