Метод Numpy logspace() используется в Python для создания массива равномерно распределенных значений между двумя числами в логарифмической шкале.
Что такое функция np logspace() в Python?
logspace() — это встроенная библиотечная функция numpy, которая равномерно возвращает числовые пробелы для интервалов в логарифмической шкале. Например, функция np.logspace() возвращает массив numpy равномерно распределенных значений по шкале журнала между началом и остановкой (включая оба).
Синтаксис
|
1 |
numpy.logspace(start, stop, num = 50, endpoint = True, base = 10.0, dtype = None) |
Аргументы
- start: база ** start — это начальное значение последовательности.
- stop: база ** stop является конечным значением последовательности, если только конечная точка не имеет значения False.
- endpoint: это логическое значение, и если оно равно True, stop является последней выборкой. По умолчанию True.
- num: это количество сэмплов для генерации.
- base: это база логарифмической шкалы. По умолчанию он равен 10,0.
- dtype: это тип выходного массива.
Возвращаемое значение
Он возвращает ndarray, который представляет собой несколько выборок, равномерно распределенных по логарифмической шкале.
Пример
Давайте рассмотрим несколько примеров функции np.logspace() с разными аргументами.
|
1 2 3 4 5 6 7 8 9 10 |
import numpy as np # base = 2 print(np.logspace(1.0, 3.0, num=5, base=2)) # num = 5 print(np.logspace(2.0, 3.0, num=5)) # dtype = int print(np.logspace(2.0, 5.0, num=5, dtype=int)) |
Вывод:
|
1 2 3 |
[2. 2.82842712 4. 5.65685425 8. ] [ 100. 177.827941 316.22776602 562.34132519 1000. ] [ 100 562 3162 17782 100000] |
Равноудаленные числа на логарифмической шкале
Чтобы создать массив равноудаленных чисел в Python, используйте функцию np.logspace().
|
1 2 3 4 5 |
import numpy as np arr = np.logspace(1, 2, num=8) print(arr) |
Вывод:
|
1 |
[ 10. 13.89495494 19.30697729 26.82695795 37.2759372 51.79474679 71.9685673 100. ] |
Использование другой базы журналов
По умолчанию базовый журнал равен 10. Функция np.logspace() использует 10 в качестве базы по умолчанию для шкалы журнала. Мы можем изменить журнал, минуя базовый аргумент.
|
1 2 3 4 5 |
import numpy as np arr = np.logspace(1, 2, num=4, base=2) print(arr) |
Вывод:
|
1 |
[2. 2.5198421 3.1748021 4. ] |
Визуализация результатов функции numpy logspace()
Давайте визуализируем значения с четным интервалом, используя библиотеку matplot.
|
1 2 3 4 5 6 7 8 9 10 |
import numpy as np import matplotlib.pyplot as plt A = 20 a1 = np.logspace(0.4, 2, A, endpoint=True) a2 = np.logspace(0.4, 2, A, endpoint=False) b = np.zeros(A) plt.plot(a1, b, 'o') plt.ylim([-0.5, 2]) plt.show() |
Вывод:

Вы можете видеть, что значения становятся шире друг от друга, когда мы движемся вдоль оси X. Это связано с тем, что эти значения равномерно распределены по логарифмической шкале, а не по линейной шкале, которую мы видим выше.
Давайте преобразуем эти значения с помощью логарифмического преобразования, а затем нанесем их на график.
|
1 2 3 4 5 6 7 8 9 |
import numpy as np import matplotlib.pyplot as plt x = np.logspace(1, 2, num=8) y = np.log10(x) z = np.zeros(8) plt.plot(y, z, 'o') plt.show() |
Вывод:

