获取2d数组的行,其中min值在第一列中

时间:2015-03-13 10:50:30

标签: python arrays python-2.7 numpy

我有一个点(2D)的矩阵(2d numpy数组)。

m = np.array([[x1, y1, z1],
              [x2, y2, z2],
              ...,
              [xn, yn, zn]])

我想在第一列(x值)中找到min元素(x_min)并获取此x_min所在的矩阵的整行。例如,如果x_min位于第3行,它将返回我,x_min == x_3}:

vector = [x_min, y_3, z_3] 

我有这个,但想知道是否有更优雅的解决方案:

min = np.min(m[:, 0])
pos = np.where(min==m[:, 0])
m[pos, :]

1 个答案:

答案 0 :(得分:1)

修改近似重复问题的答案:

m[np.argmin(m[:, 0]), :]