Пропустить до содержимого

Как использовать np.arrange в Python?

[

NumPy arange(): Как использовать np.arange()

by Mirko Stojiljković data-science intermediate numpy

NumPy - это основная библиотека Python для численных вычислений. Ее самый важный тип - это массив, называемый ndarray. NumPy предлагает множество функций создания массивов для различных случаев. Одной из таких функций, основанных на числовых диапазонах, является arange(). Он часто называется np.arange(), поскольку np широко используется как сокращение для NumPy.

By the end of this article, you ‘ll know:

  • Что такое np.arange()
  • Как использовать np.arange()
  • Какие функции аналогичны np.arange()

Давайте рассмотрим использование np.arange()!

Бесплатный бонус: Нажмите здесь, чтобы получить доступ к бесплатному руководству по ресурсам NumPy, которое поможет вам найти лучшие учебники, видеоуроки и книги для улучшения ваших навыков NumPy.

Возвращаемое значение и параметры np.arange()

NumPy arange() является одной из функций создания массивов на основе числовых диапазонов. Она создает экземпляр ndarray со равномерно распределенными значениями и возвращает ссылку на него.

Вы можете определить интервал значений, содержащихся в массиве, промежуток между ними и их тип с помощью четырех параметров arange():

Python

numpy.arange([start, ]stop, [step, ], dtype=None) -> numpy.ndarray

Скопировано!

Первые три параметра определяют диапазон значений, а четвертый задает тип элементов:

  1. stop - число, определяющее конец массива и не включенное в массив.
  2. step - число, определяющее шаг (разницу) между каждыми двумя последовательными значениями в массиве и по умолчанию равно 1.

step не может быть равным нулю. В противном случае вы получите ошибку ZeroDivisionError. Если увеличение или уменьшение равно 0, то вы не сможете перемещаться относительно start.

Если dtype не указан, то arange() создаст массив с элементами типа, соответствующими заданным значениям.

Охватим весь процесс использования np.arange() на примерах кода.

Диапазон аргументов np.arange()

Предоставление всех аргументов диапазона

В первом примере мы предоставим все аргументы диапазона, чтобы создать массив с числами от 0 до 5:

import numpy as np
arr = np.arange(0, 6, 1)
print(arr)

Вывод:

[0 1 2 3 4 5]

В этом примере мы указали start равным 0, stop равным 6 и step равным 1. Результатом является массив, содержащий числа от 0 до 5 с интервалом 1.

Предоставление двух аргументов диапазона

Во втором примере мы предоставим только два аргумента диапазона, чтобы создать массив с числами от 2 до 10 с шагом 2:

import numpy as np
arr = np.arange(2, 11, 2)
print(arr)

Вывод:

[ 2 4 6 8 10]

В этом примере мы указали start равным 2, stop равным 11 и step равным 2. Результатом является массив, содержащий числа от 2 до 10 с интервалом 2.

Предоставление одного аргумента диапазона

В третьем примере мы предоставим только один аргумент диапазона, чтобы создать массив с числами от 0 до 4:

import numpy as np
arr = np.arange(5)
print(arr)

Вывод:

[0 1 2 3 4]

В этом примере мы указали stop равным 5, а start и step не указывали. Результатом является массив, содержащий числа от 0 до 4 с интервалом 1 (значение по умолчанию для step).

Предоставление отрицательных аргументов

В четвертом примере мы предоставим отрицательные аргументы диапазона, чтобы создать массив с числами от 5 до 0 с шагом -1:

import numpy as np
arr = np.arange(5, -1, -1)
print(arr)

Вывод:

[5 4 3 2 1 0]

В этом примере мы указали start равным 5, stop равным -1 и step равным -1. Результатом является массив, содержащий числа от 5 до 0 с шагом -1.

Обратный отсчет

В пятом примере мы предоставим отрицательный step, чтобы создать массив с числами от 10 до 1 с шагом -1:

import numpy as np
arr = np.arange(10, 0, -1)
print(arr)

Вывод:

[10 9 8 7 6 5 4 3 2 1]

В этом примере мы указали start равным 10, stop равным 0 и step равным -1. Результатом является массив, содержащий числа от 10 до 1 с шагом -1.

Получение пустых массивов

В шестом примере мы предоставим значения start и stop таким образом, что получим пустой массив:

import numpy as np
arr = np.arange(5, 0)
print(arr)

Вывод:

[]

В этом примере мы указали start равным 5 и stop равным 0. Поскольку start больше или равен stop, то созданный массив будет пустым.

Типы данных np.arange()

По умолчанию тип элементов, содержащихся в массиве, созданном с помощью np.arange(), будет целочисленным. Однако вы можете указать желаемый тип элементов с помощью параметра dtype. Вот пример:

import numpy as np
arr = np.arange(0, 5, dtype=float)
print(arr)

Вывод:

[0. 1. 2. 3. 4.]

В этом примере мы указали start равным 0, stop равным 5 и dtype равным float. Результатом является массив, содержащий числа от 0 до 4 с интервалом 1 и типом данных float.

Превышение простых диапазонов с помощью np.arange()

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

import numpy as np
# Создание массива с числами от 0 до 1 с интервалом 0.1
arr1 = np.arange(0, 1, 0.1)
print(arr1)
# Создание массива с числами от 0 до 100 с интервалом 10
arr2 = np.arange(0, 100, 10)
print(arr2)
# Создание массива с числами от 1 до -1 с интервалом -0.2
arr3 = np.arange(1, -1, -0.2)
print(arr3)
# Создание массива с числами от 0 до 10 в десятичной системе счисления
arr4 = np.arange(0, 11, 1, dtype=float)
print(arr4)

В выводе мы получим следующие массивы:

[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
[ 0 10 20 30 40 50 60 70 80 90]
[1. 0.8 0.6 0.4 0.2 0. ]
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]

Как видно из примеров, np.arange() позволяет создавать массивы с различными значениями и интервалами между ними.

Сравнение функции range и np.arange()

Параметры и результаты

Встроенный класс Python range и функция np.arange() имеют схожие параметры и результаты, но есть некоторые различия. Вот таблица, которая показывает их сравнение:

Параметры/результатыrangenp.arange()
StartВключенВключен
StopИсключенИсключен
StepЦелое числоЛюбое число (целое или десятичное)
Тип данныхЦелые числаЛюбой тип данных
Интервал по умолчанию11
Возможность создания пустых массивовНетДа

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

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

Циклы for в Python

Обычно, для итерации по элементам последовательности, созданной с помощью range или np.arange(), используется цикл for в Python. Вот пример:

# Использование range()
for i in range(5):
print(i)
# Использование np.arange()
for i in np.arange(0, 5, 0.5):
print(i)

В обоих случаях вывод будет следующим:

0
1
2
3
4
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5

Как видно из примеров, range() и np.arange() могут использоваться в цикле for для итерации по последовательностям элементов.

Другие функции, основанные на числовых диапазонах

В NumPy есть и другие функции, которые основаны на числовых диапазонах. Некоторые из них:

  • numpy.linspace() - создает массив со значениями, равномерно распределенными между указанными начальным и конечным значениями.
  • numpy.logspace() - создает массив со значениями, равномерно распределенными в логарифмическом масштабе между указанными начальным и конечным значениями.
  • numpy.geomspace() - создает массив со значениями, равномерно распределенными в геометрической прогрессии между указанными начальным и конечным значениями.

Краткое резюме

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

Заключение

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

Теперь вы обладаете достаточными знаниями, чтобы использовать np.arange() эффективно в своих программах Python.