numpy.array#

numpy.массив(object, dtype=None, *, copy=True, порядок='K', subok=False, ndmin=0, ndmax=0, как=None)#

Создать массив.

Параметры:
objectarray_like

Массив, любой объект, предоставляющий интерфейс массива, объект, чей __array__ метод возвращает массив или любую (вложенную) последовательность. Если объект является скаляром, возвращается 0-мерный массив, содержащий объект.

dtypeтип данных, опционально

Желаемый тип данных для массива. Если не указан, NumPy попытается использовать значение по умолчанию dtype которые могут представлять значения (применяя правила продвижения при необходимости.)

copybool, необязательно

Если True (по умолчанию), тогда данные массива копируются. Если None, копия будет создана только если __array__ возвращает копию, если obj является вложенной последовательностью, или если копия требуется для удовлетворения других требований (dtype, order, и т.д.). Обратите внимание, что любая копия данных является поверхностной, т.е. для массивов с типом object новый массив будет указывать на те же объекты. См. Примеры для ndarray.copy. Для False это вызывает ValueError если копирования избежать невозможно. По умолчанию: True.

порядок{'K', 'A', 'C', 'F'}, опционально

Указывает расположение данных в памяти массива. Если объект не является массивом, вновь созданный массив будет в порядке C (по строкам), если не указано 'F', в этом случае он будет в порядке Fortran (по столбцам). Если объект является массивом, действует следующее.

порядок

без копирования

copy=True

'K'

неизмененным

Порядок F & C сохранён, в противном случае наиболее похожий порядок

‘A’

неизмененным

Порядок F, если входные данные имеют порядок F и не C, в противном случае порядок C

‘C’

Порядок C

Порядок C

‘F’

Порядок F

Порядок F

Когда copy=None и копия создаётся по другим причинам, результат такой же, как если бы copy=True, с некоторыми исключениями для 'A', см. раздел Примечания. Порядок по умолчанию - 'K'.

subokbool, необязательно

Если True, то подклассы будут пропущены, в противном случае возвращаемый массив будет принудительно преобразован в массив базового класса (по умолчанию).

ndminint, необязательный

Определяет минимальное количество измерений, которое должен иметь результирующий массив. Единицы будут добавлены к форме по мере необходимости для выполнения этого требования.

ndmaxint, необязательный

Задает максимальное количество измерений для создания при выводе формы из вложенных последовательностей. По умолчанию (ndmax=0) NumPy рекурсивно проходит через все уровни вложенности (до константы времени компиляции NPY_MAXDIMS). Установка ndmax останавливает рекурсию на указанной глубине, сохраняя более глубокие вложенные структуры как объекты вместо их преобразования в массивы более высокой размерности. В этом случае, dtype=object требуется.

Новое в версии 2.4.0.

какarray_like, необязательный

Объект-ссылка, позволяющий создавать массивы, которые не являются массивами NumPy. Если массивоподобный объект, переданный как like поддерживает __array_function__ протокол, результат будет определен им. В этом случае он гарантирует создание объекта массива, совместимого с переданным через этот аргумент.

Новое в версии 1.20.0.

Возвращает:
выходndarray

Объект массива, удовлетворяющий указанным требованиям.

Смотрите также

empty_like

Возвращает пустой массив с формой и типом входных данных.

ones_like

Возвращает массив единиц с формой и типом входных данных.

zeros_like

Возвращает массив нулей с формой и типом входных данных.

full_like

Возвращает новый массив с формой входных данных, заполненный значением.

empty

Возвращает новый неинициализированный массив.

ones

Возвращает новый массив, устанавливая значения в единицу.

zeros

Возвращает новый массив, устанавливая значения в ноль.

full

Возвращает новый массив заданной формы, заполненный значением.

copy

Возвращает копию массива данного объекта.

Примечания

Когда порядок 'A' и object является массивом ни в порядке 'C', ни в порядке 'F', и копирование принудительно вызвано изменением dtype, тогда порядок результата не обязательно 'C', как ожидалось. Вероятно, это ошибка.

Примеры

>>> import numpy as np
>>> np.array([1, 2, 3])
array([1, 2, 3])

Повышение типа:

>>> np.array([1, 2, 3.0])
array([ 1.,  2.,  3.])

Более одного измерения:

>>> np.array([[1, 2], [3, 4]])
array([[1, 2],
       [3, 4]])

Минимальные размерности 2:

>>> np.array([1, 2, 3], ndmin=2)
array([[1, 2, 3]])

Предоставленный тип:

>>> np.array([1, 2, 3], dtype=complex)
array([ 1.+0.j,  2.+0.j,  3.+0.j])

Тип данных, состоящий более чем из одного элемента:

>>> x = np.array([(1,2),(3,4)],dtype=[('a','),('b',')])
>>> x['a']
array([1, 3], dtype=int32)

Создание массива из подклассов:

>>> np.array(np.asmatrix('1 2; 3 4'))
array([[1, 2],
       [3, 4]])
>>> np.array(np.asmatrix('1 2; 3 4'), subok=True)
matrix([[1, 2],
        [3, 4]])

Ограничение максимальных размерностей с помощью ndmax:

>>> a = np.array([[1, 2], [3, 4]], dtype=object, ndmax=2)
>>> a
array([[1, 2],
       [3, 4]], dtype=object)
>>> a.shape
(2, 2)
>>> b = np.array([[1, 2], [3, 4]], dtype=object, ndmax=1)
>>> b
array([list([1, 2]), list([3, 4])], dtype=object)
>>> b.shape
(2,)