Создание массивов в NumPy из числовых диапазонов

В этой главе мы узнаем, как создавать массивы из числовых диапазонов.

numpy.arange

Вы можете использовать функцию arange в пакете numpy для создания числовых диапазонов и возврата объекта ndarray. Формат функции следующий:

numpy.arange(start, stop, step, dtype)

Создает ndarray на основе диапазона, заданного start и stop, и шага, заданного step.

Описание параметра:

Параметр Описание
start Начальное значение, по умолчанию0
stop Конечное значение (не включительно)
step Размер шага, по умолчанию1
dtype Returnndarrayтип данных; если не указан, будет использоваться тип входных данных.

Пример

Сгенерировать массив от 0 до 4 длиной 5:

Пример

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

Результат вывода следующий:

[0  1  2  3  4]

Установите тип возвращаемого значения float:

Пример

import numpy as np # задать dtype x = np.arange(5, dtype = float) print (x)

Результат вывода следующий:

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

Установите начальное значение, конечное значение и размер шага:

Пример

import numpy as np x = np.arange(10,20,2) print (x)

Результат вывода следующий:

[10  12  14  16  18]

numpy.linspace

Функция numpy.linspace используется для создания одномерного массива, который представляет собой арифметическую последовательность. Формат следующий:

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

Описание параметра:

Параметр Описание
start Начальное значение последовательности
stop Конечное значение последовательности, еслиendpointявляетсяtrueэто значение включено в последовательность.
num Количество отсчётов для генерации с равномерным шагом; по умолчанию50
endpoint Когда это значение равноtrueтогда последовательность содержитstopзначение; в противном случае оно не включается. По умолчанию True.
retstep Если True, шаг будет отображаться в сгенерированном массиве; в противном случае он отображаться не будет.
dtype ndarrayтип данных

В следующем примере используются три параметра: установите начальную точку в 1, конечную точку в 10, а количество элементов в 10.

Пример

import numpy as np a = np.linspace(1,10,10) print(a)

Результат вывода:

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

Задайте арифметическую последовательность, все элементы которой равны 1:

Пример

import numpy as np a = np.linspace(1,1,10) print(a)

Результат вывода:

[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]

Установите endpoint в false, чтобы исключить конечное значение:

Пример

import numpy as np a = np.linspace(10, 20, 5, endpoint = False) print(a)

Результат вывода:

[10. 12. 14. 16. 18.]

Если для endpoint задано значение true, 20 будет включено.

Следующий пример задаёт шаг.

Пример

import numpy as np a =np.linspace(1,10,10,retstep= True) print(a) # Расширенный пример b =np.linspace(1,10,10).reshape([10,1]) print(b)

Результат вывода:

(array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.]), 1.0)
[[ 1.]
 [ 2.]
 [ 3.]
 [ 4.]
 [ 5.]
 [ 6.]
 [ 7.]
 [ 8.]
 [ 9.]
 [10.]]

numpy.logspace

Функция numpy.logspace используется для создания геометрической последовательности. Формат следующий:

np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)

Параметр base задаёт основание логарифма при логарифмировании.

Параметр Описание
start Начальное значение последовательности: base ** start
stop Конечное значение последовательности: base ** stop. Еслиendpointявляетсяtrueэто значение включено в последовательность.
num Количество отсчётов для генерации с равномерным шагом; по умолчанию50
endpoint Когда это значение равноtrueто последовательность содержитstopзначение; в противном случае оно не включается. По умолчанию True.
base Основание логарифма log.
dtype ndarrayтип данных

Пример

import numpy as np # Основание по умолчанию — 10 a = np.logspace(1.0, 2.0, num = 10) print (a)

Результат вывода:

[ 10.           12.91549665     16.68100537      21.5443469  27.82559402      
  35.93813664   46.41588834     59.94842503      77.42636827    100.    ]

Установите основание логарифма равным 2:

Пример

import numpy as np a = np.logspace(0,9,10,base=2) print (a)

Вывод следующий:

[  1.   2.   4.   8.  16.  32.  64. 128. 256. 512.]
Другие расширения