NumPy: Логарифм з основою n


Відповіді:


144

Щоб отримати логарифм із власною базою, використовуючи math.log:

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

Щоб отримати логарифм із власною базою, використовуючи 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]

Як і слід було очікувати, зверніть увагу на те, що типовим випадком є np.log(np.e) == 1.0.


Нагадуємо, правило зміни базису логарифму :

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


39
Я наполягаю на використанні Numpy, коли мені потрібен логарифм масиву з тисячі чисел.
Davidmh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.