2024-10-01 19:23:02 发布
网友
请演示如何将日期时间转换为另一个时区,并在Python中添加新的colunm
我不太确定原始数据的确切时区(可能是AEST),但我需要一个比原始数据(应该是加利福尼亚时间)长-17小时的新coulmn
就像这张照片:
https://i.stack.imgur.com/GCwUL.png
谢谢大家!
假设您有这样一个数据帧:
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
假设您有这样一个数据帧:
你肯定知道时区是“澳大利亚/昆士兰”
首先,让我们将时间转换为可读的格式,并将其保存在名为“日期时间”的新列中:
现在,数据帧如下所示:
现在,在更改时区之前,我们需要将日期时间与创建时间戳的原始时区相关联,为此我们使用tz_localize函数。然后,我们创建一个名为cali_time的新列,应用函数astimezone(timezone())将日期时间与新时区一起保存:
现在,数据帧如下所示:
相关问题 更多 >
编程相关推荐