numpy.resize#

numpy.изменить размер(a, new_shape)[источник]#

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

Если новый массив больше исходного, то новый массив заполняется повторяющимися копиями a. Обратите внимание, что это поведение отличается от a.resize(new_shape), который заполняет нулями вместо повторных копий a.

Параметры:
aarray_like

Массив для изменения размера.

new_shapeint или кортеж int

Форма изменённого массива.

Возвращает:
reshaped_arrayndarray

Новый массив формируется из данных старого массива, повторяемых при необходимости для заполнения требуемого количества элементов. Данные повторяются при итерации по массиву в C-порядке.

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

numpy.reshape

Изменяет форму массива без изменения общего размера.

numpy.pad

Увеличить и заполнить массив.

numpy.repeat

Повторить элементы массива.

ndarray.resize

изменить размер массива на месте.

Примечания

Когда общий размер массива не изменяется reshape следует использовать. В большинстве других случаев либо индексация (для уменьшения размера), либо дополнение (для увеличения размера) может быть более подходящим решением.

Предупреждение: Эта функциональность не не рассматривать оси отдельно, т.е. не применяет интерполяцию/экстраполяцию. Заполняет возвращаемый массив требуемым количеством элементов, итерируя по a в C-порядке, игнорируя оси (и возвращаясь к началу, если новая форма больше). Поэтому эта функциональность не подходит для изменения размера изображений или данных, где каждая ось представляет отдельную и отличную сущность.

Примеры

>>> import numpy as np
>>> a = np.array([[0,1],[2,3]])
>>> np.resize(a,(2,3))
array([[0, 1, 2],
       [3, 0, 1]])
>>> np.resize(a,(1,4))
array([[0, 1, 2, 3]])
>>> np.resize(a,(2,4))
array([[0, 1, 2, 3],
       [0, 1, 2, 3]])