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

如何将DataFrame中的Epoch时间转换为GMT+3时区的时间戳?

将DataFrame中的Epoch字符串转换为GMT+3时区的时间戳

解决步骤

你的DataFrame里的Epoch时间是以字符串格式存储的,需要先转换为数值类型,再转成带时区的时间戳,具体操作分两步:

  1. 转换Epoch字符串为整数类型
    Pandas的pd.to_datetime无法直接处理字符串格式的Epoch,必须先把目标列转成整数。

  2. 生成UTC时间戳并转换至GMT+3时区
    先基于秒级Epoch生成UTC基准的时间戳,再通过时区转换得到GMT+3的时间。

完整代码示例

import pandas as pd

# 初始化示例DataFrame
df = pd.DataFrame({
    'data1': ['1661191956', '1661191956', '1661191956'],
    'data2': ['1661191956', '1661191956', '1661191956'],
    'data3': ['1661191956', '1661191956', '1661191956']
})

# 指定需要处理的Epoch列
epoch_columns = ['data1', 'data2', 'data3']

# 1. 转换字符串列为整数类型
df[epoch_columns] = df[epoch_columns].astype(int)

# 2. 批量转换为GMT+3时区的时间戳
df[epoch_columns] = df[epoch_columns].apply(
    lambda col: pd.to_datetime(col, unit='s', utc=True).dt.tz_convert('GMT+3')
)

# 查看处理结果
print(df)

关键细节说明

  • unit='s':明确Epoch是秒级(如果是毫秒级Epoch,替换为unit='ms')
  • utc=True:确保生成的时间戳基于UTC基准,避免后续时区转换出现偏差
  • tz_convert('GMT+3'):直接转换至GMT+3时区,也可以使用对应时区的具体标识符(如'Europe/Moscow',需确认该时区当前为GMT+3)

内容的提问来源于stack exchange,提问作者Mostafa Mohamed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 13:24:53