如何删除二维numpy数组的重复行?
numpy
data = np.array([[1,8,3,3,4], [1,8,9,9,4], [1,8,3,3,4]])
答案应该如下:
ans = array([[1,8,3,3,4], [1,8,9,9,4]])
如果有两行相同,那么我想删除一个“重复”行。
您可以使用numpy unique。由于您需要唯一的行,因此我们需要将它们放入元组:
numpy unique
import numpy as np data = np.array([[1,8,3,3,4], [1,8,9,9,4], [1,8,3,3,4]])
_只是应用np.unique到data_阵列会导致这样的:
np.unique
data
>>> uniques array([1, 3, 4, 8, 9])
打印出列表中的唯一元素 。因此,将它们放入元组会导致:
new_array = [tuple(row) for row in data] uniques = np.unique(new_array)
打印:
>>> uniques array([[1, 8, 3, 3, 4], [1, 8, 9, 9, 4]])
更新
在新版本中,您需要设置 np.unique(data, axis=0)
np.unique(data, axis=0)