HOWTO · NumPy
NumPy 배열 길이 얻기
`len(array)`는 NumPy 배열의 첫 번째 축 길이를, `array.size`는 전체 요소 수를, `array.shape`는 각 차원의 길이를 반환합니다.
이 페이지의 내용
NumPy 배열의 첫 번째 축 길이는 len(array)로, 전체 요소 수는 array.size로, 차원별 길이는 array.shape로 확인할 수 있습니다. 이 값들은 서로 다른 질문에 답합니다. 2차원 배열에서 길이는 행 수, size는 전체 항목 수, shape는 행과 열의 크기를 나타냅니다.
NumPy 배열의 길이와 전체 요소 수 구하기
Python 내장 함수 len()은 차원이 하나 이상인 배열의 첫 번째 축 길이를 반환합니다. 1차원 배열에서는 이 값이 전체 요소 수와 같습니다. 다차원 배열에서는 각각의 항목을 모두 세는 대신 가장 바깥쪽 그룹의 수를 셉니다.
ndarray.size 속성은 모든 축의 요소 수를 합한 전체 개수를 반환합니다. 괄호 없이 array.size처럼 사용합니다. 1차원 배열과 다차원 배열 모두에 사용할 수 있으며, 요소를 세기 위해 배열을 평탄화할 필요가 없습니다.
다음은 NumPy가 필요한 독립 실행형 예제입니다.
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
import numpy as np
vector = np.array([1, 2, 3, 4, 5, 6])
array = np.array([[1, 2, 3], [4, 5, 6]])
print("Vector length:", len(vector))
print("Vector element count:", vector.size)
print("Array length:", len(array))
print("Array element count:", array.size)
Vector length: 6
Vector element count: 6
Array length: 2
Array element count: 6
벡터에는 하나의 축을 따라 항목이 여섯 개 있으므로 길이와 전체 개수가 같습니다. 2차원 배열에는 각각 항목 세 개를 담은 행이 두 개 있습니다. 따라서 첫 번째 축의 길이는 행 수를 나타내고, 전체 개수에는 두 행의 항목이 모두 포함됩니다.
NumPy에는 축을 지정하지 않았을 때 전체 개수를 반환하는 함수 np.size(array)도 있습니다. 속성과 달리 함수에는 축을 전달할 수 있습니다. np.size(array, axis=1)은 두 번째 축의 길이를 반환합니다. 전체 개수에는 속성을 사용하고, 특정 차원의 길이가 필요하면 축을 명시하세요. 어느 쪽도 고유한 값이나 0이 아닌 값만 세지는 않습니다.
NumPy 배열의 차원 확인하기
ndarray.shape 속성은 각 축의 길이가 하나씩 들어 있는 튜플을 반환합니다. 괄호 없이 array.shape처럼 사용합니다. 이에 대응하는 함수는 np.shape(array)이며, 이 함수도 스칼라 요소 수가 아니라 배열의 형태를 반환합니다.
위의 2차원 배열에서 형태는 (2, 3)입니다. 행이 두 개이고 열이 세 개라는 뜻입니다. 행 수는 array.shape[0], 열 수는 array.shape[1]로 가져옵니다. 배열의 차원이 정확히 두 개일 때만 rows, columns = array.shape처럼 값을 풀어 대입하세요.
요소가 여섯 개인 1차원 배열의 형태는 정수 6이 아니라 항목 하나짜리 튜플 (6,)입니다. (2, 3, 4)와 같은 형태는 축이 세 개임을 나타냅니다. 전체 요소 수를 구하려면 모든 축의 길이를 곱해야 합니다. 앞의 두 값만 곱하는 방법은 차원이 더 높은 배열에는 일반화되지 않습니다. 전체 개수만 필요하다면 array.size를 사용하세요.
형태 튜플의 항목 수는 배열의 차원 수이며, 이 값은 array.ndim으로도 확인할 수 있습니다. np.array(7)과 같은 스칼라 배열은 형태가 ()이고 요소가 하나지만 첫 번째 축은 없으므로 len()을 사용할 수 없습니다. 익숙하지 않은 배열이 표처럼 동작하지 않는다면, 인덱싱하거나 차원을 풀어 대입하기 전에 형태를 확인하세요.