如何更改格式 datetime 在 dataframe 通过 pandas?

我是一名学生 pandas.

我有 dataframe 用专栏 'DATE', 格式 datetime 该列看起来像 "11/1/2017 1:00". 我想改变格式 datetime 从 '11/1/2017 1:00' 在 '1-Dec-17 1:00', 我尝试了以下代码:


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'

我也试图转换 dataframe, 但失败了:


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' /巧合/

如何解决这个问题呢? 感谢您的时间!
已邀请:

江南孤鹜

赞同来自:

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

喜特乐

赞同来自:

一个简单的答案是你的论点
format

对于功能 strptime 这是错误的。 你想要_____吗
datetime.strptime/x, "%m-%d-%Y %H:%M"/

.

此外,确保您的所有数字都补充说。 /例如,一个月,确保它是 01 1月份而不是 1. 几分钟和日子的想法/, 否则,它可能会失败。

我建议看看
https://docs.python.org/3.6/li ... avior
, 了解有关如何格式化日期的更多信息。

要回复问题请先登录注册