最近做的一个案例要将时间数据进行聚类分析,所以需要将Timedelta转化为int或float数值形式。
时间数据如下图所示:
数据
方法(一):
通过pandas处理数据
import pandas as pd
dataSet['a'] =dataSet['t'].astype('timedelta64[D]').astype(float)
dataSet['a'] .head()
结果如下图
结果1
方法(二):
通过numpy处理数据
import numpy as np
dataSet['a']=(dataSet['t']/np.timedelta64(1, 'D')).astype(float)
dataSet['a'] .head()
结果如下图
结果2
总结:方法(一)pandas是直接提取days数值,如90 days 04:48:00提取数值90;方法(二)numpy是把整个时间进行换算,如90 days 04:48:00转化为90.200000。可以根据实际需求,选择不同的方法进行时间转换。
网友评论