Numpy 라이브러리의 자료형은 파이썬 내장함수와 기본적으로 동일하다.
단, type(), dtype()은 약간의 차이가 있다.
Numpy | np.array.dtype
Python | type()
A= np.arange(6).reshape(2, 3)
print(A)
print(A.dtype)
print(type(A))
>>> [[0 1 2]
[3 4 5]]
>>> int64
>>> <class 'numpy.ndarray'>
B = np.array([0, 1, 2, 3, 4, 5])
print(B)
print(B.dtype)
print(type(B))
>>> [0 1 2 3 4 5]
>>> int64
>>> <class 'numpy.ndarray'>
C = np.array([0, 1, 2, 3, '4', 5])
print(C)
print(C.dtype)
print(type(C))
>>> ['0' '1' '2' '3' '4' '5']
>> <U21
>> <class 'numpy.ndarray'>
D = np.array([0, 1, 2, 3, [4, 5], 6]) # 이런 ndarray도 만들어질까?
print(D)
print(D.dtype)
print(type(D))
>>> [0 1 2 3 list([4, 5]) 6]
>>> object
>>> <class 'numpy.ndarray'>
dtype은 ndarray 원소의 데이터 타입을 반환한다.
반면 type(A)은 A의 데이터 타입을 반환한다.
D의 경우처럼 배열 내에 list가 포함된 배열을 만들 수도 있다.
하지만, 이 경우에도 배열 내 원소들의 데이터 타입이 일치해야 한다.
따라서 각 원소의 데이터 타입은 파이썬 내 최상위 클래스인 object 객체가 된다.
해당 기능은 현재 deprecated 됨