Spec-Zone.ru › NumPy 1.17

numpy.lib.stride_tricks.as_strided

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

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

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

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

Параметры:
x : ndarray

Массив для создания нового.

shape : sequence of int, optional

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

strides : sequence of int, optional

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

subok : bool, optional

Новое в версии 1.10.

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

writeable : bool, optional

Новое в версии 1.12.

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

Возвращает:
view : ndarray

См. также

broadcast_to
расширить массив до заданной формы.
reshape
изменить форму массива.

Примечания

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

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

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

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

Spec-Zone.ru

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