NumPy(Numerical Python)
넘파이(Numpy)는 파이썬에서 선형대수 기반의 프로그램을 쉽게 만들 수 있도록 지원하는 패키지로,
수치 연산을 수행하는 데 사용되는 핵심 라이브러리 중 하나입니다. (데이터 타입: ndarray)
여기에는 배열(array)을 다루는 다양한 기능과 함수가 있습니다.
1. np.array()
- 주어진 리스트 → 넘파이 배열로 변환 (tolist 반대 개념)
import numpy as np
# [1차원 배열 생성]
np.array([1, 2, 3, 4, 5])
# 결과
array([1, 2, 3, 4, 5])
# [2차원 배열 생성]
np.array([[1, 2, 3], [4, 5, 6]])
# 결과
array([[1, 2, 3],
[4, 5, 6]])
2. tolist()
- 주어진 넘파이 → 리스트로 변환 (array() 반대 개념)
import numpy as np
# [1차원 배열]
arr = array([1, 2, 3, 4, 5])
arr.tolist()
# 결과
[1, 2, 3, 4, 5]
# [2차원 배열]
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
arr2.tolist()
# 결과
[[1, 2, 3], [4, 5, 6]]
3. np.ones() / np.zeros()
- np.ones: 모든 요소가 1인 배열을 생성
- np.zeros: 모든 요소가 0인 배열을 생성
import numpy as np
# [np.ones]
np.ones((2, 2))
# 결과
array([[1., 1.],
[1., 1.]])
# [np.zeros]
np.zeros((2, 2))
# 결과
array([[0., 0.],
[0., 0.]])
4. np.arange()
- 주어진 범위의 숫자로 이루어진 1차원 배열을 생성
- np.arange(시작, 끝, 간격)
import numpy as np
# [1]
np.arange(10)
# 결과
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# [2]
np.arange(1, 10, 2)
# 결과
array([1, 3, 5, 7, 9])
5. reshape()
- 배열의 모양을 변경
- reshape(행, 열)
- reshape(-1, n): 넘파이 배열을 n열에 맞게 변환
import numpy as np
# [arr]
array([1, 2, 3, 4, 5, 6, 7, 8]
# [1차원 배열 → 2차원(2x4 배열)로 재구성]
arr.reshape(2,4)
# 결과
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
# [1차원 배열 → 3차원(2x2x2 배열)로 재구성]
arr.reshape(2,2,2)
# 결과
array([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
# [1차원 배열 → 2차원(1xn 배열)로 재구성]
arr.reshape(-1,1)
# 결과
array([[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8]])
6. transpose()
- 배열의 전치를 수행
- arr.transpose() / arr.T / np.transpose(arr) (3개 모두 동일)
import numpy as np
# [3x2 배열]
arr = np.array([[1, 2],
[3, 4],
[5, 6]])
# [transpose]
arr.transpose() / arr.T / np.transpose(arr) # 3개 동일
# 결과
array([[1, 3, 5],
[2, 4, 6]])
7. np.dot(arr1, arr2)
- 두 배열의 행렬 곱을 계산
- (왼쪽 행렬의 열 개수 = 오른쪽 행렬의 행 개수) 조건을 성립해야만 내적 연산 가능
import numpy as np
# [2x3 행렬]
arr1 = array([[1, 2, 3],
[4, 5, 6]])
# [3x2 행렬]
arr2 = array([[1, 2],
[3, 4],
[5, 6]])
# [두 행렬의 행렬 곱 → (2x2 행렬)]
np.dot(arr1, arr2)
# 결과
array([[22, 28],
[49, 64]])
딕셔너리를 포함한 파이썬의 기본 데이터 구조가 궁금하신 분들은 아래 글을 참고해주세요~!
[파이썬 기본 데이터 구조]
파이썬 기본 데이터 구조
파이썬 기본 데이터 구조 1. Numpy NumPy는 파이썬에서 과학적 계산을 수행하기 위한 핵심 라이브러리 중 하나 빠른 연산을 위한 다차원 배열을 제공하며, 선형 대수, 통계 및 수학 함수 등 다양한
luckydong.tistory.com
'Language > Python' 카테고리의 다른 글
itertools.combinations (2) | 2024.02.05 |
---|---|
문자열의 정렬 및 패딩 매서드 (0) | 2024.01.29 |
예외 처리 구문 (2) | 2024.01.27 |
Dictionary 메서드 (0) | 2024.01.25 |
List 메서드 (0) | 2024.01.24 |