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