首页 > 解决方案 > 在执行时间序列分析时,将字符串转换为日期时间时出现错误日期时间

问题描述

我有日期列中的数据,我想转换为 DateTime,出现如下错误

    Month   Sales of shampoo over a three year period
0   1-01    266.0
1   1-02    145.9
2   1-03    183.1
3   1-04    119.3
4   1-05    180.3

pd.to_datetime(data['Month'])

错误:-

OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-01 00:00:00

在这种情况下我应该怎么做:-

标签: pythonpandasdatetimetime-series

解决方案


我认为你有一个零填充问题。如果您使用“01”而不是“1”,则可以将对象转换为 DateTime。

像这样;

x=['1-01','1-02','1-03','1-04','1-05']
y=[266.0,145.9,183.1,119.3,180.3]
data=pd.DataFrame(list(zip(x,y)),columns=['month','sth'])
data['month']='0'+data['month']
data['month']=pd.to_datetime(data['month'],format='%y-%m')
data['month']=data['month'].dt.strftime('%y-%m') # to convert 2-digits

推荐阅读