今天在处理数据时,发现了一个小问题,就是遇到了五位数的表示时间的形式,具体如下图:
刚开始看到,我以为是将时间戳的一部分保留了所以出现这个情况,但是通过还原发现时间是不对的,这就有点超出了我的认知,因为平时遇到的只是十位的或者十三位的时间戳,那这个是什么呢?原来这个也是时间的一种表现形式,暂且称之为日期戳,接下来讲一下这个是怎么一回事。
其实这个值是代表的天数也就是days,这种表示方式会存在一个基点时间,其他的时间就是在这个时间基点上加上相对应的天数就可以了。这个时间节点就是1899-12-30,这种表示方式在excel表格中可能比较常见。知道这个以后我们就知道该怎么去转换相应的时间了,下面举个例子说明一下。
#定义转化日期戳的函数,stamp为日期戳
def date(stamp):
delta = pd.Timedelta(str(stamp)+'D')
real_time = pd.to_datetime('1899-12-30') + delta
return real_time
同样的道理,正常的时间格式转换成五位数想必也应该知道怎么去做了吧。