polars.testing.assert_frame_not_equal#

polars.testing.assert_frame_not_equal(
left: DataFrame | LazyFrame,
right: DataFrame | LazyFrame,
*,
check_row_order: bool = True,
check_column_order: bool = True,
check_dtype: bool = True,
check_exact: bool = False,
rtol: float = 1e-05,
atol: float = 1e-08,
categorical_as_str: bool = False,
nans_compare_equal: bool | None = None,
) None[source]#

Assert that the left and right frame are not equal.

This function is intended for use in unit tests.

Parameters:
left

The first DataFrame or LazyFrame to compare.

right

The second DataFrame or LazyFrame to compare.

check_row_order

Require row order to match.

Note

Setting this to False requires sorting the data, which will fail on frames that contain unsortable columns.

check_column_order

Require column order to match.

check_dtype

Require data types to match.

check_exact

Require data values to match exactly. If set to False, values are considered equal when within tolerance of each other (see rtol and atol). Logical types like dates are always checked exactly.

rtol

Relative tolerance for inexact checking. Fraction of values in right.

atol

Absolute tolerance for inexact checking.

categorical_as_str

Cast categorical columns to string before comparing. Enabling this helps compare columns that do not share the same string cache.

nans_compare_equal

Consider NaN values to be equal.

Examples

>>> from polars.testing import assert_frame_not_equal
>>> df1 = pl.DataFrame({"a": [1, 2, 3]})
>>> df2 = pl.DataFrame({"a": [1, 2, 3]})
>>> assert_frame_not_equal(df1, df2)  
Traceback (most recent call last):
...
AssertionError: frames are equal