Numpy 배열을 위한 함수 벡터화
numpy 배열에 대해 함수를 효율적으로 매핑하려면 벡터화 기능을 활용할 수 있습니다. 배열에서 요소별로 작업을 수행합니다. 이는 목록 이해와 같은 루프 기반 접근 방식을 사용하는 것보다 훨씬 빠릅니다.
NumPy 기본 함수
매핑하려는 함수가 이미 NumPy 함수로 벡터화되어 있는 경우, 요소를 제곱하기 위한 np.square()와 같은 것을 사용하는 것이 좋습니다. 다른 방법보다 훨씬 빠릅니다.
NumPy의 벡터화를 사용한 벡터화
NumPy는 함수를 벡터화하기 위한 벡터화 기능을 제공합니다. 함수를 래핑하여 배열에서 요소별 작업을 활성화합니다.
import numpy as np def f(x): return x ** 2 vf = np.vectorize(f) x = np.array([1, 2, 3, 4, 5]) squares = vf(x)
또 다른 대안은 함수 래퍼를 초기화하지 않고 벡터화를 사용하는 것입니다.
squares = np.vectorize(f)(x)
기타 벡터화 방법
다른 벡터화 방법 include:
성능 고려 사항
이러한 모든 방법은 함수를 벡터화할 수 있지만 성능은 다를 수 있습니다. 벤치마크에 따르면 NumPy의 기본 기능을 사용하는 것이 사용 가능한 경우 가장 빠른 것으로 나타났습니다. 다른 경우에는 벡터화 및 fromiter가 일반적으로 np.array(list(map(f, x)))보다 더 나은 성능을 발휘합니다.
위 내용은 NumPy 배열에 함수를 효율적으로 적용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!