我需要找到一个独特的行numpy.array.
例如:
>>> a # I have
array([[1, 1, 1, 0, 0, 0],
[0, 1, 1, 1, 0, 0],
[0, 1, 1, 1, 0, 0],
[1, 1, 1, 0, 0, 0],
[1, 1, 1, 1, 1, 0]])
>>> new_a # I want to get to
array([[1, 1, 1, 0, 0, 0],
[0, 1, 1, 1, 0, 0],
[1, 1, 1, 1, 1, 0]])
Run Code Online (Sandbox Code Playgroud)
我知道我可以在阵列上创建一个集合并循环,但我正在寻找一个有效的纯numpy解决方案.我相信有一种方法可以将数据类型设置为void然后我可以使用numpy.unique,但我无法弄清楚如何使其工作.
例如,对于
a = np.array([[1, 0, 0], [1, 0, 0], [2, 3, 4]])
Run Code Online (Sandbox Code Playgroud)
我想得到
[2, 2, 3]
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有循环或使用的情况下执行此操作np.vectorize?
编辑:实际数据包含1000行,每行100个元素,每个元素的范围从1到365.最终目标是确定具有重复项的行的百分比.这是一个家庭作业问题,我已经解决了(使用for循环),但我只是想知道是否有更好的方法来做numpy.