Есть ли встроенная функция, чтобы отклонять выбросы из списка?

Есть ли встроенная функция, чтобы сделать что-то вроде следующего? То есть взять списокd и вернуть списокfiltered_d со всеми удаленными элементами, удаленными на основании некоторого предполагаемого распределения точек вd.

import numpy as np

def reject_outliers(data):
    m = 2
    u = np.mean(data)
    s = np.std(data)
    filtered = [e for e in data if (u - 2 * s < e < u + 2 * s)]
    return filtered

>>> d = [2,4,5,1,6,5,40]
>>> filtered_d = reject_outliers(d)
>>> print filtered_d
[2,4,5,1,6,5]

Я говорю «что-то вроде» потому что функция может учитывать различные распределения (пуассоновские, гауссовы и т. д.) и различные пороговые значения выбросов в этих распределениях (например,m Я использовал здесь).

Ответы на вопрос(7)

Ваш ответ на вопрос