Я не верю в функции, которые полагаются на глобальные переменные - это просто плохая гигиена.
Функции должны быть чистыми.Сначала определите вашу opt
функцию.Это просто генерирует df
и больше ничего.
def opt():
df = ... # df is generated here
return df
Далее определите save_data
.Ну, я переименовал его в augment
, чтобы больше соответствовать тому, что вы делаете.Это объединяет два DataFrames вместе.
def augment(df, df_new):
return pd.concat([df, df_new], axis=1)
Наконец, ваш основной цикл.Все состояние поддерживается здесь, а не в функциях -
df_all = pd.DataFrame()
for i in range(3):
df_all = augment(df_all, opt())
display(df_all)