У меня очень простая проблема. Я хотел бы изменить значение в данном столбце данной строки кадра данных pandas. Я пытаюсь сделать это следующим образом:Как изменить значение в одной «ячейке» кадра данных pandas?
df['column3'].loc[this_date] = val
В результате я получаю следующее предупреждение:
SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
Моя интерпретация этого предупреждения является то, что с помощью имени колонок ('column3'
) и loc
I на самом деле не обращайтесь к соответствующей ячейке фрейма данных (см.). Вместо этого я создаю объект, который является копией объекта «cell», а затем я пытаюсь изменить значение, связанное с этим «экземпляром-копией».
Что я не понимаю, так это то, что он работает. Несмотря на то, что панды пишут мне, что я пытаюсь изменить копию, я изменяю исходный фрейм данных.
Мой вопрос: как убедиться, что я действительно делаю то, что я хотел бы сделать, и как это сделать «правильно», чтобы панды не жаловались?
Не должно быть 'df.loc [this_date,«колонка3»] = значение '? Ваша версия отличается от документов: http://pandas.pydata.org/pandas-docs/stable/indexing.html – EdChum
Тот факт, что он работает, случайный, он может не работать, поэтому вы получаете предупреждение, пожалуйста, попробуйте мой предыдущий комментарий, не должно быть предупреждения – EdChum