Я заполняю некоторые пропущенные значения (NaN)
, используя прогнозируемое значение, построенное с KNN Regressor Model
.Теперь я хотел бы ввести прогнозируемые значения в виде нового столбца в исходном фрейме данных, сохранив исходные значения для тех строк, которые не были NaN
.Это будет новый столбец в моем фрейме данных, который я буду использовать для создания функции.
Я использую итерроу для циклического перебора значений для создания нового столбца, но получаю ошибку,Я использовал 2 разных способа изолировать значения NaN
.Однако у меня возникают проблемы с каждым методом
sticker_price_preds = []
features = ['region_x', 'barrons', 'type_x', 'tier_x', 'iclevel_x',
'exp_instr_pc_2013']
for index, row in data.iterrows():
val = row['sticker_price_2013']
if data[data['sticker_price_2013'].isnull()]:
f = row['region_x', 'barrons', 'type_x', 'tier_x', 'iclevel_x',
'exp_instr_pc_2013']
val = knn.predict(f)
sticker_price_preds.append(val)
data['sticker_price_preds'] = sticker_price_preds
AND
sticker_price_preds = []
features = ['region_x', 'barrons', 'type_x', 'tier_x', 'iclevel_x',
'exp_instr_pc_2013']
for index, row in data.iterrows():
val = row['sticker_price_2013']
if not val:
f = row['region_x', 'barrons', 'type_x', 'tier_x', 'iclevel_x',
'exp_instr_pc_2013']
val = knn.predict(f)
sticker_price_preds.append(val)
data['sticker_price_preds'] = sticker_price_preds
Я возвращаю следующее сообщение об ошибке для первого метода:
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Для второго метода строки NaN остаются пустыми