numpy 计算两个数组重复程度的方法

时间:2022-06-21 09:59:49

最近有个需求,是做两个数组重复程度计算,麻烦就麻烦在单个数组的元素有可能重复,处理思路如下:

1. 找到重复元素

2. 元素个数统计,利用np.bincount转换,即元素个数统计到元素转化的索引

3. 统计相同元素匹配个数

具体代码如下:

?
1
2
3
4
5
6
7
8
9
# arr1, arr2都是np.array类型
# 找到重复元素(交集)
inters = np.intersect1d(arr1, arr2)
# 元素个数索引转换
bc1 = np.bincount(arr1)
bc2 = np.bincount(arr2)
# 统计相同元素匹配个数
same_count_list = [min(bc1[x], bc2[x]) for x in inters]
same_count = sum(same_count_list)

以上这篇numpy 计算两个数组重复程度的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/shin627077/article/details/78875383