polars.testing.assert_series_equal#

polars.testing.assert_series_equal(
left: Series,
right: Series,
*,
check_dtype: bool = True,
check_names: 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 Series are equal.

Raises a detailed AssertionError if the Series differ. This function is intended for use in unit tests.

Parameters:
left

The first Series to compare.

right

The second Series to compare.

check_dtype

Require data types to match.

check_names

Require names 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, given as a fraction of the 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_series_equal
>>> s1 = pl.Series([1, 2, 3])
>>> s2 = pl.Series([1, 5, 3])
>>> assert_series_equal(s1, s2)  
Traceback (most recent call last):
...
AssertionError: Series are different (value mismatch)
[left]:  [1, 2, 3]
[right]: [1, 5, 3]