Хорошо, вот что я пытаюсь сделать:
У меня есть такой DataFrame:
data = pd.DataFrame(
{'a' : [1,1,1,2,2,3,3,3],
'b' : [23,45,62,24,45,34,25,62],
})
Мне удалось вычислить среднее значение столбца 'a' сгруппированногопо столбцу 'b', используя следующий код:
data.groupby('b', as_index=False)['a'].mean()
, что привело к созданию следующего кадра данных:
Тем не менее, я хотел бы рассчитать только среднее для значений 'b', которые встречаются в DataFrame более одного раза, в результате чего получается такой кадр данных:
Я пытался сделать это, используя следующую строку:
data.groupby('b', as_index=False).filter(lambda group: len(group)>1)['a'].mean()
, но это приводит к среднему значению строк 1, 2, 4 и 7, что, очевидно, не то, что я хочу.Может кто-нибудь, пожалуйста, помогите мне получить нужный DataFrame и скажите, что я ошибаюсь при использовании функции фильтра?
Спасибо!