我有一个numpy数组:
arr = array([[991.4, 267.3, 192.3],
[991.4, 267.4, 192.3],
[991.4, 267.4, 192.3],
...,
[993.5, 268. , 192.6],
[993.5, 268. , 192.6],
[993.5, 268.1, 192.6]])
你可以看到这里有一些重复。
我已经尝试过arr = np.unique(arr)
,但返回:
array([192.3, 192.4, 192.5, 192.6, 266.6, 266.7, 266.8, 266.9, 267. ,
267.1, 267.2, 267.3, 267.4, 267.5, 267.6, 267.7, 267.8, 267.9,
268. , 268.1, 268.2, 268.3, 268.4, 268.5, 268.6, 268.7, 268.8,
991.4, 991.5, 991.6, 991.7, 991.8, 991.9, 992. , 992.1, 992.2,
992.3, 992.4, 992.5, 992.6, 992.7, 992.8, 992.9, 993. , 993.1,
993.2, 993.3, 993.4, 993.5])
我需要保留数组的嵌套性质,因此将每个嵌套数组与其他嵌套数组进行比较,然后删除重复项,即:
[991.4, 267.3, 192.3],
[991.4, 267.4, 192.3],
[991.4, 267.4, 192.3],
在上面有两个唯一的行,过滤后应该是:
[991.4, 267.3, 192.3],
[991.4, 267.4, 192.3],
new_data = np.unique(arr, axis=0)
我相信这应该有帮助,因为我们只需要删除重复的行。
所以提供额外的参数轴= 0(行)和1(列)
要删除NumPy数组中的重复行,可以使用唯一函数以及axis参数和return_index参数。axis参数指定计算唯一元素的轴,return_index参数指定是否返回唯一元素的索引。