У меня есть фрейм данных, как показано ниже
import pandas as pd
df = pd.DataFrame(
{
'rating': [5.0,4.5,3.0,2.5,4.0,4.5,5.0,3.0],
'productname': ['s','v','r','n','k','a','q','w'],
'category': [
'mobile',
'mobile',
'mobile',
'mobile',
'laptop',
'laptop',
'laptop',
'laptop'
]
}
)
Я могу получить продукт с наивысшим рейтингом по приведенному ниже коду:
df.loc[df.groupby('category')['rating'].idxmax(), :].reset_index()
Мой вопрос в том, как получить 3 лучших товаров в каждой категории?