未知的字符串格式,python错误

时间:2017-06-16 10:24:26

标签: python pandas datetime

我的索引如下:

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

如何解决这个问题?

1 个答案:

答案 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')