切片 MultiIndex

Slicing a MultiIndex

我想将 MultiIndex 分割到第一层的标签 NY 以及从标签 8 开始的第二层。我该怎么做?

这里是 MultiIndex:

输出应如下所示:

VA  8  Value
    9  Value 
MD  8  Value
    9  Value
NY  8  Value
    9  Value

下面是用于生成 MultiIndex:

的代码
states = ['VA','MD','NY','NJ','TX']
cd = list(range(10))
idx = pd.MultiIndex.from_product([states, cd])
s = pd.Series(np.random.rand(50), index=idx)

你必须先用sort_index排序:

subset = s.sort_index(level=0)['MD':'NY'].loc[:, 8:9]

输出:

>>> subset
MD  8    0.222916
    9    0.525990
NJ  8    0.888443
    9    0.374329
NY  8    0.569863
    9    0.680583
dtype: float64