在SFrame中将String对象更改为dateTime对象

时间:2015-11-26 17:50:23

标签: python dataframe graphlab sframe

我有一个大约20gb的庞大数据集。我已经使用graphlab.SFrame.read_csv()读取了数据。我有一个日期列,以yyyy-dd-mm格式读取为字符串。但我希望将列作为日期时间对象读取。我该怎么办?

据我所知,一种方法是迭代每一行并使用python代码进行更改。还有其他方法吗?可能会更快?

2 个答案:

答案 0 :(得分:7)

graphlab.SArray实际上有一种内置方法。与Greg Whittier的回答一样,假设您的原始日期列称为datestring

import graphlab
sf = graphlab.SFrame.read_csv('input.csv')
sf['datetime'] = sf['datestring'].str_to_datetime('%Y-%d-%m')

答案 1 :(得分:3)

import graphlab
import datetime as dt
sf = graphlab.SFrame.read_csv('input.csv') # dates in datestring column
sf['datetime'] = sf['datestring'].apply(lambda x: dt.datetime.strptime(x, '%Y
-%d-%m'))