Прерывистый выбор с помощью pandas MultiIndexPython

Программы на Python
Anonymous
Прерывистый выбор с помощью pandas MultiIndex

Сообщение Anonymous »

У меня есть следующий DataFrame со столбцами MultiIndex (то же самое относится и к строкам MultiIndex):

Код: Выделить всё

    import pandas as pd
df = pd.DataFrame(columns=pd.MultiIndex.from_product([['A','B'],[1,2,3,4]]),
data=[[0,1,2,3,4,5,6,7],[10,11,12,13,14,15,16,17],
[20,21,22,23,24,25,26,27]])
Теперь я хочу выбрать следующие столбцы в новый DataFrame: из группы A элементы с индексом [1,2,4], И из группы B, элементы с индексом [1,3]. Таким образом, мой новый DataFrame будет иметь 5 столбцов.
Я могу легко выбрать любой из двух вариантов отдельно, используя .loc:

Код: Выделить всё

    df_grA = df.loc[:,('A',(1,2,4))]
df_grB = df.loc[:,('B',(1,3))]
Но я не могу найти способ добиться того, чего хочу.
Единственный способ, который я могу придумать, — это соединить две части вместе вот так:< /p>

Код: Выделить всё

    df_selection = pd.concat([df_grA,df_grB],axis=1)
Это работает, но неуклюже. Не могу поверить, что нет более удобного способа.

Подробнее здесь: https://stackoverflow.com/questions/784 ... multiindex

Вернуться в «Python»