簡體   English   中英

按列索引對numpy 2d數組進行排序

[英]sort numpy 2d array by indice of column

我在 python 中使用 numpy。 我有一個 1D(nx1) 數組和一個 2D(nxm) 數組。 我使用 argsort 來獲取一維數組的索引。 現在我想使用該索引對我的 2D(nxm) 數組的列進行排序。

我想知道怎么做?

例如:

>>>array1d = np.array([1, 3, 0])
>>>array2d = np.array([[1,2,3],[4,5,6]])

>>>array1d_indice = np.argsort(array1d)
    array([2, 0, 1], dtype=int64)

I want use array1d_indice to sord array2d colum to get:
    [[3, 1, 2],
     [6, 4, 5]]

或者無論如何更容易實現這一點是受歡迎的

如果您的意思是希望根據向量對列進行排序,那么您可以對向量使用 argsort:

vi = np.argsort(vector)

然后按正確的順序array的列,

sorted = array[:, tuple(vi)]

要獲取行,請切換:tuple(vi)的順序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM