Spec-Zone.ru › NumPy 1.18

numpy.lib.stride_tricks.as_strided

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

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

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

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

Параметры
xndarray

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

shapesequence of int, optional

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

stridessequence of int, optional

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

subokbool, optional

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

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

writeablebool, optional

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

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

Возвращает
viewndarray

См. также

broadcast_to

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

reshape

изменяет форму массива.

Примечания

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

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

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

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

Spec-Zone.ru

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