我有一些数据,如下所示,采用hourUTC 格式。我想创建一个名为local_hour基于的新列time_zone。我怎样才能做到这一点?pandas 似乎tz_convert不允许列或 pandas 系列作为参数的输入tz。
# Create dataframe
import pandas as pd
df = pd.DataFrame({
'hour': ['2019-01-01 05:00:00', '2019-01-01 07:00:00', '2019-01-01 08:00:00'],
'time_zone': ['US/Eastern', 'US/Central', 'US/Mountain']
})
# Convert hour to datetime and localize to UTC
df['hour'] = pd.to_datetime(df['hour']).dt.tz_localize('UTC')
df
hour time_zone
0 2019-01-01 05:00:00+00:00 US/Eastern
1 2019-01-01 07:00:00+00:00 US/Central
2 2019-01-01 08:00:00+00:00 US/Mountain
# Create local_hour column to convert hour to US/Eastern time (this works)
df['local_hour'] = df['hour'].dt.tz_convert(tz='US/Eastern')
df …Run Code Online (Sandbox Code Playgroud)