DevGang
Авторизоваться

Что представляет собой функция 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. Мы рассмотрели идею логарифма с основанием два, его использование и работу. Теперь вы вооружились знаниями о его синтаксисе, параметрах и визуализации на примерах и реализациях.

Благодарю за прочтение!

Источник:

#Python #Numpy
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу