Spec-Zone.ru › pandas 1

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_less_precise=_NoDefault.no_default, check_names=True, by_blocks=False, check_exact=False, check_datetimelike_compat=False, check_categorical=True, check_like=False, check_freq=True, check_flags=True, rtol=1e-05, atol=1e-08, obj='DataFrame')[source]

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

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

Parameters
left:DataFrame

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

right:DataFrame

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

check_dtype:bool, по умолчанию True

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

check_index_type:bool или {‘equiv’}, по умолчанию ‘equiv’

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

check_column_type:bool или {‘equiv’}, по умолчанию ‘equiv’

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

check_frame_type:bool, по умолчанию True

Выполнять ли проверку, идентичен ли класс DataFrame.

check_less_precise:bool или int, по умолчанию False

Укажите точность сравнения. Используется только при check_exact = False. Сравниваются 5 знаков (False) или 3 знака (True) после запятой. Если int, то укажите количество знаков для сравнения.

При сравнении двух чисел, если значение первого числа меньше 1e-5, мы сравниваем два числа непосредственно и проверяем, эквивалентны ли они в указанной точности. В противном случае мы сравниваем **отношение** второго числа к первому числу и проверяем, эквивалентно ли оно 1 в указанной точности.

Устарело начиная с версии 1.1.0: Вместо этого используйте rtol и atol для определения относительной и абсолютной толерантности соответственно. Аналогично math.isclose().

check_names:bool, по умолчанию True

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

by_blocks:bool, по умолчанию False

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

check_exact:bool, по умолчанию False

Выполнять ли сравнение чисел точно.

check_datetimelike_compat:bool, по умолчанию False

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

check_categorical:bool, по умолчанию True

Выполнять ли сравнение внутренних Categorical точно.

check_like:bool, по умолчанию False

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

check_freq:bool, по умолчанию True

Выполнять ли проверку атрибута freq в DatetimeIndex или TimedeltaIndex.

Введено в версии 1.1.0.

check_flags:bool, по умолчанию True

Выполнять ли проверку атрибута flags.

rtol:float, по умолчанию 1e-5

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

Введено в версии 1.1.0.

atol:float, по умолчанию 1e-8

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

Введено в версии 1.1.0.

obj:str, по умолчанию ‘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” различается [left]: int64 [right]: float64

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

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

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

Spec-Zone.ru

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