본문 바로가기
Python/Numpy

[Python] Numpy 연산, 배열합치기, 브로드캐스팅

by ybin.im 2024. 12. 18.

Numpy 연산의 특징

반복문을 사용하지 않고도 내부적으로 연산이 가능하다.

벡터의 같은 인덱스에 위치한 원소들끼리 연산을 수행하는 벡터화 계산을 지원

Shape이 다른 배열간 연산을 자동으로 지원하는 브로드캐스팅(Broadcasting) 기능이 있다.

 

Numpy 연산

Numpy로 만든 배열의 연산이다.

+, -, *, / 다 되고, 같은 인덱스에 있는 요소끼리 연산된다.

 

  ▼사칙연산

0번, 1번, 2번 인덱스끼리 연산이 되었다.

 

  ▼sqrt, exp

 

sqrt : 제곱근을 구해준다.

exp : 지수함수 계산

결과

 

 

배열 합치기

hstack : 수평 합치기
vstack : 수직 합치기

column_stack : 열 기준 합치기

 

배열 나누기

hsplit : 수평 분할
vsplit : 수직 분할

 

 

브로드 캐스팅

 - 서로 다른 크기의 배열 간 연산을 지원하는 기능 

 - 작은 배열의 크기를 -> 큰 배열의 크기에 맞게 확장

 - 필요한 경우 배열의 차원을 추가하여 크기를 일치

 

 

작은크기의 배열이 큰 배열에 맞춰진다.

1차원 배열인 a와 2차원 배열인 b를 더했다.

배열의 shape를 해보면 이렇다.
a.shape -> (3, )
b.shape -> (3, 1)

 - 브로드캐스팅으로 인해서 a는 (1, 3)으로 확장   ## [1, 2, 3], [1, 2, 3], [1, 2, 3]
 - b는 (3, 1)로 유지
 - 둘이 합쳐지면 shape은 자동으로 (3, 3)이 된다.

 

▼브로드 캐스팅의 다른 예

'Python > Numpy' 카테고리의 다른 글

[Python] Numpy reshape(), resize()  (0) 2024.12.16
[Python] Numpy 속성확인, 배열생성 메서드, 인덱싱  (2) 2024.12.16