pandas在Python 3中高效处理时间,依赖datetime模块和Timestamp、DatetimeIndex功能;通过pd.to_datetime()可解析多种格式字符串,自动识别无需手动指定,并稳健处理缺失值;使用pd.date_range()可按指定频率生成时间序列索引;转换为datetime后可通过.dt访问器提取年月日、星期、小时等信息,支持时间差计算;同时可用tz_localize()添加时区,tz_convert()转换时区,实现时区感知操作;确保数据正确解析为datetime类型是顺畅进行后续操作的关键。
Python 3 中的时间处理在 pandas 里非常高效,主要依赖于 datetime 模块和 pandas 自带的 Timestamp 与 DatetimeIndex 功能。pandas 能自动识别多数时间格式,并提供统一的操作方式。
解析时间字符串
pandas 可以从字符串中解析出时间,最常用的是 pd.to_datetime() 函数。它能处理多种格式,包括 ISO 格式、中文日期、时间戳等。
• 直接转换列表中的字符串• 自动识别常见格式,无需手动指定
• 处理含缺失值(NaT)的数据也很稳健
示例:
import pandas as pddates = ['2025-01-01', '2025-01-02', '2025/01/03']
ts = pd.to_datetime(dates)
print(ts)
创建时间序列索引
时间序列分析常需要以时间为索引。pandas 提供 pd.date_range() 快速生成连续时间点。
• 可设定起止时间或周期数• 支持按天、小时、分钟等频率生成
示例:
index = pd.date_range('202
5-01-01', periods=5, freq='D')df = pd.DataFrame({'value': [1,2,3,4,5]}, index=index)
时间字段操作
一旦列为 datetime 类型,就可以用 .dt 访问器提取年月日、星期、小时等信息。
• df['time'].dt.year 获取年份• df['time'].dt.day_name() 显示星期几
• df['time'].dt.hour 用于分析时间段规律
也支持时间计算:
df['time'].max() - df['time'].min() # 得到时间差(Timedelta)时区处理
pandas 支持时区感知的时间操作。
• 使用 tz_localize() 为无时区时间添加时区• 使用 tz_convert() 转换到其他时区
示例:
ts = pd.date_range('2025-01-01 00:00', periods=4, freq='H', tz='UTC')ts_beijing = ts.tz_convert('Asia/Shanghai')
基本上就这些。pandas 对 Python 3 时间的处理既灵活又直观,关键是确保数据被正确解析为 datetime 类型,后续操作就会很顺畅。








