2012-01-31 51 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