У меня есть датафрейм, который выглядит как ниже
+---+-------------+---------+---------------+---------------+---------+------+--------------------------+-----+----------+
| | Pregnancies | Glucose | BloodPressure | SkinThickness | Insulin | BMI | DiabetesPedigreeFunction | Age | Outcome |
+---+-------------+---------+---------------+---------------+---------+------+--------------------------+-----+----------+
| 0 | 6 | 148.0 | 72.0 | 35.0 | 125.0 | 33.6 | 0.627 | 50 | 1 |
| 1 | 1 | 85.0 | 66.0 | 29.0 | 125.0 | 26.6 | 0.351 | 31 | 0 |
| 2 | 8 | 183.0 | 64.0 | 29.0 | 125.0 | 23.3 | 0.672 | 32 | 1 |
| 3 | 1 | 89.0 | 66.0 | 23.0 | 94.0 | 28.1 | 0.167 | 21 | 0 |
| 4 | 0 | 137.0 | 40.0 | 35.0 | 168.0 | 43.1 | 2.288 | 33 | 1 |
+---+-------------+---------+---------------+---------------+---------+------+--------------------------+-----+----------+
После просмотра прямоугольника для каждой переменной. Я обнаружил, что в них есть выбросы.
Таким образом, в каждом столбце, кроме Outcome
, я хочу заменить значения, которые greater than 95 percentile with value at 75 percentile
, и значения, less than 5 percentile with 25 percentile
этого конкретного столбца
Например, в столбце Glucose
значения, превышающие 95 процентиль, я хочу заменить их значением на 75 процентиль Glucose
столбец
Как это сделать с помощью фильтра панд и процентили
Любая помощь в этом будет оценена