首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >numpy搜索排序字典

numpy搜索排序字典
EN

Stack Overflow用户
提问于 2014-04-03 20:26:53
回答 1查看 164关注 0票数 2

假设我有一个已经排序的numpy数组。

代码语言:javascript
复制
>>> x
array([[1, 2, 3, 1],
       [2, 2, 3, 2],
       [2, 3, 3, 4],
       [3, 4, 4, 4],
       [4, 5, 5, 5]])

我想在前两列的基础上做一个右二分法。

类似于(quasicode)的numpy.searchsorted(x, [2, 2], side='right'),应该返回2,这是[2, 2, 3, 2][2, 3, 3, 4]之间的索引。

EN

回答 1

Stack Overflow用户

发布于 2014-04-03 21:48:40

这个怎么样:

代码语言:javascript
复制
>>> i1 = np.searchsorted(x[:, 0], 2, side='l')
>>> i2 = np.searchsorted(x[i1:, 0], 2, side='r')
>>> i3 = np.searchsorted(x[i1:i1+i2, 1], 2, side='r')
>>> i1 + i3
2
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22848290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档