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.