簡體   English   中英

你如何在 Python 中用 numpy 做自然日志(例如“ln()”)?

[英]How do you do natural logs (e.g. “ln()”) with numpy in Python?

使用 numpy,我該如何執行以下操作:

ln(x)

是否等同於:

np.log(x)

對於這樣一個看似微不足道的問題,我深表歉意,但我對logln之間區別的理解是ln是 logspace e?

正確, np.log(x)是自然對數(基數e的日志) x

對於其他基數,請記住這個對數定律: log-b(x) = log-k(x) / log-k(b)其中log-b是某個任意基數blog-k是對數在基數k ,例如

這里 k = e

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

l是 x 的對數基 100

我通常這樣做:

from numpy import log as ln

也許這會讓你更舒服。

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
from numpy.lib.scimath import logn
from math import e

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

您可以通過將 log 的基礎設置為 e 來簡單地做相反的事情。

import math

e = 2.718281

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM