在numpy.Array中找到唯一的行

在numpy.Array中找到唯一的行

我需要在numpy.array.

例如:

>>> a # I havearray([[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 toarray([[1, 1, 1, 0, 0, 0],
       [0, 1, 1, 1, 0, 0],
       [1, 1, 1, 1, 1, 0]])

我知道我可以在数组上创建一个集合和循环,但是我正在寻找一个高效的纯numpy解决办法。我相信有一种方法可以将数据类型设置为无效,然后我可以使用numpy.unique但我想不出该怎么做。


qq_遁去的一_1
浏览 744回答 3
3回答

牧羊人nacy

从NumPy 1.13开始,可以简单地选择任意N-DIM数组中唯一值的轴。要获得唯一的行,可以这样做:unique_rows = np.unique(original_array, axis=0)

慕哥6287543

另一种可能的解决办法np.vstack({tuple(row) for row in a})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python