LINUX.ORG.RU

pandas вычислить time_local

 , ,


0

1

Имеется датафрейм с временем UTC и timezone в секундах. Как без циклов вычислить столбец с локальным временем:

import pandas as pd
import datetime as dt

time_sec = 1665170104
offset_utc = dt.timedelta(seconds=0)
tz_utc = dt.timezone(offset_utc) 


df = pd.DataFrame({
    'time_utc': [
        dt.datetime.fromtimestamp(time_sec).astimezone(tz_utc), 
        dt.datetime.fromtimestamp(time_sec).astimezone(tz_utc)], 
    'timezone': [60*60*3, 60*60*2]
})
 	time_utc 	                 timezone
0 	2022-10-07 19:15:04+00:00 	 10800
1 	2022-10-07 19:15:04+00:00 	 7200

Нужно посчитать time_local для каждой строчки. Но не получется что-то

df.time_utc.dt.tz_convert(что_то.timedelta(seconds=df.timezone))