0
Let's說我在MATLAB矩陣a
和矢量b
如下:Matlab的排序功能相當於在Python
a =
2 1 1
3 3 1
3 2 2
b =
1 3 2
使用matlab's sort
功能,我可以實現以下目標:
[n idx] = sort(b)
n =
1 2 3
idx =
1 3 2
anew = a(idx,idx)
anew =
2 1 1
3 2 2
3 1 3
現在,我想在Python中完全一樣。我嘗試:
a = np.array([[2,1,1],[3,3,1],[3,2,2]])
b = [0,2,1]
idx = [i[0] for i in sorted(enumerate(b), key=lambda x:x[1])]
的問題是,我無法找到一個方法來建立anew
矩陣像我一樣用Matlab。我試過了:
anew=a[idx]
anew
array([[2, 1, 1],
[3, 2, 2],
[3, 3, 1]])
正如你所看到的結果(matlab vs python)是不一樣的。
任何提示?
謝謝你,我真的很感激 – sera