【发布时间】:2021-11-12 14:31:28
【问题描述】:
我有这样的数组:
array([[2, 1],
[3, 5],
[2, 1],
[4, 2],
[2, 3],
[5, 3]])
我想做的是按第一列“分组”求和,然后按第二列排序:
array([[2, 5],
[3, 5],
[5, 3],
[4, 2]])
转折来了,我还想从每一行的原始数组中取回索引 在结果数组中,排序:
2 3 5 4
[[0,2,4], [1], [5], [3] ]
或者如果它容易..我需要获得前 N 个索引......让我们说前 2 个:
2 3
[0,2,4, 1]
没有 pandas,只有纯 numpy。
顺便说一句,我只需要前 N 个项目及其索引 .. 这可以简化流程
尝试应用其中的任何一个:
【问题讨论】:
-
更喜欢没有循环......但如果不可能,那就好了
-
np.unique应用于第一列可能是一个开始。unique对其数组进行排序,然后查找相邻的重复项。pandas有一个方便的group_by(不一定很快),但numpy没有。 -
用于我自己的项目...这是重叠搜索的最后一步