numpy.lib.stride_tricks.as_strided

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

以给定的形状和步幅在数组中创建一个视图。

警告

必须极其小心地使用此功能,请参见注释。

参数
x恩达雷

数组以创建新的。

shapeint序列,可选

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

stridesint序列,可选

新阵列的步幅。默认为 x.strides .

subok可选的布尔

1.10 新版功能.

如果为真,则保留子类。

writeable可选的布尔

1.12 新版功能.

如果设置为false,则返回的数组将始终为只读。否则,如果原始数组是可写的。如果可能,建议将其设置为假(参见注释)。

返回
view恩达雷

参见

broadcast_to

将数组广播到给定形状。

reshape

重塑数组。

lib.stride_tricks.sliding_window_view

用户友好和安全的功能,用于创建滑动窗口视图。

笔记

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

此外,使用此函数创建的数组通常包含自重叠的内存,因此两个元素是相同的。这种数组上的向量化写入操作通常是不可预测的。它们甚至可以为小数组、大数组或转置数组提供不同的结果。由于必须非常小心地测试和完成对这些数组的写入,因此您可能需要使用 writeable=False 以避免意外写入操作。

出于这些原因,建议避免 as_strided 如果可能的话。