2015-10-21 24 views
0

我有一个dataset,我试图在GraphLab中操作。我希望将输入文件(转换为SFrame)的UNIX Epoch时间戳转换为人类可读的格式,以便我可以根据一天中的某个小时和一周中的某天进行分析。Graphlab日期Manipulaiton

time_array是代表时间戳的SFrame sf的列/特征,我已经突破了EPOCH时间来简化事情。我知道如何转换一行的时间,但我想要一个矢量操作。这是我的一行。

time_array = sf['timestamp'] 

datetime.datetime.fromtimestamp(time_array[0]).strftime('%Y-%m-%d %H') 

回答

0

因此,在盯着这一段时间,然后张贴它来到我这里的问题,希望别人也可以受益。使用.apply方法与datetime.datetime()功能

sf['date_string'] = sf['timestamp'].apply(lambda x: datetime.datetime.fromtimestamp(x).strftime('%Y-%m-%d %H')) 
+0

您还可以从时间戳中获取部分时间以创建另一列, (例如获取小时):sf ['timestamp']]中的sf ['hour'] = [x.strftime('%H')] –

1

您还可以得到的时间部分从时间戳创建另一列,用于过滤(如,得到小时):

sf['hour'] = [x.strftime('%H')for x in sf['timestamp']] 
0

您还可以使用split_datetime API将时间戳拆分为多列:

split_datetime('timestamp',limit=['hour','minute'])