Numpy: разница между np.linspace и np.arange
Когда дело доходит до создания последовательности значений, linspace и arange — две часто используемые функции NumPy.
Вот тонкая разница между этими двумя функциями:
- linspace позволяет указать количество шагов
- Диапазон позволяет указать размер шагов
Следующие примеры показывают, как использовать каждую функцию на практике.
Пример 1: Как использовать np.linspace
Функция np.linspace() использует следующий базовый синтаксис:
np.linspace(начало, остановка, число,…)
Золото:
- start : Начальное значение последовательности
- стоп : конечное значение последовательности
- num : количество значений для генерации
Следующий код показывает, как использовать np.linspace() для создания 11 равномерно расположенных значений между 0 и 20:
import numpy as np
#create sequence of 11 evenly spaced values between 0 and 20
n.p. linspace (0, 20, 11)
array([ 0., 2., 4., 6., 8., 10., 12., 14., 16., 18., 20.])
Результатом является массив из 11 равномерно расположенных значений от 0 до 20.
Используя этот метод, np.linspace() автоматически определяет расстояние между значениями.
Пример 2: Как использовать np.arange
Функция np.arange() использует следующий базовый синтаксис:
np.arange(начало, остановка, шаг,…)
Золото:
- start : Начальное значение последовательности
- стоп : конечное значение последовательности
- шаг : расстояние между значениями
Следующий код показывает, как использовать np.arange() для создания последовательности значений от 0 до 20, где интервал между каждым значением равен 2:
import numpy as np
#create sequence of values between 0 and 20 where spacing is 2
n.p. arange (0, 20, 2)
array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
Результатом является последовательность значений от 0 до 20, где интервал между каждым значением равен 2.
Используя этот метод, np.arange() автоматически определяет количество генерируемых значений.
Если мы используем другой размер шага (например, 4), то np.arange() автоматически скорректирует общее количество сгенерированных значений:
import numpy as np
#create sequence of values between 0 and 20 where spacing is 4
n.p. arange (0, 20, 4)
array([ 0, 4, 8, 12, 16])
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:
Как заполнить массив NumPy значениями
Как заменить элементы в массиве NumPy
Как посчитать уникальные значения в массиве NumPy