numpy—np.lib.stride_tricks.as_strided

文章目录

lib.stride_tricks.as_strided(x, shape=None, strides=None, subok=False, writeable=True)

描述

创建具有给定形状和步幅的数组视图

参数

x : 输入数组
shape :sequence of int, optional
新数组的形状。默认为x.shape
strides :sequence of int, optional
新数组的步长。默认为x.strides。
subok :bool, optional
如果为真,则保留子类。
writeable :bool, optional
如果设置为False,则返回的数组将始终为只读。
否则,如果原始数组是可写的。
如有可能,建议将其设置为False

Note
在这里插入图片描述

给定精确的步幅和形状,as_strided会在数组中创建一个视图。
这意味着它将操纵ndarray的内部数据结构,如果操作不正确,则数组元素可能指向无效的内存,并且可能损坏结果或使程序崩溃。
建议在计算新的跨度时始终使用原始的x.strides,以避免依赖连续的内存布局。
此外,使用此函数创建的数组通常包含自重叠内存,因此两个元素相同。
这种阵列上的向量化写操作通常是不可预测的。
对于小型,大型或转置阵列,它们甚至可能给出不同的结果。
由于必须非常仔细地测试和完成对这些数组的写入操作,因此您可能希望使用writeable = False以避免意外的写入操作。
由于这些原因,建议尽可能避免as_strided。

案例
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46649052/article/details/114067995