numpy.core.defchararray.chararray.resize
-
chararray.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.core.defchararray.chararray.resize.html