Inicialmente o DataFrame está organizado da seguinte maneira:
X Y Z
3 3 2 1
2 6 5 4
1 9 8 7
Ao usar o método sor_values() ocorre o seguinte:
df.sort_values(by = ['X', 'Y'], axis = 0, inplace = True)
df
Z Y X
3 1 2 3
2 4 5 6
1 7 8 9
Mas, se o axis está igual a zero porque trocou as colunas X e Z de posição? Pelo que entendi do vídeo quando o axis é igual a zero deveria mexer somente nas linhas.