Уже ответили, но просто добавили еще один способ сделать это.
import pandas as pd
import numpy as np
c = ['Val1','Val2']
v = [
['b',1.0],
['a',1.0],
['a',1.0],
['a',0.98],
['a',0.78],
['a',0.70],
['b',0.97],
['b',0.67],
['b',0.75],
]
df = pd.DataFrame(v,columns=c)
##### Output ####
Val1 Val2
0 b 1.00
1 a 1.00
2 a 1.00
3 a 0.98
4 a 0.78
5 a 0.70
6 b 0.97
7 b 0.67
8 b 0.75
k = df.groupby(['Val1']).apply(pd.DataFrame.sort_values, 'Val2',ascending=False)
print(k)
##### Output ####
Val1 Val2
Val1
a 1 a 1.00
2 a 1.00
3 a 0.98
4 a 0.78
5 a 0.70
b 0 b 1.00
6 b 0.97
8 b 0.75
7 b 0.67