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’ -
Нужно ли проверять идентичность класса Index, типа данных и 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) после десятичной точки. Если целое число, то укажите количество знаков для сравнения.
-
check_names : bool, default True -
Нужно ли проверить, что атрибут
namesдля обоих атрибутовindexиcolumnDataFrame идентичен, т.е.- 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 (последний вызов): AssertionError: Атрибуты отличаются
Атрибут “dtype” отличается [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.24.2/reference/api/pandas.testing.assert_frame_equal.html