Одним из приемов для ускорения работы циклов является векторизация вычислений, т. е. использование функций, которые поддерживают операции над векторами. Вообще лучший способ ускорить любой цикл – это отказаться от него. В примере выше для работы с функцией my_func мы могли бы вызвать ее в цикле для каждого элемента списка, но гораздо проще использовать vectorize. По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению. Аргумент сигнатуры позволяет векторизовать функции, которые представляют собой массивы фиксированной длины. Например, вы можете использовать его для векторизованного расчета коэффициента корреляции Пирсона и его значения Или для такой векторизации : #vectorize #numpy