Удалите выбросы во многих столбцах, используя среднее и стандартное отклонение в 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 и сохранить исходный формат таблицы с указателем даты и времени и столбцами.
Другие найденные статьи имеют дело с одним массивом.