Python pandas на основе условия

У меня простой вопрос, у меня есть groupby и я groupby результаты на основе столбца и получаю такой размер:

df.groupby('column').size()

Теперь проблема в том, что мне нужны только те, размер которых больше X. Мне интересно, могу ли я сделать это с помощью лямбда-функции или чего-то подобного? Я уже пробовал это:

df.groupby('column').size() > X

и это печатает некоторые Истинные и Ложные значения.

Ответ 1

Сгруппированный результат является регулярным DataFrame, поэтому просто фильтруйте результаты как обычно:

 import pandas as pd

 df = pd.DataFrame({'a': ['a', 'b', 'a', 'a', 'b', 'c', 'd']})
 after = df.groupby('a').size()
 >> after
 a
 a    3
 b    2
 c    1
 d    1
 dtype: int64

 >> after[after > 2]
 a
 a    3
 dtype: int64

Ответ 2

Попробуйте этот код:

df.groupby('column').filter(lambda group: group.size > X)