Path: blob/main/py-polars/tests/unit/series/test_describe.py
6939 views
from datetime import date12import polars as pl3from polars.testing.asserts.frame import assert_frame_equal456def test_series_describe_int() -> None:7s = pl.Series([1, 2, 3])8result = s.describe()910stats = {11"count": 3.0,12"null_count": 0.0,13"mean": 2.0,14"std": 1.0,15"min": 1.0,16"25%": 2.0,17"50%": 2.0,18"75%": 3.0,19"max": 3.0,20}21expected = pl.DataFrame({"statistic": stats.keys(), "value": stats.values()})22assert_frame_equal(expected, result)232425def test_series_describe_float() -> None:26s = pl.Series([1.3, 4.6, 8.9])27result = s.describe()2829stats = {30"count": 3.0,31"null_count": 0.0,32"mean": 4.933333333333334,33"std": 3.8109491381194442,34"min": 1.3,35"25%": 4.6,36"50%": 4.6,37"75%": 8.9,38"max": 8.9,39}40expected = pl.DataFrame({"statistic": stats.keys(), "value": stats.values()})41assert_frame_equal(expected, result)424344def test_series_describe_string() -> None:45s = pl.Series(["abc", "pqr", "xyz"])46result = s.describe()4748stats = {49"count": "3",50"null_count": "0",51"min": "abc",52"max": "xyz",53}54expected = pl.DataFrame({"statistic": stats.keys(), "value": stats.values()})55assert_frame_equal(expected, result)565758def test_series_describe_boolean() -> None:59s = pl.Series([True, False, None, True, True])60result = s.describe()6162stats = {63"count": 4,64"null_count": 1,65"mean": 0.75,66"min": False,67"max": True,68}69expected = pl.DataFrame(70data={"statistic": stats.keys(), "value": stats.values()},71schema_overrides={"value": pl.Float64},72)73assert_frame_equal(expected, result)747576def test_series_describe_date() -> None:77s = pl.Series([date(1999, 12, 31), date(2011, 3, 11), date(2021, 1, 18)])78result = s.describe(interpolation="linear")7980stats = {81"count": "3",82"null_count": "0",83"mean": "2010-09-29 16:00:00",84"min": "1999-12-31",85"25%": "2005-08-05",86"50%": "2011-03-11",87"75%": "2016-02-13",88"max": "2021-01-18",89}90expected = pl.DataFrame({"statistic": stats.keys(), "value": stats.values()})91assert_frame_equal(expected, result)929394def test_series_describe_empty() -> None:95s = pl.Series(dtype=pl.Float64)96result = s.describe()97stats = {98"count": 0.0,99"null_count": 0.0,100}101expected = pl.DataFrame({"statistic": stats.keys(), "value": stats.values()})102assert_frame_equal(expected, result)103104105def test_series_describe_null() -> None:106s = pl.Series([None, None], dtype=pl.Null)107result = s.describe()108stats = {109"count": 0.0,110"null_count": 2.0,111}112expected = pl.DataFrame({"statistic": stats.keys(), "value": stats.values()})113assert_frame_equal(expected, result)114115116def test_series_describe_nested_list() -> None:117s = pl.Series(118values=[[10e10, 10e15], [10e12, 10e13], [10e10, 10e15]],119dtype=pl.List(pl.Float64),120)121result = s.describe()122stats = {123"count": 3.0,124"null_count": 0.0,125}126expected = pl.DataFrame({"statistic": stats.keys(), "value": stats.values()})127assert_frame_equal(expected, result)128129130