給定一個數組'''我想排序列「sort(a,axis = 0)」做一些東西到數組,然後撤消排序。由此我不意味着重新排序,而是基本顛倒每個元素的移動方式。我假設我需要的是argsort(),但我不清楚如何使用argsort()的結果對數組進行排序,或者更重要的是應用argsort()的反向/反向。這裏有一些更詳細的內容撤消或反向argsort(),python
我有一個陣列的,形狀(A)= RXC我需要每一列
aargsort = a.argsort(axis=0) # May use this later
aSort = a.sort(axis=0)
現在平均每行
aSortRM = asort.mean(axis=1)
現在與行替換每個山口連續排序我一個。 有比這
aWithMeans = ones_like(a)
for ind in range(r) # r = number of rows
aWithMeans[ind]* aSortRM[ind]
現在我需要撤消排序我在第一個步驟做了一個更好的辦法。 ????
爲什麼不能在任何轉換或使用'aSort = numpy之前創建數組的副本:'a.copy .sort(axis = 0)'(這將返回排序後的副本)?順便說一句,'a.sort()'不會返回任何內容,因此沒有必要指定它的返回值。 – jfs 2010-03-20 16:05:37
@ J.F。塞巴斯蒂安,謝謝你是對的我修正了它 – Vincent 2010-03-20 16:46:34