2024-09-27 17:51:48 发布
网友
我在阅读argmin function in numpy的文档时有点困惑。 看起来它应该做的是:
读这个
Return the indices of the minimum values along an axis.
我可以假设
np.argmin([5, 3, 2, 1, 1, 1, 6, 1])
将返回一个包含所有索引的数组:它将是[3, 4, 5, 7]
[3, 4, 5, 7]
但它只返回3,而不是这个。抓到哪里了,或者我该怎么做才能得到我的结果?
3
假设您想要列表的索引,而不是numpy数组,请尝试
my_list = [5, 3, 2, 1, 1, 1, 6, 1] np.where(my_list == min(my_list))[0]
索引[0]是因为numpy返回答案的元组,而不返回任何内容(答案是numpy数组)。别问我为什么。
当您考虑多维数组时,该文档更有意义。
>>> x = numpy.array([[0, 1], ... [3, 2]]) >>> x.argmin(axis=0) array([0, 0]) >>> x.argmin(axis=1) array([0, 1])
在指定轴的情况下,argmin沿着给定轴获取一维子数组,并返回每个子数组最小值的第一个索引。它不会返回单个最小值的所有索引。
argmin
要获取最小值的所有索引,您可以
numpy.where(x == x.min())
请参阅^{}(由numpy.argmin的文档引用)的文档:
numpy.argmin
In case of multiple occurrences of the maximum values, the indices corresponding to the first occurrence are returned.
文档的措辞(“索引”而不是“索引”)是指提供axis时的多维情况。
axis
所以,你不能用np.argmin来做。相反,这将起作用:
np.argmin
np.where(arr == arr.min())
假设您想要列表的索引,而不是numpy数组,请尝试
索引[0]是因为numpy返回答案的元组,而不返回任何内容(答案是numpy数组)。别问我为什么。
当您考虑多维数组时,该文档更有意义。
在指定轴的情况下,
argmin
沿着给定轴获取一维子数组,并返回每个子数组最小值的第一个索引。它不会返回单个最小值的所有索引。要获取最小值的所有索引,您可以
请参阅^{} (由
numpy.argmin
的文档引用)的文档:文档的措辞(“索引”而不是“索引”)是指提供
axis
时的多维情况。所以,你不能用
np.argmin
来做。相反,这将起作用:相关问题 更多 >
编程相关推荐