#python #python-3.x #pandas #dataframe
#python #python-3.x #pandas #фрейм данных
Вопрос:
Я работаю с тем, что, по моему мнению, является многоиндексным фреймом данных pandas. Есть ли какой-нибудь способ убедиться? Мои данные выглядят следующим образом.
cinc Outcome
Side 1 2 1 2
WarNum
1 0.146344 0.029989 1 2
4 0.152565 0.056853 1 2
7 0.082757 0.017940 1 2
10 0.076032 0.022553 1 2
13 0.048538 0.005754 1 2
Когда я набираю war_cinc.columns. Я получаю следующий вывод.
MultiIndex([( 'cinc', 1),
( 'cinc', 2),
('Outcome', 1),
('Outcome', 2)],
names=[None, 'Side'])
Если бы я хотел подмножество этих данных, как бы я это сделал? (скажем, я хочу получить весь 2-й столбец столбца cinc фрейма данных)
Ответ №1:
Чтобы проверить , есть ли у вашего df Multiindex
, вы можете сделать это:
isinstance(war_cinc.index, pd.MultiIndex)
Это вернется True
.
Чтобы проверить наличие hierarchical
столбцов, вы можете проверить nlevels
:
if len(war_cinc.columns.nlevels) > 1:
Это будет True
в вашем случае.
Вы можете получить весь 2-й столбец следующим образом:
war_cinc[( 'cinc', 2)]
Вам нужно передать весь levels
столбец в a tuple
, чтобы получить значения столбца.