我认为这应该很容易,但我不确定这是一种有效的方法。
我希望在numpy中构建一个矩阵,它具有与矩阵中心接近的城市街区/曼哈顿,numpy,任何奇怪的大小。
如果大小为5,则输出为:
Command + /
最好的方法是什么?感谢
答案 0 :(得分:3)
def closeness_manhattan(N):
r = np.arange(N)
a = np.minimum(r,r[::-1])
return a[:,None] + a
样品运行 -
In [14]: closeness_manhattan(4)
Out[14]:
array([[0, 1, 1, 0],
[1, 2, 2, 1],
[1, 2, 2, 1],
[0, 1, 1, 0]])
In [15]: closeness_manhattan(5)
Out[15]:
array([[0, 1, 2, 1, 0],
[1, 2, 3, 2, 1],
[2, 3, 4, 3, 2],
[1, 2, 3, 2, 1],
[0, 1, 2, 1, 0]])