Я прочитал о SettingWithCopyWarning
, но я не нашел хорошего решения для моей проблемы.У меня есть датафрейм с 7 cols.Один из столбцов - name
.Мне нужно создать новый столбец: finalName
и добавить значение из имени (это необходимо, потому что я объединяю несколько DF, и им нужно иметь одинаковые имена - и name
должен остаться без изменений.
То, что я написал:
DF = DF.copy()
DF['finalName'] = 0
DF['finalName'] = DF['name']
И я получил:
C: \ Users \ beebe \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ ipykernel_launcher.py: 5: SettingWithCopyWarning: Значение пытается быть установлено для копии среза из DataFrame. Попробуйте вместо этого использовать .loc [row_indexer, col_indexer] = значение
См. Предостережения в документации: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
Мои индексы не отсортированы, и я не знаю, могу ли я сделать это с помощью .iloc.
Может кто-нибудь объяснить мне, почему мой код не работает? Или, может быть, кто-то может найти хороший, ясное и простое объяснение проблемы? Я нашел только совершенно неясные уроки, где .copy()
было всем, что они предлагают.
Я просто хочу понять эту часть панд.