我有Jan-91(mmm-YY)格式的数据。我试图转换是使用pandas date_time函数与代码- data ['Month'] = pd.to_datetime(data ['Month'],format = '%ddd-%YY')然而,得到错误的时间数据'Jan-91'不匹配格式'%ddd-%YY'(匹配)时间数据“Jan-91”与格式“%ddd-%YY”不匹配(匹配)我试图期望输出应该是DD-MM_YYYY格式。
yhuiod9q1#
你的日期时间格式有点不对而不是%ddd-%YY,它应该是“%B-%y”。也就是说,代码片段应该是:
data['Month'] = pd.to_datetime(data['Month'], format = '%b-%y')
如果你看一下documentation for pandas.to_datetime,在format下,它说它使用strftime语法来获取日期格式。在strftime和strptime格式代码下,您将看到正确的格式代码是%B(表示3个字母的月份缩写)和%y(表示没有世纪的零填充年份)。
format
strftime
gblwokeq2#
根据Pandas文档,format参数仅用于解析,而不是用于目标格式。因此,要获得所需的输出,您必须首先解析为默认格式,然后使用``生成预期的格式:
data['Month'] = pd.to_datetime(data['Month']) data['Month'] = data['Month'].dt.strftime('%d-%m_%Y')
2条答案
按热度按时间yhuiod9q1#
你的日期时间格式有点不对而不是%ddd-%YY,它应该是“%B-%y”。也就是说,代码片段应该是:
如果你看一下documentation for pandas.to_datetime,在
format
下,它说它使用strftime
语法来获取日期格式。在strftime和strptime格式代码下,您将看到正确的格式代码是%B(表示3个字母的月份缩写)和%y(表示没有世纪的零填充年份)。gblwokeq2#
根据Pandas文档,
format
参数仅用于解析,而不是用于目标格式。因此,要获得所需的输出,您必须首先解析为默认格式,然后使用``生成预期的格式: