比较第2列中的值与python中第1列中的相等值相对应

时间:2018-10-25 13:15:32

标签: python arrays numpy max min

我正在用Python编写代码。 我的输入是一个(780,2)numpy数组,其值如下:

[100.2 45
 100.5 54
 200.2 62
 100.2 67
 100.5 88
 ...
 ...
 200.2 99]

以随机顺序。

我想比较第二列中的值与第一列中的相等值,然后创建一个仅包含最大值的新数组。 我期望这样的输出:

[100.2 67
 100.5 88
 ...
 ...
 200.2 99]

新数组的顺序对我来说无关紧要。

任何帮助生成代码的人将不胜感激! 预先感谢。

1 个答案:

答案 0 :(得分:0)

尝试一下:

input = np.array([[3, 11.1],[13, 22.2],[11, 33.3],[13, 44.4],[3,55.5]])
bbb = input.T
x = np.zeros(int(np.max(bbb[0]))+1)
np.maximum.at(x, np.array(bbb[0],dtype='int'), bbb[1])
np.array([[np.sort(list(set(bbb[0]))),x[np.nonzero(x)]]]).T