Выберите многоиндексные столбцы на основе нескольких меток второго уровня во фрейме данных Pandas - PullRequest
0 голосов
/ 24 апреля 2018

Я хотел бы выбрать столбцы во фрейме данных pandas, который был создан с многоиндексным индексом. В частности, я хотел бы выбрать столбцы на основе более чем одной метки второго уровня. Пример:

В следующем фрейме данных панд:

           bar       bar       baz       baz       foo       foo       qux  
           one       two       three     two       one       three    one   
A       0.895717  0.805244 -1.206412  2.565646  1.431256  1.340309 -1.170299   
B       0.410835  0.813850  0.132003 -0.827317 -0.076467 -1.187678  1.130127   
C      -1.413681  1.607920  1.024180  0.569605  0.875906 -2.211372  0.974466   

Как выбрать все столбцы на втором уровне с меткой «три» или «два» независимо от того, какие метки на первом уровне? Пожалуйста, имейте в виду, что это только примерный фрейм данных, поэтому выбор всех меток, которые не являются «одним», мне не подходит.

Я пытался

df_b = df.xs(['two','three'],level='second') 

или небольшие варианты без успеха. Любая помощь приветствуется. Спасибо!

1 Ответ

0 голосов
/ 24 апреля 2018

Вы можете использовать некоторую комбинацию .loc. В вашем примере вы можете сделать это с помощью следующего кода:

idx = pd.IndexSlice
df.loc[idx[:],idx[:,['two','three']]]

Это должно вернуть то, что вы ищете. Это работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...