Вот как мне удается: сначала создайте пустой список, в который вы будете добавлять каждый созданный вами фрейм данных:
df_appender = []
Предположим, что я генерирую список ids
, который содержит уникальные значения, которые будут использоваться для итерации.и сгенерируйте каждый желаемый фрейм данных:
ids = ['A','B','C','D','E']
Вот где происходит цикл и какую логику вы хотите применить для создания новых фреймов данных и добавления их:
for i in range(len(ids)):
dfx = df[df['id'] == ids[i]]
dfx = dfx.sort_values(['day'],ascending=[True])
dfx = dfx.drop_duplicates(['day'],keep='last')
df_appender.append(dfx)
print(i/len(ids))
Теперь у вас естьсписок с фреймами данных для каждой итерации, наконец, если вы хотите объединить их в один большой фрейм данных, вы можете сделать:
final_df = pd.concat(df_appender,ignore_index=True)