Python:使用单词交集而不是字符交集的杰卡德距离

2024-02-07

我没有意识到 Python set 函数实际上将字符串分隔成单个字符。我为Jaccard编写了python函数并使用了python交集方法。我将两个集合传递到此方法中,在将这两个集合传递到我的 jaccard 函数之前,我在设置环上使用 set 函数。

示例:假设我有字符串NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg我会打电话set(NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg)它将把字符串分成字符。因此,当我将其发送到 jaccard 函数交集时,实际上看起来是字符交集,而不是单词到单词的交集。我怎样才能做到词与词的交叉。

#implementing jaccard
def jaccard(a, b):
    c = a.intersection(b)
    return float(len(c)) / (len(a) + len(b) - len(c))

如果我不打电话set我的字符串上的函数NEW Fujifilm 16MP 5x Optical Zoom Point and Shoot CAMERA 2 7 screen.jpg我收到以下错误:

    c = a.intersection(b)
AttributeError: 'str' object has no attribute 'intersection'

我不想进行字符与字符的交集,而是进行单词与单词的交集并获得杰卡德相似度。


首先尝试将字符串拆分为单词:

word_set = set(your_string.split())

Example:

>>> word_set = set("NEW Fujifilm 16MP 5x".split())
>>> character_set = set("NEW Fujifilm 16MP 5x")
>>> word_set
set(['NEW', '16MP', '5x', 'Fujifilm'])
>>> character_set
set([' ', 'f', 'E', 'F', 'i', 'M', 'j', 'm', 'l', 'N', '1', 'P', 'u', 'x', 'W', '6', '5'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:使用单词交集而不是字符交集的杰卡德距离 的相关文章

  • Pandas set_levels,如何避免标签排序?

    我使用时遇到问题set levels多索引 from io import StringIO txt Name Height Age Metres A 1 25 B 95 1 df pd read csv StringIO txt heade
  • pandas DataFrame.join 的运行时间是多少(大“O”顺序)?

    这个问题更具概念性 理论性 与非常大的数据集的运行时间有关 所以我很抱歉没有一个最小的例子来展示 我有一堆来自两个不同传感器的数据帧 我需要最终将它们连接成两个very来自两个不同传感器的大数据帧 df snsr1 and df snsr2
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • pandas - 包含时间序列数据的堆积条形图

    我正在尝试使用时间序列数据在 pandas 中创建堆积条形图 DATE TYPE VOL 0 2010 01 01 Heavy 932 612903 1 2010 01 01 Light 370 612903 2 2010 01 01 Me
  • Python - 如何确定解析的 XML 元素的层次结构级别?

    我正在尝试使用 Python 解析 XML 文件中具有特定标记的元素并生成输出 excel 文档 该文档将包含元素并保留其层次结构 我的问题是我无法弄清楚每个元素 解析器在其上迭代 的嵌套深度 XML 示例摘录 3 个元素 它们可以任意嵌套
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • Python GTK+ 画布

    我目前正在通过 PyGobject 学习 GTK 需要画布之类的东西 我已经搜索了文档 发现两个小部件似乎可以完成这项工作 GtkDrawingArea 和 GtkLayout 我需要一些基本函数 如 fillrect 或 drawline
  • 在 Google App Engine 中,如何避免创建具有相同属性的重复实体?

    我正在尝试添加一个事务 以避免创建具有相同属性的两个实体 在我的应用程序中 每次看到新的 Google 用户登录时 我都会创建一个新的播放器 当新的 Google 用户在几毫秒内进行多个 json 调用时 我当前的实现偶尔会创建重复的播放器
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • 带有 LSTM 的 GridSearchCV/RandomizedSearchCV

    我一直在尝试通过 RandomizedSearchCV 调整 LSTM 的超参数 我的代码如下 X train X train reshape X train shape 0 1 X train shape 1 X test X test
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • pandas.read_csv 将列名移动一倍

    我正在使用位于的 ALL zip 文件here http www fec gov disclosurep PDownload do 我的目标是用它创建一个 pandas DataFrame 但是 如果我跑 data pd read csv
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 在 C++ 0x 中打开枚举类

    C 0x 中新的 枚举类 声明是否允许打开新奇的枚举 我问的是标准的内容 而不是编译器的支持 来自 n3242 草案 6 4 2 switch 语句 stmt switch 2 条件应为整型 枚举类型或单个非显式的类类型 存在到整型或枚举类
  • 如何将一个 HashSet 的所有值插入到另一个 HashSet 中?

    我有两个HashSet
  • 使用 VBA 将文件夹导入 Excel (FileDialogFolderPicker)

    我使用下一个代码来从某个路径选择一个文件夹并导入其中的所有文件 Function GetFolder Dim fd As FileDialog Set fd Application FileDialog msoFileDialogFolde
  • 在 Java 中将两个整数相除得到 0 或 100?

    我试图除两个整数并乘以 100 但它始终只给出 0 或 100 有人可以帮助我吗 int x a b 100 如果 a 是 500 b 是 1000 它会给我 0 唯一一次它会给我 100 是如果 a gt b 我怎样才能解决这个问题 Th
  • 无法打开本地文件 - Chrome:不允许加载本地资源

    测试浏览器 Chrome 版本 52 0 2743 116 这是一个简单的 JavaScript 用于从本地打开图像文件 如 C 002 jpg function run var URL file C 002 jpg window open
  • JasperReports API 中的 FileResolver 被什么替代?

    我们的一个软件实用程序使用一个类来实现net sf jasperreports engine util FileResolver加载驻留在与报表相关的路径或要通过专有文件服务器协议加载的报表元素 例如图像 从最新版本 6 6 0 开始 我看
  • Android NDK 未定义引用

    我正在尝试实现代码 here https github com webjb myrobot 当尝试编译它时 我收到以下错误 Error 339 undefined reference to ANativeWindow fromSurface
  • 单向一对多关系的 NHibernate 配置

    我正在尝试建立如下关系 每个Master项目有一个或多个Detail items public class Detail public virtual Guid DetailId get set public virtual string
  • .net core如何将内容范围添加到标题

    我没有找到如何将 Content Range 添加到我的 odata 请求的标头中 我的 api 需要这样的格式来进行分页 Content Range posts 0 24 319 我能找到的最接近的是 HTTP 字节范围支持 从这里 ht
  • 如何使用 htaccess 仅在某些页面上启用 https?

    我有一个电子商务网站 我想仅在位于以下位置的网站的电子商务部分启用 https https mysite com buy https mysite com buy 由于我的页面上的所有链接都是相对的 当有人访问时http mysite co
  • python组合26个不同时间戳和相同列的数据帧

    美国的一个数据库接收来自世界各地的一日信息 csv格式 有15天的数据 来自26个地方 总共 15x26 390 个数据帧 此外 还有26个地方有共同的参考数据框 现在 我想将 390 1 个参考数据帧合并为一个 我在这里给出了我的问题的示
  • 如何返回列表切片的最大元素

    我想最大限度地简化这个功能 我该怎么办 def eleMax items start 0 end None if end is None end len items return max items start end 我想到了 def e
  • 是否可以从mysql中的别名中进行选择?

    我创建了一个名为的表别名tbl 我想从中选择 但我无法做到这一点 我知道我的代码不正确也不优化 但我只是测试 MySQLCASE select case when exists select username from tbl then U
  • 非聚集索引中的行定位器

    我正在读关于Non Clustered Index其中说 Nonclusteredindex 仅包含指向实际数据行的索引列和行定位器中的值 而不包含数据行本身 这意味着查询引擎必须采取额外的步骤才能找到实际数据 Query 我不清楚Row
  • iOS:同步相机帧和运动数据

    我正在尝试从相机捕获帧和相关的运动数据 为了同步 我使用时间戳 视频和动作被写入文件然后进行处理 在这个过程中 我可以计算每个视频的运动帧偏移 事实证明 相同时间戳的运动数据和视频数据彼此偏移不同的时间 从 0 2 秒到 0 3 秒不等 该
  • 事件驱动编程是如何实现的?

    我正在研究twisted 和node js 框架是如何工作的 我是 试图准确理解操作系统如何支持 I O 使用回调的操作 我知道这很好 因为我们需要更少的线程 因为我们不需要 需要阻塞线程等待 I O 操作 但有些东西 I O 完成后必须调
  • 计算数字数组的可能排列

    我有一个带有数字 0 1 2 3 的 NSArray 计算 4 的阶乘 数组的计数 我有 24 种可能的排列 0 1 2 3 我想知道是否有一种方法可以计算所有这些可能的排列并将它们放在一个单独的数组中 例如 给定上面的数字 0 1 2 3
  • 在 C# 中将对象转换为 int 会引发 InvalidCastException

    我有这个方法 private static Dossier PrepareDossier List
  • DynamoDB:条件写入与 CAP 定理

    使用 DynamoDB 两个独立的客户端尝试同时写入同一个项目 使用条件写入 并尝试更改条件引用的值 显然 这些写入之一注定会因条件检查而失败 没关系 假设在写入操作期间发生了一些不好的事情 并且某些 DynamoDB 节点出现故障或彼此失
  • Python:使用单词交集而不是字符交集的杰卡德距离

    我没有意识到 Python set 函数实际上将字符串分隔成单个字符 我为Jaccard编写了python函数并使用了python交集方法 我将两个集合传递到此方法中 在将这两个集合传递到我的 jaccard 函数之前 我在设置环上使用 s