NumPy:以n为底的对数

2024-06-15 01:43:39 发布

您现在位置:Python中文网/ 问答频道 /正文

numpy documentation on logarithms中,我找到了一些函数来获取以e210为底的对数:

import numpy as np
np.log(np.e**3) #3.0
np.log2(2**3)   #3.0
np.log10(10**3) #3.0

但是,如何取以numpy为底的对数(例如42)?


Tags: 函数importnumpylogondocumentationasnp
1条回答
网友
1楼 · 发布于 2024-06-15 01:43:39

要使用^{}获取具有自定义底的对数,请执行以下操作:

import math
number = 74088  # = 42**3
base = 42
exponent = math.log(number, base)  # = 3

要使用^{}获取具有自定义底的对数,请执行以下操作:

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规则是:

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

相关问题 更多 >