power logaritmo log2 log10 python math numpy logarithm

python - log2 - ¿Cómo tomar el logaritmo con base n en numpy?



python log10 (1)

De la documentación sobre logaritmos numpy , he encontrado funciones para tomar el logaritmo con base e , 2 y 10 :

import numpy as np np.log(np.e**3) #3.0 np.log2(2**3) #3.0 np.log10(10**3) #3.0

Sin embargo, ¿cómo tomo el logaritmo con base n (por ejemplo, 42) en números?


Yo sugeriría usar la función incorporada de python math.log() , ya que numpy no tiene tal función logarítmica incorporada:

import math math.log(42**3, 42) #3.0

Sin embargo, para las personas que insisten en usar numpy (por ejemplo, cuando usan matrices grandes), siempre existe la opción:

np.log(42**3)/np.log(42) #3.0 np.log(42**np.array([3, 4]))/np.log(42) #array([3., 4.])

Teniendo en cuenta la regla de cambio de base logarítmica: