NumPy: logaritmo con base n

De la documentación sobre logaritmos , encontré 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?

Para obtener el logaritmo con una base personalizada usando math.log :

 import math number = 74088 # = 42**3 base = 42 exponent = math.log(number, base) # = 3 

Para obtener el logaritmo con una base personalizada utilizando numpy.log :

 import numpy as np array = np.array([74088, 3111696]) # = [42**3, 42**4] base = 42 exponent = np.log(array) / np.log(base) # = [3, 4] 

Como es de esperar, tenga en cuenta que el caso predeterminado de np.log(np.e) == 1.0 .


Como recordatorio, la regla de cambio de base de logaritmo es:

log_b (x) = log_c (x) / log_c (b)