【发布时间】:2019-04-05 19:36:24
【问题描述】:
这很难用语言描述,但在实践中很容易看到。我有一个二维数组:
im = np.array([[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]])
我将其解释为 4x4 灰度图像 - 因此数组中的值只是强度。所以,首先,im 是:
[[0,0,0,0],
[0,0,0,0],
[0,0,0,0],
[0,0,0,0]]
我希望能够根据 x 值数组和 y 值数组一次更改“图像”中的许多值。我将它们组装成第二个数组中的有序对,如下所示:
x = [0,1]
y = [2,3]
coords = np.array([x,y]).T
现在coords 看起来像这样:
array([[0, 2],
[1, 3]])
最后,我想按坐标索引 im。我想也许是这样的:
im[coords] = 9
...但这不起作用。我希望 im 的最终结果是:
[[0,0,9,0],
[0,0,0,9],
[0,0,0,0],
[0,0,0,0]]
有谁知道这样做的快速而优雅的方式?
谢谢!
【问题讨论】:
-
im[x, y] = 9工作吗? -
哈哈...是的,确实如此!我可以发誓我试过了!哦,好吧,这不是我最近做过的最愚蠢的事情,但它就在那里:)
标签: python arrays numpy indexing