неожиданная настройка с копированием предупреждения с пандами - PullRequest
0 голосов
/ 22 марта 2019

Я написал этот код для замены значений nan на медиану каждого столбца в соответствии со значением переменной для объяснения:

data_target1 = data[data['target'] == 1]
data_target0 = data[data['target'] == 0]
for col_name in data.columns.values: 
        data_target1.loc[:,col_name] = data_target1[col_name].fillna(data_target1[col_name].median())
        data_target0.loc[:,col_name] = data_target0[col_name].fillna(data_target0[col_name].median())

data = pd.concat([data_vae1,data_vae0], ignore_index=True)
data = data.sort_values(by='IDCLI_CALCULE')
data = data.reset_index(drop=True)
return data

Я получаю во время казни:

SettingWithCopyWarning:A value is trying to be set on a copy of a slice from a DataFrame. 

Я понимаю предупреждение, я прочитал документацию и все же не могу написать код без появления предупреждения ... Может ли кто-нибудь объяснить мою ошибку и дать мне решение для решения этой проблемы?

Я прочитал эти 2 страницы и понял, что мне нужно использовать .loc для решения моей проблемы, но я остаюсь заблокированным ...

1-: Панды: SettingWithCopyWarning

2-: Настройка PandasWithCopyWarning

Возможно, это деталь, но я не могу найти ключ к решению этой маленькой проблемы.

Заранее спасибо

EDIT

После проверки мне удалось решить мою проблему, используя метод «копирования», как это предлагается в комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...