编程语言
首页 > 编程语言> > python – NumPy:以n为基数的对数

python – NumPy:以n为基数的对数

作者:互联网

numpy documentation on logarithms开始,我发现函数采用基数e,210的对数:

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的默认情况.

提醒一下,对数base change规则是:

标签:logarithm,python,numpy,math
来源: https://codeday.me/bug/20190928/1827809.html