Функция log10 в NumPy
![](/static/storage/254226300544525469578450754387304594994.png)
Мы все знаем о возможностях библиотеки NumPy. Она отлично подходит для наших математических расчетов. Одно из таких математических вычислений включает логарифмические вычисления, и да, в NumPy есть функция логарифма, которая помогает нам выполнять такие сложные вычисления. В этой статье давайте узнаем о функции log10
, ее формате, параметрах и примерах использования.
Что такое log10?
Логарифм числа по основанию 10, записанный как «log(x)», говорит вам, какая степень 10 равна этому числу «x».
Предположим, у вас есть число, скажем, 100. Теперь, чтобы узнать, сколько раз вам нужно умножить 10 само на себя, чтобы получить 100, вы используете логарифмическую базу 10. В этом случае логарифм по основанию 10 из 100 говорит вам, что вам нужно дважды умножить 10 само на себя (поскольку 10 * 10 = 100). Итак, логарифм по основанию 10 из 100 равен 2.
![](/static/storage/223384819865591983080380154877863072278.png)
Например:
- log₁₀(100) = 2, потому что 10² = 100
- log₁₀(1000) = 3, потому что 10³ = 1000
- log₁₀(10) = 1, потому что 10¹ = 10
Логарифмы важны, потому что они:
- Сжимают большие числа.
- Решают сложные уравнения.
- Эффективно анализируют данные.
- Измеряют сложность алгоритма.
- Помогают с вероятностями и статистикой.
numpy.log10() в Python
Теперь, когда мы понимаем, что такое логарифмическая система счисления по основанию десять и почему мы ее используем, давайте посмотрим, как мы можем реализовать ее в программировании. Мы достигаем этого, используя функцию log10()
NumPy.
Синтаксис
В Python мы пишем это так:
numpy.log10(x, out=None, where=True, casting='same_kind', order='K', dtype=None, ufunc 'log10')
Вот что означает каждый из используемых здесь параметров:
x
: это входные данные. Это может быть одно число, список чисел или последовательность чисел.out
: сюда будет отправлен результат. Он должен быть такого же размера и формы, как и то, что вы ожидаете получить.where
: это говорит нам, где действительны данные в «x». Это может быть массивtrue/false
или условие.casting
: говорит нам, как преобразовать типы данных, если это необходимо.order
: определяет, как организована выходная память.dtype
: сообщает нам, какой тип данных должен иметь выходной массив.ufunc 'log10'
: это универсальная функция, используемая для этой операции.
Принцип работы
Для каждого числа во входном массиве 'x' numpy.log10()
находит логарифм по основанию 10. Он возвращает массив той же формы, что и входные данные, где каждое число представляет собой логарифм по основанию 10 соответствующего числа во входных данных. Если вы выберете опцию out
, результат попадет в этот массив, если нет, он создаст новый.
Использование numpy.log10() в Python
Я предполагаю, что вы уже поняли суть представленной функции, но для лучшего понимания позвольте мне привести вам несколько примеров.
Пример 1
Начнем с простого примера использования скалярного ввода.
import numpy as np
user_in = float(input("Enter a number: "))
result = np.log10(user_in)
print("Log base 10 of", user_in, "is:", result)
![](/static/storage/4434500031387322713926234661193852874.png)
Пример 2
Теперь давайте посмотрим, как это работает с вводом одномерного массива.
import numpy as np
x = np.array([100, 1000, 100, 1000])
result = np.log10(x)
print("The array containing the log base 10 value of each element is ",result)
![](/static/storage/42153634793318183094505082044016996811.png)
Пример 3
Эта функция работает аналогично с двумерным массивом.
import numpy as np
x = np.array([[2, 5, 8], [15, 20, 25]])
result = np.log10(x)
print("The array containing the log base 10 value of each element is ", result)
![](/static/storage/141519284107976548594382185007760497836.png)
Пример 4
Теперь мы увидим, как можно использовать параметр where
.
import numpy as np
x = np.array([5, 10, 15, 20])
result = np.log10(x, where=x > 10)
print("The array containing the log base 10 value of each element is ",result)
В этом примере логарифм по основанию 10 вычисляется только для элементов массива x
, значение которых больше 10. Для остальных будет либо отображаться nan
, либо выбрасываться мусор.
![](/static/storage/214200282476819715968064969702586187104.png)
Пример 5
Эта функция возвращает значение NaN, если мы предоставляем отрицательное входное значение.
import numpy as np
x = np.array([-100, 1000, -100, 1000])
result = np.log10(x)
print("The array containing the log base 10 value of each element is ", result)
![](/static/storage/193651233973184137870341292344397246498.png)
Краткое содержание
Log10 — очень полезная функция, мы обсудили ее основную концепцию, работу и синтаксис. Мы не только изучили теорию, но и увидели практические примеры и изучили ее поведение при различных типах входных данных.