- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 python 的新手,正在努力加速这段代码。
我在 zz1 中有大约 100 万个字符串,在 a3 中有 250,000 个字符串。 zz1 中的字符串有错误,我想将其匹配到 a3 中具有最高模糊匹配率的字符串。
我对结果很满意,但处理 zz1 中的一行大约需要 9 秒。有没有办法加快速度?
import csv
import string
import time
import sys
from fuzzywuzzy import fuzz
op=[]
for i in range(1,len(zz1)):
num=zz1[i][1]
start2 = time.clock()
forecast = []
if not num in zz4 and zz5:
for j in range (1,len(a3)):
forecast.append(fuzz.ratio(num,a3[j][1]))
if (max(forecast)>60):
index=forecast.index(max(forecast))
op.append(a3[index][1])
elapsed2 = (time.clock() - start2)
print (i,elapsed2)
最佳答案
由于数据表示的是缩写字符串而不是拼写错误或其他错误,因此您应该能够通过消除简单的选择来执行此操作。
考虑这两个例子(我不知道 GRAND CANYON 怎么缩写,所以这只是一个说明问题的猜测):
GRAND CANYON -> GR CANYON
MELBOURNE REEF -> MELBRNE REEF
GR CANYON 不可能与 MELBOURNE REEF 相关,因此没有必要对其进行测试。按字符串的左前缀分组以编纂此测试,您应该会看到非常高的命中率,因为缩写通常会保留第一个字母。
因此,您只能比较以“G”开头的缩写与同样以“G”开头的全名,以及“M”与“M”等。
另请注意,这不一定要提供完美匹配;您将维护不匹配字符串的列表并在找到它们时删除匹配项,因此在比较分组字符串并删除匹配项之后,您的最终不匹配项列表将是原始数据的一个非常小的子集,可以是使用您原来的蛮力方法相对较快地进行比较。
仅使用第一个字符,您可以将每个列表中要比较的字符串数量减少 26 倍,从而将比较次数减少 26*26 倍,即快 676 倍!
由于在最初的消除步骤中不需要完美的准确性,因此您可以将此分组扩展到不仅仅是第一次迭代的第一个字符,从而减少每次额外迭代的字符数,直到达到零个字符。使用 2 字符分组,您可以将每个列表中要比较的项目数减少 26*26,从而将比较总数减少 26*26*26*26,即从 2500 亿次减少到大约 50 万次比较。用 3 个字符分组,从 2500 亿减少到大约 809。
通过使用这种迭代方法,您将执行以指数方式减少的模糊操作,而不会降低准确性。
关于python - Fuzz Ratio 的增加速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37031463/
在我的家庭作业中,我得到了框架代码,并被告知要填写这些类,以便它们在分数加、减、乘、除时能够正常工作。我需要帮助了解 Ratio r 到底是如何工作的?我的老师告诉我“它携带的值可以用“这个”携带的分
从数学、算法和元编程递归的角度来看,我有一个具有挑战性的问题。考虑以下声明: template using ratio_power = /* to be defined */; 基于 std::rat
我一直在我的 OpenCV 和 OpenGL 组件之间来回切换,我不确定这两者中的哪一个应该更正这个问题。 使用 OpenCV 相机校准产生 fx、fy,纵横比大约为 1,这对应于正方形大小的图像。我
我使用网格和Flexbox布局了以下元素:。我希望在2x2的网格中布局.int元素,而.square元素的纵横比保持为1。。到目前为止,我有以下几个css:。如果视区的宽度大于高度(例如,横向),则可
I have the following elements laid out using both Grid and Flexbox:我使用网格和Flexbox布局了以下元素: <div
WebKit 引入了 -webkit-device-pixel-ratio 媒体功能和 window.devicePixelRatio JavaScript 属性,以允许网络作者检测他们的页面是否正在
需要能够为不同的设备像素比值指定不同的 css。如何做到这一点 例如, 0 @media (-webkit-max-device-pixel-ratio:1.0) { > .
当使用 CSS 媒体查询设备像素密度时,我都看到了 -moz-min-device-pixel-ratio和 min--moz-device-pixel-ratio . 例如: @media on
参数如何为它工作以及 mProjMatrix 从该方法中得到什么? 另外,为什么“float mProjMatrix = new float[16];”用 16 声明,我可以用另一个数字代替吗?
我发现 Instagram 有一个像 300*300 这样的摄像头窗口?它是一个正方形,然后我尝试使用 GPUImage 制作相同的摄像头尺寸。所以我这样写: primaryView = [GPUIm
如何使用 MatLab 计算信噪比? 更新 我只有一个文件,而不是示例中的两个,它是一个 .tif。 最佳答案 Matlab SNR 的第一个 Google 结果.从那里复制,以 dB 为单位: sn
我是 python 的新手,正在努力加速这段代码。 我在 zz1 中有大约 100 万个字符串,在 a3 中有 250,000 个字符串。 zz1 中的字符串有错误,我想将其匹配到 a3 中具有最高模
也许是一个矛盾的问题:ratio根据定义,是一个编译时常量。 但是,我想构建具有不同比率的持续时间,这些比率可以由我的方法的调用者指定。我想我应该使用比率和/或持续时间以外的东西,但是什么? 比方说,
我对编程比较陌生。我需要根据给定的尺寸计算纵横比(16:9 或 4:3),比如 axb。我如何使用 C# 实现此目的。任何帮助将不胜感激。 public string AspectRatio(int
我在看类(class) std::ratio<> 来自允许进行编译时有理算术的 C++11 标准。 我发现模板设计和用类实现的操作过于复杂,并且找不到任何理由说明他们不能通过实现一个非常简单的有理类并
像 2^(2%1) 这样的表达式在 GHCi 中不会进行类型检查,并且错误消息是神秘的。为什么这不起作用,我需要改变什么? 我无法转换为其他类型,我希望将其用于 27^(1%3) 等表达式。 最佳答案
这是我一段时间以来一直困惑的事情,我不知道如何才能了解更多信息。假设我有以下程序: main :: IO () main = do x a -> a -> Ratio a {-# SPECI
我正在尝试寻找一种优雅的方式来编写可能称为 MergeWithRatio 或 ZipWithRatio 的扩展方法。 我希望它有这个签名.. public static IEnumerable Mer
我正在处理一个有趣的查询。有一个如下所示的表,并希望根据其登录状态以 3:2 的比例选择 30 行。例如:在 30 个用户中,活跃用户 - 应该是 18 个,非活跃用户 - 应该是 12 个。因此,每
我有 100 张大尺寸的图片 (500*700 , 401*800 , 2345* 3567) ,所以我希望所有这些图片的高度都为 220。下面我正在计算图片的纵横比。我想设置所有大尺寸图像的固定高度
我是一名优秀的程序员,十分优秀!