Spec-Zone.ru › NumPy 2.0

numpy.lib.stride_tricks.as_strided

lib.stride_tricks.as_strided(x, shape=None, strides=None, subok=False, writeable=True)[source]

Создать представление массива с заданной формой и шагами.

Предупреждение

Эта функция должна использоваться с большой осторожностью, см. примечания.

Параметры:
xndarray

Массив, для которого нужно создать новое представление.

shapeпоследовательность целых чисел, необязательно

Форма нового массива. По умолчанию x.shape.

stridesпоследовательность целых чисел, необязательно

Шаги нового массива. По умолчанию x.strides.

subokbool, необязательно

В версии 1.10.

Если True, подклассы сохраняются.

writeablebool, необязательно

В версии 1.12.

Если False, возвращаемый массив всегда будет только для чтения. В противном случае он будет изменяемым, если исходный массив был. Рекомендуется устанавливать это значение в False, если это возможно (см. Примечания).

Возвращает:
viewndarray

См. также

broadcast_to

распространение массива до заданной формы.

reshape

изменение формы массива.

lib.stride_tricks.sliding_window_view

функция, удобная для пользователя и безопасная для создания представлений скользящего окна.

Примечания

as_strided создаёт представление массива, задавая точные шаги и форму. Это означает, что он манипулирует внутренней структурой данных ndarray и, если это сделано неправильно, элементы массива могут указывать на недопустимую память и могут привести к повреждению результатов или сбою вашей программы. Рекомендуется всегда использовать исходный x.strides при вычислении новых шагов, чтобы избежать зависимости от непрерывной структуры памяти.

Кроме того, массивы, созданные с помощью этой функции, часто содержат перекрывающуюся память, так что два элемента совпадают. Векторизованные операции записи в таких массивах обычно будут непредсказуемыми. Они могут даже давать разные результаты для малых, больших или транспонированных массивов.

Поскольку запись в эти массивы должна быть проверена и выполнена с большой осторожностью, вы можете использовать writeable=False чтобы избежать случайных операций записи.

По этим причинам рекомендуется избегать as_strided по возможности.

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.lib.stride_tricks.as_strided.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API