擅长:python、mysql、java
<p>我一直想将二进制搜索索引添加到DataFrame对象中。您可以采用按列排序的DIY方法,并自己执行此操作:</p>
<pre><code>In [11]: df = df.sort('STK_ID') # skip this if you're sure it's sorted
In [12]: df['STK_ID'].searchsorted('A0003', 'left')
Out[12]: 6000
In [13]: df['STK_ID'].searchsorted('A0003', 'right')
Out[13]: 8000
In [14]: timeit df[6000:8000]
10000 loops, best of 3: 134 µs per loop
</code></pre>
<p>这很快,因为它总是检索视图而不复制任何数据。</p>