Как устранить выбросы в датафрейме?
Имеется датафрейм student со стобцом Fedu:
4.0, 1.0, 2.0, 2.0, 3.0 и т.д.
Пытаюсь устранить выбросы:
q3 = student.Fedu.quantile(q = 0.75, interpolation = 'midpoint')
q1 = student.Fedu.quantile(q = 0.25, interpolation = 'midpoint')
IQR = q3 - q1
a = q1 - 1.5*IQR
b = q3 + 1.5*IQR
student.Fedu = student.Fedu.apply(lambda x: x[(x>a) & (x < b)])
Выдает ошибку: TypeError: 'float' object is not subscriptable
Вопрос: как устранить выбросы? Заранее спасибо!
Ответы (1 шт):
Автор решения: Nikolay
→ Ссылка
Попробуйте так:
student.Fedu = student.Fedu[(student.Fedu>a) & (student.Fedu < b)])
После этого вместо удаленных значений выбросов у вас появятся значения NaN, можно либо удалить строки с данным значением с помощью метода .dropna(axis = 0, inplace = True), либо заполнять данные значения с помощью метода .fillna()