首页 > 解决方案 > Numpy 矩阵,其值等于从中心行/列的偏移量

问题描述

对于给定的奇数值a,我想生成两个矩阵,其中的值表示从中心行/列在 x 或 y 方向上的偏移量。示例a=5

    | -2 -1 0 1 2 |        | -2 -2 -2 -2 -2 |
    | -2 -1 0 1 2 |        | -1 -1 -1 -1 -1 |
X = | -2 -1 0 1 2 |    Y = |  0  0  0  0  0 |
    | -2 -1 0 1 2 |        |  1  1  1  1  1 |
    | -2 -1 0 1 2 |        |  2  2  2  2  2 |

实现这一目标的最简单方法是什么Numpy

标签: pythonnumpynumpy-ndarray

解决方案


np.arange并且np.repeat会做:

a = 5

limits = -(a//2), a//2 + 1
col = np.c_[np.arange(*limits)]

Y = np.repeat(col, repeats=a, axis=1)
X = Y.T

推荐阅读