繁体   English   中英

切片上的 numpy 搜索排序字典

[英]numpy searchsorted lexicographic on slice

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

>>> 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]之间的索引.

这个怎么样:

>>> 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM