我试图创建一个numpy坐标数组。到目前为止,我一直在使用x_coords, y_coords = numpy.indices((shape))
。但是,现在我想将x_coords
和y_coords
合并到一个数组中,这样x_coords = thisArray[:,:,0]
和y_coords = thisArray[:,:,1]
在这种情况下,thisArray是一个二维数组。是否有简单或pythonic方式来做到这一点?
我原本考虑使用numpy.outer
,但这并不能完全满足我的需求。一个可能的想法是沿着(第二个)轴使用索引数组的连接,但这似乎不是一个非常优雅的解决方案。 (虽然这可能是最干净的)。
谢谢!
答案 0 :(得分:2)
np.indices
返回的内容已经是一个数组,但x_coords = thisArray[0, :, :]
和y_coords = thisArray[1, :, :]
。除非您对坐标数组有非常严格的要求(即它是连续的),否则您可以使用第一个轴rolled来查看该数组:
thisArray = numpy.rollaxis(numpy.indices(shape), 0, len(shape)+1)