我有一个包含两列的数据框,第一列有日期和时间(类型:
datetime64[ns]
),第二列有它所在的时区。我不知道如何将每个时间转换为基于 UTC 的时间在他们各自的时区。
如果您的日期列已经是
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