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


98

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

ln(x)

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

np.log(x)

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

Ответы:


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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.