본문 바로가기
개발(Development)/Python(파이썬)

[파이썬] 넘파이(numpy) : 배열 크기, 형상 확인(shape, ndim, size, len)

by 카레유 2020. 6. 30.

 

 

""" 넘파이 배열 객체(numpy.ndarray)의 형상 및 크기 확인 기본 함수 4가지 (shape, ndim, size, len) """

 

 

# 1. ndarray.shape : 몇행 몇열인지 반환

# 3개 원소 배열 -> (3, ) 반환

arr_3 = np.array([0, 1, 2])

arr_3.shape # (3, )

 

# 2x3 배열 -> (2, 3) 반환

arr_2x3 = np.array([ [11, 12, 13], [21, 22, 23] ])

arr_2x3.shape  # (2, 3)

 

# 2x3x2 배열 -> (2, 3, 2) 반환

arr_2x3x2 = np.array( [ [ [111, 112], [121, 122], [131, 132] ], [ [211, 212], [221, 222], [231, 232] ] ] )

arr_2x3x2.shape  # (2, 3, 2)

 

 

 

# 2. ndarray.ndim : 몇 차원인지 반환

# 3개 원소 배열(1차원) -> 1 반환

arr_3 = np.array([0, 1, 2])

arr_3.ndim # 1

 

# 2x3 배열(2차원) -> 2 반환

arr_2x3 = np.array([ [11, 12, 13], [21, 22, 23] ])

arr_2x3.ndim # 2

 

# 2x3x2 배열(3차원) -> 3 반환

arr_2x3x2 = np.array( [ [ [111112][121122][131132] ][ [211212][221222][231232] ] ] )

arr_2x3x2.ndim # 3

 

 

 

# 3. ndarray.size : 전체 원소의 갯수 반환

# 3개 원소 배열 -> 3 반환

arr_3 = np.array([0, 1, 2])

arr_3.size # 3

 

# 2x3 배열 -> 6 (총 원소 갯수 = 2x3 = 6개) 반환

arr_2x3 = np.array([ [11, 12, 13], [21, 22, 23] ])

arr_2x3.size # 6

 

# 2x3x2 배열 -> 12 (총 원소 갯수 = 2x3x2 = 12개) 반환

arr_2x3x2 = np.array( [ [ [111112][121122][131132] ][ [211212][221222][231232] ] ] )

arr_2x3x2.size # 12

 

 

 

# 4. len(ndarray) : 첫 번째 차원의 갯수(행수) 반환

# 3개 원소 배열 -> 3 (첫 번째 차원 : 3개) 반환

arr_3 = np.array([0, 1, 2])

len(arr_3) # 3

 

# 2x3 배열 -> 2 (첫 번째 차원 행수 : 2개) 반혼

arr_2x3 = np.array([ [11, 12, 13], [21, 22, 23] ])

len(arr_2x3) # 2

 

# 2x3x2 배열 -> 2 (첫 번째 차원 행수 : 2개) 반환

arr_2x3x2 = np.array( [ [ [111112][121122][131132] ][ [211212][221222][231232] ] ] )

len(arr_2x3x2) # 2

 

 

#------------------------------------------------------------------------------------------#

 

 

# 헷갈리는 size와 len

1. size

   : 전체 원소의 갯수!

   : 2x3 배열의 경우, 원소 갯수인 6을 반환!

2. len

   : 첫 번째 차원의 원소(행) 수!

   : 2x3 배열의 경우, 첫 번째 차원의 행수인 2를 반환!

   : [1, 2, 3] 같은 1차원 배열의 경우, shape가 (3, )이므로 첫 번째 차원의 행수인 3을 반환한다고 봐도 될듯.

 

 

# 참고 사항

1. len(객체)는 파이썬 내장함수

   : 파이썬 기본 리스트(list)나 문자열에도 사용 가능!

3. shape, ndim, size는 numpy.ndarray객체의 메서드

   : 파이썬 기본 리스트(list)나 문자열에선 사용 불가! (numpy.ndarray 에서만 사용 가능)

 

 

 

댓글