TIL 2021.09.14 | Python Basic 복습2 (+백터의 내적을 구하는 이유)

헷갈렸던 것만 정리한 포스팅. 왜 매번 헷갈리는지는 모르겠으나...ㅎㅎ 선배님과 엄마 아들 찬스를 써서 공부함 😂

TIL 2021.09.11 start!

1. Quiz

2. 형상을 지정한 배열의 생성 및 초기화

zeros: 지정된 형상의 배열을 생성하고, 모든 요소를 0으로 초기화
ones: 지정된 형상의 배열을 생성하고, 모든 요소를 1로 초기화

a = np.zeros((3, 4),dtype=int)
pprint(a)

b = np.ones((2,3,4),dtype=int)
pprint(b)

>>shape: (3, 4), dimension: 2, size:12, dtype:int32
Array's Data:
 [[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
shape: (2, 3, 4), dimension: 3, size:24, dtype:int32
Array's Data:
 [[[1 1 1 1]
  [1 1 1 1]
  [1 1 1 1]]

 [[1 1 1 1]
  [1 1 1 1]
  [1 1 1 1]]]
  
 

3. Numpy 배열 연산

  1. 백터의 내적
    백터의 내적: 두 벡터에서 대응하는 원소들의 곱을 모두 더한 것
    벡터의 내적을 2차원으로 확장한 것이 행렬의 곱임
import numpy as np

va = np.array([1, 2, 3])
vb = np.array([4, 5, 6])

print(np.dot(va, vb))

> 32

💛 1 x 4 + 2 x 5 + 3 x 6 = 32

백터의 내적 사전 내용

엄마 아들 왈, 수직이라는 의미는 '두 값이 상관이 없다. / 독립적이다. / 두 개가 공유하는 원소가 없다.'라고 한다. 그러면 백터의 내적을 구하는 이유는 두 값이 얼마나 연관성이 있는지를 나타내기 위해서 쓰인다. 공분산(Covariance)과 상관성(co-relation)을 구하기 위해 쓸 수 있다는 것이다.

  1. 집계 연산
    axis가 지정되지 않은 경우: 전체 집계
    axis = 0인 경우: 각 행에 대해 동일 열을 집계
    axis = 1인 경우: 각 열에 대해 동일 행을 집계
a = np.arange(1, 7).reshape(2, 3)
pprint(a)

>>
shape: (2, 3), dimension: 2, size:6, dtype:int32
Array's Data:
 [[1 2 3]
 [4 5 6]]
 
print("전체:", np.sum(a))      # a.sum() 과 동일
print("axis=0:", np.sum(a, axis=0))
print("axis=1:", np.sum(a, axis=1))
> 전체: 21
axis=0: [5 7 9]
axis=1: [ 6 15]
  1. 행렬 전치
    전치(Transpose): 행렬의 행과 열이 바뀌는 변환
    arr_name.T 형태로 사용
a = np.array([[4, 1, 7], [2, 8, 0], [3, 9, 5]])
print(a)
print(a.T)

좋은 웹페이지 즐겨찾기