gpt4 book ai didi

python - 查找 numpy 数组中的最小值以及该数组行其余部分的对应值

转载 作者:太空狗 更新时间:2023-10-29 19:33:01 25 4
gpt4 key购买 nike

考虑以下 NumPy 数组:

a = np.array([[1,4], [2,1],(3,10),(4,8)])

这给出了一个如下所示的数组:

array([[ 1,  4],
[ 2, 1],
[ 3, 10],
[ 4, 8]])

我要做的是找到第二列的最小值(在本例中为 1),然后报告该对的另一个值(在本例中为 2)。我试过使用 argmin 之类的东西,但是第一列中的 1 使它出错。

有没有办法轻松做到这一点?我也考虑过对数组进行排序,但我似乎无法让它以一种将数组对放在一起的方式工作。数据是由如下循环生成的,所以如果有更简单的方法不是 numpy 数组,我也会将其作为答案:

results = np.zeros((100,2))

# Loop over search range, change kappa each time
for i in range(100):
results[i,0] = function1(x)
results[i,1] = function2(y)

最佳答案

怎么样

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

分解

一个。捕获第二列

>>> a[:, 1]
array([ 4, 1, 10, 8])

获取第二列最小元素的索引

>>> np.argmin(a[:, 1])
1

索引 a 以获取相应的行

>>> a[np.argmin(a[:, 1])]
array([2, 1])

并取第一个元素

>>> a[np.argmin(a[:, 1]), 0]
2

关于python - 查找 numpy 数组中的最小值以及该数组行其余部分的对应值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com