相关疑难解决方法(0)

numpy中的元素字符串连接

这是一个错误吗?

import numpy as np
a1=np.array(['a','b'])
a2=np.array(['E','F'])

In [20]: add(a1,a2)
Out[20]: NotImplemented
Run Code Online (Sandbox Code Playgroud)

我正在尝试按元素进行字符串连接.我认为Add()是在numpy中实现它的方法,但显然它没有按预期工作.

python arrays string numpy elementwise-operations

27
推荐指数
4
解决办法
3万
查看次数

用于字符串相似性的Python摘要/哈希

我正在寻找一种算法,它可以从较长的字符串生成一个短(fx 16个字符(不重要)哈希码/摘要).

主要要求是几乎相同的字符串应该导致相同的摘要.

Fx 2几乎相同的邮件:

嗨马丁.这里有一些...垃圾邮件给你.关心XYZ.=> AAAA AAAA AAAA AAAA

嗨博.这里有一些...垃圾邮件给你.关心EFG.=> AAAA AAAA AAAA AAAA

返回相同的消化(或几乎相同),作为不同的邮件:

你好Finn.这是一封测试邮件.=> CCCC CCCC CCCC CCCC

将返回不同的摘要.

此算法将成为垃圾邮件过滤器的一部分.过滤器将记住邮件中的摘要,它肯定是垃圾邮件.如果相同的摘要显示在有疑问的邮件中,相同的摘要将导致过滤器增加spamscore.

我知道Levenshtein,但它要求我先了解弦乐.在这种情况下,我没有这方面的信息.我可以获得这些信息,但这需要过滤器来存储所有垃圾邮件并检查每个邮件,这将是一个非常缓慢的过程.

也许一些松散的压缩算法加上两者之间的Levenshtein距离的计算可以起作用.

任何指针赞赏.

python algorithm similarity

7
推荐指数
1
解决办法
2683
查看次数

用两个 numpy 向量中的元素对上的函数填充矩阵的最快方法?

我有两个一维 numpy 向量vavb它们用于通过将所有对组合传递给函数来填充矩阵。

na = len(va)
nb = len(vb)
D = np.zeros((na, nb))
for i in range(na):
    for j in range(nb):
        D[i, j] = foo(va[i], vb[j])
Run Code Online (Sandbox Code Playgroud)

就目前情况而言,由于 va 和 vb 相对较大(4626 和 737),这段代码需要很长时间才能运行。然而,我希望这可以得到改进,因为使用cdistscipy 中的方法执行类似的过程具有非常好的性能。

D = cdist(va, vb, metric)
Run Code Online (Sandbox Code Playgroud)

我显然知道 scipy 具有在 C 中而不是在 python 中运行这段代码的好处 - 但我希望有一些我不知道的 numpy 函数可以快速执行它。

python performance numpy pandas

4
推荐指数
1
解决办法
2377
查看次数