我正在尝试将“签入”和“签出”列更改为日期时间。当我运行下面的代码时,我收到错误消息'Out of bounds nanosecond'(也附有图片)。谁能帮助我,请问我如何摆脱这个问题?
谢谢您!
expedia2013_2014["srch_co"] = pd.to_datetime(expedia2013_2014["srch_co"])
expedia2013_2014["srch_ci"] = pd.to_datetime(expedia2013_2014["srch_ci"])
Timestamp]类型的[Variables]可以保存大约范围内年份的日期(1677,2262)。您试图转换年份2557的日期,因此超出范围。您必须使用其他日期格式。可能的选项之一:如果您将源日期作为 stringsrc='2557-08-17'
,您可以运行:result = datetime.datetime.strptime(src, '%Y-%m-%d')
如果您的DataFrame的源列名为(作为字符串),则可以转换运行:Dat
df.Dat = df.Dat.apply(lambda x: datetime.datetime.strptime(x, '%Y-%m-%d').date())
当您打印时,它以相同的方式打印,但是在您阅读时调用df
df.loc[some_index,'Dat']
,结果将是datetime.date(2557, 8, 17)
。