У меня есть следующая операция
for i, paper in enumerate(corpus_df.itertuples(), 1):
corpus_df.loc[i, 'main_category'] = metadata.loc[metadata['filename_parsed'] == paper.arxiv_id]['categories'].str.split().tolist()[0][0]
где я хочу присвоить каждой строке в corpus_df
кадре данных значение в столбце main_category
, взяв это значение из metadata
кадра данных.
corpus_df
содержит ~ 27 000 строк, а metadata
содержит ~ 250 000 строк.
Я читал, что intertuples
- это быстрый способ перебирать кадры данных, и что loc
должен помочь со скоростью. Что еще я могу сделать, чтобы ускорить это? В настоящее время это занимает больше 5 минут.