임계값을 초과하는 값에 대한 효율적인 NumPy 배열 값 대체
NumPy 배열을 처리할 때 특정 기준을 충족하는 요소를 다음으로 대체해야 하는 경우가 많습니다. 특정 값. 일반적인 시나리오 중 하나는 임계값보다 큰 값을 바꾸는 것입니다.
임계값 대체
임계값 T를 초과하는 2D NumPy 배열의 모든 값을 값 x로 바꾸려면 , 다음과 같이 NumPy의 Fancy 인덱싱을 사용할 수 있습니다.
<code class="python">arr[arr > T] = x</code>
이 방법은 매우 효율적이고 간결하므로 대규모 배열에 이상적입니다.
For-Loop 접근 방식과 비교
질문에 언급된 for-loop 접근 방식을 사용하려면 전체 배열을 반복해야 합니다. 이 방법은 특히 대규모 배열의 경우 느리고 비효율적입니다. 반면에 Fancy 인덱싱은 전체 배열에 대해 동시에 작동하므로 실행 시간이 훨씬 빨라집니다.
사용 예
500 x 500 임의 행렬을 생각해 보세요. 우리는 0.5보다 큰 모든 값을 5로 바꾸고 싶습니다.
<code class="python">import numpy as np A = np.random.rand(500, 500) A[A > 0.5] = 5</code>
이 작업은 for-loop 접근 방식에 비해 시간이 아주 짧습니다.
위 내용은 다음은 귀하의 기사 내용에 맞는 몇 가지 질문 기반 제목입니다. **효율성에 중점:** * **NumPy 배열 값 대체: 임계값 이상의 값을 효율적으로 대체하는 방법은 무엇입니까?** * **와트시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!