简体   繁体   中英

convert yyyy-mm-dd to mmm-yy in dataframe python

I am trying to convert the way month and year is presented.

I have dataframe as below

Date
2020-01-31
2020-04-30
2021-05-05

and I want to convert it in the way like month and year. The output that I am expecting is

Date
Jan-20
Apr-20
May-21

I tried to do it with datetime but it doesn't work.

pd.to_datetime(pd.Series(df['Date'),format='%mmm-%yy')

Use .dt.strftime() to change the display format. %b-%y is the format string for Mmm-YY :

df.Date = pd.to_datetime(df.Date).dt.strftime('%b-%y')

#      Date
# 0  Jan-20
# 1  Apr-20
# 2  May-21

Or if Date is the index:

df.index = pd.to_datetime(df.index).dt.strftime('%b-%y')
import pandas as pd

date_sr = pd.to_datetime(pd.Series("2020-12-08"))
change_format = date_sr.dt.strftime('%b-%Y')
print(change_format)

reference https://docs.python.org/3/library/datetime.html %Y-%m-%d changed to ('%b-%y')

import datetime
df['Date'] = df['Date'].apply(lambda x: datetime.datetime.strptime(x,'%Y-%m-%d').strftime('%b-%y'))
# reference https://docs.python.org/3/library/datetime.html
# %Y-%m-%d changed to ('%b-%y')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM