pandas.testing.assert_frame_equal#
-
pandas.testing.assert_frame_equal(left, правый, check_dtype=True, check_index_type='equiv', check_column_type='equiv', check_frame_type=True, check_names=True, by_blocks=False, check_exact=
, check_datetimelike_compat=False, check_categorical=True, check_like=False, check_freq=True, check_flags=True, rtol= , atol= , obj='DataFrame')[источник]# Проверить, что левый и правый DataFrame равны.
Эта функция предназначена для сравнения двух DataFrame и вывода любых различий. В основном она предназначена для использования в модульных тестах. Дополнительные параметры позволяют варьировать строгость проверок равенства.
- Параметры:
- leftDataFrame
Первый DataFrame для сравнения.
- правыйDataFrame
Второй DataFrame для сравнения.
- check_dtypebool, по умолчанию True
Проверять ли идентичность типа данных DataFrame.
- check_index_typebool или {'equiv'}, по умолчанию 'equiv'
Проверять ли, что класс Index, dtype и inferred_type идентичны.
- check_column_typebool или {'equiv'}, по умолчанию 'equiv'
Проверять ли, что класс столбцов, dtype и inferred_type идентичны. Передается как
exactаргументassert_index_equal().- check_frame_typebool, по умолчанию True
Проверять ли, что класс DataFrame идентичен.
- check_namesbool, по умолчанию True
Проверять ли, что names атрибут для обоих index и столбец атрибуты DataFrame идентичны.
- by_blocksbool, по умолчанию False
Указать, как сравнивать внутренние данные. Если False, сравнивать по столбцам. Если True, сравнивать по блокам.
- check_exactbool, по умолчанию False
Сравнивать числа точно или нет.
Изменено в версии 2.2.0: По умолчанию True для целочисленных типов данных, если ни один из
check_exact,rtolиatolуказаны.- check_datetimelike_compatbool, по умолчанию False
Сравнение datetime-подобных объектов, которое сравнивается без учета dtype.
- check_categoricalbool, по умолчанию True
Сравнивать ли внутренний Categorical точно.
- check_likebool, по умолчанию False
Если True, игнорировать порядок индекса и столбцов. Примечание: метки индекса должны соответствовать своим строкам (так же как и столбцы) - одинаковые метки должны быть с одинаковыми данными.
- check_freqbool, по умолчанию True
Проверять ли freq атрибут на DatetimeIndex или TimedeltaIndex.
- check_flagsbool, по умолчанию True
Проверять ли флаги атрибут.
- rtolfloat, по умолчанию 1e-5
Относительный допуск. Используется только когда check_exact равен False.
- atolfloat, по умолчанию 1e-8
Абсолютная погрешность. Используется только когда check_exact равен False.
- objstr, по умолчанию 'DataFrame'
Укажите имя объекта, с которым сравнивается, используется внутри для отображения соответствующего сообщения утверждения.
Смотрите также
assert_series_equalЭквивалентный метод для проверки равенства Series.
DataFrame.equalsПроверить равенство DataFrame.
Примеры
Этот пример показывает сравнение двух DataFrames, которые равны, но имеют столбцы с разными типами данных.
>>> 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)