일반화된 벡터화 함수로 NumPy 배열 정당화
소개
NumPy 배열 정당화는 다음을 의미합니다. 0이 아닌 요소를 배열의 한쪽으로 이동하여 조작하기 쉽게 만듭니다. 또는 프로세스. 제공된 Python 함수는 2D 행렬의 왼쪽 정렬에 중점을 두지만, 더 효율적이고 포괄적인 접근 방식은 NumPy 벡터화 함수를 사용하는 것입니다.
배열 정렬을 위한 NumPy 벡터화 함수
다음 함수 justify는 왼쪽과 오른쪽은 물론 위쪽과 아래쪽 모두에 대해 2D 배열을 정렬하는 일반화된 방법을 제공합니다. 방향:
import numpy as np def justify(a, invalid_val=0, axis=1, side='left'): if invalid_val is np.nan: mask = ~np.isnan(a) else: mask = a!=invalid_val justified_mask = np.sort(mask,axis=axis) if (side=='up') | (side=='left'): justified_mask = np.flip(justified_mask,axis=axis) out = np.full(a.shape, invalid_val) if axis==1: out[justified_mask] = a[mask] else: out.T[justified_mask.T] = a.T[mask.T] return out
매개변수:
사용 예:
a = np.array([[1, 0, 2, 0], [3, 0, 4, 0], [5, 0, 6, 0], [0, 7, 0, 8]]) justified_array = justify(a, side='left') print(justified_array) # Output: # [[1, 2, 0, 0], # [3, 4, 0, 0], # [5, 6, 0, 0], # [7, 8, 0, 0]]
justified_array = justify(a, axis=0, side='up') print(justified_array) # Output: # [[1, 7, 2, 8], # [3, 0, 4, 0], # [5, 0, 6, 0], # [6, 0, 0, 0]]
NumPy의 이점 기능:
결론
제공된 NumPy 함수인 justify는 NumPy 배열을 정당화하는 강력하고 효율적인 방법을 제공합니다. 일반화된 특성과 벡터화된 구현으로 인해 배열 조작 및 처리 작업을 위한 다목적 도구가 됩니다.
위 내용은 NumPy 벡터화된 함수는 어떻게 NumPy 배열을 여러 방향으로 효율적으로 정당화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!