Получить местоположение уровня в pandas .MultiIndex - PullRequest
2 голосов
/ 04 августа 2020

Учитывая pandas.MultiIndex, я хотел бы знать номер уровня с учетом имени уровня.

Итак, учитывая

index = pd.MultiIndex(
        names=['ind1', 'ind2'],
        levels=[['a'], ['b']],
        codes=[[], []]
    )

, я хотел бы узнать положение ind1 и ind2, без необходимости

ind1_loc = [name for name in index.names if name == 'ind1'][0]

Я чувствую, что это определенно возможно, но я не могу найти его в документации.

Причина, по которой я хочу сделать это потому, что ни iterrows(), ни itertuples() не возвращают имена уровней, поэтому вы должны получить доступ к возвращаемому индексу по номеру уровня.

1 Ответ

1 голос
/ 04 августа 2020

Я считаю, что вам нужна индексация, если нужно имя уровня или .index метод для позиции по имени индекса:

index = pd.MultiIndex(
        names=['ind1', 'ind2'],
        levels=[['a'], ['b']],
        codes=[[], []]
    )

print (index.names[1])
ind2

print (index.names.index('ind2'))
1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...