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

yipeiwu_com5年前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监控程序是否关闭

这篇文章主要介绍了基于python监控程序是否关闭,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 监控一个服务系exe在他关闭后打印,...

Django用户认证系统 Web请求中的认证解析

在每个Web请求中都提供一个 request.user 属性来表示当前用户。如果当前用户未登录,则该属性为AnonymousUser的一个实例,反之,则是一个User实例。 你可以通过i...

python中property和setter装饰器用法

python中property和setter装饰器用法

作用:调用方法改为调用对象, 比如 : p.set_name() 改为 p.set_name 区别:前者改变get方法,后者改变set方法 效果图: 代码: class Pers...

python 实现快速生成连续、随机字母列表

0.摘要 本文介绍了生成连续和随机字母表的方法,用于快速生成大量字母数据。 主要使用chr()函数,将数字通过ASCII表转换为相应字母。 1.chr() 函数 chr() 用一个范围在...

python 用户交互输入input的4种用法详解

python 用户交互输入input的4种用法详解

用户输入 1、使用input来等待用户输入。如 username = input('username:') password = input('password:') pri...