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

Функция assert_series_equal

Функция assert_series_equal из модуля pandas.testing предназначена для проверки идентичности двух объектов Series в тестовых сценариях. Она сравнивает значения, индексы, типы данных и другие атрибуты серий. Функция выбрасывает исключение AssertionError, если серии не совпадают, что делает её удобной для использования в модульных тестах. Основные параметры позволяют настраивать точность сравнения для чисел с плавающей точкой, а также управлять проверкой dtype, индексов и имён.

Синтаксис

pd.testing.assert_series_equal( left, right, check_dtype=True, check_index_type=False, check_series_type=False, check_names=True, check_exact=False, rtol=1e-5, atol=1e-8 )

Пример

Давайте сравним две идентичные серии:

import pandas as pd ser1 = pd.Series([1, 2, 3, 4, 5]) ser2 = pd.Series([1, 2, 3, 4, 5]) pd.testing.assert_series_equal(ser1, ser2) print("Серии идентичны")

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

"Серии идентичны"

Пример

Сравним серии с разными значениями:

import pandas as pd ser1 = pd.Series([1, 2, 3, 4, 5]) ser2 = pd.Series([1, 2, 3, 4, 6]) try: pd.testing.assert_series_equal(ser1, ser2) except AssertionError as e: print("Ошибка:", str(e).split("\n")[0])

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

"Ошибка: Series are different"

Пример

Сравним серии с числами с плавающей точкой, используя допуск:

import pandas as pd ser1 = pd.Series([1.0, 2.0, 3.0]) ser2 = pd.Series([1.0000001, 2.0000001, 3.0000001]) pd.testing.assert_series_equal( ser1, ser2, rtol=1e-6, atol=1e-6 ) print("Серии равны с допуском")

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

"Серии равны с допуском"

Пример

Отключим проверку dtype для серий с разными типами данных:

import pandas as pd ser1 = pd.Series([1, 2, 3], dtype="int64") ser2 = pd.Series([1.0, 2.0, 3.0], dtype="float64") pd.testing.assert_series_equal( ser1, ser2, check_dtype=False ) print("Серии сравниваются без проверки dtype")

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

"Серии сравниваются без проверки dtype"

Пример

Проверим идентичность индексов с помощью параметра check_index_type:

import pandas as pd ser1 = pd.Series([1, 2, 3], index=pd.Index([1, 2, 3])) ser2 = pd.Series([1, 2, 3], index=pd.Index([1.0, 2.0, 3.0])) try: pd.testing.assert_series_equal( ser1, ser2, check_index_type=True ) except AssertionError as e: print("Ошибка:", str(e).split("\n")[0])

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

"Ошибка: Series.index are different"

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

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