You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CSV中UTC日期时间转换为本地时间绘制温度时序图

实现方法

核心是先将分离的UTC日期、时间字段合并为带时区标记的标准时间类型,再转换为太平洋时区(pandas会自动适配夏令时规则,无需手动计算时差),之后基于转换后的本地时间绘图即可,不需要额外复杂配置。

操作步骤

  • 合并日期和时间列,解析为UTC时间:读取CSV后不要直接用单独的Time列做X轴,这种写法本身存在跨天数据错位的隐患。把Date和Time两列内容拼接后,用pd.to_datetime解析为时间格式,传入utc=True参数明确标记该时间为UTC时区,避免后续时区转换出错。
  • 转换为太平洋本地时间:对解析好的UTC时间列调用dt.tz_convert('America/Los_Angeles'),直接得到太平洋时区时间,pandas会自动根据日期判断使用太平洋夏令时(PDT,UTC-7)还是太平洋标准时间(PST,UTC-8),不需要手动调整时差。
  • 绘图:用转换完成的本地时间列作为X轴传入绘图方法,matplotlib会自动按本地时间格式渲染X轴刻度。

完整修改后代码

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('LFEM_data-.csv', skiprows=1)

# 拼接日期、时间列,解析为UTC时区时间
df['utc_datetime'] = pd.to_datetime(df['Date'] + ' ' + df['Time'], utc=True)
# 转换为太平洋时区(自动适配夏令时)
df['local_datetime'] = df['utc_datetime'].dt.tz_convert('America/Los_Angeles')

df.plot(x='local_datetime', y=['Temperature'])
plt.xlabel('太平洋本地时间')
plt.show()

小提示:如果CSV中存在格式异常的日期/时间值,可以在pd.to_datetime中加入errors='coerce'参数,自动将无法解析的异常值转为空值,避免程序报错。

内容的提问来源于stack exchange,提问作者Richard Fuhr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:24:10