在 Python 中如何使用 numpy 执行自然日志(例如“ ln()”) ?

使用 numpy,我如何做到以下几点:

ln(x)

是否等同于:

np.log(x)

我为这样一个看似微不足道的问题道歉,但是我对 logln之间的区别的理解是,ln是日志空间 e?

496568 次浏览

正确,np.log(x)x的自然日志(基本 e日志)。

对于其他碱基,请记住这个日志定律: log-b(x) = log-k(x) / log-k(b),其中 log-b是某个任意碱基 b中的日志,而 log-k是碱基 k中的日志,例如。

这里 k = e

l = np.log(x) / np.log(100)

l是 x 的 log-base-100

np.log ln,而 np.log10是标准的碱基10日志。

from numpy.lib.scimath import logn
from math import e


#using: x - var
logn(e, x)

我通常这样做:

from numpy import log as ln

也许这能让你舒服点。

你可以简单地做相反的事,把 log 的底数设置为 e。

import math


e = 2.718281


math.log(e, 10) = 2.302585093
ln(10) = 2.30258093

Numpy 似乎从 MATLAB/Octave 得到了提示,使用 log作为“ log base e”或者 ln。与 MATLAB/Octave 一样,Numpy 也没有为任意基提供对数函数。

如果您觉得 log令人困惑,您可以创建自己的对象 ln,它引用 numpy.log 函数:

>>> import numpy as np
>>> from math import e
>>> ln = np.log  # assign the numpy log function to a new function called ln
>>> ln(e)
1.0