Spec-Zone.ru › Polars

polars.testing.parametric.series

polars.testing.parametric.series(
    *,
    name: str | SearchStrategy[str] | None = None,
    dtype: PolarsDataType | None = None,
    min_size: int = 0,
    max_size: int = 5,
    strategy: SearchStrategy[Any] | None = None,
    allow_null: bool = True,
    allow_chunks: bool = True,
    allow_masked_out: bool = True,
    unique: bool = False,
    allowed_dtypes: Collection[PolarsDataType] | PolarsDataType | None = None,
    excluded_dtypes: Collection[PolarsDataType] | PolarsDataType | None = None,
    allow_time_zones: bool = True,
    **kwargs: Any,
) → SearchStrategy[ForwardRef('Series')]

Стратегия Hypothesis для создания объектов Series Polars.

Предупреждение

В настоящее время эта функциональность считается нестабильной. Она может быть изменена в любой момент, и это не будет считаться нарушающим обратную совместимость изменением.

Параметры:
name{str, strategy}, optional

строковый литерал или стратегия для строк (или None), передаваемые параметру name конструктора Series.

dtypePolarsDataType, optional

допустимый тип данных Polars для результирующего ряда.

min_sizeint

если точный размер не задан, здесь можно указать минимальный (по умолчанию 0). Ничего не делает, если задан size.

max_sizeint

если точный размер не задан, здесь можно указать максимальное значение (по умолчанию MAX_DATA_SIZE). Ничего не делает, если задан size.

strategystrategy, optional

позволяет переопределить стратегию по умолчанию для указанного dtype.

allow_nullbool

Разрешить null в качестве возможных значений и по умолчанию разрешить тип данных Null.

allow_chunksbool

Разрешить Series содержать несколько чанков.

allow_masked_outbool

Разрешить null содержать замаскированные элементы.

uniquebool, optional

указывает, должны ли все значения Series быть уникальными.

allowed_dtypes{list,set}, optional

при автоматической генерации данных Series разрешить только эти типы данных.

excluded_dtypes{list,set}, optional

при автоматической генерации данных Series исключить эти типы данных.

allow_time_zones

Разрешить создание объектов Series типа Datetime с часовым поясом.

**kwargs

Дополнительные именованные аргументы, передаваемые базовым стратегиям генерации данных.

sizeint, optional

если задано, создает Series точно такого размера (параметры min_size/max_size игнорируются).

Устарело с версии 1.0.0: Вместо этого используйте min_size и max_size.

null_probabilityfloat

Вероятность (от 0.0 до 1.0), что любое значение Series будет null. Применяется независимо от любых значений None, сгенерированных базовой стратегией.

Устарело с версии 0.20.26: Вместо этого используйте allow_null.

allow_infinitiesbool, optional

Разрешить генерацию значений +/-inf для типов данных с плавающей точкой.

Устарело с версии 0.20.26: Вместо этого используйте allow_infinity.

Примечания

На практике это используется как декоратор модульного теста, предоставляющий стратегию, которая генерирует несколько объектов Series с заданными характеристиками типа данных и размера для теста. При разработке стратегии или теста также может быть полезно напрямую вызвать .example() для заданной стратегии, чтобы увидеть конкретные примеры сгенерированных данных.

Примеры

Обычно стратегия используется для генерации рядов в модульном тесте:

>>> from polars.testing.parametric import series
>>> from hypothesis import given
>>> @given(s=series(min_size=3, max_size=5))
... def test_series_len(s: pl.Series) -> None:
...     assert 3 <= s.len() <= 5

Также можно интерактивно генерировать примеры с помощью метода .example(). Не следует делать этого во время выполнения тестов.

>>> from polars.testing.parametric import lists
>>> s = series(strategy=lists(pl.String, select_from=["xx", "yy", "zz"]))
>>> s.example()  
shape: (4,)
Series: '' [list[str]]
[
        ["zz", "zz"]
        ["zz", "xx", "yy"]
        []
        ["xx"]
]

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/api/polars.testing.parametric.series.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API