多索引数据框的lexsort_depth
究竟是什么?为什么必须对索引进行排序?
例如,我注意到,在手动构建多索引数据框df
并将列分为三个级别后,如果我尝试这样做:
idx = pd.IndexSlice
df[idx['foo', 'bar']]
我明白了:
KeyError: 'Key length (2) was greater than MultiIndex lexsort depth (0)'
此时,df.columns.lexsort_depth
为0
df = df.sortlevel(0,axis=1)
然后横截面索引工作。为什么?究竟是什么lexsort_depth
,以及为什么使用sortlevel
进行排序会修复此类索引?
答案 0 :(得分:18)