Day 11 - Numpy (3)

2022. 10. 19. 17:21Python

이번 글에서는 numpy의 배열 연산함수에 대해 정리할 것이다.

우선 배운 것은 산술 연산함수로, 배열에 산술 연산을 적용하면 각 배열 내부의 인자간 연산값을 배열로 반환한다는 점에 주의하자.

산술연산 함수들이다.

배열을 만들어서 각 산술 연산을 실습해보았다.

각 산술연산자에 대해 실습해보았다.

그냥 곱연산이 행렬곱이 아니라 단순 곱 결과를 반환한다는 것을 알아두자. 행렬곱을 위한 함수는 따로 존재한다.

 

다음 연산함수는 비교 연산함수이다. 산술 연산과 마찬가지로, 비교 연산도 기본적으로 각 배열 내부의 인자간 비교를 True/False로 반환한다.

비교연산을 위한 함수와 연산자이다.

배열을 만들어 각 비교 연산을 실습해보았다.

마찬가지로 실습해보았다.

배열 자체가 같은지 탐색하는 함수도 존재한다.

 

세 번째 연산함수는 집계함수이다. 집계함수는 axis로 설정된 기준에 따라 연산을 수행한다. 기본적으로 하나의 배열에 대한 합, 평균, 중앙값, 상관계수 등을 탐색하는 역할을 한다.

axis에 대한 개념 설명과 집계함수의 종류이다.

배열을 통해 집계함수를 실습해보았다.

각 함수에 대한 실습이다.

중앙값, 표준편차, 상관계수 등 통계 관련 용어의 뜻을 정확히 알고 기억해두는게 좋다.

 

한 편, 파이썬에서 행렬의 연산에서 브로드캐스팅이라는 개념이 존재한다. 브로드캐스팅이란 서로 다른 구조를 가진 배열에 대해 연산을 수행할 때 구조를 맞추는 과정을 말한다.

브로드캐스팅에 대한 설명이다.

단, 축의 길이가 일치하거나 행이나 열의 둘 중 하나의 길이가 1인 두 배열에 대해 호환성을 가진다는 것을 알아두자. 또한 스칼라값(단일값)의 경우 연산하려는 배열의 행과 열에 맞추어 가상의 배열을 생성하여 연산한다.

브로드캐스팅을 이용해 연산을 해보았다.

브로드캐스팅을 통한 연산을 수행했다.

 

(Day 12 내용추가)

Numpy 라이브러리 연산함수의 연산방식은 벡터연산으로, 일반적인 파이썬의 연산에 비해 처리 속도가 더 빠르다.

벡터연산에 대한 설명과 실습이다.

파이썬의 반복문을 통한 연산이 약 22초 걸린 반면, numpy의 연산함수를 통한 연산은 두 개를 수행했음에도 0.1초 정도 걸린 것을 알 수 있다.

'Python' 카테고리의 다른 글

Day 12 - Numpy (5)  (0) 2022.10.20
Day 12 - Numpy (4)  (0) 2022.10.20
Day 11 - Numpy (2)  (0) 2022.10.19
Day 10 - Numpy  (0) 2022.10.18
Day 10 - 파이썬의 클래스 (4)  (0) 2022.10.18