python - Pandas 如何将时间戳列 (EST) 转换为其他列中可用的本地时区信息
问题描述
从
colA (EST) colB (local tz)
2016-09-19 01:29:13 US/Central
2016-09-19 02:16:04 Etc/GMT+2
2016-09-19 01:57:54 Europe/London
至
colA (EST) colB (local tz) colC (timestamp in local tz)
2016-09-19 01:29:13 US/Central 2016-09-19 02:29:13
2016-09-19 02:16:04 Etc/GMT+2 2016-09-19 08:16:04
2016-09-19 01:57:54 Europe/London 2016-09-19 05:57:54
解决方案
将 datetime 列读取为时间戳并本地化为美国/东部时间,然后应用 tz_convert
df['colA (EST)'] = pd.to_datetime(df['colA (EST)']).dt.tz_localize('US/Eastern')
df['colC (timestamp in local tz) '] = df.apply(lambda x: x['colA (EST)']\
.tz_convert(x['colB (local tz)']), axis = 1)
colA (EST) colB (local tz) colC (timestamp in local tz)
0 2016-09-19 01:29:13-04:00 US/Central 2016-09-19 00:29:13-05:00
1 2016-09-19 02:16:04-04:00 Etc/GMT+2 2016-09-19 04:16:04-02:00
2 2016-09-19 01:57:54-04:00 Europe/London 2016-09-19 06:57:54+01:00
推荐阅读
- git - git log 显示带有提交 ID 的标签
- c# - C#如何在DataGridView中更新行后自动关注更新的行?
- ruby-on-rails - Join tables in ActiveRecord Migrations
- python - Python - 根据函数参数构造变量名
- configuration - 如何在电子邮件正文 Outlook 中生成收件人姓名?
- node.js - 在 RHEL 服务器上安装特定版本的 nodejs
- javascript - Angularjs预先输入名称未定义
- c++ - 如何在 OpenCV c++ 中压缩 TIFF 格式的图像?
- php - 使用 substr 作为 Laravel 控制器上的数据库列之一
- python - 骰子游戏 // 到达 GAME_END_POINTS 时循环未正确退出