gpt4 book ai didi

python - 将 numpy 索引应用于矩阵

转载 作者:行者123 更新时间:2023-12-01 04:55:02 25 4
gpt4 key购买 nike

我花了最后一个小时试图解决这个问题

假设我们有

import numpy as np
a = np.random.rand(5, 20) - 0.5
amin_index = np.argmin(np.abs(a), axis=1)
print(amin_index)
> [ 0 12 5 18 1] # or something similar

这不起作用:

a[amin_index]

因此,本质上,我需要找到数组 np.abs(a) 沿某个轴的最小值,然后从数组 a 的这些位置提取值。如何将索引仅应用于一个轴?

可能很简单,但我无法弄清楚。另外,我不能使用任何循环,因为我必须对具有数百万个条目的数组执行此操作。谢谢😊

最佳答案

一种方法是传入行索引数组(例如 [0,1,2,3,4])和每个相应行中最小值的列索引列表(您的列出amin_index)。

这将返回一个数组,其中包含每行i[i, amin_index[i]]处的值:

>>> a[np.arange(a.shape[0]), amin_index]
array([-0.0069325 , 0.04268358, -0.00128002, -0.01185333, -0.00389487])

这是基本索引(而不是高级索引),因此返回的数组实际上是 a 的 View ,而不是内存中的新数组。

关于python - 将 numpy 索引应用于矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27628765/

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