我有一个大约20gb的庞大数据集。我已经使用graphlab.SFrame.read_csv()读取了数据。我有一个日期列,以yyyy-dd-mm格式读取为字符串。但我希望将列作为日期时间对象读取。我该怎么办?
据我所知,一种方法是迭代每一行并使用python代码进行更改。还有其他方法吗?可能会更快?
答案 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'))