numpy.char.chararray.resize#
метод
- char.chararray.изменить размер(new_shape, /, *, refcheck=True) a.resize(*new_shape, refcheck=True)#
- char.chararray.изменить размер(*new_shape, refcheck=True) None
Изменение формы и размера массива на месте.
- Параметры:
- new_shapeкортеж целых чисел, или n целые числа
Форма изменённого массива.
- refcheckbool, необязательно
Если False, подсчет ссылок не будет проверяться. По умолчанию True.
- Возвращает:
- None
- Вызывает:
- ValueError
Если a не владеет собственными данными или существуют ссылки или представления на них, и память данных должна быть изменена. Только для PyPy: всегда вызывает исключение, если память данных должна быть изменена, поскольку нет надежного способа определить, существуют ли ссылки или представления на нее.
- Оптимальный
Если порядок указан аргумент ключевого слова. Это поведение является ошибкой в NumPy.
Смотрите также
resizeВозвращает новый массив с указанной формой.
Примечания
Это перераспределяет пространство для области данных при необходимости.
Только непрерывные массивы (элементы данных расположены последовательно в памяти) могут быть изменены в размере.
Цель проверки счетчика ссылок — убедиться, что вы не используете этот массив в качестве буфера для другого объекта Python и затем не перераспределяете память. Однако счетчики ссылок могут увеличиваться другими способами, поэтому если вы уверены, что не делили память этого массива с другим объектом Python, то можете безопасно установить refcheck в False.
Примеры
Сжатие массива: массив сглаживается (в порядке хранения данных в памяти), изменяется размер и преобразуется форма:
>>> import numpy as np
>>> 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 references or is referenced ...
Если только refcheck равно False:
>>> a.resize((1, 1), refcheck=False) >>> a array([[0]]) >>> c array([[0]])