np.array создаёт новый numpy.ndarray из существующих данных Python. Это самый прямой способ превратить список, кортеж или вложенные структуры в массив.

Синтаксис:

np.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

Основные параметры:

  • object — список, кортеж или вложенные последовательности с числами.
  • dtype — явное указание типа данных (int, float64, bool и др.). Если не указано, NumPy сам выберет подходящий.
  • copy — если True, данные копируются; если False, NumPy попытается использовать исходный буфер (не всегда возможно).
  • ndmin — минимальное число измерений; массив будет “расширен” до указанного ndim, если нужно.

Примеры:

1D массив:

a = np.array([1, 2, 3, 4])
a.shape   # (4,)
a.ndim    # 1

2D массив:

b = np.array([[1, 2, 3],
              [4, 5, 6]])
b.shape   # (2, 3)

Указание типа данных:

c = np.array([1, 2, 3], dtype=float)
c.dtype  # float64

Принудительное расширение размерности:

d = np.array([1, 2, 3], ndmin=2)
d.shape  # (1, 3)

Особенности:

  • вложенные списки должны быть правильной формы, иначе NumPy создаст массив объектов (dtype=object).
  • np.array копирует данные по умолчанию, в отличие от функций вроде np.frombuffer или np.asarray.
  • чаще используется для создания массивов из готовых Python-данных, тогда как np.zeros, np.ones, np.arange удобнее для генерации массивов с шаблонными значениями.