Массив из числового диапазона в NumPy

Массив из числового диапазона с помощью np.arange() в NumPy

Иногда, возникает необходимость в создании числовых последовательностей. Библиотека NumPy предлагает универсальный инструмент для этой цели — функцию np.arange().

Что такое np.arange()

Функция np.arange() в NumPy позволяет создавать одномерные массивы с равномерно разнесенными значениями в заданном диапазоне. Она подобна встроенной функции range() в Python, но генерирует массивы и предоставляет больше гибкости.

Базовый синтаксис

numpy.arange([start, ]stop, [step, ], dtype=None)
  • start: Начальное значение диапазона (по умолчанию 0).
  • stop: Конечное значение диапазона (не включительно).
  • step: Шаг между значениями (по умолчанию 1).
  • dtype: Желаемый тип данных для выводимого массива.

Примеры использования

Создание простой последовательности

Как создать простую последовательность чисел от 0 до 9?

import numpy as np

sequence = np.arange(10)
print(sequence)

# [0 1 2 3 4 5 6 7 8 9]

Указание начального значения и шага

Что, если вы хотите создать последовательность чисел от 5 до 50 с шагом 5?

sequence_step = np.arange(5, 51, 5)
print(sequence_step)

# [ 5 10 15 20 25 30 35 40 45 50]

Создание последовательности с плавающей точкой

np.arange() также может генерировать последовательности чисел с плавающей точкой.

float_sequence = np.arange(0, 1, 0.1)
print(float_sequence)

# [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

Применения и полезные советы

  • Моделирование: np.arange может быть использован для создания временных рядов или других последовательностей для моделирования и симуляции.
  • Визуализация: Если вы используете библиотеки визуализации, такие как Matplotlib, генерация осей или временных меток часто требует числовых последовательностей.
  • Вычислительные задачи: При работе с циклами или итерациями, зная, как быстро и эффективно генерировать числовые последовательности, может быть крайне полезно.

Особенности np.arange()

Важно помнить, что когда вы используете np.arange() с числами с плавающей точкой (например, np.arange(0, 1, 0.1)), из-за ограничений точности представления чисел с плавающей точкой, результирующий массив может иногда не включать верхний конец диапазона. В таких случаях рекомендуется использовать функцию np.linspace(), которая генерирует массив чисел на равных интервалах.

Пример:

import numpy as np

# np.linspace(start, stop, num)
# Создает массив из 10 чисел от 0 до 1
linspace_sequence = np.linspace(0, 1, 10)
print(linspace_sequence)

Преимущества использования np.arange() перед встроенным range()

Хотя np.arange() и встроенная функция range() Python могут казаться схожими, np.arange() предлагает следующие преимущества:

  • Поддержка чисел с плавающей точкой: В то время как range() работает только с целыми числами, np.arange может создавать последовательности с плавающей точкой.
  • Прямая интеграция с другими функциями NumPy: Поскольку np.arange() возвращает массив NumPy, вы можете непосредственно использовать результат с другими функциями NumPy без необходимости преобразования.
  • Быстродействие: Для больших массивов np.arange() может работать быстрее, чем преобразованный в список объект range().

Заключение

Функция np.arange() является ключевым инструментом для широкого круга задач, от создания базовых числовых последовательностей до сложных вычислительных симуляций.

Содержание: