Объединение данных в определяемые пользователем ячейки с помощью group_by в PolarsPython

Программы на Python
Ответить
Anonymous
 Объединение данных в определяемые пользователем ячейки с помощью group_by в Polars

Сообщение Anonymous »

У меня есть фрейм данных Polars, который содержит только значения от 0 до 1 для всех столбцов (кадр данных описывает покрытие данных для различных переменных). Небольшой пример:

Код: Выделить всё

import polars as pl

df = pl.DataFrame({'a':[0.0,0.5,1.0,1.0],'b':[0,0,0,1]})

Код: Выделить всё

shape: (4, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ f64 ┆ i64 │
╞═════╪═════╡
│ 0.0 ┆ 0   │
│ 0.5 ┆ 0   │
│ 1.0 ┆ 0   │
│ 1.0 ┆ 1   │
└─────┴─────┘
Теперь меня интересует только подсчет случаев отсутствия покрытия (запись равна нулю), частичного покрытия (запись больше нуля и меньше единицы) и полного покрытия (запись равна единице) для каждой переменной. Для одного столбца (например, «a») я придумал следующее выражение:

Код: Выделить всё

df.group_by(
pl.when(pl.col('a')==0)
.then(pl.lit('nothing'))
.when((pl.col('a')>0)&(pl.col('a')

Подробнее здесь: [url]https://stackoverflow.com/questions/76473325/binning-data-into-user-defined-bins-using-group-by-in-polars[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»