我有一个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的文档,看看它是否可以返回两个参数,但它看起来不一样。
答案 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]将给出行中的第一个元素