numpy.matrix.resize
-
matrix.resize(new_shape, refcheck=True) -
Изменение формы и размера массива на месте.
Параметры: new_shape : кортеж целых чисел или
nцелые числаФорма изменённого массива.
refcheck : bool, необязательно
Если False, счётчик ссылок не проверяется. По умолчанию True.
Возвращает: None
Возбуждает: ValueError
Если
aне владеет своими данными или существуют ссылки или представления на них, и память данных должна быть изменена. Только PyPy: всегда будет выбрасывать исключение, если память данных должна быть изменена, так как нет надёжного способа определить, существуют ли ссылки или представления на неё.SystemError
Если указан ключевой параметр
order. Это поведение является ошибкой в NumPy.См. также
-
resize - Возвращает новый массив с заданной формой.
Примечания
Это перераспределяет место для области данных, если необходимо.
Только непрерывные массивы (элементы данных, последовательные в памяти), могут быть изменены.
Цель проверки счётчика ссылок состоит в том, чтобы убедиться, что вы не используете этот массив в качестве буфера для другого объекта Python, а затем не перераспределяете память. Однако счётчики ссылок могут увеличиваться и другими способами, поэтому, если вы уверены, что не разделили память этого массива с другим объектом Python, то вы можете безопасно установить
refcheckв значение False.Примеры
Уменьшение массива: массив сглаживается (в порядке хранения данных в памяти), изменяется размер и форма:
>>> a = np.array([[0, 1], [2, 3]], order='C') >>> a.resize((2, 1)) >>> a array([[0], [1]])>>> a = np.array([[0, 1], [2, 3]], order='F') >>> a.resize((2, 1)) >>> a array([[0], [2]])Увеличение массива: как выше, но отсутствующие записи заполняются нулями:
>>> b = np.array([[0, 1], [2, 3]]) >>> b.resize(2, 3) # new_shape parameter doesn't have to be a tuple >>> b array([[0, 1, 2], [3, 0, 0]])Ссылка на массив предотвращает изменение размера…
>>> c = a >>> a.resize((1, 1)) Traceback (most recent call last): ... ValueError: cannot resize an array that has been referenced ...
Если
refcheckравно False:>>> a.resize((1, 1), refcheck=False) >>> a array([[0]]) >>> c array([[0]])
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.matrix.resize.html