Код 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
  1. np.percentile принимает список перцентилей.
  2. np.clip(a, lo, hi).

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.