vic*_*orx 9 python sorting dataframe pandas
我一直认为 Pandas 在对数据帧中的行进行索引时使用散列,以便进行诸如df.loc[some_label]is之类的操作O(1)。
然而,我今天才意识到事实并非如此,至少对于多索引数据帧而言。正如文档中指出的,“即使数据未排序,索引也能工作,但效率相当低(并显示 PerformanceWarning)”。我发现的一些文章似乎表明,对于多索引数据框,如果您调用了sort_index()数据框,Pandas 将使用基于二进制搜索的索引;否则,它只是线性扫描行。
我的问题是
sort_index()调用时是否使用二分搜索,否则是否使用线性扫描,就像多索引数据帧的情况一样?