카테고리 없음
[행렬] numpy
재키재키
2022. 1. 15. 17:06
numpy는 행렬 연산에 최적화된 파이썬 모듈이다 주요 기능들을 조금 정리해보자.
넘파이 배열 만들기
1) 리스트를 인자로 입력
import numpy as np
# 리스트를 Numpy 배열로
lst = [1,2,3,4]
arr = np.array(lst)
print(arr)
[1 2 3 4]
lst = [[1,2,3],[4,5,6],[7,8,9]]
arr = np.array(lst)
print(arr)
[[1 2 3]
[4 5 6]
[7 8 9]]
2) 넘파이 함수를 이용
# zero base array
arr = np.zeros((2,2))
print(arr)
[[0. 0.]
[0. 0.]]
# oen base array
arr = np.ones((2,3))
print(arr)
[[1. 1. 1.]
[1. 1. 1.]]
# user input
arr = np.full((2,3),7)
print(arr)
[[7 7 7]
[7 7 7]]
# identity matrix
arr = np.eye(3)
print(arr)
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
# reshape() 다차원으로 변형 -> 개수가 서로 다르면 오류
arr = np.array(range(1,16)).reshape(3,5)
print(arr)
[[ 1 2 3 4 5]
[ 6 7 8 9 10]
[11 12 13 14 15]]
# [Numpy] numpy 배열, 배열 생성 함수 :: 오늘도 난, 하하하 (tistory.com)
배열을 리스트로
import numpy as np
# tolist() 매서드 이용, Numpy 배열을 리스트로
arr = np.array(range(1,16)).reshape(3,5)
lst = arr.tolist()
# lst = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
배열원소 가져오기
배열 index는 0부터
row와 column 으로 접근
import numpy an np
arr = np.array(range(1,17)).reshape(4,4)
# arr =array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]])
# 원소 가져오기
arr[0,0]
# 1
arr[3,3]
# 16
arr[1,1]
# 6
# 슬라이싱
arr[2:] # 3행부터~
# array([[ 9, 10, 11, 12],
# [13, 14, 15, 16]])
arr[:,1:] # 2열부터~
# array([[ 2, 3, 4],
# [ 6, 7, 8],
# [10, 11, 12],
# [14, 15, 16]])
arr[1:3,0:2]
# array([[ 5, 6],
# [ 9, 10]])