Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre o caso de usar duas variáveis no sort_values

No caso do vídeo, quando ele manda organizar por X e Y simultaneamente fica lógico pois a organização para ambos é a mesma. Eu testei o seguinte:

valores = [[3,2,1],[7,8,9],[4,5,6]]
df = pd.DataFrame(valores, columns = list('CBA'), index = list('321'))
df

Que irá me gerar um df diferente do vídeo. Escrevi o seguinte comando:

df.sort_values(by = ['2','3'], axis = 1)

Nesse caso, ele me retorna apenas a organização pela linha 2 (7, 8, 9) e mantém a linha 3 como 3, 2, 1. Estou fazendo ou interpretando algo de maneira errada? Se sim, como funciona esse comando para mais de uma variável então?

1 resposta
solução!

E aí, Dexter. Tudo tranquilo?

O seu exemplo parece ordenar o dataframe apenas pela linha 2 porque todos os valores são únicos. A ordenação pelo segundo item da lista acontece quando temos algum item repetido na ordenação do primeiro. Tenta dar uma olhada no seguinte:

valores = [[3, 4, 2, 1], [7, 8, 8, 9], [4, 5, 6, 1]]
df = pd.DataFrame(valores, columns = list('DCBA'), index = list('321'))

E passa primeiro:

df.sort_values(by = ['2'], axis= 1)

Depois:

df.sort_values(by = ['2','3'], axis = 1)

E repara que, no segundo caso, as colunas 'B' e 'C' se invertem.