我的索引如下:
Index(['2000-02-29 00:00:00_y', '2000-03-31 00:00:00_y',
'2000-04-30 00:00:00_y', '2000-05-31 00:00:00_y',
'2000-06-30 00:00:00_y', '2000-07-31 00:00:00_y',......
并且厌倦了通过以下方式更改为日期时间格式:
df.index.to_datetime())
现在我收到错误:
ValueError: Unknown string format
如何解决这个问题?
答案 0 :(得分:3)
将str切片以删除无关的'_y'
,然后转换:
In[123]:
pd.to_datetime(index.str[:-2])
Out[123]:
DatetimeIndex(['2000-02-29', '2000-03-31', '2000-04-30', '2000-05-31',
'2000-06-30', '2000-07-31'],
dtype='datetime64[ns]', freq=None)
请注意,pd.Index.to_datetime()
会引发DeprecationWarning
,因此您应该使用顶级to_datetime
。
请注意,默认情况下,时间组件不会显示为等于'00:00:00'
,但它是完整的日期时间:
In[124]:
pd.to_datetime(index.str[:-2])[0]
Out[124]: Timestamp('2000-02-29 00:00:00')