Spec-Zone.ru › Polars

polars.Series.qcut

Series.qcut(
    quantiles: Sequence[float] | int,
    *,
    labels: Sequence[str_] | None = None,
    left_closed: bool = False,
    allow_duplicates: bool = False,
    include_breaks: bool = False,
) → Series

Разбивает непрерывные значения на дискретные категории на основе квантилей.

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

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

Параметры:
quantiles

Список вероятностей квантилей от 0 до 1 или положительное целое число, задающее количество интервалов с равномерной вероятностью.

labels

Названия категорий. Количество меток должно быть равно количеству точек разбиения плюс один.

left_closed

Задаёт левые замкнутые интервалы вместо правых.

allow_duplicates

Если задано значение True, повторяющиеся значения в полученных квантилях отбрасываются, а не вызывают DuplicateError. Это может произойти даже при уникальных вероятностях, в зависимости от данных.

include_breaks

Добавляет столбец с правой границей интервала, в который попадает каждое наблюдение. Это изменит тип данных результата с Categorical на Struct.

Возвращает:
Series

Series с типом данных Categorical, если для include_breaks задано значение False (по умолчанию), иначе Series с типом данных Struct.

См. также

cut

Примеры

Разделите столбец на три категории согласно заранее заданным вероятностям квантилей.

>>> s = pl.Series("foo", [-2, -1, 0, 1, 2])
>>> s.qcut([0.25, 0.75], labels=["a", "b", "c"])
shape: (5,)
Series: 'foo' [cat]
[
    "a"
    "a"
    "b"
    "b"
    "c"
]

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

>>> s.qcut(2, labels=["low", "high"], left_closed=True)
shape: (5,)
Series: 'foo' [cat]
[
    "low"
    "low"
    "high"
    "high"
    "high"
]

Создайте DataFrame с точкой разбиения и категорией для каждого значения.

>>> cut = s.qcut([0.25, 0.75], include_breaks=True).alias("cut")
>>> s.to_frame().with_columns(cut).unnest("cut")
shape: (5, 3)
┌─────┬────────────┬────────────┐
│ foo ┆ breakpoint ┆ category   │
│ --- ┆ ---        ┆ ---        │
│ i64 ┆ f64        ┆ cat        │
╞═════╪════════════╪════════════╡
│ -2  ┆ -1.0       ┆ (-inf, -1] │
│ -1  ┆ -1.0       ┆ (-inf, -1] │
│ 0   ┆ 1.0        ┆ (-1, 1]    │
│ 1   ┆ 1.0        ┆ (-1, 1]    │
│ 2   ┆ inf        ┆ (1, inf]   │
└─────┴────────────┴────────────┘

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

Spec-Zone.ru

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