擅长:python、mysql、java
<p>我不能告诉你它是如何实现的,但是在运行了一个小测试之后。看起来数据帧布尔掩码更像是线性的。在</p>
<pre><code>>>> timeit.timeit('dict_data[key]',setup=setup,number = 10000)
0.0005770014540757984
>>> timeit.timeit('df[df.val==key]',setup=setup,number = 10000)
17.583375428628642
>>> timeit.timeit('[i == key for i in dict_data ]',setup=setup,number = 10000)
16.613936403242406
</code></pre>