相关疑难解决方法(0)

为什么 python `in` 比 `np.isin` 快得多

我正在实现一些搜索算法,numpy其中一个步骤是检查向量是否在矩阵中(作为行)。我以前用过np.isin,但我突然很好奇 python 关键字是否in有效。因此我对其进行了测试,发现它确实有效。

\n\n

由于我没有找到任何 python 接口in(例如__add__for+__abs__for abs),我相信in通过使用标准迭代器逻辑在 python 中进行硬连接,因此它应该比 -providednumpynp.isin。但在我做了一些测试之后,令人难以置信的是:

\n\n
>>> a = np.int8(1)\n>>> A = np.zeros(2**24, \'b\')\n>>> %timeit a in A\n>>> %timeit np.isin(a, A)\n21.7 ms \xc2\xb1 1.58 ms per loop (mean \xc2\xb1 std. dev. of 7 runs, 10 loops each)\n310 ms \xc2\xb1 20.4 ms per loop (mean \xc2\xb1 std. dev. of 7 runs, 1 loop each)\n …
Run Code Online (Sandbox Code Playgroud)

python numpy

2
推荐指数
1
解决办法
2043
查看次数

标签 统计

numpy ×1

python ×1