파이썬 numpy ufuncs 란 무엇인가?
ufuncs는 "Universal Functions"의 약자이며 ndarray 객체에서 작동하는 NumPy 함수이다.
파이썬 numpy ufuncs를 왜 사용할까?
ufuncts는 요소에 대한 반복보다 훨씬 빠른 NumPy에서 벡터화를 구현하는 데 사용된다.
그들은 또한 계산에 매우 도움이 되는 브로드캐스트와 축소, 누적 등의 추가적인 방법을 제공한다.
ufuncs는 다음과 같은 추가 인수도 사용한다:
where - 여기서 부울 배열 또는 작업이 수행되어야 하는 위치를 정의하는 조건.
dtype - 요소의 반환 유형을 정의합니다.
out - 반환 값을 복사해야 하는 output array.
벡터화 란?
반복문을 벡터 기반 연산으로 변환하는 것을 벡터화라고 한다.
최신 CPU는 이러한 작업에 최적화되어 있기 때문에 더욱 빠르다.
두 리스트에 요소 추가
list 1: [1, 2, 3, 4] list 2: [4, 5, 6, 7] |
한 가지 방법은 두 리스트를 모두 반복한 다음 각 요소를 합산하는 것이다.
ufunc가 없어도 Python의 내장 zip() 메서드를 사용할 수 있다:
x = [1, 2, 3, 4] y = [4, 5, 6, 7] z = [] print('x : ',x) print('y : ',y) print('zip(x,y)') for i, j in zip(x, y): z.append(i + j) print(z) |
위의 코드를 실행하면 아래 그림과 같다.
NumPy에는 이에 대한 add(x, y)라는 ufunc에 있으며 이는 동일한 결과를 생성한다.
import numpy as np x = [1, 2, 3, 4] y = [4, 5, 6, 7] z = [] print('x : ',x) print('y : ',y) print('np.add(x,y)') z = np.add(x, y) print('z : ', z) |
위의 코드를 실행하면 아래 그림과 같다.
이번 글에서는 파이썬 numpy 모듈에 ufuncs의 add() 함수를 활용하여 두 리스트의 합을 간략히 하는 방법에 대해서 살펴보았다.
꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.
모두 화이팅입니다.!!!
출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.
'파이썬 > 파이썬기본문법' 카테고리의 다른 글
파이썬 numpy ufunc 단순 계산 (2) | 2024.01.04 |
---|---|
파이썬 numpy 자체 ufunc 생성 (0) | 2024.01.03 |
파이썬 numpy 지프 분포(Zipf Distribution) (0) | 2024.01.01 |
파이썬 numpy 파레토분포(Pareto distribution) (0) | 2023.12.31 |
파이썬 레일리분포(Rayleigh distribution) (0) | 2023.12.30 |
댓글