[英]Pandas, format date from dd/mm/yyyy to MMM dd/yy
我想將日期從dd/mm/yyyy
更改為MMM dd/yy
。 即15/04/2021
年 4 月 15 日至APR 15/21
年 4 月 15 日
我的Date
列格式是object
我正在這樣做: df['Date'] = pd.to_datetime(df['Date'], format='%MMM %DD/%YY')
但我收到ValueError: time data '15/04/2021' does not match format '%MMM %dd/%yy' (match)
任何幫助,將不勝感激。
>>> import pandas as pd
>>> df = pd.DataFrame({'Date':['15/04/2021', '12/05/2021', '4/6/2021']})
>>> df
Date
0 15/04/2021
1 12/05/2021
2 4/6/2021
>>> df['Date'] = pd.to_datetime(df['Date'])
>>> df
Date
0 2021-04-15
1 2021-12-05
2 2021-04-06
>>> df['date_formated'] = df['Date'].dt.strftime('%b %d/%y').str.upper()
>>> df
Date date_formated
0 2021-04-15 APR 15/21
1 2021-12-05 DEC 05/21
2 2021-04-06 APR 06/21
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Date 3 non-null datetime64[ns]
1 date_formated 3 non-null object
dtypes: datetime64[ns](1), object(1)
memory usage: 176.0+ bytes
您需要將原始Date
列轉換為datetime
時間格式(默認情況下,熊貓會將日期讀取為字符串)。 完成后,只需更改顯示格式即可。
嘗試這個:
# Convert to datetime
df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%y')
# Solution for title: change display to 'MMM dd/y'
df['Date'] = df['Date'].dt.strftime('%b %d/%y').astype(str).str.upper()
# Solution for comment: change display to 'MMM dd y'
df['Date'] = df['date'].dt.strftime('%b %d %y').astype(str).str.upper()
嘗試 -
df.loc['Date'] = pd.to_datetime(df.Date).dt.strftime('%b %d/%y').str.upper()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.