Spec-Zone.ru › pandas 0.25

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=False, check_names=True, by_blocks=False, check_exact=False, check_datetimelike_compat=False, check_categorical=True, check_like=False, obj='DataFrame') [source]

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

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

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

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

right : DataFrame

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

check_dtype : bool, default True

Необходимо ли проверять идентичность типа данных DataFrame.

check_index_type : bool / string {‘equiv’}, default ‘equiv’

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

check_column_type : bool / string {‘equiv’}, default ‘equiv’

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

check_frame_type : bool, default True

Необходимо ли проверять идентичность класса DataFrame.

check_less_precise : bool or int, default False

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

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

check_names : bool, default True

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

  • left.index.names == right.index.names
  • left.columns.names == right.columns.names
by_blocks : bool, default False

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

check_exact : bool, default False

Необходимо ли сравнивать числа точно.

check_datetimelike_compat : bool, default False

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

check_categorical : bool, default True

Необходимо ли сравнивать внутренние Categorical объекты точно.

check_like : bool, default False

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

obj : str, default ‘DataFrame’

Укажите имя сравниваемого объекта, используется внутри для отображения соответствующего сообщения об утверждении.

См. также

assert_series_equal
Эквивалентный метод для проверки равенства Series.
DataFrame.equals
Проверка равенства DataFrame.

Примеры

Этот пример показывает сравнение двух DataFrame, которые равны, но имеют столбцы с различными типами данных.

>>> from pandas.util.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 are different
...
Attribute "dtype" are different
[left]:  int64
[right]: float64

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

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

© 2008–2012, 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/0.25.0/reference/api/pandas.testing.assert_frame_equal.html

Spec-Zone.ru

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