NumPy и pandas: практический тренажёрNumPy: массивы, форма и индексацияКонструкторы массивов: arange, linspace, zeros, ones, full
Конструкторы массивов: arange, linspace, zeros, ones, full
Уроки курсаКонструкторы массивов: arange, linspace, zeros, ones, full
Сравнительный разбор пяти конструкторов: shape, dtype, значения
Здесь важно не запоминать пять функций по отдельности, а выбирать конструктор по спецификации результата.
- Нужен заданный шаг и невключаемая правая граница — используйте
np.arange. - Нужно ровно заданное число равномерных точек с обеими границами —
np.linspace. - Нужен массив указанной формы, заполненный нулями или единицами —
np.zerosилиnp.ones. - Нужен массив указанной формы с другой константой —
np.full.
Например, для требований «шесть целых чисел от 0 с шагом 2», «пять точек от 0 до 1 включительно» и «матрица 2×3, заполненная −1» подходят разные выражения:
import numpy as np
a = np.arange(0, 12, 2, dtype=np.int64)
b = np.linspace(0, 1, 5)
c = np.full((2, 3), -1, dtype=np.int64)
print(a) # [ 0 2 4 6 8 10]
print(b) # [0. 0.25 0.5 0.75 1. ]
print(c.shape) # (2, 3)
print(c.dtype) # int64
Проверка .shape отвечает на вопрос, получена ли нужная структура, а .dtype — соответствует ли тип контракту следующей операции. Если точная ширина типа важна, задавайте её явно через dtype, как в примерах a и c.
