Вы можете взять поперечное сечение ваших данных, используя "xs", вы также должны указать уровень индекса (для вас это, вероятно, level = 1), и они имеют ключевое значение.Увидеть ниже.
import pandas as pd
import numpy as np
# build the milti-indexed dataframe
index1 = list('ABC')
index2 = np.arange(5)
mli = pd.MultiIndex.from_product([index1, index2])
df = pd.DataFrame(index=mli, columns=list('xyz'), data = np.random.randint(0,10,(15,3))
>>> df
Out[9]:
...: x y z
...: A 0 7 9 1
...: 1 9 0 9
...: 2 2 0 7
...: 3 5 2 5
...: 4 3 4 5
...: B 0 3 9 9
...: 1 7 0 2
...: 2 6 9 2
...: 3 8 1 0
...: 4 7 7 5
...: C 0 9 1 1
...: 1 7 5 7
...: 2 5 6 9
...: 3 5 0 1
...: 4 3 4 0
# slice out all values in column "x" that have an index value=='A' in the first level of the index (i.e. level=0)
>>>df.xs(level=0, key='A').x
...: Out[10]:
...: 0 7
...: 1 9
...: 2 2
...: 3 5
...: 4 3
...: Name: x, dtype: int64
...: