2022. 6. 28. 22:52ㆍData Science/with Python(Numpy, Pandas …ect.)
Numpy 기본 사용 방법
① Numpy array creation
우선 라이브러리를 불러와야 한다.
import numpy as np
전세계 만인 공통 문장.
# python에서 list를 미리 선언한 후에 numpy array로 변환
data = [1, 2, 3, 4, 5]
arr1 = np.array(data)
# python list를 np.array로 변환
np.array([1, 2, 3, 4, 5])
array를 만드는 방법은 위와 같이
간단히 2가지가 있다.
위 arr 들의 type을 찍어보면
numpy.ndarray라고 뜨는데 이건
ndarry(d-dimensional array)라고 부르며
간단히 다차원의 array를 지원 가능하게끔
벡터로 인지할 수 있는 array라는 뜻이다.
np.array(1, 2, 3, 4, 5)
단, 주의할 건 위와 같이 대괄호 없이
다이렉트로 숫자를 집어 넣으면
함수에 parameter를 넘긴 것과 동일해서
에러를 발생한다. 차라리 ((괄호를 2번))
넣어준 것은 튜플로 인식하기 때문에
에러가 발생하지 않는다.
# np.array.shape 은 np.array의 크기를 알려준다.
arr1.shape
출력값 : (5,)
(5,)는 5X1란 의미로 (5,1)인데
1이 생략되어 있는 형태이다.
data2 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
arr2 = np.array(data2)
# arr2의 차원
print("arr2의 ndim : ", arr2.ndim)
>>> arr2의 ndim : 2
# arr2의 행, 열 크기
print("arr2의 shape : ", arr2.shape)
>>> arr2의 shape : (3, 3)
# arr2의 행 x 열
print("arr2의 size : ", arr2.size)
>>> arr2의 size : 9
# arr2의 원소의 타입
print("arr2의 dtype : ", arr2.dtype)
>>> arr2의 dtype : int64 # integer + 64bits
# arr2의 원소의 사이즈(bytes)
print("arr2의 itemsize : ", arr2.itemsize)
>>> arr2의 itemsize : 8 # 64bits = 8bytes
# itemsize * size (numpy array가 차지하는 메모리 공간)
print("arr2의 nbytes : ", arr2.nbytes)
>>> arr2의 nbytes : 72
그때그때 찾아 쓰면 되기 때문에
다 외울 필요는 없지만 shape과 nbytes는
생각보다 자주 사용하므로 기억해두면 유용하다.
+ 가능하면 dtype까지~!
② Array Initialization
numpy array는 생성 후 변경 및 수정이
불가하다고 앞서 이야기 했다. 그래서 미리
어느 정도 희망하는 만큼의 공간을 확보하고
싶은데 안에 넣을 데이터가 있어야 확보가
가능하지 않겠는가? 이때 사용하는, 의미가
없으면서 깔끔한 원소들로 이루어질 수 있도록
하는 방법을 Array Initializstion이라 하고
3가지 방법이 존재한다.
- 원소가 0인 array를 생성하는 np.zeros()
- 원소가 1인 array를 생성하는 np.ones()
- 특정 범위의 원소를 가지는 np.arange()
# 0이 5개 있는 array
np.zeros(5)
# 0이 3x3인 array !!tuple 형태로 넣어주기
np.zeros((3, 3))
# 1이 3개 있는 array
np.ones(3)
# 1이 2x2인 array !!tuple 형태로 넣어주기
np.ones((2, 2))
# 0부터 9까지 숫자를 자동으로 생성하는 array
np.arange(10)
# 10부터 99까지 숫자를 자동으로 생성하는 array
np.arange(10, 100)
'Data Science > with Python(Numpy, Pandas …ect.)' 카테고리의 다른 글
Numpy Array Functions (0) | 2022.06.29 |
---|---|
Numpy Indexing+Masking (0) | 2022.06.29 |
Numpy Operation (0) | 2022.06.29 |
Numpy 기본 개념 (0) | 2022.06.28 |
아나콘다(ANACONDA) 및 Jupyter Notebook (0) | 2022.06.27 |