pandas 时间格式转换

 

OUTLINE  

常见的时间字符串与timestamp之间的转换

日期与timestamp之间的转换

常见的时间字符串与timestamp之间的转换

这里说的字符串不是一般意义上的字符串,是指在读取日期类型的数据时,如果还没有及时解析字符串,它就还不是日期类型,那么此时的字符串该怎么与时间戳之间进行转换呢?
① 时间字符串转化成时间戳将时间字符串转化成时间戳分为两步:
第一步:将时间字符串转换成时间元组
第二步:将时间元组转换成时间戳类型

import time
data['timestamp'] = data['OCC_TIM'].apply(lambda x:time.mktime(time.strptime(x,'%Y-%m-%d %H:%M:%S')))

    1
    2

 



其中,strptime函数是将字符串按照后面的格式转换成时间元组类型;mktime函数则是将时间元组转换成时间戳。记住这两个常用函数。

② 将时间戳转换成可读字符串
第一步:用localtime将时间戳转换成local_time,时间元组
第二步:用strftime将local_time转换成可读字符串

timestamp = 1.521708e+09
time_local = time.localtime(timestamp)
time_local
# 输出:
# time.struct_time(tm_year=2018, tm_mon=3, tm_mday=22, tm_hour=16, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=81, tm_isdst=0)

time.strftime('%Y/%m/%d %H:%M:%S',time_local)
# 输出:
# '2018/03/22 16:40:00'

    1
    2
    3
    4
    5
    6
    7
    8
    9

 



日期与timestamp之间的转换

但是如果,你在读取数据的时候已经用了parse_dates这个参数,将可读的字符串换成了日期格式。那如何将日期转换成timestamp?

那么我们应该想的是如何将日期转换成时间元组!

import time
data['timestamp'] = data['OCC_TIM'].apply(lambda x:time.mktime(x.timetuple())) # 所以最重要的是  日期.timetuple() 这个用法 通过它将日期转换成时间元组
data.head(10)
# 输出:

    1
    2
    3
    4

 



 

 

posted @ 2019-01-28 20:12  Python少年  阅读(41517)  评论(0编辑  收藏  举报