python将多个时间戳记放入pandas.tslib.Timestamp

时间:2015-04-02 14:25:03

标签: python datetime timestamp strptime

我有一个包含时间戳的DF,例如,

0    2014-12-18 10:47:37
1    2014-12-18 10:47:37
2    2014-12-18 10:47:37
3    2015-01-30 04:50:49
4    2015-03-01 11:16:41

我想把它分成每个30分钟的时间段。我认为这样做的方法是将时间戳转换为' pandas.tslib.Timestamp'比划时代并将它们分成垃圾箱。 但。转换为datetime.datetime.strptime的第一步仅适用于字符串,而不适用于数据帧或列表。因此,我发现将整个DF转换为pandas.tslib.Timestamp的唯一方法是逐行:

for k in range(len(tbl)):
        tbl.iloc[k] = datetime.datetime.strptime(str(tbl[k]),"%Y-%m-%d %H:%M:%S")

这很慢,显然有一种方法可以单枪匹马。 请指教。 谢谢!

1 个答案:

答案 0 :(得分:0)

def time_norm(tmp,delta_T):
    epoch_ms = tmp.astype(np.int64)//1000000L
    tbl  = epoch_ms//delta_T
    tbl = tbl - tbl.min()
    return tbl

delta_T = 1000 #1 sec
tmp = pd.to_datetime(tbl)
tbl = time_norm(tmp,delta_T)

在某些时候,pd.to_datetime在某些时候没有工作,所以我避免使用它。事实证明它仍然是解决方案......