팬더 문서에서 고유 값 인덱스를 사용하여 특정 작업을 효율적으로 수행하고 비 고유 인덱스를 허용하는 경우가 있습니다.판다에서 고유하지 않은 색인의 성능 영향은 무엇입니까?
외부에서 보면 고유하지 않은 색인이 어떤 식 으로든 활용되는 것처럼 보이지 않습니다. 예를 들어, 다음 ix
쿼리는 전체 dataframe를 스캔 할 것으로 보인다 충분히 느린
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
(I 두 ix
쿼리가 같은 일을 반환하지 않습니다 실현 - 그것은 ix
호출 단지 예입니다 고유하지 않은 색인에서 더 느리게 나타남)
고유하지 않은 색인이나 정렬 된 색인에서 이진 검색과 같은 더 빠른 조회 방법을 사용하여 팬더를 감추는 방법이 있습니까?
적극 추천 대답! 고맙습니다. – Neerav