2d数组的最小x和y坐标。蟒蛇

时间:2015-03-20 06:20:44

标签: python arrays numpy

我有一个nx2数组,其中第一列代表x坐标,第二列代表y坐标,例如:

array = np.array([0,3],
                 [1,5],
                 [2,1],
                 [3,2])

如何获得与其返回的相应x坐标的最小y坐标?在示例中,我希望返回[1,2],其中2是行索引,而不是数组中包含的数值,但1是实际数值。

我知道我可以简单地使用np.amin(array[:,1])来获得最小的y坐标,但这并不能告诉我x坐标对应于y最小值的任何信息。

我查看了np.amin的文档,看看它是否可以返回两个参数,但它看起来不一样。

2 个答案:

答案 0 :(得分:1)

也许是这样的:

>>> index = array[:, 1].argmin()
>>> np.unravel_index((index * 2) + 1, array.shape)
(2, 1)
# reverse to get the column index first.
>>> np.unravel_index((index * 2) + 1, array.shape)[::-1]
(1, 2)

答案 1 :(得分:1)

array[np.argmin(array[:,1])][0]

您希望在二维数组中引用这样的数组值。

array[column][row]

np.argmin将为您提供列中最小数字的索引,数组* [0]将给出行中的第一个元素