Python 多元素1D数组上np.where的语法

Python 多元素1D数组上np.where的语法,python,arrays,numpy,Python,Arrays,Numpy,我有两个独立的数组,其结构如下,为了解决这个问题,我对其进行了简化,我使用的数组的规模为10000个元素加上: a = np.array([1,2,3]) b = np.array([4,5,6]) 使用此处包含的信息: 我创建了一个1D数组,其中引用1个值返回2个值: c = np.array([a,b]).T print(c) [[1 4] [2 5] [3 6]] 我希望实现的是执行np.where或类似语句,通过查找最小的对值或搜索2对值来返回此多元素数组的索引号。该语句将

我有两个独立的数组,其结构如下,为了解决这个问题,我对其进行了简化,我使用的数组的规模为10000个元素加上:

a = np.array([1,2,3])
b = np.array([4,5,6])
使用此处包含的信息:

我创建了一个1D数组,其中引用1个值返回2个值:

 c = np.array([a,b]).T
 print(c)
[[1 4]
 [2 5]
 [3 6]]
我希望实现的是执行np.where或类似语句,通过查找最小的对值或搜索2对值来返回此多元素数组的索引号。该语句将返回索引值,其中两对数字都是最低的或与之匹配的索引。因此,沿着这条线的一些东西,以及随后的输出:


输入是使用
np.array().T
生成的数组c:

[[1 4]
 [2 5]
 [3 6]]
所需的输出是一个命令,它根据数组c中的最小值对返回索引值:

[1 4]
示例输出:

 np.where(min(c)) #Or Equivalent statement for locating position of an element
 >>> 0 #Index number 
或:

我已尝试此操作,但返回值错误:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 

理想情况下,我希望使用最有效的方法,因为我正在处理非常大的数组。

如何定义一对数组的最小值?基本上,如果单个索引的两个元素都是最小值,例如在数组c中,我会说[1 4]的第一个索引将是两个值都要求值的最小值。我认为您需要清楚地定义输入,因为问题中似乎分散了各种输入。输入是使用
np.array().T
生成的数组c,我的缺点是没有正确地进行说明。因此,类似于:
c[np.lexsort(c.T)[0]
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()