删除numpy数组中的重复行

lf5gs5x2  于 2022-12-23  发布在  其他
关注(0)|答案(2)|浏览(286)

我有一个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],

上面有2个唯一行,过滤后应为:

[991.4, 267.3, 192.3],
[991.4, 267.4, 192.3],
jum4pzuy

jum4pzuy1#

new_data = np.unique(arr, axis=0)

我相信这会有所帮助,因为我们只需要删除重复的行。
因此,提供附加参数axis = 0(行)和1(列)

nwlls2ji

nwlls2ji2#

要删除NumPy数组中的重复行,可以将unique函数与axis参数和return_index参数沿着使用。axis参数指定计算唯一元素所沿的轴,return_index参数指定是否返回唯一元素的索引。

相关问题