请出于好奇而轻率地提出这个问题:
\n当我试图了解 MultiIndex 中的切片如何工作时,我遇到了以下情况 \xe2\x86\x93
\n# Simple MultiIndex Creation\nindex = pd.MultiIndex.from_product([[\'a\', \'c\', \'b\'], [1, 2]])\n\n# Making Series with that MultiIndex\ndata = pd.Series(np.random.randint(10, size=6), index=index)\n
Run Code Online (Sandbox Code Playgroud)\n返回:
\n\na 1 5\n 2 0\nc 1 8\n 2 6\nb 1 6\n 2 3\nd类型: int32\n\n
请注意,索引不按排序顺序,即。是在切片时会导致我们想要的预期a, c, b
错误的顺序。
# When we do slicing\ndata.loc["a":"c"]\n
Run Code Online (Sandbox Code Playgroud)\n错误如:
\n\nUnsortedIndexError\n\n----> 1 data.loc["a":"c"]\nUnsortedIndexError: \'密钥长度 (1) 大于 MultiIndex lexsort 深度 (0)\'\n\n
这是预料之中的。但现在,执行以下步骤后:
\n# Making a DataFrame\ndata …
Run Code Online (Sandbox Code Playgroud)