У меня есть кадр данных pandas с идентификатором столбца «id» и значением столбца. Он уже отсортирован по первому id (по возрастанию), а затем по значению (по убыванию). То, что мне нужно, это 10 лучших значений для каждого идентификатора.Pandas: получить 10 лучших значений ПОСЛЕ группировки
Я предположил, что-то вроде следующего будет работать, но это не делает:
df.groupby("id", as_index=False).aggregate(lambda (index,rows) : rows.iloc[:10])
Что я получаю только список идентификаторов, в столбце значений (и других столбцов, которые я опустил на вопрос) больше нет.
Любые идеи, как это можно сделать, без повторения каждой отдельной строки и добавления первой десяти к другой структуре данных?
Вы должны привести пример dataframe в вопросе. –