我在Googlespeedsheet中有一个变量['date_hiring'],格式如
16.01.2016
我在Python中导入它,变量有一个对象类型。我尝试转换为datetime
from datetime import datetime
data['date_hiring'] = pd.to_datetime(data['date_hiring'])
我得到了
OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 16-01-06 00:00:00
我从pandas out of bounds nanosecond timestamp after offset rollforward plus adding a month offset了解到
由于pandas代表以纳秒分辨率为单位的时间戳,因此 可以使用64位整数表示的时间跨度限制为 大约584年
但在Googlespeedsheet中的原始数据中我没有像'16 .01.06'那样的数据
就像'16 .06.2006'
问题在于转换
如何改进?
答案 0 :(得分:4)
根据documentation, dayfirst 字段默认为false:
dayfirst:boolean,默认为False
所以必须确定那里有一个畸形的日期,并试图把它解释为一个时间。
但即便如此,它可能并不认为16点可能是几小时或几分钟,所以它试图将其转换为秒。但是有一个额外的小数点,所以它放弃了,并说我不喜欢小数秒。 (或类似的东西。)
我认为您可以通过提供明确的格式字符串或至少设置 dayfirst 来解决此问题。