2015-11-26 51 views
9

我有一個大約20GB的巨大數據集。我已經使用graphlab.SFrame.read_csv()讀取數據。我有一個日期列,其格式爲yyyy-dd-mm。但是我想將列讀作日期時間對象。我該怎麼做?字符串對象到日期時間對象在SFrame

我知道一種方法是遍歷每一行並使用python代碼對其進行更改。有沒有其他方法?可能會更快?

回答

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')) 
+0

謝謝!這樣做轉換確實很快。 – Tarun

6

實際上在graphlab.SArray中有一個內置方法。像Greg Whittier的回答一樣,假設您的原始日期欄名爲datestring

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

謝謝:)這工作。 – Tarun

相關問題