Здравствуйте,

Есть, как обычно в секретном проекте, такой цикл:
  
main_dataframe = get_main_dataframe()
new_dataframe = pd.DataFrame()
 
for df in list_of_dataframes:
     temp_df = main_dataframe.merge(df, how='left', on=['key1', 'key2'])
     new_dataframe = new_dataframe.append(temp_df)
 
main_dataframe = new_dataframe[~new_dataframe['key1'].isnull()]

Здесь какая-то неочевидная мне бизнес-логика, раз делается такое. И всё было бы хорошо, но когда список
 list_of_dataframes
большой - это выполняется очень долго: 200 dataframes - добавляется примерно за 3 минуты. А в идеале он должен работать с размером до 1000 dataframes.

Есть ли возможность оптимизировать как-то такой кусок кода?