将本地时间戳转换为 UTC python

时间:2021-07-16 13:54:28

标签: python pandas

我需要基于 timezone_x 列创建新的 Pandas 列:

df4['column'] = df4['local'].dt.tz_localize(df4['timezone_x']).dt.tz_convert('utc')

但我有一个错误:

TypeError: <class 'pandas.core.series.Series'>

1 个答案:

答案 0 :(得分:1)

我对您的问题做了一些假设(问得不好),但 apply 可能是您想要使用的。

df["column"] = pd.to_datetime(df[["local", "timezone_x"]].apply(lambda row: row['local'].tz_localize(row['timezone_x']), axis=1), utc=True)

我尝试的整个代码基本上可以解决您的问题:

import pandas as pd
df = pd.DataFrame(
    {"local": ["2020-05-07T10:20:20", "2001-05-13T07:30:35", "1999-12-08"],
     "timezone_x": ["US/Eastern", "Europe/Vienna", "America/New_York"]}
)
df["local"] = pd.to_datetime(df["local"])
df["column"] = pd.to_datetime(df[["local", "timezone_x"]].apply(lambda row: row['local'].tz_localize(row['timezone_x']), axis=1), utc=True)

蟒蛇:3.5.5 蟒蛇,熊猫:0.23.3