我的Jupyter笔记本中有一个带有一列纪元时间戳的数据框,它看起来像这样:
Name stop ts remark
A 01 1546470653 -
B 032 1546470969 Not listed
C 022 1546471069 Not listed
D 045 1546471238 Not listed
我要做的是将时区时间戳转换为人类可读的日期和时间区域(utc + 8),结果应如下所示:
Name stop ts remark timestamp
A 01 1546470653 - 2019-01-03T07:10:53+08:00
B 032 1546470969 Not listed 2019-01-03T07:16:09+08:00
C 022 1546471069 Not listed 2019-01-03T07:17:49+08:00
D 045 1546471238 Not listed 2019-01-03T07:20:38+08:00
有人可以帮我实现吗?非常感谢!
使用pd.to_datetime
和unit='s'
。然后,您可以使用tz_*
方法设置时区。
df['timestamp'] = (pd.to_datetime(df['ts'], unit='s')
.dt.tz_localize('utc')
.dt.tz_convert('Asia/Hong_Kong'))
df
Name stop ts remark timestamp
0 A 1 1546470653 - 2019-01-03 07:10:53+08:00
1 B 32 1546470969 Not listed 2019-01-03 07:16:09+08:00
2 C 22 1546471069 Not listed 2019-01-03 07:17:49+08:00
3 D 45 1546471238 Not listed 2019-01-03 07:20:38+08:00