FutureWarning: значение пытается быть установлено в копии DataFrame или Series посредством цепного назначения в Pandas.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 FutureWarning: значение пытается быть установлено в копии DataFrame или Series посредством цепного назначения в Pandas.

Сообщение Anonymous »

Я получаю предупреждение FutureWarning при попытке заполнить пропущенные значения в столбце «возраст» моего DataFrame средним значением столбца. Предупреждение предполагает, что поведение изменится в Pandas 3.0, и метод inplace не будет работать должным образом, поскольку промежуточный объект всегда ведет себя как копия.
Вот предупреждающее сообщение, которое я получаю

Код: Выделить всё

FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.
Поведение изменится в pandas 3.0. Этот метод inplace никогда не будет работать, поскольку промежуточный объект, для которого мы устанавливаем значения, всегда ведет себя как копия.
Я понимаю, что эта проблема возникает из-за использования параметра inplace с цепным присвоением. Вот код, который вызывает предупреждение

Код: Выделить всё

df['age'].fillna(df['age'].mean(), inplace=True)
Мне нужен альтернативный подход, который обновляет DataFrame без использования inplace=True и позволяет избежать предупреждения. Я попробовал следующие методы, но они не изменили DataFrame должным образом.
  • Переназначение результата обратно в столбец
    < /ол>

    Код: Выделить всё

    df['age'] = df['age'].fillna(df['age'].mean())
    
  • Использование словаря с fillna

Код: Выделить всё

df.fillna({'age': df['age'].mean()}, inplace=True)
Несмотря на эти попытки, DataFrame по-прежнему показывает 891 пропущенное значение в столбце «возраст» после попытки их заполнения.

Подробнее здесь: https://stackoverflow.com/questions/787 ... -series-th
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»