Код Middle NumPy: массивы и векторизация обновлено
Обрезка выбросов по перцентилям
Условие
Обрежьте значения xs по 5-му и 95-му перцентилям (метод NumPy по умолчанию, линейная интерполяция): всё, что ниже нижней границы, замените ею, выше верхней тоже. Верните список, округлённый до 2 знаков.
Примеры
winsorize([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]) // [1.95, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 19.05]
winsorize([1, 1, 1, 1, 100]) // [1, 1, 1, 1, 80.2]
winsorize([5]) // [5]
Как подойти
Подсказки: 2
np.percentileпринимает список перцентилей.np.clip(a, lo, hi).
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.