HOWTO · NumPy
NumPy에서 행 수 얻기
array.shape 속성은 Python에서 NumPy 배열의 행과 열 수를 결정하는 데 사용할 수 있습니다.
이 페이지의 내용
2차원 NumPy 배열의 행 수를 구하려면 array.shape[0]을 사용합니다. array.shape 속성은 전체 차원 튜플을 반환하며, 2차원 배열에서는 (rows, columns) 형식입니다. len(array)와 np.size(array, 0)도 첫 번째 축의 개수를 반환하므로 같은 값을 얻습니다.
아래 예제를 실행하려면 NumPy가 설치된 Python이 필요합니다.
array.shape 속성으로 NumPy 배열의 행 수 구하기
NumPy의 축 번호는 0부터 시작합니다. 2차원 배열에서 축 0은 행 축이고 축 1은 열 축입니다. 행 수는 array.shape[0], 열 수는 array.shape[1]로 확인합니다. 두 식 모두 shape 뒤에 괄호를 붙이지 않습니다.
다음 예제를 실행해 보세요.
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
import numpy as np
array = np.array([[1, 3, 5], [2, 4, 6]])
rows = array.shape[0]
columns = array.shape[1]
print("Rows =", rows)
print("Columns =", columns)
출력:
Rows = 2
Columns = 3
안쪽 리스트 두 개가 각각 세 개의 값을 가진 두 행을 이룹니다. 따라서 배열의 모양은 (2, 3)입니다. 배열이 2차원임을 알고 있다면 rows, columns = array.shape처럼 두 차원을 한 번에 변수에 대입할 수도 있습니다.
1차원 배열의 모양은 (3,)과 같이 나타나며, 행과 열 차원이 따로 없습니다. 이때 shape[0]은 원소 개수이고 shape[1]은 사용할 수 없습니다. 표 형태의 데이터가 필요한 경우에는 array.ndim == 2인지 확인하세요. 차원이 더 많은 배열에서도 shape[0]은 첫 번째 축의 크기를 나타내지만, 그 축의 의미는 데이터 구성에 따라 달라집니다.
len() 함수로 NumPy 배열의 행 수 구하기
Python 내장 함수인 len()은 NumPy 배열의 첫 번째 차원의 길이를 반환합니다. 2차원 배열에서는 모든 원소의 개수가 아니라 행의 개수를 셉니다.
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
import numpy as np
array = np.array([[1, 3, 5], [2, 4, 6]])
num_rows = len(array)
print("Rows =", num_rows)
출력:
Rows = 2
여기서는 첫 번째 축의 각 항목이 세 개의 값을 담은 한 행입니다. 따라서 len(array)는 array.shape[0]과 같은 개수를 나타냅니다. 행 수를 셀 때 len(array[0])을 사용하지 마세요. 이 식은 첫 번째 행의 길이를 측정하며, 배열에 첫 번째 행이 있어야만 사용할 수 있습니다.
모양이 (0, 3)인 배열에는 행이 없습니다. 따라서 len(array)와 array.shape[0]은 모두 0을 반환합니다. 스칼라 배열에는 첫 번째 축이 없으므로 어느 식으로도 행 수를 구할 수 없습니다.
np.size() 함수로 NumPy 배열의 행 수 구하기
np.size() 함수에는 배열과 선택적 정수 인수인 axis를 전달할 수 있습니다. 첫 번째 차원의 길이를 구하려면 axis=0을 지정하세요. np.size(array, 0)처럼 위치 인수로 지정해도 결과는 같습니다.
이 섹션의 코드와 표시되는 레이블 또는 출력은 영어로 유지됩니다.
import numpy as np
array = np.array([[1, 3, 5], [2, 4, 6]])
num_rows = np.size(array, 0)
print("Rows =", num_rows)
출력:
Rows = 2
axis를 생략하면 구하는 값이 달라집니다. np.size(array)는 모든 원소의 개수를 셉니다. 이 2×3 배열에서는 전체 원소 수가 6이고 첫 번째 축의 길이는 2입니다. 마찬가지로 2차원 배열에서 np.size(array, axis=1)은 열의 개수를 반환합니다. 축 인수는 하나의 차원을 선택하며, 축 튜플을 받는 인수가 아닙니다.
결론
2차원 NumPy 배열의 행 수를 바로 구하려면 array.shape[0]을 사용하세요. len(array)와 np.size(array, 0)도 같은 개수를 반환합니다. np.size(array)는 전체 원소 수를 반환합니다.