将日期时间字段转换为另一个时区,并在Python中添加新的colunm

2024-10-01 19:23:02 发布

您现在位置:Python中文网/ 问答频道 /正文

请演示如何将日期时间转换为另一个时区,并在Python中添加新的colunm

我不太确定原始数据的确切时区(可能是AEST),但我需要一个比原始数据(应该是加利福尼亚时间)长-17小时的新coulmn

就像这张照片:

https://i.stack.imgur.com/GCwUL.png

谢谢大家!


Tags: httpscom原始数据pngstack时间照片小时
1条回答
网友
1楼 · 发布于 2024-10-01 19:23:02

假设您有这样一个数据帧:

    time
0   1597101380360
1   1597099168350
2   1597095668690
3   1597085316180
4   1597054931440

你肯定知道时区是“澳大利亚/昆士兰”

首先,让我们将时间转换为可读的格式,并将其保存在名为“日期时间”的新列中:


df['date_time']= pd.to_datetime(pd.to_datetime(df.time, unit='ms',origin='unix'
                                      ).apply(lambda x: x.strftime("%Y-%m-%d %H:%M:%S")))

现在,数据帧如下所示:

         time            date_time
0   1597101380360   2020-08-10 23:16:20
1   1597099168350   2020-08-10 22:39:28
2   1597095668690   2020-08-10 21:41:08
3   1597085316180   2020-08-10 18:48:36
4   1597054931440   2020-08-10 10:22:11

现在,在更改时区之前,我们需要将日期时间与创建时间戳的原始时区相关联,为此我们使用tz_localize函数。然后,我们创建一个名为cali_time的新列,应用函数astimezone(timezone())将日期时间与新时区一起保存:


#assigning timezone to date_time
df['date_time']= df.date_time.dt.tz_localize('Australia/Queensland')
#creating new column with time zone set to US/Pacific 
df['cali_time']=df.date_time.dt.tz_convert('US/Pacific')
df.head()

现在,数据帧如下所示:

        time                 date_time                  cali_time
0   1597101380360   2020-08-10 23:16:20+10:00   2020-08-10 06:16:20-07:00
1   1597099168350   2020-08-10 22:39:28+10:00   2020-08-10 05:39:28-07:00
2   1597095668690   2020-08-10 21:41:08+10:00   2020-08-10 04:41:08-07:00
3   1597085316180   2020-08-10 18:48:36+10:00   2020-08-10 01:48:36-07:00
4   1597054931440   2020-08-10 10:22:11+10:00   2020-08-09 17:22:11-07:00

相关问题 更多 >

    热门问题