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

Функция assert_index_equal

Функция assert_index_equal из модуля pandas.testing проверяет два объекта Index на равенство. Она используется в тестах для подтверждения того, что индексы идентичны по значениям и типам данных. Если индексы не равны, функция выбрасывает исключение AssertionError с подробным описанием различий.

Основные параметры функции:

  • left и right - сравниваемые индексы
  • check_exact - проверяет точное соответствие (по умолчанию True)
  • check_names - проверяет совпадение имён (по умолчанию True)
  • check_order - проверяет порядок элементов (по умолчанию True)

Синтаксис

from pandas.testing import assert_index_equal assert_index_equal(left, right, check_exact=True, check_names=True, check_order=True)

Пример

Сравним два идентичных индекса:

import pandas as pd from pandas.testing import assert_index_equal idx1 = pd.Index([1, 2, 3, 4, 5]) idx2 = pd.Index([1, 2, 3, 4, 5]) assert_index_equal(idx1, idx2) print("Индексы равны")

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

"Индексы равны"

Пример

Попробуем сравнить индексы с разными значениями:

import pandas as pd from pandas.testing import assert_index_equal idx1 = pd.Index([1, 2, 3, 4, 5]) idx2 = pd.Index([1, 2, 3, 4, 6]) assert_index_equal(idx1, idx2)

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

"AssertionError: Index are different"

Пример

Отключим проверку порядка элементов:

import pandas as pd from pandas.testing import assert_index_equal idx1 = pd.Index([1, 2, 3, 4, 5]) idx2 = pd.Index([5, 4, 3, 2, 1]) assert_index_equal(idx1, idx2, check_order=False) print("Индексы равны без учёта порядка")

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

"Индексы равны без учёта порядка"

Пример

Проверим индексы с разными именами:

import pandas as pd from pandas.testing import assert_index_equal idx1 = pd.Index([1, 2, 3, 4, 5], name='a') idx2 = pd.Index([1, 2, 3, 4, 5], name='b') assert_index_equal(idx1, idx2)

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

"AssertionError: Index names are different"

Пример

Отключим проверку имён индексов:

import pandas as pd from pandas.testing import assert_index_equal idx1 = pd.Index([1, 2, 3, 4, 5], name='a') idx2 = pd.Index([1, 2, 3, 4, 5], name='b') assert_index_equal(idx1, idx2, check_names=False) print("Индексы равны без проверки имён")

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

"Индексы равны без проверки имён"

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

  • функция assert_frame_equal,
    которая сравнивает два DataFrame
  • функция assert_series_equal,
    которая сравнивает две Series
  • метод equals,
    который проверяет равенство объектов без выброса исключения
  • метод sort_index,
    который сортирует индекс перед сравнением
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить