numpy.lib.stride_tricks.as_strided#

lib.stride_tricks.as_strided(x, shape=None, strides=None, subok=False, writeable=True)[源代码]#

使用给定的形状和步长创建数组的视图.

警告

必须极其小心地使用此函数,请参阅注释.

参数:
xndarray

要创建新的数组.

shapeint 序列,可选

新数组的形状.默认为 x.shape .

stridesint 序列,可选

新数组的步长.默认为 x.strides .

subokbool,可选

如果为 True,则保留子类.

可写bool,可选

如果设置为 False,则返回的数组将始终为只读.否则,如果原始数组可写,则它将是可写的.如果可以,建议将其设置为 False(请参阅注释).

返回:
视图ndarray

参见

broadcast_to

将数组广播到给定的形状.

reshape

重塑数组.

lib.stride_tricks.sliding_window_view

用于创建滑动窗口视图的用户友好且安全的函数.

注释

as_strided 使用给定的精确步长和形状创建数组的视图.这意味着它会操纵 ndarray 的内部数据结构,如果操作不正确,数组元素可能会指向无效的内存,并可能损坏结果或导致程序崩溃.建议在计算新步长时始终使用原始的 x.strides ,以避免依赖连续的内存布局.

此外,使用此函数创建的数组通常包含自重叠的内存,因此两个元素是相同的.对此类数组的向量化写入操作通常是不可预测的.它们甚至可能为小数组,大数组或转置数组提供不同的结果.

由于必须非常小心地测试和完成对这些数组的写入,因此您可能需要使用 writeable=False 来避免意外的写入操作.

由于这些原因,建议尽可能避免 as_strided .