Как подсчитать уникальные комбинации состояний для каждого идентификатора в кадре данных PolarsPython

Программы на Python
Ответить
Anonymous
 Как подсчитать уникальные комбинации состояний для каждого идентификатора в кадре данных Polars

Сообщение Anonymous »

У меня есть DataFrame Polars, где каждый идентификатор может появляться несколько раз с разными значениями состояния (1 или 2). Я хочу подсчитать, сколько уникальных идентификаторов имеют только состояние 1, только состояние 2 или оба состояния 1 и 2.
import polars as pl

df = pl.DataFrame({
"id": [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 20, 20, 20],
"state": [1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2]
})

Я хочу посчитать, сколько уникальных идентификаторов попадает в каждую категорию:
• Только состояние 1 (например, идентификаторы, которые имеют только 1)
• Только состояние 2 (например, идентификаторы, которые имеют только 2)
• Оба состояния 1 и 2 (например, идентификаторы, которые имеют и 1, и 2)
Ожидаемый результат (пример):
State combination [1] -> 20 IDs
State combination [2] -> 15 IDs
State combination [1, 2] -> 30 IDs


Подробнее здесь: https://stackoverflow.com/questions/794 ... -dataframe
Ответить

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

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

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

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

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