Here is also an example of selecting the 3rd list in sorted order and sorting within groups:
In [43]: import pandas as pd In [44]: df = pd.DataFrame({"name":["Foo", "Foo", "Baar", "Foo", "Baar", "Foo", "Baar", "Baar"], "count_1":[5,10,12,15,20,25,30,35], "count_2" :[100,150,100,25,250,300,400,500]}) In [45]: df Out[45]: count_1 count_2 name 0 5 100 Foo 1 10 150 Foo 2 12 100 Baar 3 15 25 Foo 4 20 250 Baar 5 25 300 Foo 6 30 400 Baar 7 35 500 Baar Sorting within groups based on column "count_1": In [48]: df.groupby(["name"]).apply(lambda x: x.sort_values(["count_1"], ascending = False)).reset_index(drop=True) Out[48]: count_1 count_2 name 0 35 500 Baar 1 30 400 Baar 2 20 250 Baar 3 12 100 Baar 4 25 300 Foo 5 15 25 Foo 6 10 150 Foo 7 5 100 Foo
Surya Jun 11 '17 at 23:28 2017-06-11 23:28
source share