I have a data frame with multiple users and timezones, like such:
cols = [\'user\', \'zone_name\', \'utc_datetime\']
data = [
[1, \'Europe/Amsterdam\', pd.to
I think you need Series.dt.tz_convert in lambda function:
df['local_datetime'] = (pd.to_datetime(df.groupby('zone_name')['utc_datetime']
.transform(lambda x: x.dt.tz_localize('UTC').dt.tz_convert(x.name))
.astype(str).str[:-6]))
print(df)
user zone_name utc_datetime local_datetime
0 1 Europe/Amsterdam 2019-11-13 11:14:15 2019-11-13 12:14:15
1 2 Europe/London 2019-11-13 11:14:15 2019-11-13 11:14:15