python - numpy search在切片上按字典顺序排序

标签 python search numpy scipy binary-search

假设我有一个已经排序的 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

关于python - numpy search在切片上按字典顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22848290/

相关文章:

javascript - 将向量绘制为直线

python - 使我的python程序成为应用程序

python - 在构建时调用未指定的方法

NumPy 矩阵到 SciPy 稀疏矩阵 : What is the safest way to add a scalar?

python - Pandas 数据框计算的不稳定性

python - 何时在 Python 中使用 %r 而不是 %s?

php在多列mysql中搜索

algorithm - 用于确定矩形与较大矩形集的交集的数据结构

c - 在大文件中进行搜索的最佳方法是什么?

python - 求8*720数组每一列的最小值?