Я собираюсь урезать мой фрейм данных, удалив верхние и нижние 5% или около того данных из определенных столбцов. Есть ошибочные выбросы, которые мешают мне эффективно использовать данные.
В фрейме данных есть столбец «name» и несколько других нечисловых столбцов, поэтому я хочу иметь возможность выбрать конкретные столбцы для обрезки df.
Я думаю, что преобразование ячейки в NaN, если ее значение равно наибольшему или наименьшему x%, будет эффективным способом сделать это, но я открыт для других способов, если они тоже работают.
Вот пример того, что я пытаюсь сделать:
for column in df.columns:
top = column.quantile(0.95)
bottom = column.quantile(0.05)
for cell in column:
if (cell >= top)|(cell <= bottom):
cell = np.NaN