Рубрики
Без рубрики

Метод NumPy arange() в Python

В этом уроке мы обсудим метод Numpy arange() в Python. NumPy-очень популярный модуль в Python, в основном используемый пользователями для его более быстрого

Автор оригинала: Pankaj Kumar.

Вступление

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

Основы метода Numpy arange()

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

Синтаксис,

import numpy as np
np.arange( start , stop , step ,dtype=nome)

Здесь,

  • start – это начальная точка будущей сгенерированной последовательности. Последовательность начинается с этого числа,
  • stop – это предел, до которого должна быть сгенерирована последовательность. Обратите внимание, что stop не включен в саму последовательность, только число до того, как оно будет рассмотрено
  • шаг – это равномерный размер шага. По умолчанию, если в качестве шага ничего не передается, интерпретатор считает шаги равными единице(1). Помните, что размер шага должен быть некоторым ненулевым значением, иначе возникнет ZeroDivisionError .
  • тип – это тип результирующих элементов ndarray . По умолчанию он выводит тип из предоставленных параметров внутри метода. Тип может быть none, int или float и т. Д.

Пример Numpy arange()

Давайте разберемся в работе метода Numpy arange() на примере:

import numpy as np

#passing start=1, stop=10, and step=2 and dtype=int
res=np.arange(1,10,2,int)

#printing the result
print("The resultant sequence is : ",res)
#analysing the type of the result
print("Type of returned result is:",type(res))

Вывод :

Пример Np Arange

Здесь,

  • Мы изначально импортировали модуль NumPy как np для дальнейшего использования,
  • Затем мы используем метод arrange () , передавая соответствующие аргументы start , stop , step и type как 1, 10, 2 и int для создания массива, состоящего из целых чисел от 1 до 9 с.
  • Когда мы печатаем результирующую последовательность вместе с type() возвращаемого объекта, который оказывается членом класса ndarray .

Использование Numpy arange() в Python

Метод arrange() принимает четыре аргумента start, stop, step и тип, как мы видели в предыдущем разделе. Теперь мы посмотрим, как мы можем использовать этот метод различными способами и как он работает для всех случаев.

1. Использование функции arrange() с одним аргументом

Когда мы передаем только один параметр методу Numpy arange (), по умолчанию он считает значение аргументом stop . Взгляните на приведенный ниже пример кода,

import numpy as np

#passing only one parameter to the arange() method
res=np.arange(5)

#printing the result
print("The resultant sequence with one argument : ",res)
#analysing the type of the result
print("Type of returned result is:",type(res))

Выход:

The resultant sequence with one argument :  [0 1 2 3 4]
Type of returned result is: 

Здесь,

  • Как мы уже упоминали ранее, мы изначально импортируем модуль numpy как np,
  • После этого мы пытаемся сгенерировать последовательность и сохранить ее в res , имея только один параметр , и это’ 5 ‘,
  • Мы наблюдаем, что программа рассматривает переданное значение как остановку или конечную точку. И создает массив со значениями [0 1 2 3 4] ,
  • Снова мы подтверждаем тип() результата как ndarray.

2. Использование Numpy arange() без шага

Когда параметр step не передается методу arrange() в Python, по умолчанию он считает, что он имеет значение 1 . Давайте рассмотрим пример,

import numpy as np

#passing start=5 and stop=8 to arange()
res=np.arange(5,8)

#printing the result
print("The resultant sequence with no step :",res)
#analysing the type of the result
print("Type of returned result is:",type(res))

Вывод :

The resultant sequence with no step : [5 6 7]
Type of returned result is: 

Итак, здесь мы ясно видим, что, хотя мы не передали параметр step, созданный массив состоит из значений [5 6 7]. То есть, в данном случае, значение по умолчанию 1 был использован для генерации соответствующего вывода.

3. Использование функции arrange() с отрицательными параметрами

Итак, что делать, если значения, переданные методу arrange (), являются отрицательными ? Он работает нормально.

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

Примечание : Если указанный шаг отрицательный, то единственной разницей будет часть приращения. В этом случае шаг будет добавлен, но поскольку значение шага отрицательное, в конечном итоге сгенерированный массив будет убывающим .

Давайте рассмотрим пример, в котором мы передаем отрицательные начальные и конечные значения.

import numpy as np

#passing start=-10, stop=-1 and step=3 to arange()
res=np.arange(-10,-1,3)

#printing the result
print("The resultant sequence with negative start and stop :",res)
#analysing the type of the result
print("Type of returned result is:",type(res))

Вывод :

The resultant sequence with negative start and stop : [-10  -7  -4]
Type of returned result is: 

Как обсуждалось выше, метод arrange() генерирует массив, состоящий из элементов [-10 -7 -4] , поскольку предоставленные параметры запуска и остановки были ( -10 ) и ( -1 ), с шагом= 3 .

4. Использование Numpy arange() с циклами Python

В приведенном ниже примере мы включили метод arrange() в собственный цикл for в Python .

import numpy as np
#to print all even numbers from 2 to nth even number, where n is user input

#user input
n=int(input("Enter the last even number: "))
print("The sequence of even numbers :")

for i in np.arange(2,n+2,2):     #here stop=n+2 so that the nth even number is too printed
    print(i, end=" ")

Вывод :

Прин Последовательность Четных Чисел

В приведенном выше коде,

  • Метод arrange() выдает тот же результат, что и встроенный метод range () . Здесь мы пытаемся напечатать все четные числа от 2 до последнего, предоставленного пользователем.
  • np.arange(2,n+2,2) дает нам последовательность, содержащую все числа, начиная с 2 to n .
  • Как мы видели ранее, метод arrange() не включает в себя значение stop или end. Таким образом, чтобы преодолеть эту ситуацию и вывести последнее предоставленное пользователем четное значение, мы рассматриваем параметр stop как (n+2) с шагом |/=2 .

Несмотря на то, что мы использовали метод arrange() с собственным циклом for в Python, это влияет на скорость выполнения и производительность кода. Он также становится медленным.

Numpy arange() Vs range() в Python

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

Вывод

Мы узнали о методе arranged() из модуля NumPy , как он работает, а также о том, что он быстрее и лучше, чем собственный метод range() в Python.

Рекомендации