2015-11-26 8 views
9

में टाइम ऑब्जेक्ट मेरे पास लगभग 20 जीबी का विशाल डेटासेट है। मैंने graphlab.SFrame.read_csv() का उपयोग कर डेटा पढ़ा है। मेरे पास एक दिनांक कॉलम है जो प्रारूप yyyy-dd-mm प्रारूप में स्ट्रिंग के रूप में पढ़ा जाता है। लेकिन मैं चाहता हूं कि कॉलम को डेटाटाइम ऑब्जेक्ट के रूप में पढ़ा जाए। मैं यह कैसे कर सकता हूं?स्ट्रिंग ऑब्जेक्ट को तिथि पर SFrame

मैं समझता हूं कि एक ही तरीका प्रत्येक पंक्ति के माध्यम से पुनरावृत्ति करना है और इसे पायथन कोड का उपयोग करके बदलना है। क्या कोई और तरीका है? तेजी से हो सकता है?

उत्तर

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 में इसके लिए एक अंतर्निहित विधि है। ग्रेग व्हिटियर के जवाब की तरह, मान लें कि आपकी मूल तिथि कॉलम को datestring कहा जाता है।

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

धन्यवाद :) यह काम करता है। – Tarun

संबंधित मुद्दे