Pythonic方式创建一个numpy坐标数组

时间:2013-06-22 01:56:39

标签: python arrays numpy

我试图创建一个numpy坐标数组。到目前为止,我一直在使用x_coords, y_coords = numpy.indices((shape))。但是,现在我想将x_coordsy_coords合并到一个数组中,这样x_coords = thisArray[:,:,0]y_coords = thisArray[:,:,1]在这种情况下,thisArray是一个二维数组。是否有简单或pythonic方式来做到这一点?

我原本考虑使用numpy.outer,但这并不能完全满足我的需求。一个可能的想法是沿着(第二个)轴使用索引数组的连接,但这似乎不是一个非常优雅的解决方案。 (虽然这可能是最干净的)。

谢谢!

1 个答案:

答案 0 :(得分:2)

np.indices返回的内容已经是一个数组,但x_coords = thisArray[0, :, :]y_coords = thisArray[1, :, :]。除非您对坐标数组有非常严格的要求(即它是连续的),否则您可以使用第一个轴rolled来查看该数组:

thisArray = numpy.rollaxis(numpy.indices(shape), 0, len(shape)+1)