首页 > 解决方案 > 有什么方法可以修补与 numpy 方法重叠的数组?

问题描述

例如,有一个如下所示的数组。

li = np.array([[1,2,3,4,5],
               [4,5,6,7,8],
               [1,2,3,4,5],
               [4,5,6,7,8],
               [1,2,3,4,5]])

现在我明白我可以使用

np.lib.stride_tricks.as_strided(li, (3,3,3,3), (20,4,20,4))

那么,我怎样才能让滑动窗口移动不止一个步幅呢?比如说,沿着 x、y 轴各走 2 步,如下所示。

[[[[1,2,3],
   [4,5,6],
   [1,2,3]]
  [[3,4,5],
   [6,7,8],
   [3,4,5]]],
 [[[1,2,3],
   [4,5,6],
   [1,2,3]]
  [[3,4,5],
   [6,7,8],
   [3,4,5]]]]

如果我使用 for 循环,它可以很容易地实现,但我想让它更快。

标签: pythonnumpy

解决方案


推荐阅读