20
從熊貓文檔中,我瞭解到獨特價值的索引可以使某些操作更有效率,偶爾也可以容忍非唯一索引。熊貓非獨特索引對性能的影響是什麼?
從外部看,它看起來並不像非獨特的指數有任何的優勢。例如,下面的查詢ix
足夠慢,這似乎是掃描整個數據幀
In [23]: import numpy as np
In [24]: import pandas as pd
In [25]: x = np.random.randint(0, 10**7, 10**7)
In [26]: df1 = pd.DataFrame({'x':x})
In [27]: df2 = df1.set_index('x', drop=False)
In [28]: %timeit df2.ix[0]
1 loops, best of 3: 402 ms per loop
In [29]: %timeit df1.ix[0]
10000 loops, best of 3: 123 us per loop
(我知道這兩個ix
查詢不會返回同樣的事情 - 它只是調用ix
爲例在非唯一索引上出現的速度要慢得多)
有什麼辦法可以讓大熊貓變成像使用非唯一索引和/或排序索引上的二進制搜索一樣的快速查找方法嗎?
強烈推薦答案!欣賞它。 – Neerav