Как использовать функцию range в Python?
NumPy arange(): Как использовать np.arange()
Введение в NumPy
NumPy – это основная библиотека Python для численных вычислений. Ее наиболее важным типом данных является массив, называемый ndarray
. NumPy предлагает множество функций для создания массивов для различных задач. Одной из таких функций является arange()
, основанная на числовых диапазонах. Ее часто называют np.arange()
, потому что np
является широко используемым сокращением для NumPy.
По окончании этой статьи вы узнаете:
- Что такое
np.arange()
- Как использовать
np.arange()
- Какие другие функции похожи на
np.arange()
Давайте посмотрим, как работает np.arange()
!
Возвращаемое значение и параметры np.arange()
np.arange()
- это одна из функций создания массива на основе числовых диапазонов. Она создает экземпляр ndarray
со равномерно распределенными значениями и возвращает ссылку на него.
Чтобы определить интервал значений, содержащихся в массиве, промежуток между ними и их тип, используются четыре параметра arange()
:
start
– число (целое или десятичное), определяющее первое значение в массиве.stop
– число, определяющее конец массива и не включенное в массив.step
– число, определяющее промежуток (разницу) между каждыми двумя последовательными значениями в массиве и по умолчанию равно1
.
step
не может быть равен нулю, иначе возникнет ошибка ZeroDivisionError
. Если инкремент или декремент равен 0
, то невозможно продвинуться относительно значения start
.
Если dtype
не указан, NumPy сам выберет тип данных в зависимости от входных параметров.
Давайте посмотрим на примеры использования np.arange()
и разберем каждый из параметров подробнее.
Пример 1: Определение интервала значений и промежутка
Output:
В этом примере мы создаем массив, начинающийся с числа 1 и заканчивающийся числом 10 (не включая его), с шагом 2. Полученный массив содержит все значения между 1 и 10 с шагом 2: [1, 3, 5, 7, 9]
.
Пример 2: Определение интервала с указанием одного параметра
Output:
В этом примере мы создаем массив с использованием только одного параметра stop
. Значение start
по умолчанию равно 0, а step
равно 1. Таким образом, получается массив [0, 1, 2, 3, 4]
.
Пример 3: Определение интервала с отрицательными значениями
Output:
В этом примере мы создаем массив, начинающийся с числа 5 и заканчивающийся числом -5 (не включая его), с шагом -1. Полученный массив содержит все значения от 5 до -5 с шагом -1: [5, 4, 3, 2, 1, 0, -1, -2, -3, -4]
.
Пример 4: Определение интервала с дробными значениями
Output:
В этом примере мы создаем массив с дробными значениями. Массив начинается с числа 0.5 и заканчивается числом 2.5 (не включая его), с шагом 0.5. Полученный массив содержит все значения от 0.5 до 2 с шагом 0.5: [0.5, 1, 1.5, 2]
.
Пример 5: Определение типа данных массива
Output:
В этом примере мы создаем массив со значениями с 1 до 6 (не включая 6) с шагом 1 и указываем тип данных float
. Полученный массив содержит значения типа float
: [1., 2., 3., 4., 5.]
.
Работа с массивами np.arange()
np.arange()
позволяет создавать массивы с различными интервалами и шагами. Вы можете использовать эти массивы для решения различных задач в Python, таких как обработка данных, математические вычисления, построение графиков и многое другое.
В дополнение к тому, что np.arange()
позволяет создавать простые числовые ряды, она также может быть полезна при выполнении более сложных операций с массивами, таких как фильтрация, индексирование и агрегирование данных.
Сравнение range
и np.arange()
Python включает в себя встроенный класс range
для создания числовых последовательностей. Однако для более гибкого использования числовых диапазонов рекомендуется использовать np.arange()
, поскольку она предлагает больше возможностей и приемуществ по сравнению с range
.
Одно из основных преимуществ np.arange()
заключается в том, что она позволяет работать с дробными числами и выбирать шаг более точно, а также указывать тип данных элементов массива.
Кроме того, np.arange()
позволяет создавать массивы с отрицательными шагами и задавать диапазоны значений неограниченной длины.
Давайте сравним два подхода на примере:
Вывод:
Обратите внимание, что при использовании range
результат должен быть преобразован в список с помощью функции list()
. В то же время np.arange()
возвращает массив ndarray
без необходимости вызывать дополнительные функции.
Использование np.arange()
также может быть более понятным и читаемым в случаях, когда вам нужно работать с дробными числами или задавать интервалы значений в непрямой последовательности.
Примеры использования np.arange()
Python знаменит своими простыми и лаконичными синтаксическими конструкциями, и np.arange()
не является исключением. Вы можете использовать эту функцию для решения различных задач, от создания числовых рядов до генерации данных для машинного обучения.
Пример 1: Генерация последовательности чисел для построения графика
Output:
В этом примере мы используем np.arange()
для создания массива значений X от 0 до 2π с шагом 0.1. Затем мы вычисляем значение функции sin для каждого элемента массива и строим график.
Пример 2: Фильтрация данных массива
Output:
В этом примере массив data
содержит числа от 1 до 10. Мы используем np.arange(len(data))
для создания массива индексов, а затем применяем фильтр, чтобы оставить только те элементы, индексы которых являются четными числами. В результате оставлены только числа [1, 3, 5, 7, 9]
.
Пример 3: Генерация данных для машинного обучения
В этом примере мы используем np.arange()
для создания массива случайных данных размером 1000 × 10. Затем мы создаем массив меток y
, используя функцию np.random.randint()
для генерации случайных целых чисел из диапазона 0 и 1. Наконец, мы обучаем модель машинного обучения с использованием сгенерированных данных.
Заключение
В этой статье мы изучили функцию np.arange()
библиотеки NumPy и узнали, как использовать ее для создания массивов на основе числовых диапазонов. Мы рассмотрели различные способы задания интервалов и шага, а также разобрали примеры использования функции в различных задачах.
np.arange()
- это мощный инструмент для работы с массивами в Python. Она позволяет вам создавать и манипулировать числовыми рядами более гибко и эффективно, чем встроенный класс range
. Она может быть использована для решения различных задач, включая создание графиков, фильтрацию данных и генерацию данных для машинного обучения.
Ознакомившись с основными возможностями и преимуществами np.arange()
, вы сможете использовать эту функцию эффективно в своих собственных проектах на Python.