У меня есть фрейм данных, к которому я хочу добавить новый столбец «Being_narrative». Информация о кадре выглядит следующим образом:
У кадра данных следующие индексы строк:
Я попытался добавить новый столбец строкового типа с помощью этой команды:
explain_instance_to_explain_df_sorted_top6['being_narrative'] = ""
Тем не менее он выдает предупреждение «Настройка с копированием»:
_main __: 1: SettingWithCopyWarning: Значение пытается быть установлено для копии среза из DataFrame. Попробуйте вместо этого использовать .loc [row_indexer, col_indexer] = значение
Я не получаю это предупреждение, когда пытаюсь использовать указанную выше команду на другом кадре данных:
Более того, новые значения не присваиваются этому столбцу
explain_instance_to_explain_df_sorted_top6['being_narrative'] = ""
for index,row in explain_instance_to_explain_df_sorted_top6.iterrows() :
row['being_narrative']= str(np.where( row.obs_instance_to_explain not in (0,1) and row.features not in ('NUM_CASES'),' being '+str(row.obs_instance_to_explain),''))
после выполнения выше назначения, новый столбец по-прежнему пуст:
Однако, это работает индивидуально, как показано здесь:
Кажется, что проблема заключается в кадре данных. В чем может быть проблема? Заранее спасибо!
Обновление:
Попробовал использовать предложение @ Aryerez для использования соглашения .loc, сначала удалив столбец, а затем используя:
explain_instance_to_explain_df_sorted_top6.loc[:, 'being_narrative'] = ""
Но снова получил предупреждениеявно существует проблема с фреймом данных: