pandas中将日期字符串或日期对象转换为timestamp的方法

Hazel
Hazel
发布时间:2026-10-13 | 4人浏览过
原创

本文详解在pandas中将时间数据转换为timestamp的两种场景:未解析的时间字符串和已解析的日期对象。通过time模块的strptime、mktime及timetuple方法,展示具体的代码实现步骤与参数用法,帮助开发者高效处理时间序列数据。

OUTLINE

时间字符串与timestamp的转换

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

日期与timestamp之间的转换

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

此处讨论的字符串并非普通文本,而是指在读取包含日期类型的数据时,若尚未及时解析该字符串,它仍保持为字符串类型。此时需要明确如何将这类未解析的字符串转换为时间戳。

① 时间字符串转化成时间戳

将时间字符串转换为时间戳的过程包含两个主要步骤:

第一步:将时间字符串转换为时间元组

第二步:将时间元组转换为时间戳类型


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

其中,函数负责按照指定的格式将字符串转换为时间元组类型;而函数则用于将时间元组转换为时间戳。请牢记这两个常用函数的用法。

② 将时间戳转换成可读字符串

第一步:使用将时间戳转换为local_time,即时间元组

第二步:利用将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'

日期对象与timestamp的转换

日期与timestamp之间的转换

如果在读取数据时已经使用了参数,将可读的字符串直接转换为了日期格式。那么,如何将这种日期对象转换为timestamp呢?

此时,核心思路是考虑如何将日期对象转换为时间元组。


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

可以发现,最终得到的结果与上述通过字符串转换的结果是一致的。

以上关于pandas实现将日期转换成timestamp的内容即为全部分享,希望能对读者有所帮助,也欢迎大家继续支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表