Path: blob/main/py-polars/tests/unit/operations/test_is_null.py
6939 views
from __future__ import annotations12from hypothesis import given34import polars as pl5from polars.testing import assert_frame_equal, assert_series_equal6from polars.testing.parametric import series789@given(s=series(allow_null=True))10def test_is_null_parametric(s: pl.Series) -> None:11is_null = s.is_null()12is_not_null = s.is_not_null()1314assert is_null.null_count() == 015assert_series_equal(is_null, ~is_not_null)161718def test_is_null_struct() -> None:19df = pl.DataFrame(20{"x": [{"a": 1, "b": 2}, {"a": None, "b": None}, {"a": None, "b": 2}, None]}21)2223result = df.select(24null=pl.col("x").is_null(),25not_null=pl.col("x").is_not_null(),26)2728expected = pl.DataFrame(29{30"null": [False, False, False, True],31"not_null": [True, True, True, False],32}33)34assert_frame_equal(result, expected)353637def test_is_null_null() -> None:38s = pl.Series([None, None])3940result = s.is_null()41expected = pl.Series([True, True])42assert_series_equal(result, expected)4344result = s.is_not_null()45expected = pl.Series([False, False])46assert_series_equal(result, expected)474849