728x90
반응형
Numpy(넘파이) 시작하기
행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬의 라이브러이다.
설치
pip install numpy
# or
pip3 install numpy
이제 Numpy를 다뤄보자.
배열 생성
array() 함수로 시퀀스 자료형(리스트,튜플)를 전달하여 행렬(Array)을 생성할 수 있다.
import numpy as np
a = [[1,2,3,4],[5,6,7,8]] # 행렬 생성
b = np.array(a)
print(b)
arange(start,end,step) 함수로 특수한 배열을 생성할 수도 있다.
- start : 생략 시 0부터 시작, 시작 숫자를 설정
- end : start ~ end-1 까지의 배열을 생성
- step : start ~ end-1 까지 간격을 설정
import numpy as np
print(np.arange(1,9,2))
zeros(행렬의 형태)를 사용해 영행렬을 만들 수 있다.
import numpy as np
print(np.zeros((2,2)))
ones(행렬의 형태)를 사용해 1로 가득찬 행렬을 만들 수 있다.
import numpy as np
print(np.ones((2,2)))
full(행렬의 형태, n)를 사용해 모든 원소가 n인 행렬을 만들 수 있다.
import numpy as np
print(np.full((2,2),5))
eye(대각선의 개수)를 사용해 단위 행렬을 만들 수 있다.
import numpy as np
print(np.eye((3)))
reshape(변경할 형태)를 사용해 행렬의 구조를 변경할 수 있다.
import numpy as np
a = np.arange(4)
print(f"변경 전 : {a}")
print(f"2x2 변경 후 : \n{a.reshape((2,2))}")
슬라이싱/인덱싱
넘파이 배열, 행렬도 슬라이싱과 인덱싱을 할 수 있다.
- 넘파이 배열에서 행과 열을 구분하는 방법은 제일 밖의 대괄호의 원소들을 각 행, 안의 각각 대괄호의 원소들을 열로 생각하면된다.
슬라이싱
import numpy as np
lst = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
] # 3 X 3 행렬
arr = np.array(lst)
# 행 x 열 행렬 [행, 열]
a = arr[0:2,0:2]
print(a)
인덱싱
import numpy as np
lst = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
] # 3 X 3 행렬
arr = np.array(lst)
# 행 x 열 행렬 [행, 열]
a = arr[1,1]
print(a)
728x90
반응형
'데이터분석 > Numpy' 카테고리의 다른 글
[Numpy]Numpy 정리 (0) | 2023.07.11 |
---|---|
[Numpy] 연산과 난수 (0) | 2023.02.13 |