По моему другому вопросу: Python Anaconda: how to test if updated libraries are compatible with my existing code?питон панды 0.16: SettingWithCopyWarning неправильно сообщили
Я проклинаю день, когда я был вынужден перейти на панду 0.16. Одна из вещей, которые я не понимаю, почему я получаю предупреждение о прикован присваивания, когда я делаю что-то, как банальное, как добавление нового поля в существующей dataframe и инициализации его с 1:
mydataframe['x']=1
вызывает следующее предупреждение :
SettingWithCopyWarning: значение пытается установить на копии среза от DataFrame. Попробуйте использовать .loc [row_indexer, col_indexer] = значение вместо
Смотрите на предостережений в документации: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy mydataframe [ 'х'] = 1
Я понимаю, что могут быть проблемы при назначении значения в копию фрейма данных, но здесь я просто добавляю новое поле в dataframe! Как я должен изменить свой код (который отлично работал в предыдущих версиях панд)?
если вы не обеспечивают полностью автономный пример, мы не можем сказать, является ли это ошибка или, если это то, что вы игнорировали документацию в течение длительного времени, и это только теперь выяснилось. – DSM
Я привел пример. Я загружаю dataframe, а затем одну строку кода, которую я скопировал выше: mydataframe ['x'] = 1 - это тот, который вызывает предупреждение. –
Извините, но если 'mydataframe'реально является вашим исходным df, а не копией или фрагментом/тогда это предупреждение не появится, также SO * действительно * правильное место, чтобы стонать об этом? Разве вы не должны размещать что-то на [github] (https://github.com/pydata/pandas/issues) предпочтительно с помощью MVCE? – EdChum