163 votes

Comment faites-vous les logs naturels (par exemple "ln()") avec numpy en Python ?

En utilisant numpy, comment puis-je faire ce qui suit :

ln(x)

Est-il équivalent à :

np.log(x)

Je m'excuse pour une question aussi anodine, mais ma compréhension de la différence entre log ln est que %-% ln est l'espace logarithmique e ?

254voto

JoshAdel Points 15911

np.log est ln, tandis que np.log10 est votre base standard 10 log.

25voto

kaveman Points 3969

Correct, np.log(x) est le log naturel (log de base e) de x.

Pour les autres bases, rappelez-vous cette loi de logs : log-b(x) = log-k(x) / log-k(b)log-b est le log dans une base arbitraire b, et log-k est la base de log k, par exemple

ici k = e

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

et l est la log-base-100 de x

22voto

Vincent Points 159

Je fais généralement comme ceci :

from numpy import log as ln

Peut-être que cela peut vous rendre plus à l'aise.

1voto

bfris Points 525

Numpy semble s'inspirer de Matlab/Octave et utilise log pour être "log base e" ou ln. Tout comme Matlab/Octave, Numpy n'offre pas de fonction logarithmique pour une base arbitraire.

Si vous trouvez log confus, vous pouvez créer votre propre objet ln qui se réfère à la fonction 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

-3voto

outoftime Points 600
from numpy.lib.scimath import logn
from math import e

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X