Как вы делаете естественные журналы (например, «ln ()») с numpy в Python?

98

Используя numpy, как я могу сделать следующее:

ln(x)

Это эквивалентно:

np.log(x)

Прошу прощения за такой, казалось бы, тривиальный вопрос, но мое понимание разницы между logи lnзаключается в том, что lnэто logspace e?

user1220022
источник

Ответы:

162

np.logесть ln, тогда как np.log10это ваш стандартный журнал с основанием 10.

Соответствующая документация:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.log.html

http://docs.scipy.org/doc/numpy/reference/generated/numpy.log10.html

ДжошАдель
источник
12
Для тех, кто задавался вопросом, что такое np, например, я «import numpy as np»
Рави Санкар Раджу
18

Правильно, np.log(x)это Natural Log (базовый eжурнал) x.

Для других баз помните этот закон журналов: 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является логарифмическим основанием 100 числа x

кавеман
источник
как насчет потери точности?
qwr
8

Обычно мне это нравится:

from numpy import log as ln

Возможно, это сделает вас более комфортным.

Винсент
источник
0

Вы можете просто сделать обратное, сделав базу журнала равной e.

import math

e = 2.718281

math.log(e, 10) = 2.302585093
ln(10) = 2.30258093
Равиоле
источник
-2
from numpy.lib.scimath import logn
from math import e

#using: x - var
logn(e, x)
вне времени
источник