我想对几个特征进行回归,其中之一是时间。因此,我需要将时间转换为定量变量,例如整数。
特别是,我想从一个datetime.time
对象中获取一个序数。有直接的方法吗?
我知道这可以通过对象的方法来完成toordinal()
,datetime.date
但是相同的方法不存在datetime.time
我想对几个特征进行回归,其中之一是时间。因此,我需要将时间转换为定量变量,例如整数。
特别是,我想从一个datetime.time
对象中获取一个序数。有直接的方法吗?
我知道这可以通过对象的方法来完成toordinal()
,datetime.date
但是相同的方法不存在datetime.time
在datetime 模块中似乎没有任何内置方法。这种格式实际上并不适用于序数值,因为它不包括日期,并且与具有不同日期的事件进行比较可能会给出错误的顺序。如果这是您自己返回的代码,datetime.time
我建议您只使用时间模块time.time()
中的时间戳。如果您需要使其易于阅读,则始终可以将时间戳转换为格式化时间。
即使datetime.time
没有内置的时间戳转换器,您也可以自己轻松完成,只需将每个时间值转换为秒并将它们相加:
def dtt2timestamp(dtt):
ts = (dtt.hour * 60 + dtt.minute) * 60 + dtt.second
#if you want microseconds as well
ts += dtt.microsecond * 10**(-6)
return ts