РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
283 of 687 menu

Метод from_frame

Классовый метод from_frame применяется к MultiIndex и создаёт иерархический индекс из переданного DataFrame. Каждый столбец таблицы становится уровнем индекса. Первым и единственным обязательным параметром является DataFrame. Дополнительно можно указать параметр sortorder для сортировки уровней.

Синтаксис

pd.MultiIndex.from_frame(df, sortorder=None)

Пример

Давайте создадим иерархический индекс из простого DataFrame:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3], 'b': [10, 20, 30] }) mindex = pd.MultiIndex.from_frame(df) print(mindex)

Результат выполнения кода:

MultiIndex([(1, 10), (2, 20), (3, 30)], names=['a', 'b'])

Пример

Теперь создадим MultiIndex с тремя уровнями:

import pandas as pd df = pd.DataFrame({ 'level_1': [1, 1, 2, 2], 'level_2': ['x', 'y', 'x', 'y'], 'level_3': [10, 20, 30, 40] }) mindex = pd.MultiIndex.from_frame(df) print(mindex)

Результат выполнения кода:

MultiIndex([(1, 'x', 10), (1, 'y', 20), (2, 'x', 30), (2, 'y', 40)], names=['level_1', 'level_2', 'level_3'])

Пример

Используем параметр sortorder для сортировки уровней:

import pandas as pd df = pd.DataFrame({ 'a': [3, 1, 2], 'b': [30, 10, 20] }) mindex = pd.MultiIndex.from_frame(df, sortorder=0) print(mindex)

Результат выполнения кода:

MultiIndex([(1, 10), (2, 20), (3, 30)], names=['a', 'b'])

Пример

Используем созданный MultiIndex для индексации DataFrame:

import pandas as pd df_index = pd.DataFrame({ 'a': [1, 2, 3], 'b': [10, 20, 30] }) mindex = pd.MultiIndex.from_frame(df_index) data = pd.DataFrame({ 'value': [100, 200, 300] }, index=mindex) print(data)

Результат выполнения кода:

value a b 1 10 100 2 20 200 3 30 300

Смотрите также

  • класс MultiIndex,
    который представляет иерархический индекс
  • метод from_tuples,
    который создаёт MultiIndex из списка кортежей
  • метод from_arrays,
    который создаёт MultiIndex из списка массивов
  • метод to_frame,
    который преобразует MultiIndex обратно в DataFrame
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить