본문 바로가기
IT 와 Social 이야기/Python

[데이터 사이언스 스쿨] 3.3 배열의 연산

by manga0713 2021. 4. 26.

[ 두 벡터의 합 구하기 ]

 

● 벡터화 연산(vectorized operation)

 

벡터화 연산을 쓰면 명시적으로 반복문을 사용하지 않고도 배열의 모든 원소에 대해 반복연산을 할 수 있다. 벡터화 연산의 또다른 장점은 선형 대수 공식과 동일한 아주 간단한 파이썬 코드를 작성할 수 있다는 점이다.

 

 

 

 

 

 

 

● 스칼라와 벡터/행렬의 곱셈

 

 

 

● 브로드캐스팅

 

벡터(또는 행렬)끼리 덧셈 혹은 뺄셈을 하려면 두 벡터(또는 행렬)의 크기가 같아야 한다. 넘파이에서는 서로 다른 크기를 가진 두 배열의 사칙 연산도 지원한다. 이 기능을 브로드캐스팅(broadcasting)이라고 하는데 크기가 작은 배열을 자동으로 반복 확장하여 크기가 큰 배열에 맞추는 방법이다.

 

 

- 스칼라

 

스칼라는 크기. 사과 1개, 사람 1명, 속력 ~얼마와 같은 값들. 즉, 방향성이 없는 그저 크기를 나타내는 값들이므로 좌표계가 변해도 변하지 않는 값을 가짐

 

- 벡터

 

벡터는 방향성이 있는 값. 즉 크기와 함께 방향이 같이 제시되는 값들

 

- 예시

 

이동거리와 변위: 이동거리(스칼라값), 변위(벡터값)

 

 

[ 이미지 및 위 설명 출처: steemit - 벡터와 스칼라 ]

 

 

 

 

 

● 차원 축소 연산

 

10x5 크기의 2차원 배열에 대해 행-평균을 구하면 10개의 숫자를 가진 1차원 벡터가 나옴. 이러한 연산을 차원 축소(dimension reduction) 연산이라고 함

 

  • 최대/최소: min, max, argmin, argmax
  • 통계: sum, mean, median, std, var
  • 불리언: all, any

 

 

 

 

 

dss3_3_numpy array operation 2.ipynb
0.01MB

 

 

- 출처 : [데이터 사이언스 스쿨] 3.3 배열의 연산