首页 > 解决方案 > Pandas 多索引错误:MultiIndex 切片需要对索引进行 lexsorted

问题描述

谁能告诉我为什么我得到这个多索引未排序错误?

mindex = pd.MultiIndex.from_product(
                                        [[2013,2014],[1,2]],
                                        names = ['Year', 'Visit']
                                    )
mcolumn = pd.MultiIndex.from_product(
                                        [['Sue','Bob','John'],['Heart Rate', 'Temperature']],
                                        names = ['Name','Parameter']
                                    )

data = np.random.randint(44, 92, size=(4,6))
df = pd.DataFrame( data, columns = mcolumn, index = mindex)
idx = pd.IndexSlice

df.loc[ idx[2013, 2], idx['Bob':'Guido', 'Heart Rate']  ]

错误:“MultiIndex 切片需要对索引进行 lexsorted:在级别 [0] 上切片,lexsort depth 0”

不知何故,当我大约 1 个月前从同一个 Jupyter Notebook 执行相同的代码时,我没有遇到这个错误。但现在我正在面对它。有小费吗?

标签: pythonpandasmulti-index

解决方案


推荐阅读