Ответ 1
lexsort_depth - это количество уровней мультииндекса, которые сортируются лексически. То есть в порядке a-b-c-1-2-3 (обычный порядок сортировки).
Таким образом, индексация элементов будет работать, если мультииндекс не отсортирован, но поиск может быть довольно медленным (в 0.15.2 это покажет PerformanceWarning
для выполнения этих видов поиска, см. здесь
Причина в том, что сортировка в целом хорошая идея заключается в том, что pandas может использовать индексирование на основе хешей, чтобы выяснить, где местоположение находится на определенном уровне независимо от уровня.; то вы можете использовать эти индексаторы для поиска конечных местоположений.
Pandas использует np.searchsorted
, чтобы найти эти местоположения при его сортировке. Если он не отсортирован, тогда вам нужно отступить к другим (более медленным) методам.
здесь - это код, который делает это.