gpt4 book ai didi

python - np.searchsorted() 背后有一个有趣的算法吗?

转载 作者:行者123 更新时间:2023-12-01 06:58:05 29 4
gpt4 key购买 nike

searchsorted() 函数对于在 numpy 中组织数据非常有用,并且它特别适合大型数组。

为什么这么快?是不是就是这样(类似于矢量化代码),我们可以让代码直接在“C”中运行。但是我是否可以在 numpy 中通过更基本的函数获得类似的东西?我可以编写(使用matlab的人所说的)“向量化代码”来执行searchsorted的操作吗?

最佳答案

Spyder(IPython 控制台)和线条魔法很有用...

np.searchsorted??
Signature: np.searchsorted(a, v, side='left', sorter=None)
Source:
@array_function_dispatch(_searchsorted_dispatcher)
def searchsorted(a, v, side='left', sorter=None):
"""
Find indices where elements should be inserted to maintain order.
... huge snip
This function uses the same algorithm as the builtin python `bisect.bisect_left`
(``side='left'``) and `bisect.bisect_right` (``side='right'``) functions,
which is also vectorized in the `v` argument.
... ditto
"""
return _wrapfunc(a, 'searchsorted', v, side=side, sorter=sorter)
File: c:\...source path...\lib\site-packages\numpy\core\fromnumeric.py
Type: function

因此,如果需要实际的算法详细信息,搜索将在 python 端进行二等分。

关于python - np.searchsorted() 背后有一个有趣的算法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58721909/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com