Удалите выбросы во многих столбцах, используя среднее и стандартное отклонение в Python

Мой CSV-файл содержит фрейм данных с более чем 400 столбцами и указателем даты и времени. Я хочу удалить выбросы в каждом столбце, используя среднее значение и стандартное отклонение (SD). Удаляемые строки - это те, которые содержат значения, которые находятся за пределами (Среднее - 2* SD) и (Среднее + 2*SD).

Для одного столбца я могу использовать следующий код для перечисления данных, которые будут сохранены:

col1 = df['Col_1']
mean = np.mean(col1, axis=0)
sd = np.std(col1, axis=0)

include = [i for i in col1 if (i > mean - 2 * sd)]
include = [i for i in col1 if (i < mean + 2 * sd)]
print(include)

Мои вопросы: как сделать это одним выстрелом из питона для всего df, вернуть только последний df из Inliers и сохранить исходный формат таблицы с указателем даты и времени и столбцами.

Другие найденные статьи имеют дело с одним массивом.

0 ответов

Другие вопросы по тегам