請問如下面的陣列
想要挑出第 0 列中的各種值,並且在第 1 列的值最小
陣列 a
import numpy as np
a = np.array([[1,1],[1,2],[1,3],[1,4],[2,2],[2,3],[2,4],[3,1],[3,2],[3,3],[4,3],[4,4]])
[[1 1] # 1 範圍1~4 最小值1
 [1 2]
 [1 3]
 [1 4]
 [2 2]  # 2 範圍2~4 最小值2
 [2 3]
 [2 4]
 [3 1]  # 3 範圍1~3 最小值1
 [3 2]
 [3 3]
 [4 3]  # 4 範圍3~4 最小值3
 [4 4]]
預期答案是
[1,1]
[2,2]
[3,1]
[4,3]
試著用 for 和 np.min() 找,頂多找到一組
因為範圍可能不定,所以沒有辦法用 a[0:5,1] 之類的找
有無其他建議跟方向,謝謝
我的話會這樣寫
import numpy as np
a = np.array([[1, 1], [1, 2], [1, 3], [1, 4], [2, 2], [2, 3],
              [2, 4], [3, 1], [3, 2], [3, 3], [4, 3], [4, 4]])
obj = {}
for i in a:
    if i[0] not in obj.keys():
        obj.update({i[0]: i[1]})
    else:
        if i[1] < obj.get(i[0]):
            obj.update({i[0]: i[1]})
ans = [[key, value] for key, value in obj.items()]
for i in ans:
    print(i)