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.