2012-01-31 31 views
-3

我不明白它怎么可能?错误在哪里?怎么可能,python,argsort?

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

错误在哪里?我没有看到任何。 – netvope 2012-01-31 14:28:56

+0

好的,对不起。这是正确的 – pablo07 2012-01-31 14:33:40

回答

1

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

2

argsort()返回将对数组排序的索引。在你的榜样,它似乎做到这一点:

  • 0.0209115出现在偏移4原始数组中
  • 0.0211239出现偏移9点
  • 0.0211533出现在偏移8