Infelizmente não, Edson, com o sort_values()
não tem como ordenar as colunas em ordem alfabética. Isso porque ele se baseia nos valores dentro do dataframe, e não nos índices deles.
Os valores são todos os dados que estão dentro do nosso dataframe, como as temperaturas mensuradas de cada pessoa. Os índices são os nomes das colunas (Maxine, James e Amanda) e das linhas (Afternoon, Morning e Evening).
Com o sort_values()
você consegue mudar a ordem em que as linhas aparecem no dataframe. No exemplo abaixo, criamos o dataframe e mandamos ordenar pelos valores da coluna Maxine; veja como ele passa a exibir as temperaturas da coluna Maxine de forma crescente:
Essa reordenação se baseia nos valores da coluna passada na função, e também é possível reordenar pelos valores de uma linha, com os parâmetros by
e axis
:
Contudo, como citei anteriormente, a sort_values()
não faz a reordenação diretamente pelos índices. Ele pode até trocar as colunas de lugar quando se faz reordenação dos valores, como na screenshot acima, mas apenas para obedecer a organização crescente ou decrescente
Para a reordenação das colunas de maneira alfabética, tem que ser da maneira descrita na resposta anterior, com a sort_index()
, ou como alternativa, usando a função sorted()
:
temperatures.columns = sorted(temperatures.columns)
E ainda, uma outra alternativa, fazendo a listagem explícita na ordem desejada de maneira manual:
temperatures = temperatures[['Amanda', 'James', Maxine']]
Porém, com a sort_values()
, dá para mexer apenas se baseando nos valores dentro das colunas e linhas do dataframe :)