>new_dat=dat_corr.merge(dat_class,on="Asset",how="right").set_index(['Country','Class','Asset'])
>new_dat.shape
(89, 89)
>temp1='UNITEDSTATES'
>temp2='Equity'
>new_dat.loc[ (new_dat.index.get_level_values('Country').isin([temp1]) & new_dat.index.get_level_values('Class').isin([temp2]))]'
>new_dat.columns=new_dat.index
Последняя строка дает мне [3 строки х 89 столбцов]. Мои 89 столбцов представляют собой смесь акций/FX/FI/Commodities. Если я хочу только акции США против всех других акций, а не enitre 89 columns, как мне это сделать? Я также добавил несколько индексов для столбцов. Теперь возникает вопрос, что у меня есть мульти индекс вдоль обеих строк и столбцов, как я использую, что для фильтрации ниже небольшое подмножество данных:извлечение подмножества кадра данных с несколькими индексами pandas
Страна UnitedStates КАНАДА \ класса Equity Средства
Asset DJ1Index SP1Index ND1Index PT1Index
Страна Класс активов
UnitedStates Equity DJ1Index 1,000000 0,958038 0,747192 0,648373
SP1Index 0,958038 1,000000 0,825458 0,717545
ND1Index 0,747192 0,825458 1,000000 0,612487
КАНАДА Equity PT1Index 0,648373 0,717545 0,612487 1,000000
МЕКСИКА Equity IS1Index 0,622570 0,664499 0,565702 0,575618
Страна МЕКСИКА БРАЗИЛИЯ ГЕРМАНИЯ ВЕЛИКОБРИТАНИИ \ класса Equity Средства Средства Средства
Asset IS1Index BZ1Index VG1Index Z1Index
Страна Класс активов
UnitedStates Equity DJ1Index 0,622570 0,523704 0,566993 0,520526
SP1Index 0,664499 0,565941 0,587933 0,539138
ND1Index 0,565702 0,484441 0,458135 0,391391
КАНАДА Equity PT1Index 0,575618 0,526663 0,499343 0,493260
МЕКСИКА Equity IS1Index 1,000000 0,577041 0,502558 0,487487
Благодарим за отзыв. Однако это не помогает мне достичь того, чего я хотел. Я обновил вопрос. – user2819398
Извините, мне было непонятно. Я добавил дополнительную информацию выше. Надеюсь это поможет. – Primer
> new_dat1 = new_dat.loc [ (new_dat.index.get_level_values ('Страна'). ISIN ([TEMP1]) & new_dat.index.get_level_values ('Класс'). ISIN ([temp2]))] > new_dat2 = new_dat1.xs (temp3, level = 'Country', axis = 1, drop_level = False) > final_dat = new_dat2.xs (temp4, level = 'Class', axis = 1, drop_level = False) Это было используется для фильтрации для нескольких индексов (строк и столбцов) – user2819398