怎么可能,python,argsort?

时间:2012-01-31 14:27:06

标签: python numpy

我不明白怎么可能?错误在哪里?

print vals
==>[ 0.0211958  0.0241981  0.0309122  0.0212591  0.0209115  0.405682  0.0248237  0.0213012  0.0211533  0.0211239]
print ny.sort(vals)
==>[ 0.0209115  0.0211239  0.0211533  0.0211958  0.0212591  0.0213012  0.0241981  0.0248237  0.0309122  0.405682 ]
print ny.argsort(vals)
==>[4 9 8 0 3 7 1 6 2 5]

订单不得为[4 9 8 0 3 7 1 6 2 5]

感谢,

2 个答案:

答案 0 :(得分:2)

argsort()返回对数组进行排序的索引。在您的示例中,它似乎只是这样做:

  • 0.0209115出现在原始数组的偏移量4中
  • 0.0211239出现在第9位
  • 0.0211533出现在偏移8

答案 1 :(得分:1)

为什么你认为这是一个错误?它确实按照您需要放置它们的顺序打印字段的索引,以便对数组进行排序。