KNNImputer не заменяет

#python #dataframe #replace #knn

#python #фрейм данных #заменить #knn

Вопрос:

Я пытаюсь заменить 999999.0 в таблице на KNNImputer, и тот же 999999.0 — находится в экспортированных файлах csv.

 imputer = KNNImputer(missing_values=999999.0, n_neighbors=2, weights="uniform")
imputer.fit_transform(X)
 

Я попытался переименовать в nan, np.nan, но все равно KNNImputer не заменяет их. Сообщения об ошибке нет, сгенерирован новый CSV. Я также пытался заменить в dateframe до nan или np.nan, но этого также не происходит:

 df.replace({999999:nan}, inplace=True, regex=True)
 

Ответ №1:

На самом деле решение состояло в том, чтобы заменить ‘999999’ на ‘nan’ при выполнении импорта csv с «na_values =»:

 df = pd.read_csv('data.csv', encoding='utf-8', engine='python', na_values='999999.0')