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,)