NumPy 배열 반복
- 이전 페이지 NumPy 배열 재구조화
- 다음 페이지 NumPy 배열 결합
배열 반복
반복은 요소를 차례대로 순회하는 것을 의미합니다.
numpy에서 다차원 배열을 처리할 때는 python의 기본 for 반복을 사용할 수 있습니다.
1-D 배열을 반복하면 각 요소를 차례대로 순회합니다.
예제
다음 1-D 배열의 요소를 반복합니다:
import numpy as np arr = np.array([1, 2, 3]) for x in arr: print(x)
2-D 배열을 반복합니다
2-D 배열에서는 모든 행을 순회합니다.
예제
다음 2-D 배열의 요소를 반복합니다:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) for x in arr: print(x)
n-D 배열을 반복하면, n-1 차원을 차례대로 순회합니다.
실제 값, 스칼라를 반환하려면 각 차원의 배열을 반복해야 합니다.
예제
2-D 배열의 각 스칼라 요소를 반복합니다:
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) for x in arr: for y in x: print(y)
3-D 배열을 반복합니다
3-D 배열에서는 모든 2-D 배열을 순회합니다.
예제
다음 3-D 배열의 요소를 반복합니다:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) for x in arr: print(x)
실제 값, 스칼라를 반환하려면 각 차원의 배열을 반복해야 합니다.
예제
스칼라까지 반복합니다:
import numpy as np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) for x in arr: for y in x: for z in y: print(z)
nditer()를 사용하여 배열을 반복합니다
함수 nditer()
이는 매우 기본적인 반복에서 매우 고급 반복까지 사용할 수 있는 보조 함수입니다. 반복에서 만나는 몇 가지 기본적인 문제를 해결합니다. 예제를 통해 소개합니다.
각 스칼라 요소를 반복합니다
기본적으로 for
반복에서 배열의 각 스칼라를 반복하려면 n 개의 스칼라를 사용해야 합니다 for
반복은 고차원 배열에 대해 코드를 작성하는 것이 어려울 수 있습니다.
예제
다음 3-D 배열을 순회합니다:
import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) for x in np.nditer(arr): print(x)
다양한 데이터 타입의 배열을 반복하면 됩니다
다음은 사용할 수 있습니다 op_dtypes
파라미터를 전달하고, 요청한 데이터 타입을 통해 반복 중에 요소의 데이터 타입을 변경할 수 있습니다.
NumPy는 요소가 배열 내에 위치하므로 데이터 타입을就地 변경하지 않습니다. 따라서 이 작업을 수행하기 위해 추가 공간이 필요하며, 이 추가 공간을 buffer라고 합니다. 이를}} nditer()
이를 활성화하려면, 우리는 매개변수를 전달합니다 flags=['buffered']
。
예제
배열을 문자열 형식으로 순회하십시오:
import numpy as np arr = np.array([1, 2, 3]) for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S']) print(x)
다른 단계로 반복
필터링을 사용한 후 반복할 수 있습니다.
예제
2D 배열의 하나의 스칼라 요소를 순회하면서 1 개의 요소를 건너뜁니다:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for x in np.nditer(arr[:, ::2]): print(x)
ndenumerate()를 사용하여 열거 반복
열거는 각각의 물체를 순서대로 언급하는 것을 의미합니다.
때로는 반복 중에 요소의 상응 인덱스가 필요할 때가 있습니다. 이러한 케이스에서는 다음을 사용할 수 있습니다 ndenumerate()
메서드.
예제
다음 1D 배열 요소를 열거하십시오:
import numpy as np arr = np.array([1, 2, 3]) for idx, x in np.ndenumerate(arr): print(idx, x)
예제
다음 2D 배열 요소를 열거하십시오:
import numpy as np arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) for idx, x in np.ndenumerate(arr): print(idx, x)
- 이전 페이지 NumPy 배열 재구조화
- 다음 페이지 NumPy 배열 결합