Повторение кадра данных и обновление (добавление к существующему) вместо его замены

#python #pandas #dataframe #iteration

#питон #панды #фрейм данных #итерация

Вопрос:

У меня есть пустой фрейм данных, который при прохождении через цикл возвращает результат, соответствующий условию, представленному в последнем значении в списке, вместо учета всех его значений.

Фрейм данных заменяется для каждого условия в списке, а не добавляется в него.

Я попробовал empty_df.append(…), это все равно не сработало бы.

 njobs = ['doc', 'phy', 'sci', 'math', 'stat'] empty_df = pd.DataFrame()   for i in njobs:  df_new = df.loc[df['title'] == i]      empty_df['skills'] = df_new[['(Level 6)','(Level 5)',  '(Level 4)','(Level 3)', '(Level 2)',  '(Level 1)',  '(Level 0)']]    empty_df['cat_id'] = df_new[['(L6)','(L5)','(L4)','(L3)',  '(L2)','(L1)', 'ID']]    empty_df['wt'] = df_new[['Weight']]    empty_df['job'] = i  

Ответ №1:

Вы можете создавать каждый раз новый кадр данных в lopp и, наконец, объединять их с помощью pd.concat([df_doc, df_phy,.. df_stat])

Комментарии:

1. Я дал примерный список. У меня в списке более 500 пунктов.

2. Можете ли вы предоставить более подробную информацию? Я не думаю, что тогда вам понадобился бы цикл..