Python中如何将pandas DataFrame的UTC时间转换为+5:15偏移的本地时间
实现方案
你可以直接用pandas内置的时间类型和时间差工具完成转换,完整实现代码如下:
import pandas as pd import numpy as np # 构造示例DataFrame df = pd.DataFrame({'time':['00:00:00','03:00:00','06:00:00','09:00:00','12:00:00'], 'value':[850,np.nan,500,650,780]}) # 1. 将time列从字符串转为pandas时间类型 df['time'] = pd.to_datetime(df['time'], format='%H:%M:%S') # 2. 构造5小时15分钟的时间差,直接相加得到本地时间 df['local_time'] = df['time'] + pd.Timedelta(hours=5, minutes=15) # 可选:如果只需要保留时分秒的字符串格式,不需要日期部分 df['local_time_str'] = df['local_time'].dt.strftime('%H:%M:%S')
运行后得到的local_time_str列结果如下:
- 00:00:00 转换后为 05:15:00
- 03:00:00 转换后为 08:15:00
- 06:00:00 转换后为 11:15:00
- 09:00:00 转换后为 14:15:00
- 12:00:00 转换后为 17:15:00
如果你的time字段后续会包含完整的UTC日期+时间格式,不需要修改转换逻辑,代码同样可以正常运行。
内容的提问来源于stack exchange,提问作者Peshal1067
相关产品推荐
相关产品推荐

