[Python显示运行日期时间时出现错误(超出范围)

问题描述 投票:-3回答:1

我正在尝试将“签入”和“签出”列更改为日期时间。当我运行下面的代码时,我收到错误消息'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"])    

enter image description here

python pandas date
1个回答
0
投票

Timestamp]类型的[Variables]可以保存大约范围内年份的日期(1677,2262)。您试图转换年份2557的日期,因此超出范围。您必须使用其他日期格式。可能的选项之一:如果您将源日期作为

string

,例如src='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)
© www.soinside.com 2019 - 2024. All rights reserved.