numpy 배열 타입(dtype), 모양(shape), 차원(ndim), 크기(size)

파이썬/Numpy|2019.08.06 15:43

ndarray 생성 - np.array(배열, 타입)

arr = np.array([1, 2, 3, 4], float)

데이터 타입 지정시 배열에는 지정한 타입의 데이터만 넣을 수 있음

arr = np.array([1, 2, "a", 3], float)

ValueError: could not convert string to float: 'a'

 

arr = np.array([1, 2, "a", True])

위와 같이 생성시 모든 데이터가 문자열로 인식되고 이는 

arr = np.array([1, 2, "a", True], np.str) 과 같음.

 

각 요소의 데이터 타입을 확인해보면 모두 문자열임.

print(type(arr[0]), type(arr[1]), type(arr[2]), type(arr[3]))
<class 'numpy.str_'> <class 'numpy.str_'> <class 'numpy.str_'> <class 'numpy.str_'>

 

형변환이 가능한 데이터의 타입 지정시 자동으로 형변환을 함

arr = np.array([1, 2, "3", "4"], np.float)
print(arr.dtype)
float64

 

배열 전체의 데이터 타입을 반환

arr.dtype 

 

배열의 행렬 모양을 튜플로 반환

arr.shape
arr = np.array([1, 2, 3, 4])
arr.shape

(4,) - 4행의 행렬

 


arr = np.array([[1, 2, 3, 4]]) 
arr.shape

(1, 4) - 1행 4열의 행렬

 


arr = np.array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]) 
arr.shape

(3, 4) - 3행 4열의 행렬

 


arr = np.array([[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],
               [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],
               [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],])
arr.shape

(3, 3, 4)  - 3행 4열의 행렬이 3개

 

차원 반환

arr = np.array([[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],
                        [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],
                        [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],])
arr.ndim
3

 

배열 요소의 총 갯수 반환

arr = np.array([[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]
                       [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],
                       [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]],])
arr.size
36

 

댓글()