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

yipeiwu_com6年前Python基础

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

1. 找到重复元素

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

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

具体代码如下:

# 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 计算两个数组重复程度的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 40行代码实现人脸识别功能

Python 40行代码实现人脸识别功能

前言 很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理...

Python实现二分查找算法实例

本文实例讲述了Python实现二分查找算法的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python import sys def search2...

python实现遍历文件夹修改文件后缀

本文实例为大家分享了python实现遍历文件夹修改文件后缀的具体代码,供大家参考,具体内容如下 用法 python Modifer.py ./ -fp java xml # codi...

Python 中字符串拼接的多种方法

python拼接字符串一般有以下几种方法: ①直接通过(+)操作符拼接 s = 'Hello'+' '+'World'+'!' print(s) 输出结果: Hello Worl...

Win7上搭建Cocos2d-x 3.1.1开发环境

Win7上搭建Cocos2d-x 3.1.1开发环境

开发工具的准备 搭建开发环境需要安装工具包括 Visual Studio python ———(本教程以python2.7.3版本为例),下载地址:http://www.python.o...