Spec-Zone.ru › NumPy 1.21

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–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.lib.stride_tricks.as_strided.html

Spec-Zone.ru

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