Что представляет собой функция log2 в NumPy?
Добро пожаловать в очередную главу нашей логарифмической серии NumPy. Надеюсь, вы уже ознакомились с первой, то есть с Log10. Здесь мы рассмотрим еще одну важную логарифмическую функцию — log2. Она помогает нам вычислить логарифм по основанию 2 от входного значения. Мы подробно рассмотрим ее концепцию, синтаксис, параметры и реальные случаи использования, так что давайте продолжим.
Что такое log2?
Эта математическая функция показывает, сколько раз нужно умножить основание (2) на само себя, чтобы получить заданное число.
Допустим, у вас есть число, например 8. Теперь вы хотите узнать, сколько раз нужно умножить 2 на само себя, чтобы получить это число. Вот тут-то и пригодится log2 (произносится как «логарифмическое основание 2»).
Например, для 8 вы пишете log2(8) = x. x говорит о том, сколько раз нужно умножить 2, чтобы получить 8. Здесь x равно 3, потому что 2, умноженное на себя 3 раза, равно 8.
Вот как это происходит:
Эта простая идея log2 используется во многих областях, особенно в компьютерных науках. Она помогает определить, насколько быстро работает тот или иной компьютерный алгоритм. Например, в двоичном поиске log2 используется для того, чтобы узнать, сколько шагов требуется, чтобы найти что-то в отсортированном списке.
Таким образом, log2 помогает нам понять, как вещи растут по экспоненте, и очень полезен во многих ситуациях.
numpy.log2() в Python
Эта функция Numpy находит логарифм чисел, но только по основанию 2. Мы можем использовать ее для списков или массивов чисел, и она вернет нам новый список или массив, в котором каждое число было преобразовано в его логарифм по основанию 2. Так, если у нас есть список чисел типа [2, 4, 8], numpy.log2()
выдаст нам [1, 2, 3].
Синтаксис
Давайте взглянем на синтаксис:
numpy.log2(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
Здесь используются следующие параметры:
- x: Входной массив или объект.
- out: Выходной массив, в который помещается результат.
- dtype: Тип данных выходного массива. Если не задан, тип данных выводится из x.
- where: Этот параметр используется для выбора элементов на основе условий.
Работа
Вот объяснение того, как работает numpy.log2()
:
- Ввод: Мы даем ей набор чисел, например [1, 2, 4, 8, 16].
- Операция: Она вычисляет логарифм по основанию 2 для каждого числа. Например, log2(1) – это 0, log2(2) – это 1 и так далее.
- Выходные данные: Выдает новый список с результатами, например [0, 1, 2, 3, 4].
Он быстрый, потому что может обрабатывать множество чисел одновременно, что быстрее, чем выполнять каждое вычисление по очереди. Кроме того, он универсален и может работать с различными типами данных для решения всевозможных задач в Python.
Использование numpy.log2() в Python
Сейчас мы посмотрим, как можно реализовать функцию Numpy log2()
в Python. Рассмотрим приведенные примеры:
Пример 1:
Начнем с проверки на одном числе.
import numpy as np
number = int(input("Please enter an integer: "))
result = np.log2(number)
print("2 will multiply itself", result, "times to get the given number.")
Пример 2:
Теперь мы вычислим log2 для каждого элемента одномерного массива.
import numpy as np
arr = np.array([64, 32, 4, 128, 16])
result = np.log2(arr)
print("Here is the array containing power of two of each element in array: ", result)
Пример 3:
Функция log2()
умеет выполнять трансляцию. Проверим это, передав скалярную величину.
import numpy as np
scalar = 4
arr = np.array([0, 4, 16, 8, 64])
result = np.log2(scalar * arr)
print(result)
В строке result = np.log2(scalar * arr)
мы делаем две вещи:
- Сначала мы увеличиваем в четыре раза каждое число в массиве
arr
, умножая его на скалярное значение (которое равно 4). - Затем мы находим логарифм по основанию 2 каждого из этих умноженных чисел. Это покажет нам, сколько раз нужно умножить 2 на само себя, чтобы получить каждое из четырехкратных чисел.
- Также для 0 логарифм не определен, поэтому он будет представлен как -∞.
Пример 4:
Попробуем использовать параметр where
в этой функции.
import numpy as np
arr = np.array([0, 8, 2, 64, 4])
condition = (arr > 4)
result = np.log2(arr, where=condition)
print(result)
В данном примере, поскольку условие (arr > 4)
верно только для элементов 8 и 64, логарифмы вычисляются только для этих элементов, в результате чего для остальных элементов получается значение nan
.
Заключение
Вот и все, что вам нужно знать о функции log2()
в NumPy. Мы рассмотрели идею логарифма с основанием два, его использование и работу. Теперь вы вооружились знаниями о его синтаксисе, параметрах и визуализации на примерах и реализациях.
Благодарю за прочтение!