2013-02-11 53 views
0

我有一個包含nvec 3D矢量,A.shape==(nvec,3)的列表的A陣列。我想根據矢量規範重新排序的A行:按常模重新排列載體列表

norm=numpy.square(A).sum(axis=1) 
rank=numpy.argsort(norm) 

我試圖A[rank,:],但它給了我一個錯誤。

回答

1

只需卸下第二標:

A[rank] 
+0

Arggg,原來A [等級]不工作,我猜是因爲A不是numpy.ndarray對象,而是一個h5py._hl.dataset.Dataset對象。我天真地認爲我可以應用各種各樣的numpy轉換。有趣的是numpy.square和numpy.argsort確實有效。 – jmborr 2013-02-11 21:31:44

+0

以'A = numpy.array(A)'開頭' – 2013-02-11 21:46:38

+0

是的,A [等級]當然會在'投射'到numpy.ndarray對象後起作用。謝謝你們! – jmborr 2013-02-11 21:52:28