簡體   English   中英

按特定列對數組進行排序,然后按此列的值排序

[英]Sort array by specific column then sort by value of this column

我目前正在學習 Python,並且正在嘗試對數組進行排序。 由於標題可能不是很具體,我將舉例說明我正在做的事情:我有一個這樣的數組:

a = array([[1, 2], [0, 5], [0, 3], [1, 0]])

但是有更多的行和更高的數字,我希望:

a = array([[0, 3], [0, 5], [1, 0], [1, 2]])

目前我設法獲得了這個:

a = array([[0, 5], [0, 3], [1, 5], [1, 0]])

通過使用a = a[a[:, 0].argsort()]

但我被困在那里,我沒有在任何地方找到解決我的問題的幫助,我不知道如何繼續......

有人可以幫我嗎?

您可以使用內置函數sorted

import numpy as np

a = np.array([[1, 2],
           [0, 5],
           [0, 3],
           [1, 0]])


result = np.array(sorted(a, key=tuple))

print(result)

輸出

[[0 3]
 [0 5]
 [1 0]
 [1 2]]

暫無
暫無

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

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