首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将列字符串转换/解析为日期时间值-熊猫

将列字符串转换/解析为日期时间值-熊猫
EN

Stack Overflow用户
提问于 2016-06-20 12:38:18
回答 1查看 1.4K关注 0票数 2

我有一个csv输出的热模拟,我想进行数据分析,使用熊猫。

在将csv导入熊猫数据后,我想操作时间戳并将其导入。

起始格式如下(以空格开头,有美国数据格式,缺少年份)。

代码语言:javascript
复制
    ' 05/01  01:00:00'
    ' 05/01  02:00:00'
    ' 05/01  03:00:00'
    ' 05/01  04:00:00'
    ' 05/01  05:00:00'

有人建议我用循环函数来解决这个问题,我写的如下:

代码语言:javascript
复制
timestamp = []
for ns in raw_datetime:
    #timestamp.append(ns[5:7] + '.' + ns[2:4] + '_' + ns[9:11] + '00h')
    timestamp.append('2016' + '/' + ns[2:4] + '/' + ns[5:7] + '_' + ns[9:11] + ':00')

哪里

代码语言:javascript
复制
raw_datetime = df[' Date/Time']  #original data column

这很好,并返回我想要的日期时间格式。

代码语言:javascript
复制
['2016/05/01_01:00', '2016/05/01_02:00', '2016/05/01_03:00', '2016/05/01_04:00']

但是,pd.to_datetime函数似乎无法使用这一点,因为这似乎需要一个列表,而不是一个系列(?)。

我偶然发现解析和函数的概念是这样的:

代码语言:javascript
复制
 raw_datetime.str.extract('string', expand=True)

然而,我不知道我如何做到这一点,同时翻转月和日,并添加2016年的信息,这是不存在于原始数据。

谢谢!

编辑:下面添加的代码,本机格式是‘05/ 01 :00:00’,即:双空格,月,日,双空格,hh,mm,ss]]

首次尝试

代码语言:javascript
复制
df = pd.read_csv('./SimResults.csv')
a = pd.to_datetime(df[' Date/Time'], format='  %m/%d  %H:%M:%s')

第二次尝试:

代码语言:javascript
复制
df = pd.read_csv('./SimResults.csv')
raw_datetime = df[' Date/Time'].str.lstrip('  ')
raw_datetime = ('2016/') + raw_datetime   
b = pd.to_datetime(raw_datetime, format='%Y/%m/%d  %H:%M:%S')
EN

回答 1

Stack Overflow用户

发布于 2016-06-20 12:43:52

应该将格式指定为to_datetime函数,因为它不是默认格式:

代码语言:javascript
复制
pd.to_datetime(x, format='%Y/%m/%d_%H:%M')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37922792

复制
相关文章

相似问题

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