You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

np.argsort返回结果是否正确?对其索引排序逻辑存疑

关于np.argsort结果的解释

首先明确np.argsort()的默认行为:它会按升序对数组指定维度(默认是最后一维,即每行)的元素排序,返回的是对应元素从小到大排列的原始索引。

我们逐行验证你的输入数组和输出结果:

第一行分析

输入行:[63, 28, 16, 5, 35]
元素从小到大排序:5(索引3)→16(索引2)→28(索引1)→35(索引4)→63(索引0)
所以argsort返回:[3, 2, 1, 4, 0],和实际输出完全一致。

第二行分析

输入行:[77, 32, 87, 95, 33]
元素从小到大排序:32(索引1)→33(索引4)→77(索引0)→87(索引2)→95(索引3)
argsort返回:[1, 4, 0, 2, 3],也和实际输出一致。

第三行分析

输入行:[45, 40, 91, 14, 45]
元素从小到大排序:14(索引3)→40(索引1)→45(索引0)→45(索引4)→91(索引2)
argsort返回:[3, 1, 0, 4, 2],同样符合实际输出。

你的预期结果错误的原因是搞反了排序逻辑——你可能误以为返回的是元素从大到小的索引,或者错误对应了元素和索引的关系。如果需要得到降序的索引排序,可以在argsort结果上反转,或者使用np.argsort(-random_array)。

示例(降序索引):

>>> np.argsort(-random_array)
array([[0, 4, 1, 2, 3],
       [3, 2, 0, 4, 1],
       [2, 0, 4, 1, 3]], dtype=int64)

内容的提问来源于stack exchange,提问作者Kabir Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:32:35