如何使用 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