Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以矢量化方式获取(X,Y)坐标的min,max,argmin,argmax_Python_Arrays_List_Numpy_Vector - Fatal编程技术网

Python 以矢量化方式获取(X,Y)坐标的min,max,argmin,argmax

Python 以矢量化方式获取(X,Y)坐标的min,max,argmin,argmax,python,arrays,list,numpy,vector,Python,Arrays,List,Numpy,Vector,我有一个坐标向量列表(x,y),如下所示: coord=[[3,6], [7,9], [14,9], [11,8], [3,1], [7,14], [19,30] ] 我想要什么 从x坐标中获取最小值,然后打印给定的(x,y)向量 从x坐标中获取最大值,然后打印给定的(x,y)矢量 从y坐标中获取最小值,然后打印给定的(x,y)向量 从y坐标中获取最大值,然后打印给定的(x,y)向量 从x坐标中获取最小值,从y坐标中获取最小值,然后打印给定的(x,y)向量(换句话说,最小向量) 从x坐标中获取

我有一个坐标向量列表(x,y),如下所示:

coord=[[3,6],
[7,9],
[14,9],
[11,8],
[3,1],
[7,14],
[19,30]
]
我想要什么

  • 从x坐标中获取最小值,然后打印给定的(x,y)向量

  • 从x坐标中获取最大值,然后打印给定的(x,y)矢量

  • 从y坐标中获取最小值,然后打印给定的(x,y)向量

  • 从y坐标中获取最大值,然后打印给定的(x,y)向量

  • 从x坐标中获取最小值,从y坐标中获取最小值,然后打印给定的(x,y)向量(换句话说,最小向量)

  • 从x坐标中获取最大值,从y坐标中获取最大值,然后打印给定的(x,y)向量(换句话说,是最大向量)


  • 高效的矢量化方法是什么?

    首先,将嵌套的
    列表转换为NumPy数组:

    coord = np.array(coord)
    
    现在,您可以通过
    coord[:,0]
    获得x值的一维数组,通过
    coord[:,1]
    获得y值。使用
    np.argmin
    np.argmax
    函数获取最小/最大值的索引,您可以执行以下操作:

    xmin_index = np.argmin(coord[:, 0])
    xmin_coord = coord[xmin_index]
    print(xmin_coord)  # The (x,y) pair with minimum x, (3,6)
    

    根据@jmd_dk l提出的建议,更新如下:

    coord = np.array(coord)
    xmin_value=np.min(coord[:,0])
    min_x_vectors = coordinates[np.where(coordinates[:, 0] == xmin_value)]
    minimum = np.argmin(min_x_vectors[:, 1])
    x0,y0=min_x_vectors[minimum]
    

    这将返回
    [3,1]
    而不是
    [3,6]

    请共享您的代码以显示您迄今为止的尝试。欢迎使用StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南。在这里申请。StackOverflow不是设计、编码、研究或教程服务。它只适用于一维。例如,这里的minx值是3,但是我想返回与miny值对应的minx值向量。比如我们这里有[3,6]和[3,1],我们应该返回[3,1]而不是[3,1],6@eric我看不出这与维度有什么关系。这给出了
    [3,6]
    ,因为最小
    x
    值是
    3
    (碰巧出现两次)并且
    np.argmin
    返回最小元素第一次出现的索引。我在寻找与最小x相对应的y的最小值。所以我们首先寻找最小x值,然后我们得到一个向量列表(x_min,y),然后我们查看最小y