NumPy: Logarithmus mit Basis n


Antworten:


135

Um den Logarithmus mit einer benutzerdefinierten Basis zu erhalten, verwenden Sie math.log:

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

Um den Logarithmus mit einer benutzerdefinierten Basis zu erhalten, verwenden Sie 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]

Beachten Sie, wie zu erwarten, dass der Standardfall von np.log(np.e) == 1.0.


Zur Erinnerung lautet die Regel zur Änderung der Logarithmusbasis :

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


37
Ich bestehe darauf, Numpy zu verwenden, wenn ich den Logarithmus eines Arrays von tausend Zahlen benötige.
Davidmh
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.