polars.testing.assert_series_equal#

polars.testing.assert_series_equal(
left: Series,
right: Series,
*,
check_dtypes: bool = True,
check_names: bool = True,
check_order: bool = True,
check_exact: bool = False,
rtol: float = 1e-05,
atol: float = 1e-08,
categorical_as_str: bool = False,
) None[source]#

断言左侧和右侧的Series相等。

如果系列不同,则引发详细的AssertionError。此函数旨在用于单元测试。

Parameters:
left

要比较的第一个系列。

right

要比较的第二个系列。

check_dtypes

要求数据类型匹配。

check_names

要求名称匹配。

check_order

要求元素以相同的顺序出现。

check_exact

要求浮点值完全匹配。如果设置为False,当值在彼此的容差范围内时,它们被认为是相等的(参见rtolatol)。仅影响具有浮点数据类型的列。

rtol

用于不精确检查的相对容差,以right中的值的分数形式给出。

atol

不精确检查的绝对容差。

categorical_as_str

在比较之前将分类列转换为字符串。启用此功能有助于比较不共享相同字符串缓存的列。

注释

在使用pytest时,通过传递--tb=short来缩短Python回溯打印可能是值得的。默认模式往往过于冗长而不太有帮助。更多信息请参阅pytest文档

示例

>>> 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 (exact value mismatch)
[left]:  [1, 2, 3]
[right]: [1, 5, 3]