polars.Series.cut
-
Разбивает непрерывные значения на дискретные категории.
Предупреждение
Эта функция считается нестабильной. Она может быть изменена в любой момент без необходимости считать такое изменение нарушающим совместимость.
- Параметры:
-
- breaks
-
Список уникальных точек разбиения.
- labels
-
Названия категорий. Количество меток должно быть равно количеству точек разбиения плюс один.
- left_closed
-
Задаёт интервалы с замкнутой левой границей вместо замкнутой правой.
- include_breaks
-
Добавляет столбец с правой границей интервала, в который попадает каждое наблюдение. Это изменит тип данных результата с
EnumнаStruct.
- Возвращает:
-
- Series
-
Series типа данных
Enum, если дляinclude_breaksзадано значениеFalse(по умолчанию); в противном случае возвращает Series типа данныхStruct.
См. также
Примеры
Разделение столбца на три категории.
>>> s = pl.Series("foo", [-2, -1, 0, 1, 2]) >>> s.cut([-1, 1], labels=["a", "b", "c"]) shape: (5,) Series: 'foo' [enum] [ "a" "a" "b" "b" "c" ]Создание DataFrame с точкой разбиения и категорией для каждого значения.
>>> cut = s.cut([-1, 1], include_breaks=True).alias("cut") >>> s.to_frame().with_columns(cut).unnest("cut") shape: (5, 3) ┌─────┬────────────┬────────────┐ │ foo ┆ breakpoint ┆ category │ │ --- ┆ --- ┆ --- │ │ i64 ┆ f64 ┆ enum │ ╞═════╪════════════╪════════════╡ │ -2 ┆ -1.0 ┆ (-inf, -1] │ │ -1 ┆ -1.0 ┆ (-inf, -1] │ │ 0 ┆ 1.0 ┆ (-1, 1] │ │ 1 ┆ 1.0 ┆ (-1, 1] │ │ 2 ┆ inf ┆ (1, inf] │ └─────┴────────────┴────────────┘
Series.cut(
breaks: Sequence[float],
*,
labels: Sequence[str_] | None = None,
left_closed: bool = False,
include_breaks: bool = False,
) → Series
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/series/api/polars.Series.cut.html