python - NumPy:以 n 为底的对数

标签 python math numpy logarithm

来自 numpy documentation on logarithms ,我找到了以 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]

使用对数base change规则:

\log_b(x)=\log_c(x)/\log_c(b)

关于python - NumPy:以 n 为底的对数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25169297/

相关文章:

javascript - 如何绘制隐式函数?

python - numpy:使用 -inf 而非 nans 登录

python - 寻找数据边界处的峰值

python - 调整引用另一个数组的numpy数组的大小

python - 如何使用 python 在 networkx 中查找不同的组?

python - 记录高频数据而不丢包

python - 在 Python 中如何做多于 2 个变量的多列之间的相关性?

python - 如何使用 Python 计算多光谱植被指数

algorithm - 如何将构成凸包的半空间转换为一组极值点?

algorithm - 双正方形 : counting numbers which are sums of two perfect squares