## Numpy란?
다차원 배열인 행렬을 효율적으로 사용할 수 있도록 지원하는 파이썬의 라이브러리입니다!
수치해석 및 통계관련 기능을 구현하기 위해 가장 기본이 되는 모듈입니다.행렬에 대한 설명은 따로 하지 않겠습니다..!
원소로 여러 가지 자료형을 허용한다.
원소로 한 가지 자료형만 허용한다.
내부 배열의 원소 개수가 달라도 된다.
내부 배열의 원소 개수가 같아야 한다.
- ndim: 배열의 차원수 반환
- shape: 배열 각 차원의 크기를 튜플 형태로 표현
np.dot(array1, array2) : 배열의 내적 연산
• array1과 array2가 모두 0차원 이면, 두 스칼라의 곱 연산
하지만, 이경우엔 보통 * 연산자를 쓰겠죠?
• array1과 array2가 모두 1차원 이면, 두 벡터의 내적 연산
• array1과 array2가 모두 2차원 이면, 두 행렬의 행렬곱 연산
하지만, 행렬곱 연산의 경우, matmul() 사용을 권장!
np.matmul(array1, array2) : 행렬의 행렬곱 연산
주의 ! A X B 연산을 진행할 때, A의 열의 개수와 B의 행의 개수가 동일해야 한다!
zeros: 영행렬 생성
python print(np.zeros((2, 2)))
-> output: [[0. 0][0. 0]]ones: 일행렬([[1.1.1.][1.1.1]]) 생성
python print(np.ones((2, 3)))
-> output: [[1.1.1][1.1.1]]full: np.full((m, n), k): m x n 크기의 모든 원소가 k인 행렬 생성
python print(np.full((2,3),5)
-> output: [[5.5.5][5.5.5]]np.eye(n): n x n 크기의 단위행렬 생성
python print(np.eye(3))
-> output: [[1.0.0][0.1.0][0.0.1]]
flatten(): 행렬의 평탄화 작업 -> N차원 배열을 1차원 배열로 변환시켜줌
python ndarr = np.array([[6,3], [5,2], [4,1]])
python ndarr.flatten()
-> output: array([6, 3, 5, 2, 4, 1])reshape(): 배열차원 변경
python(ndarr, shape)
pythonndarr.reshape(2, 3)
-> output: array([[6, 3, 5], [2, 4, 1]])
주의! 기존 원소의 개수와 변경될 차원에서의 원소개수가 같아야 함!
arrange(): 특정 배열 생성
python print(np.arrange(5)) print(np.arrange(5, 10)) print(np.arrange(5, 10, 2))
-> output: [0 1 2 3 4][5 6 7 8 9] [5 7 9]random: 난수로 배열 채울때 사용!
조건식