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

Dre*_*ams 7 python dataframe graphlab sframe

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

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

pap*_*ior 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')
Run Code Online (Sandbox Code Playgroud)


Gre*_*ier 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'))
Run Code Online (Sandbox Code Playgroud)