numpy.char.chararray.resize
метод
- char.chararray.resize(new_shape, refcheck=True)
-
Изменение формы и размера массива на месте.
- Параметры
-
-
new_shapeкортеж целых чисел или
nцелые числа -
Форма измененного массива.
- refcheckbool, необязательно
-
Если False, счетчик ссылок не будет проверяться. По умолчанию True.
-
new_shapeкортеж целых чисел или
- Возвращает
-
- 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 references or is referenced ...
Если
refcheckравно False:>>> a.resize((1, 1), refcheck=False) >>> a array([[0]]) >>> c array([[0]])
© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.char.chararray.resize.html