Python/Python Language

NumPy 대규모 데이터 배열에 효율적인 UFUNC 함수 개념

567Rabbit 2024. 4. 24. 16:33

import numpy as np

 

NumPy ufunc는 브로드캐스팅을 지원하여 서로 다른 크기의 배열 간에도 연산을 수행할 수 있다.

ufunc를 사용하면 대규모 데이터 배열을 효율적으로 처리할 수 있다.

 

 

소수점 반올림하기

Truncation 잘림 소수점을 제거하고 0에 가장 가까운 부동소수점 숫자를 리턴 trunc와 fix사용 
Rounding : 반올림 앞의 숫자 또는 소수점을 1씩 증가
Floor : 가장 가까운 낮은 정수로 내림 예를들어서 3.16666 -> 3.0
Ceil : 가장 가까운 상위 정수로 올림 예를들어서 3.16666 -> 4.0


Logs
2진수 10진수에서 로그를 수행하는 기능을 제공합니다
로그를 계산할 수 없는 경우 요소에 -inf(무한대) 또는 inf(무한대)를 배치합니다
log2()
log10()
자연로그 : e를 밑으로 하는 로그


cumsum()

- 누적 합계 재귀함수 

[1,2,3,4] = [1,1+2,1+2+3,1+2+3+4] 함수를 사용하여 부분합을 수행합니다 
suma = np.array([1, 2, 3])   #(fix 1, 3, 6)
newsum = np.cumsum(suma)
print(newsum)


prod()

- Products 배열 요소의 곱
#예시 [1, 2, 3, 4] => 1 * 2 * 3 * 4 두 배열로도 할 수 있다

axm1 = np.array([1, 2, 3, 4])
axm2 = np.array([5, 6, 7, 8])
x = np.prod([axm1, axm2], axis=1)


cumprod()

- Cummulative Product 누적제품 부분적으로 가져감
nu = np.array([5, 6, 7, 8])
newnu = np.cumprod(nu)
print(newnu)

 

 


diff()
이산차란 두 개의 연속된 요소를 빼는 것을 의미
[1,2,3,4]의 경우 이산차이는 [2-1,3-2,4-3]
오른쪽 방향으로 시작하여 요소에서 뺀다
매개변수 n을 사용하여 반복적으로 뺄 수 있다
 

 

.lcm()  .gcd()
LCM (Lowest Common Multiple) 최저 공배수 

# 배열에 있는 모든 값의 최저 공배수를 찾으려면 np.lcm.reduce()라는 메소드 사용
GCD (Greatest Common Denomintor) 최대 공통 분모

# 배열에서 모든 최대공통분모를 찾으려면 np.gcd.reduce()라는 메소드 사용

 

 

삼각법

-Trigonometric Functions 삼각함수
-PI/2의 사인 값을 찾습니다

- 라디안 단위의 값을 가져와서 해당 sin, cos, tan 생성하는 ufuncs를 제공

np.sin(np.pi/2)

 


쌍곡선

-집합연산 : 수학에서 집합은 고유한 요소의 모음
-집합은 빈번한 교차, 결합 및 차이연산과 관련된 연산에 사용된다
-Hyperbolic Functions 라디안 단위에 값을 sinh, cosh, tanh를 제공

-라디안 단위의 값을 가져와 sinh, cosh, tanh 값을 생성하는 ufuncs를 제공
np.sinh(np.pi/2)


unique()

Set Operations  고유한 요소의 모음을 찾습니다
np.unique(re)

 

 


union1d()
-finding Union
-교차점 두 배열 모두에 존재하는 값을 찾으려면 intersect1d()를 사용

-assume_unique를 사용하여 계산속도를 높일 수 있다 
np.union1d(u1, u2)
np.intersect1d(u1, u2, assume_unique=True)