Pandas: Get top 10 values AFTER grouping
问题 I have a pandas data frame with a column 'id' and a column 'value'. It is already sorted by first id (ascending) and then value (descending). What I need is the top 10 values per id. I assumed that something like the following would work, but it doesn't: df.groupby("id", as_index=False).aggregate(lambda (index,rows) : rows.iloc[:10]) What I get is just a list of ids, the value column (and other columns that I omitted for the question) aren't there anymore. Any ideas how it might be done,