Количество элементов больше значения в pandas groupby
у меня есть набор данных Yelp, и я хочу подсчитать все отзывы, которые имеют более 3 звезд. Я получаю количество отзывов, делая это:
reviews.groupby('business_id')['stars'].count()
Теперь я хочу получить количество отзывов, которые имели более 3 звезд, поэтому я попробовал это, взяв вдохновение от здесь:
reviews.groupby('business_id')['stars'].agg({'greater':lambda val: (val > 3).count()})
но это просто дает мне подсчет всех звезд, как и раньше. Я не уверен, что это правильный способ сделать это? Что я здесь делаю неправильно. Лямбда-выражение не проходить через каждое значение столбца звезд?
изменить: Ладно, я чувствую себя глупо. Я должен был использовать функцию sum вместо count, чтобы получить значение элементов больше 3, например:
reviews.groupby('business_id')['stars'].agg({'greater':lambda val: (val > 3).sum()})
1 ответов
вы можете попробовать сделать:
reviews[reviews['stars'] > 3].groupby('business_id')['stars'].count()