데이터 분석/Python
[Numpy] ndarray
eunki
2021. 4. 22. 20:58
728x90
Numpy : 수학, 과학 계산을 위한 패키지 (Numerical Python)
import numpy as np
ndarray : n차원 배열 (n dimension array)
1D array : 1차원 배열
numpy.array([1, 2, 3, 4])
shape: (4,) ⇒ 4×1의 배열
2D array : 2차원 배열
numpy.array([1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12])
shape: (3, 4) ⇒ 3×4의 배열
3D array : 3차원 배열
shape: (2, 5, 3) ⇒ 2×5×3의 배열
1. ndarray 생성
arr = np.array([1, 2, 3, 4], dtype=int)
arr # array([1, 2, 3, 4])
type(arr) # numpy.ndarray
2. list로부터 ndarray 생성
mylist1 = [1, 2, 3, 4]
arr1 = np.array(mylist1)
arr1.shape # (4,)
mylist2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
arr2 = np.array(mylist2)
arr2.shape # (2, 4)
ndarray에서는 1개의 단일 데이터 타입만 허용된다. 그렇다면 다음과 같은 경우에는 어떻게 될까?
① int와 float 타입이 혼재된 경우
데이터 타입이 모두 float로 변환된다.
arr = np.array([1, 2, 3, 3.14])
arr # array([1. , 2. , 3. , 3.14])
② int와 float 타입이 혼재되었으나, int로 dtype을 지정한 경우
arr = np.array([1, 2, 3, 3.14], dtype=int)
arr # array([1, 2, 3, 3])
③ int와 str 타입이 혼재된 경우
데이터 타입이 모두 str로 변환된다.
arr = np.array([1, 3.14, '테디', '1234'])
arr # array(['1', '3.14', '테디', '1234'], dtype='<U32')
④ int와 str 타입이 혼재되었으나, int로 dtype을 지정한 경우
arr = np.array([1, 3.14, '1234'], dtype=int)
arr # array([1, 3, 1234])
728x90