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, 可选
在 1.10 版本加入.
如果为真,子类将被保留.
- writeablebool, 可选
在 1.12 版本加入.
如果设置为 False,返回的数组将始终是只读的.否则,如果原始数组是可写的,它将是可写的.如果可能的话,建议将其设置为 False(见注释).
- 返回:
- viewndarray
参见
broadcast_to
将数组广播到给定的形状.
reshape
重塑一个数组.
lib.stride_tricks.sliding_window_view
用于创建滑动窗口视图的用户友好且安全的函数.
备注
as_strided
根据给定的确切步长和形状创建一个数组视图.这意味着它操纵 ndarray 的内部数据结构,如果操作不当,数组元素可能会指向无效内存,从而导致结果损坏或程序崩溃.建议在计算新步长时始终使用原始x.strides
,以避免依赖连续的内存布局.此外,使用此函数创建的数组通常包含自重叠内存,因此两个元素是相同的.对这种数组的向量化写操作通常是不可预测的.它们甚至可能对小数组、大数组或转置数组给出不同的结果.
由于必须非常小心地测试和执行对这些数组的写操作,您可能希望使用
writeable=False
以避免意外的写操作.基于这些原因,建议尽可能避免使用
as_strided
.