Python - pandas datetime column with multiple timezones

前端 未结 2 1616
南方客
南方客 2021-01-22 15:10

I have a data frame with multiple users and timezones, like such:

cols = [\'user\', \'zone_name\', \'utc_datetime\']
data = [
    [1, \'Europe/Amsterdam\', pd.to         


        
2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-22 15:40

    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
    

提交回复
热议问题