python 将日期戳(五位数时间)转换为标准时间

5位数日期戳

读取 .mat 文件处理里面数据时,发现里面的日期数据全部都是 “5位数” 数字,很不解;

后来查到可以在excel中通过设置单元格调回标准日期格式,如下:

选中日期戳,右键选择 “格式化单元格(Format Cells)”

选择需要的日期格式,点击ok即可

 

 通过代码转成标准日期

例如这个DataFrame中的日期,全部都是“日期戳”格式的,但我需要的是人能看懂的“标准日期”;

 确认起始日期

 首先需拿一个“日期戳”对应的时间(标准日期),减去这个日期戳,得出起始时间。

获取起始时间:

2018-05-02 对应的日期戳为:43222,接下来通过pandasTimedelta() to_datetime() 获取起始时间。

可以看到起始日期为“1899-12-30

这样一来后续日期戳转标准日期,只需要在 “1899-12-30” 的基础上加 “日期戳”即可。

 批量转换

 首先定义一个函数用来进行转换:

#定义转化日期戳的函数,stamp为日期戳
def date(stamp): 
    delta = pd.Timedelta(str(stamp)+'D')
    real_time = pd.to_datetime('1899-12-30') + delta
    return real_time

然后针对DataFrame 需要转换的列进行转换即可:

 

 

 

 

原文地址:https://www.cnblogs.com/bigtreei/p/10301099.html