Spec-Zone.ru › pandas 2

pandas.testing.assert_frame_equal

pandas.testing.assert_frame_equal(left, right, check_dtype=True, check_index_type='equiv', check_column_type='equiv', check_frame_type=True, check_names=True, by_blocks=False, check_exact=<no_default>, check_datetimelike_compat=False, check_categorical=True, check_like=False, check_freq=True, check_flags=True, rtol=<no_default>, atol=<no_default>, obj='DataFrame')[исходный код]

Проверяет, что левый и правый DataFrame равны.

Эта функция предназначена для сравнения двух DataFrame и вывода всех различий. В основном она предназначена для использования в модульных тестах. Дополнительные параметры позволяют изменять строгость выполняемых проверок на равенство.

Параметры:
left:DataFrame

Первый DataFrame для сравнения.

right:DataFrame

Второй DataFrame для сравнения.

check_dtype:bool, default True

Проверять ли, что типы данных DataFrame идентичны.

check_index_type:bool or {‘equiv’}, default ‘equiv’

Проверять ли, что класс, тип данных и inferred_type индекса идентичны.

check_column_type:bool or {‘equiv’}, default ‘equiv’

Проверять ли, что класс, тип данных и inferred_type столбцов идентичны. Передаётся как аргумент exact функции assert_index_equal().

check_frame_type:bool, default True

Проверять ли, что класс DataFrame идентичен.

check_names:bool, default True

Проверять ли, что атрибут names у атрибутов index и column DataFrame идентичен.

by_blocks:bool, default False

Указывает способ сравнения внутренних данных. Если False, сравнение выполняется по столбцам. Если True, сравнение выполняется по блокам.

check_exact:bool, default False

Сравнивать ли числа точно.

Изменено в версии 2.2.0: По умолчанию имеет значение True для целочисленных типов данных, если не указаны check_exact, rtol и atol.

check_datetimelike_compat:bool, default False

Сравнивать объекты, подобные datetime, игнорируя тип данных.

check_categorical:bool, default True

Сравнивать ли внутренние Categorical точно.

check_like:bool, default False

Если True, порядок индекса и столбцов игнорируется. Примечание: метки индекса должны соответствовать соответствующим строкам (как и для столбцов) — одинаковые метки должны соответствовать одинаковым данным.

check_freq:bool, default True

Проверять ли атрибут freq у DatetimeIndex или TimedeltaIndex.

check_flags:bool, default True

Проверять ли атрибут flags.

rtol:float, default 1e-5

Относительный допуск. Используется только при check_exact=False.

atol:float, default 1e-8

Абсолютный допуск. Используется только при check_exact=False.

obj:str, default ‘DataFrame’

Указывает имя сравниваемого объекта; используется внутри функции для вывода подходящего сообщения об ошибке проверки.

См. также

assert_series_equal

Аналогичный метод для проверки равенства Series.

DataFrame.equals

Проверка равенства DataFrame.

Примеры

В этом примере сравниваются два равных DataFrame со столбцами разных типов данных.

>>> from pandas.testing import assert_frame_equal
>>> df1 = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
>>> df2 = pd.DataFrame({'a': [1, 2], 'b': [3.0, 4.0]})

df1 равен самому себе.

>>> assert_frame_equal(df1, df1)

df1 отличается от df2, поскольку столбец ‘b’ имеет другой тип.

>>> assert_frame_equal(df1, df2)
Traceback (most recent call last):
...
AssertionError: Attributes of DataFrame.iloc[:, 1] (column name="b") are different

Атрибут “dtype” различается [слева]: int64 [справа]: float64

Игнорируйте различия типов данных в столбцах с помощью check_dtype.

>>> assert_frame_equal(df1, df2, check_dtype=False)

© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.testing.assert_frame_equal.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API