Использование вменителя с условиями для значений ячеек столбцов

#pandas #dataframe #machine-learning #knn #imputation

Вопрос:

У меня есть фрейм данных с определенным количеством » nan » в определенных столбцах: (Общее количество строк более 50000)

Данные выглядят примерно так, как показано ниже (показано для 1-го из 3 столбцов)

A B C D E F
10 20 5 . . .
nan 54 10 . . .
23 nan 9 . . .
30 32 6 . . .
20 22 nan . . .
. . . . . .
. . . . . .

В этих столбцах есть условие : A < B и A > C всегда для всех строк.

Я хочу использовать какой-нибудь вменяемый компьютер (предпочтительно KNNImputer), чтобы после вменения выполнялись вышеуказанные условия. (при применении импутера в общем виде оказывается, что многие ячейки не удовлетворяют этим условиям)

Как это может быть реализовано?

Комментарии:

1. Я не думаю, что мы можем сделать это, используя какие-либо доступные рамки. У вас должно быть else заявление. Я имею в виду, если вменяемый KNN не заполняет эти значения NaN в соответствии с вашими условиями, то что еще мы должны туда поместить?

2. дело в том, что knn подходит для этого … но условия не всегда выполняются.. в этом сценарии нам нужно будет явно заменить такие «заполненные» ячейки некоторыми условиями, такими как ячейка(A) = min(ячейка(A), ячейка(B)) для всех строк…но мне было интересно, насколько это эффективно и есть ли какой-либо другой лучший способ..