Я пытаюсь удалить сгруппированный набор строк в pandas в соответствии со следующим условием:
Если группа (сгруппированная по col1) имеет более 2 значений 'c' в col2, затем удалите всю группу.
Что у меня выглядит вот так
col1 col2
0 A 10:10
1 A 20:05
2 A c
3 A 00:10
4 B 04:15
2 B c
3 B c
4 B 13:40
И я пытаюсь добраться сюда:
col1 col2
0 A 10:10
1 A 20:05
2 A c
3 A 00:10
Обычно я делаю это для других очень похожие кадры данных (и это работает):
df = df.groupby('col1').filter(lambda x: x["col2"].value_counts()[['c']].sum() < 2)
Но для этого не работает, и я получаю эту ошибку:
KeyError: "None of [Index(['c'], dtype='object')] are in the [index]"
Есть ли у кого-то идея о том, как я мог бы сделать это?
Спасибо!