如何通过多维数组的第一列搜索唯一元素

2024-04-20 06:36:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到一种方法,如何从多维数组中创建一个新数组,方法是只获取第一列中唯一的元素,例如,如果我有一个数组

[[1,2,3],
[1,2,3],
[5,2,3]]

手术后我想得到这个输出

^{pr2}$

显然,第二列和第三列不需要是唯一的。在

谢谢


Tags: 方法元素数组手术pr2
2条回答
main = [[1, 2, 3], [1, 3, 4], [2, 4, 5], [3, 6, 5]]
used = []
new = [[sub, used.append(sub[0])][0] for sub in main if sub[0] not in used]
print(new)
# Output: [[1, 2, 3], [2, 3, 4], [3, 6, 5]]

由于您希望保持第一列的第一行唯一性,所以您只需将^{}与其可选的return_index参数一起使用,该参数将为您提供A[:,0]元素唯一性中第一个出现的索引(从而满足第一行条件),其中A是输入数组。因此,我们将有一个向量化的解决方案,如-

_,idx = np.unique(A[:,0],return_index=True)
out = A[idx]

样本运行-

^{pr2}$

相关问题 更多 >