NumPy 对数
对数(Logs)
NumPy 提供了函数来执行以 2、e 和 10 为底的对数运算。
我们还将探索如何通过创建自定义 ufunc 来获取任何基数的日志。
如果无法计算对数,所有对数函数都会将 -inf 或 inf 放入元素中。
以 2 为底的对数
使用 log2()
函数执行以 2 为底的对数运算。
实例
求以下数组中所有元素以 2 为底的对数:
import numpy as np arr = np.arange(1, 10) print(np.log2(arr))
注意:arange(1, 10)
函数返回一个数组,其中的整数从 1(包含)到 10(不包含)。
以 10 为底的对数
使用 log10()
函数执行以 10 为底的对数运算。
实例
求以下数组中所有元素以 10 为底的对数:
import numpy as np arr = np.arange(1, 10) print(np.log10(arr))
自然对数,或以 e 为底的对数
使用 log()
函数执行以 e 为底的对数运算。
实例
求以下数组中所有元素以 e 为底的对数:
import numpy as np arr = np.arange(1, 10) print(np.log(arr))
任何底数的对数
NumPy 没有提供任何函数来计算任何底数的对数,因此我们可以使用 frompyfunc()
函数以及带有两个输入参数和一个输出参数的内置函数 math.log()
:
实例
from math import log import numpy as np nplog = np.frompyfunc(log, 2, 1) print(nplog(100, 15))