我需要基于 timezone_x 列创建新的 Pandas 列:
df4['column'] = df4['local'].dt.tz_localize(df4['timezone_x']).dt.tz_convert('utc')
但我有一个错误:
TypeError: <class 'pandas.core.series.Series'>
答案 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