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 : последовательность int, необязательно
Форма нового массива. По умолчанию
x.shape.strides : последовательность int, необязательно
Шаги нового массива. По умолчанию
x.strides.subok : bool, необязательно
Введено в версии 1.10.
Если True, подклассы сохраняются.
writeable : bool, необязательно
Введено в версии 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.14.5/reference/generated/numpy.lib.stride_tricks.as_strided.html