How do I change the date formatting of a column and determine the number of years in Jupyter?

Viewed 83

I've been trying to figure out how to mass change the date formatting of my data (as there are millions of data on the dataset) using Jupyter Notebook as the two datasets given to me has a different date format. Tried to google for codes on how to change the date format but hasn't been successful. For example, I would like to change the date formatting for "Discharged" and the initial dataset after merging to a dataframe and the desired output would look something like this

Dataset (Merged using Dataframe)

ID Age Date Seen Date Discharged
001 21 2019-10-22 02-02-2022 08:00:00PM
002 18 2013-05-24 15-05-2019 06:30:00PM

Desired Output

ID Age Date Seen Date Discharged Calculated Years (Round Up)
001 21 2019-10-22 2022-02-02 3
002 18 2013-05-24 2019-05-15 6
1 Answers

Use dt.normalize:

# Convert to datetime64 if it's not already the case
df['Date Seen'] = pd.to_datetime(df['Date Seen'])
df['Date Discharged'] = pd.to_datetime(df['Date Discharged'])

# Keep date part and compute years
df['Date Discharged'] = df['Date Discharged'].dt.normalize()
df['Years'] = df['Date Discharged'].dt.year - df['Date Seen'].dt.year

Output:

>>> df
     ID  Age  Date Seen Date Discharged  Years
0   001   21 2019-10-22      2022-02-02      3
1   002   18 2013-05-24      2019-05-15      6
Related