NumPy arange(): Полное руководство (с примерами)
В этом руководстве вы узнаете, как использовать функцию NumPy arange для создания последовательности чисел. Это руководство научит вас всему, что вам нужно знать, включая то, как функция может быть настроена для ваших нужд. NumPy предоставляет ряд различных функций для создания массивов, таких как функция np.linspace()
и np.zeros
Понимание того, как работать с массивами и как генерировать их на лету, является важным навыком для любого аналитика данных или специалиста по данным. Поскольку NumPy так важен для других библиотек анализа данных, таких как Pandas и Scikit-Learn, важно понимать, как это работает.
К концу этого руководства вы научитесь:
Как использовать функцию NumPy
arange()
для создания последовательностей чиселКак настроить функцию для обратного счета или создания отрицательных чисел
Как изменить типы данных функции NumPy
arange()
Как генерировать двумерные массивы с помощью функции NumPy
arange()
Чем функция NumPy
arange()
отличается от других функций
Оглавление
Понимание функции NumPy arange()
В этом разделе вы узнаете, как использовать функцию arange()
из NumPy для генерации последовательности чисел. Мы начнем с рассмотрения параметров функции и аргументов по умолчанию, которые предоставляет функция. Затем мы создадим наш первый массив с помощью этой функции:
Функция np.arange()
возвращает одномерный массив с равномерно разнесенными значениями в заданном диапазоне. Этот метод похож на встроенную функцию range()
в Python, но возвращает массив NumPy вместо списка.
Из приведенного выше блока кода видно, что функция предлагает пять различных параметров. В таблице ниже описаны параметры и их аргументы по умолчанию:
start=
Начальное значение интервала, который включается. (необязательный):
0
integer, real value
stop=
Конец интервала, который не включается.
N/A
integer, real value
step=
Расстояние между значениями. Если в качестве аргумента позиции указан шаг, необходимо также указать начало. (необязательный)
1
integer, real value
dtype=
Тип выходного массива. Если ничего не указано, то выводится тип данных. (необязательный)
None
dtype
like=
Объект, от которого будет взят тип данных.(необязательный)
None
array-like
Теперь, когда у вас есть глубокое понимание всех различных параметров функции arange в NumPy, давайте начнем рассматривать, как вы можете создать последовательность чисел.
Использование диапазона NumPy для создания числовой последовательности
Функция arange()
в NumPy имеет только один обязательный параметр: параметр stop
. По умолчанию NumPy начинает свои последовательности значений с 0 и увеличивает их на 1. Если вы передаете одно число, значения будут увеличиваться от 0 до (но не включая) указанное значение, с шагом 1.
Давайте посмотрим, как можно создать массив значений от 0 до 4:
Этот код создает одномерный массив с последовательностью чисел от 0 до 4 с помощью функции np.arange()
.
Мы видим, что функция возвращает фактический массив. Это значит, что значения генерируются в момент выполнения функции. Давайте посмотрим, как мы можем настроить массив, который генерируется, изменяя начальное значение.
Настройка начального значения с использованием диапазона NumPy
По умолчанию функция arange()
в NumPy начинается с 0 и продолжается до указанного конечного значения (не включая его). Вы можете изменить начальное значение результирующего массива, передав значение в параметр
Давайте посмотрим, как мы можем создать массив, который идет от 5 до 9, используя функцию NumPy arange:
Этот код создает одномерный массив с последовательностью чисел от 5 до 9 (включительно) с помощью функции np.arange()
.
В приведенном выше примере кода мы указали аргументы позиционно. Однако мы также можем использовать именованные аргументы, чтобы сделать наш код более явным:
Этот код создает одномерный массив с последовательностью чисел от 5 до 9 (включительно) с использованием именованных аргументов start
и stop
функции np.arange()
.
В следующем разделе вы узнаете, как настроить шаговое значение, используемое при создании массивов.
Настройка значения шага с использованием диапазона NumPy
По умолчанию NumPy будет увеличивать значение массива на 1. Однако вы можете настроить это поведение, передав значение в параметр step=
. Поскольку NumPy позволяет использовать типы данных для его диапазонов, мы можем создавать диапазоны, которые принимают значения с плавающей точкой.
Давайте создадим массив, значения которого начинаются с 0, заканчиваются на 10 и увеличиваются на 1,5:
Этот код создает одномерный массив с последовательностью чисел от 0 до 10 (не включая 10) с шагом 1.5 с помощью функции np.arange()
.
В приведенном выше коде мы объявили 0 (хотя это значение по умолчанию). Это необходимо, только если мы не укажем аргументы stop и step, используя ключевые аргументы. Давайте посмотрим, как это выглядит:
Этот код создает одномерный массив с последовательностью чисел от 0 до 10 (не включая 10) с шагом 1.5 с использованием именованных аргументов stop
и step
функции np.arange()
.
В следующем разделе мы рассмотрим различия между функцией range()
в Python и функцией arange()
в NumPy.
Различия между диапазоном NumPy и диапазоном Python()
На первый взгляд функции NumPy arange() и Python range() выполняют очень похожие задачи. Однако, между ними существует несколько заметных отличий. Давайте рассмотрим ключевые различия:
NumPy arange() генерирует массив, в то время как Python range() генерирует значения лениво. Значения в NumPy arange генерируются сразу, что может использовать больше памяти. Однако, если значения нужно получать несколько раз, это может быть более эффективно.
Функция NumPy arange() может работать с вещественными числами. Функция Python range() может работать только с целыми числами. Однако функция NumPy arange() может работать с различными числовыми типами данных.
Python range() работает быстрее при использовании в циклах for. Так как функция range() в Python генерирует элементы только по мере необходимости, ее можно использовать в циклах for для повышения эффективности.
Понимание этих ключевых различий позволяет вам принимать обоснованные решения относительно того, когда использовать ту или иную функцию.
Создание последовательностей в обратном направлении с помощью диапазона NumPy
Функция arange()
в NumPy также позволяет вам использовать отрицательные значения шага. Это позволяет создавать последовательности чисел, двигаясь в обратном порядке. Это позволяет уменьшать значения в последовательности. Давайте посмотрим, как мы можем создать значения от 5 до 1, уменьшая на 1:
Этот код создает одномерный массив с последовательностью чисел от 5 до 1 (включительно) в обратном порядке с шагом -1 с помощью функции np.arange()
.
В следующем разделе вы узнаете, как настроить типы данных результирующих массивов.
Настройка типов данных в диапазоне NumPy
По умолчанию NumPy определяет тип данных создаваемого массива автоматически. В зависимости от типа заданных значений начала, конца или шага, NumPy решает, какой тип данных будет наилучшим выбором. Однако бывают случаи, когда необходимо явно указать, какой тип данных использовать.
NumPy предлагает ряд различных типов данных, таких как float
и int
. Чтобы узнать больше об этих типах данных, ознакомьтесь с официальной документацией здесь.
Давайте посмотрим, как NumPy будет определять типы данных на основе требований функции:
Этот код создает одномерный массив с последовательностью чисел от 0 до 10 (не включая 10) с шагом 1.5. Так как шаг явно указан как число с плавающей точкой, элементы массива будут иметь тип данных с плавающей точкой.
Если вы хотите указать конкретный тип данных, вы можете использовать параметр dtype=
, чтобы задать нужный тип данных. Давайте посмотрим, как мы можем указать, что хотим использовать float16
в качестве типа данных:
Этот код создает одномерный массив с последовательностью чисел от 0 до 10 (не включая 10) с шагом 1.5 и типом данных float16
.
В следующем разделе вы научитесь создавать двумерные массивы с помощью функции arange библиотеки NumPy.
Создание двумерных массивов с помощью диапазона NumPy
По умолчанию NumPy создает одномерный массив при использовании функции arange()
. Однако мы можем использовать метод .reshape()
для создания массива любой размерности.
Давайте посмотрим, как мы можем это сделать, используя Python и NumPy:
Этот код создает двумерный массив размером 2x5, заполненный последовательными числами от 0 до 9 с помощью функции np.arange()
и метода reshape()
.
Это может быть расширено для создания массивов ещё более сложных размерностей.
Часто задаваемые вопросы
Заключение
В этом учебнике вы научились использовать функцию arange()
библиотеки NumPy для генерации последовательности чисел. Сначала вы узнали, как работает функция и как ее можно настраивать с помощью различных параметров. Затем вы научились генерировать последовательности, указывая параметры начала, остановки и шага. После этого вы научились использовать функцию творчески для указания типов данных и создания 2D массивов.
Дополнительные ресурсы
Чтобы узнать больше о смежных темах, ознакомьтесь с нижеследующими руководствами:
Сглаживание массива с помощью NumPy
Last updated