быстрое применение застревает в фазе времени - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь использовать 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]
...