如何使用 pandas 更改数据框中的日期时间格式?
我是熊猫学习者。
我有一个数据框,其列为 DATE,该列的日期时间格式类似于 2017年11月1日 1:00'。我想将日期时间格式从'11 / 1/2017 1:00'更改为'1-Dec-17 1:00',我尝试了以下代码:
I have a dataframe with the column 'DATE', the datetime format of the column is like '11/1/2017 1:00'. I want to change the datetime format from '11/1/2017 1:00' to '1-Dec-17 1:00', I tried the following code:
dir_path = os.path.dirname(os.path.realpath("__file__"))
print(dir_path)
def parse_dates(x):
return datetime.strptime(x, "%d-%b-%y %H:%M")
df = pd.read_csv(dir_path+"/TEST.csv", parse_dates=['DATE'],date_parser=parse_dates)
但显示错误:
ValueError:时间数据'11 / 1/2017 1:00'与格式'%d-%b-%y
%不匹配H:%M'
ValueError: time data '11/1/2017 1:00' does not match format '%d-%b-%y %H:%M'
我也尝试转换数据框,但失败了:
I also tried to convert the dataframe, but failed:
df=pd.read_csv(dir_path+"/TEST.csv")
df['DATE'] = pd.to_datetime(df['DATE'],format='%d-%b-%y %H:%M')
再次显示错误:
ValueError:时间数据'11 / 1/2017 1:00'与格式'%d-%b-%不匹配y
%H:%M'(匹配)
ValueError: time data '11/1/2017 1:00' does not match format '%d-%b-%y %H:%M' (match)
如何解决问题?谢谢您的时间!
How to solve the problem? Thank you for your time!
df=pd.DataFrame({'Time':[ '11/1/2017 1:00', '11/1/2017 1:00', '11/1/2017 1:00', '11/1/2017 1:00']})
df.Time=pd.to_datetime(df.Time).dt.strftime('%d-%b-%y %H:%M')
df
Out[870]:
Time
0 01-Nov-17 01:00
1 01-Nov-17 01:00
2 01-Nov-17 01:00
3 01-Nov-17 01:00