Как эффективно применить функцию к большому ряду панд? - PullRequest
0 голосов
/ 03 октября 2019

У меня есть серии временных образцов панд с датой начала в unix time. Каждый образец времени равен x * 1/512, поэтому отметка времени 0 = 0, отметка времени 2 = 1/512 или 0,00195, отметка времени 3 = 2/512 или 0,0039. Мне нужно добавить дату начала (смещение) ко всем значениям и преобразовать результат в местное время (PST). У меня есть следующее

times = np.arange(0, 3600, 1/512)
tz = 'US/Pacific'
offset = 1569603352 # 2019-09-27 09:57 (or something similar)
srs = pd.Series(times)
srs.apply(lambda t: pd.to_datetime(offset + t, unit='s', utc=True) \
                      .tz_convert(tz))

Есть ли способ ускорить это? У меня есть несколько мощных графических процессоров и около 50 потоков, поэтому многопоточность или обработка доступны.

1 Ответ

1 голос
/ 03 октября 2019

Я ускорюсь, удалив apply

pd.to_datetime(offset + srs, unit='s', utc=True).dt.tz_convert(tz)
...