2015-11-26 16 views
9

私は約20GBの巨大なデータセットを持っています。私はgraphlab.SFrame.read_csv()を使ってデータを読みました。私はyyyy-dd-mmの形式で文字列として読み込まれる日付列を持っています。しかし、私は列をdatetimeオブジェクトとして読み取る必要があります。どうしたらいいですか?SFrameのdateTimeオブジェクトへの文字列オブジェクト

私は1つの方法は、それぞれの行を反復し、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

関連する問題