로그에 대한 numpy 문서에서 e , 2 및 10 을 밑으로하는 로그를 취하는 함수를 찾았습니다 .
import numpy as np
np.log(np.e**3) #3.0
np.log2(2**3) #3.0
np.log10(10**3) #3.0
그러나 numpy에서 밑이 n (예 : 42) 인 로그를 어떻게 취 합니까?
답변:
사용하여 사용자 정의베이스와 로그를 얻으려면 math.log
:
import math
number = 74088 # = 42**3
base = 42
exponent = math.log(number, base) # = 3
사용하여 사용자 정의베이스와 로그를 얻으려면 numpy.log
:
import numpy as np
array = np.array([74088, 3111696]) # = [42**3, 42**4]
base = 42
exponent = np.log(array) / np.log(base) # = [3, 4]
예상대로 기본 케이스 인 np.log(np.e) == 1.0
.
다시 말씀 드리지만, 로그 베이스 변경 규칙은 다음과 같습니다.