如何将具有多个时区的 datetime64[ns] 转换为 UTC

问题描述 投票:0回答:1

我有一个包含两列的数据框,第一列有日期和时间(类型:

datetime64[ns]
),第二列有它所在的时区。我不知道如何将每个时间转换为基于 UTC 的时间在他们各自的时区。

python pandas dataframe
1个回答
0
投票

如果您的日期列已经是

datetime64[ns]
类型,请使用
apply
上的
axis=1
将其本地化为第二列中的时区并转换为 UTC:

df = pd.DataFrame({"date": ["2020-01-01"], "tz": ["EST"]})
df["date"] = pd.to_datetime(df["date"])

df["date_utc"] = df.apply(
    lambda row: row["date"].tz_localize(row["tz"]).tz_convert("UTC"), axis=1
)
        date   tz                  date_utc
0 2020-01-01  EST 2020-01-01 05:00:00+00:00
© www.soinside.com 2019 - 2024. All rights reserved.