Где (данные, группа) — составной ключ для групп элементов, каждый из которых имеет значение «id» и «x». Я хотел бы отфильтровать набор данных, чтобы сохранять только группы, имеющие как минимум два разных значения x: 1 и 2.
Я попробовал следующее, но получил сообщение об ошибке:
Я пытаюсь фильтровать по количеству уникальных элементов в группах. Например, предположим, что у меня есть следующий набор данных: [code]import polars as pl
df = pl.DataFrame({ 'data': [1,1,1,1,1,2,2], 'group': [1,1,1,2,2,1,1], 'id': [1,2,3,4,5,1,2], 'x': [1,1,2,1,2,1,1] }) [/code] Где (данные, группа) — составной ключ для групп элементов, каждый из которых имеет значение «id» и «x». Я хотел бы отфильтровать набор данных, чтобы сохранять только группы, имеющие как минимум два разных значения x: 1 и 2. Я попробовал следующее, но получил сообщение об ошибке: [code]df.filter(pl.col('x').unique_counts().over('data', 'group') >= 2) [/code] [code]# ShapeError: the length of the window expression did not match that of the group [/code] Может кто-нибудь помочь мне понять, что я делаю неправильно или как достичь этой цели?