Each row in my DataFrame is a user vote entry for a restaurant. The data look like
id cuisine
91 american
3 american
91 american
233 cuban
233 cuban
2 cuban
where id
refers to the restaurant.
I want to get something like the following
american 91 100
3 30
12 10
cuban 233 80
2 33
mexican 22 99
8 98
21 82
where the 2nd column is the id
, and the 3rd column is the number of rows in the DataFrame for that id
. In other words, sort by the number of rows, but group by cuisine. I tried
g = df.groupby(['cuisine', 'id'])
c = g.size().sort_values(ascending=False)
But the order of the cuisines is mixed.