Я пытаюсь использовать swifter.apply
для ускорения стандартной pandas лямбда-функции, которая в остальном работает нормально, но добавление swifter приводит к зависанию функции. Немного углубившись в код, кажется, что он застрял в этой строке:
timed = timeit.timeit(wrapped, number=N_REPEATS)
, который, как я предполагаю, рассчитывает 3 стандартных итерации функции, чтобы определить, быстрее ли распараллеливание, чем стандартное приложение.
Это код, который я использую для применения функции:
df['start_time'] = pd.to_datetime(df['file'].swifter.apply(lambda x: start_time(x)))
И это функция (чтение части текстового файла):
def start_time(file_in):
fp = open(file_in)
for i, line in enumerate(fp):
if i == 2:
break
fp.close()
return line.replace('\n', '').split(',')[1]