Python Pandas时间日期格式转换:strptime、to_datetime与parse详解

Noah
Noah
发布时间:2026-10-14 | 5人浏览过
原创

本文详解Python中Pandas处理日期格式的常用方法。涵盖字符串转日期的strptime与to_datetime函数,以及利用apply处理DataFrame列的技巧。同时介绍dateutil.parser.parse的高级解析能力,并演示日期转字符串的strftime用法,帮助开发者高效解决时间格式转换问题。

Python Pandas日期格式转换概述

在使用Pandas处理DataFrame时,经常遇到日期列格式不统一的问题,导致数据处理受阻。本文整理并记录几种常用的时间日期转换函数及其应用场景。

字符串转日期对象的方法

1、字符串转换为日期对象(str -> date)


import datetime
date_str = '2006-01-03'
date_ = datetime.datetime.strptime(date_str,'%Y-&m-%d')

针对单个字符串的转换,需指定日期格式。例如,若日期字符串格式为“%Y-%m-%d”,则对应标准ISO格式;若字符串为“2006/1/3”,则格式应写为“%Y/%m/%d”,依此类推,确保格式字符串与实际数据一致。

在实际数据处理中,通常需要对DataFrame的某一整列进行日期格式转换。

可以使用apply函数结合自定义解析逻辑来实现列级别的转换操作。


def strptime_row(rowi):
  return datetime.datetime.strptime(rowi,'%Y/%m/%d')
 
df['date'] = df['date'].apply(strptime_row)

需要注意的是,apply()函数在处理大量数据时效率可能较低。针对DataFrame列的日期解析,Pandas提供了更专用的函数,例如:


import pandas as pd
df['date'] = pd.to_datetime(df['date'])

to_datetime()函数能够解析多种不同的日期表示形式(如“7/6/2011”代表2011年6月7日),并且对标准日期格式(如ISO8601)的解析速度非常快,是处理常规日期列的首选方法。

此外,还可以使用parse()函数,该函数几乎可以识别所有人类可读的日期表示方式(但不支持中文日期格式)。示例如下:


from dateutil.parser import parse
parse('Jan 31,2008 10:45 AM')

日期转字符串的方法

2、日期对象转换为字符串

将日期对象格式化为字符串时,可以使用strftime()函数,通过指定格式代码来控制输出样式。

总结

以上介绍了Python中处理时间日期格式转换的几种主要方法,包括strptime、to_datetime、apply以及parse等函数的使用场景与优缺点。希望这些内容能帮助您解决日期格式转换中的常见问题。如有任何疑问,欢迎留言交流。感谢阅读与支持!

相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表