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