У меня есть многоиндексный DataFrame с двумя уровнями. Я хотел бы иметь список всех меток на втором уровне, учитывая метку на 1-м уровне.
Мне удалось сделать это таким образом.
import pandas as pd
arrays = [[1, 1, 2, 2], ['red', 'blue', 'velvet', 'grey']]
midx = pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))
test = pd.DataFrame([[10,11],[20,21],[30,31], [40, 41]], index = midx, columns = ['First','Second'])
test
>>> First Second
number color
1 red 10 11
blue 20 21
2 velvet 30 31
grey 40 41
# I want all labels in second level related to label '1' from first level.
test.loc[(1,),:].index
>>> Index(['red', 'blue'], dtype='object', name='color')
'red' in test.loc[(1,),:].index
>>> True
Есть ли какие-либо рекомендуемые способ сделать это вместо test.loc[(1,),:].index
? (не уверен, что это действительно самый эффективный / быстрый способ сделать это)
Спасибо за любой совет! Bests,