목록Python/Numpy (17)
오답노트
내적 연산 / dot product 수학에서 사용하고있는 행렬의 내적 연산을 사용한다. dot 함수를 사용하여 내적 연산을 수행한다. 1차원 배열 내적 연산 스칼라 값이 반환된다. #1차원 행렬 내적 arr1 = np.array([2,3,4]) arr2 = np.array([1,2,3]) ''' [a, b] [c, d] => ac + bd ''' print(np.dot(arr1, arr2)) # 20 2차원 배열 내적 연산 #2차원 행렬 내적 ''' [[a,b] [[e,f] [[ae + bg, af + bh] [c,d]] [g,h]] => [ce + dg, cf + dh]] ''' arr1 = np.array([[1,2], [4,5]]) arr2 = np.array([[1,2], [0,3]]) print..
배열의 사칙연산 배열간 사칙연산을 수행할 때, 연산자를 사용하거나 Numpy에서 제공되는 함수를 사용할 수 있다. 아래 코드블록의 내용을 기준으로 앞으로 나올 사칙연상을 수행한다. import numpy as np arr1 = np.array([[1,2,3], [4,5,6], [7,8,9]]) arr2 = np.array([[2,2,2], [2,2,2], [2,2,2]]) print(arr1) ''''''' [[1 2 3] [4 5 6] [7 8 9]] ''''''' print(arr2) ''''''' [[2 2 2] [2 2 2] [2 2 2]] ''''''' 덧셈 / add '+' 연산자 또는 add 함수를 사용해 행렬간 덧셈을 수행한다. #덧셈 print(arr1 + arr2) print(np.ad..
일반적인 배열 인덱싱 파이썬에서 리스트 인덱싱 방법과 같다. 1차원 배열 인덱싱 #1차원 배열 arr = np.arange(10) print(arr) #[0 1 2 3 4 5 6 7 8 9] print(arr[3])# 3 print(arr[-1])# 9 #부분 출력 print(arr[:3])# [0 1 2] print(arr[-2:])# [8 9] print(arr[3:8])# [3 4 5 6 7] print(arr[3:])# [3 4 5 6 7 8 9] print(arr[:7])# [0 1 2 3 4 5 6] print(arr[:-5])# [0 1 2 3 4] print(arr[-5:])# [5 6 7 8 9] 2차원 배열 인덱싱 # 2차원 배열 arr = np.array([[1,2,3,4], [5,6..
nomal nomal은 인자로 평균값, 표준편차, 개수를 순서대로 입력한다. arr = np.random.normal(0,1,10) # 평균값, 표준편차, 개수 print(arr) 위 코드는 평균값이 0이고 표준편차가 1인 난수를 10개 생성한다. rand rand 함수는 0에서 1사이의 수를 균등하게 생성한다. 인자로는 생성할 난수의 개수를 입력한다. arr = np.random.rand(1000) # 1000개 난수 생성 plt.hist(arr,bins=100) # import matplotlib.pyplot as plt plt.show() randn -1 에서 1 사이에서 정규분포로 난수를 생성한다. 인자로는 생성할 난수의 개수를 입력한다. arr = np.random.randn(1000) # 10..
arange 파이썬에서 range 함수와 같은 역할을 한다. 인자를 1개 입력하면 0부터 입력한 수 미만까지 배열을 인자를 2개 입력하면 첫번째 입력한 수 부터 두번째 입력한 수 미만까지 배열을 인자를 3개 입력하면 첫번째 입력한 수 부터 두번째 입력한 수 미만까지 첫번째 입력한 수의 세번째 입력한 수의 간격만큼의 배열을 반환한다. # arange arr = np.arange(9) print(arr) ''''''' [0 1 2 3 4 5 6 7 8] ''''''' arr = np.arange(3,9) print(arr) ''''''' [3 4 5 6 7 8] ''''''' arr = np.arange(3,15,3) print(arr) ''''''' [ 3 6 9 12] ''''''' arr = np.ar..
zeros 행렬의 원소가 모두 0 인 행렬을 만든다. 인자로는 행렬의 shape이 입력된다. arr = np.zeros([2,2]) print(arr) ''''' [[0. 0.] [0. 0.]] ''''' oens 행렬의 원소가 모두 1인 행렬을 만든다. 인자로는 행렬의 shape이 입력된다. arr = np.ones([3,3]) print(arr) ''''''''''' [[1. 1. 1.] [1. 1. 1.] [1. 1. 1.]] ''''''''''' full 행렬의 원소가 모두 사용자가 지정한 수로 이루어진 행렬을 만든다. 인자로는 행렬의 shape과 행렬을 채울 수를 입력한다. arr = np.full([2,3],5) print(arr) ''''''''''' [[5 5 5] [5 5 5]] ''''..
Numpy 오픈소스 파이썬 라이브러리로 내부적으로 C언어로 구현되어 있어서, 다차원 배열을 적은 메모리와 빠른 연산 속도로 처리할 수 있다. N 차원 배열 axis 는 축을 의미하며 차원이 증가할 수 록 axis의 개수도 증가한다. 1차원 배열 axis 가 1개인 배열 2차원 배열 axis 가 2개인 배열 axis 0은 행, axis 1은 열 우리가 알고있는 행렬의 형태이다. 3차원 배열 axis 가 3개인 배열 axis 0은 행, axis 1은 열, axis 2는 깊이 3차원 배열 이상의 배열들을 텐서(Tensor)라고 부른다. 코드로 구현하기 array 함수 array 함수는 직접 배열을 입력하거나, 리스트, 튜플같은 자료형을 입력하여 배열로 만들 수 있다. 이 때, 리스트와 배열이 비슷하게 생겼다...