首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >经过切碎的日期时间

经过切碎的日期时间
EN

Stack Overflow用户
提问于 2017-08-09 10:09:02
回答 2查看 49关注 0票数 2

在过去的几个小时里,我一直在试图解决以下问题。

在我来自自动化系统的一个大数据集中,有一个DATE_TIME值,对于午夜的行,它的值没有整整一个小时,比如:12-5月-2017年0:16:20。

当我尝试将其转换为日期(以便它可用于转换)时,如下所示:

代码语言:javascript
复制
df['DATE_TIME'].astype('datetime64[ns]')

我得到以下错误:

代码语言:javascript
复制
Error parsing datetime string "12-MAY-2017  0:16:20" at position 3

我试着写一些REGEX来取出每一篇文章,但是由于这个时间可能是一个字符或两个字符,我什么也找不到。它似乎也不是为每个peice编写正则表达式的理想解决方案。

对此有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-09 10:11:05

尝试使用日期时间()方法:

代码语言:javascript
复制
df['DATE_TIME'] = pd.to_datetime(df['DATE_TIME'], errors='coerce')

参数errors='coerce'将处理无法转换为datatime dtype的字符串

票数 3
EN

Stack Overflow用户

发布于 2017-08-09 10:11:06

我想你只需要pandas.to_datetime

代码语言:javascript
复制
df  = pd.DataFrame({'DATE_TIME':['12-MAY-2017 0:16:20','12-MAY-2017 0:16:20']})
print (df)
             DATE_TIME
0  12-MAY-2017 0:16:20
1  12-MAY-2017 0:16:20

df['DATE_TIME'] = pd.to_datetime(df['DATE_TIME'])
print (df)
            DATE_TIME
0 2017-05-12 00:16:20
1 2017-05-12 00:16:20

astype转换为numpy似乎是成问题,因为需要strings in ISO 8601 date or datetime format

代码语言:javascript
复制
df['DATE_TIME'].astype('datetime64[ns]')

ValueError:错误解析日期时字符串“12-5-2017 0:16:20”位于第3位置

编辑:

如果datetimes中断(一些字符串或ints),则使用MaxU答案

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45587652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档