Sorting Multiple Values

Pandas offers the capability to sort dataframe on multiple columns. Let's demonstrate with example but first we develop some random data

import pandas as pd
import numpy as np
            
sample_df = pd.DataFrame({'x-val':[1,1,1,2,2,2], 'y-val':np.random.rand(6), 'z-val':np.random.rand(6)})
sample_df
x-val y-val z-val
0 1 0.866973 0.074644
1 1 0.945542 0.239148
2 1 0.451685 0.073848
3 2 0.100797 0.684813
4 2 0.105647 0.054043
5 2 0.110734 0.830431

Implementing sorting of x-val and y-val where x-val is descending and y-val is ascending

sample_df.sort_values(by=['x-val', 'y-val'], ascending=[False, True])
x-val y-val z-val
3 2 0.100797 0.684813
4 2 0.105647 0.054043
5 2 0.110734 0.830431
2 1 0.451685 0.073848
0 1 0.866973 0.074644
1 1 0.945542 0.239148