【发布时间】:2015-11-26 17:50:23
【问题描述】:
我有一个大约 20GB 的庞大数据集。我已经使用 graphlab.SFrame.read_csv() 读取了数据。我有一个日期列,它以 yyyy-dd-mm 格式读取为字符串。但我希望将该列作为日期时间对象读取。我该怎么做?
我知道一种方法是遍历每一行并使用 python 代码更改它。还有其他方法吗?可能更快?
【问题讨论】:
标签: python dataframe graphlab sframe
我有一个大约 20GB 的庞大数据集。我已经使用 graphlab.SFrame.read_csv() 读取了数据。我有一个日期列,它以 yyyy-dd-mm 格式读取为字符串。但我希望将该列作为日期时间对象读取。我该怎么做?
我知道一种方法是遍历每一行并使用 python 代码更改它。还有其他方法吗?可能更快?
【问题讨论】:
标签: python dataframe graphlab sframe
graphlab.SArray 中实际上有一个内置方法。就像 Greg Whittier 的回答一样,假设您的原始日期列名为 datestring。
import graphlab
sf = graphlab.SFrame.read_csv('input.csv')
sf['datetime'] = sf['datestring'].str_to_datetime('%Y-%d-%m')
【讨论】:
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'))
【讨论】: