Python 将日期时间导入数据帧会引发OutOfBoundsDatetime错误
我正在尝试将数据导入pandas DataFrame,但在尝试将Python 将日期时间导入数据帧会引发OutOfBoundsDatetime错误,python,pandas,datetime,Python,Pandas,Datetime,我正在尝试将数据导入pandas DataFrame,但在尝试将date\u-time列转换为datetime对象时出现以下错误: pandas.tslib.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-19 00:00:00 该列的格式如下:Jan 19,17 05:04:50 PM 我的代码是: data['Date_Time'] = to_datetime(data['Date_Time']).dt.strft
date\u-time
列转换为datetime
对象时出现以下错误:
pandas.tslib.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-19 00:00:00
该列的格式如下:Jan 19,17 05:04:50 PM
我的代码是:
data['Date_Time'] = to_datetime(data['Date_Time']).dt.strftime('%b %d, %y %H:%M:%S ')
有什么问题吗?我想您需要参数:
我通过使用正则表达式替换的坏值修复了它
然后使用参数格式的pandas to_datetime函数。谢谢您的评论!我无法使用格式,因为日期时间列的格式可能会更改。这就是我使用strftime将列转换为一种格式的原因。我认为这是一个很大的问题,因为
to_datetime
中的if默认解析器无法解析返回错误。一种可能的解决方案是添加参数errors='concurve'
-它会为每个未解析的值返回NaT
。这个选项对我来说不太好,因为我需要所有的日期才能对数据进行分析我很担心。。。不幸的是,这在熊猫中是不可能的,你需要什么。如果一些不是标准的怪异格式,参数格式
是必要的。或者对更改格式进行一些预处理。这并不能回答问题。您应该提供解决问题的代码,而不是仅仅用两句话来详细解释所做的工作。特别是因为您在这里解释的解决方案修复了原始问题中没有的错误输入数据。伊姆霍,@jezrael的答案对上述问题更为“正确”,因为它解决了所提出的问题。
data = pd.DataFrame({'Date_Time':['Jan 19,17 05:04:50 PM','Jan 19,17 05:04:50 PM']})
print (data)
Date_Time
0 Jan 19,17 05:04:50 PM
1 Jan 19,17 05:04:50 PM
data['Date_Time'] = pd.to_datetime(data['Date_Time'], format='%b %d,%y %H:%M:%S %p')
print (data)
Date_Time
0 2017-01-19 05:04:50
1 2017-01-19 05:04:50