datetime.fromtimestamp 类型错误

datetime.fromtimestamp TypeError

我正在尝试将纪元 (unixtime) 转换为日期时间格式 (UTC) 并有相应的代码;

from datetime import datetime, timezone
vmmR817['datetime_new_utc']=datetime.fromtimestamp(vmmR817['epoch'],timezone.utc).strftime('%Y-%m-%d %H:%M:%S')
datetime.fromtimestamp(1563915600,timezone.utc).strftime('%Y-%m-%d %H:%M:%S')

该代码适用于单个纪元 (1563915600),但不适用于数据帧中的完整系列 (vmmR817['epoch'])。它返回以下错误

TypeError: cannot convert the series to

Df 看起来像:

时间序列是 运行 来自:

datetime.fromtimestamp(1525039200,timezone.utc).strftime('%Y-%m-%d %H:%M:%S')
Out[93]: '2018-04-29 22:00:00'

datetime.fromtimestamp(1563915600,timezone.utc).strftime('%Y-%m-%d %H:%M:%S')
Out[92]: '2019-07-23 21:00:00'

有什么建议吗?

提前致谢!

datetime.fromtimestamp 需要标量输入;但是您传递的是 pandas 系列(数据框中的一列)。那行不通的。只需使用 pd.to_datetime 即可转换整列:

import pandas as pd
# example df:
df = pd.DataFrame({'epoch': [1563915600]})
# convert the epoch column:
df['epoch'] = pd.to_datetime(df['epoch'], unit='s')
# 0   2019-07-23 21:00:00
# Name: t, dtype: datetime64[ns]