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

yipeiwu_com7年前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设计】。

相关文章

pytorch 实现模型不同层设置不同的学习率方式

在目标检测的模型训练中, 我们通常都会有一个特征提取网络backbone, 例如YOLO使用的darknet SSD使用的VGG-16。 为了达到比较好的训练效果, 往往会加载预训练的b...

在PyCharm中批量查找及替换的方法

在PyCharm中批量查找及替换的方法

选中需要操作的字符 Ctrl + R 替换 Ctrl + Shift + F 全局查找 Ctrl + Shift + R 全局替换 以上这篇在PyCharm中批量查找及替换的方法就是小...

自学python的建议和周期预算

如果是报名培训班的话,学习的速度可能会更快一些,毕竟是自己花钱了。 自学python爬虫方法: 首先要掌握一些有关爬虫的基础知识,基本的要知道什么是爬虫?为什么要爬虫?数据是从哪里得来的...

python中的句柄操作的方法示例

python中的句柄操作的方法示例

通过窗口标题获取句柄 import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat") #返回窗口标题为Adobe...

对pandas中时间窗函数rolling的使用详解

在建模过程中,我们常常需要需要对有时间关系的数据进行整理。比如我们想要得到某一时刻过去30分钟的销量(产量,速度,消耗量等),传统方法复杂消耗资源较多,pandas提供的rolling使...