polars.testing.assert_frame_equal#
- polars.testing.assert_frame_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,
- Assert that the left and right frame are equal. - Raises a detailed - AssertionErrorif the frames differ. 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 - Falserequires 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- rtoland- 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. 
 
 - Notes - When using pytest, it may be worthwhile to shorten Python traceback printing by passing - --tb=short. The default mode tends to be unhelpfully verbose. More information in the pytest docs.- Examples - >>> from polars.testing import assert_frame_equal >>> df1 = pl.DataFrame({"a": [1, 2, 3]}) >>> df2 = pl.DataFrame({"a": [1, 5, 3]}) >>> assert_frame_equal(df1, df2) Traceback (most recent call last): ... AssertionError: Series are different (value mismatch) [left]: [1, 2, 3] [right]: [1, 5, 3] - The above exception was the direct cause of the following exception: - Traceback (most recent call last): … AssertionError: values for column ‘a’ are different