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

Sort(),

Boa Noite,

Elaborei um np.array, que chamei de epx1, com os seguintes dados:

([[6,2,3,4,5],
[4,8,9,10,11]])

Quando executei o código epx1.sort() o np me retornou a seguinte tabela:

([[2,3,4,5,6],
[4,8,9,10,11])

Gostaria de saber se é possível executar o método sort() e manter a correspondência entre as colunas dos dados originais, no caso do exemplo acima, minha intenção é manter o valor 6 na mesma coluna do valor 4, ou seja, por em ordem apenas a primeira linha e a segunda acompanhar a mudança.

Obrigado.

1 resposta
solução!

Olá, Rafael! Tudo bem com você?

Há sim uma forma de você realizar a ordenação de acordo com a coluna ou linha, bastando apenas passar o parâmetro axis do método .sort(), conforme nos mostra a documentação.

O código abaixo nos mostra uma maneira de fazer essa ordenação:

import numpy as np

epx1 = np.array([[6,2,3,4,5],[4,8,9,10,11]])
epx1

Saída:

array([[ 6,  2,  3,  4,  5],
       [ 4,  8,  9, 10, 11]])
epx1.sort(1)
epx1

Saída:

array([[ 2,  3,  4,  5,  6],
       [ 4,  8,  9, 10, 11]])

O número 1 no método .sort() significa que você quer ordenar pelas linhas, caso você quisesse ordenar pelas colunas bastaria passar o número 0 para o método. Para melhor entendimento deixo a imagem abaixo como ajuda.

Tabela com 3 linhas e 4 colunas, onde o nome das linhas são: row 1, row 2 e row 3 e o nome das colunas são: col 1, col 2, col 3 e col 4. Acima do nome das colunas há uma seta apontando para a direita e acima da seta há o título "axis 1". Do lado do nome das linhas há uma seta apontando para baixo onde do seu lado esquerdo há o título "axis 0".

  • axis 1 refere-se às linhas.
  • axis 0 refere-se às colunas.

Espero ter ajudado, mas se ainda persistir alguma dúvida estou sempre à disposição.

:)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!