【发布时间】:2019-05-20 19:30:51
【问题描述】:
我想删除以下数组中的一些“重复”项:
arr = array([[1, 2, 3, 0, 1],
[0, 0, 0, 1, 0]])
在上述数组中,arr[:, 0]、arr[:, 3] 和 arr[:, 4] 应被视为重复项。最后,我想要这个结果:
arr = array([[1, 2, 3],
[0, 0, 0]])
【问题讨论】:
-
您能补充一些信息吗?你真正的问题有多大?条目的类型和范围是什么?像 (1, 1, 0) 和 (0, 1, 0) 这样的列是否可能,它们是否被视为相等?
-
@PaulPanzer 对此感到抱歉。数组非常大,像 2*10000。并且有很多这样的数组。每列,如 [1,2,3],等于其排列(如 [1,3,2],[2,1,3],[2,3,1],[3,2,1],[ 3,1,2])。
-
最好更新问题,因为不是每个人都阅读 cmets。此外,为了找到最佳解决方案,几乎任何信息都是有用的:不仅是总大小,而且实际形状 nrows x ncols(或者您的意思是 2 x 10000?)。同样,一列是否可以有重复值,如果是,应该如何处理?最后,数据是什么 dtype?因为如果在您的示例中它们是小的整数优化是可用的。
标签: python arrays python-3.x numpy numpy-ndarray