相关疑难解决方法(0)

如何对numpy数组的2x2子阵列的平均值进行矢量化?

我有一个非常大的2D numpy数组,包含2x2子集,我需要取平均值.我正在寻找一种矢量化此操作的方法.例如,给定x:

#               |- col 0 -|   |- col 1 -|   |- col 2 -|       
x = np.array( [[ 0.0,   1.0,   2.0,   3.0,   4.0,   5.0],  # row 0
               [ 6.0,   7.0,   8.0,   9.0,  10.0,  11.0],  # row 0
               [12.0,  13.0,  14.0,  15.0,  16.0,  17.0],  # row 1
               [18.0,  19.0,  20.0,  21.0,  22.0,  23.0]]) # row 1
Run Code Online (Sandbox Code Playgroud)

我需要得到一个2x3阵列,它是每个2x2子阵列的平均值,即:

result = np.array( [[ 3.5,  5.5,  7.5],
                    [15.5, 17.5, 19.5]])
Run Code Online (Sandbox Code Playgroud)

因此,元素[0,0]被计算为x [0:2,0:2]的平均值,而元素[0,1]将是x [2:4,0:2]的平均值.Numpy是否有像这样的子集进行聚合的矢量化/有效方法?

python arrays numpy vectorization aggregation

5
推荐指数
1
解决办法
440
查看次数

标签 统计

aggregation ×1

arrays ×1

numpy ×1

python ×1

vectorization ×1