1
resposta

Sort_index

Olá, alguém poderia me explicar a diferença entre sort_index e sort_values?

Achei a aula bem corrida e mal explicada, fui entender um pouco melhor com a transcrição e com a ajuda da resposta desse forúm https://cursos.alura.com.br/forum/topico-aula-corrida-e-muito-mal-explicada-252088.

Mas a pergunta que não quer calar, quando e para que vou usar isso como cientista de dados?

1 resposta

Olá, Nairim

A importância de usar esses métodos como cientista de dados é que eles permitem que você organize seus dados de maneira eficiente e eficaz, para que possa:

  • Analisar seus dados de forma mais clara e compreensível: classificar seus dados por índices ou colunas pode tornar mais fácil encontrar padrões e tendências em seus dados. Isso pode ser particularmente útil ao visualizar seus dados em gráficos ou tabelas, pois pode torná-los mais legíveis e informativos.

  • Preparar dados para análises adicionais: ordenar seus dados pode facilitar a seleção de subconjuntos específicos de dados que atendem a certos critérios. Por exemplo, você pode querer classificar seus dados por data para selecionar apenas os dados de um determinado período de tempo.

  • Realizar cálculos precisos: a ordenação de dados pode ser essencial para cálculos precisos em que a ordem dos dados afeta o resultado. Por exemplo, se você estiver trabalhando com dados de séries temporais, como preços de ações, é importante ordená-los por data antes de calcular uma média móvel para garantir que seus cálculos sejam precisos.

Vou explicar um pouquinho sobre cada método!

O método sort_index() classifica um DataFrame ou uma Series com base nos rótulos do index em ordem crescente ou decrescente.

Enquanto isso, sort_values(): Este método classifica um DataFrame ou uma Series com base nos valores em uma ou mais colunas. Se você tiver um DataFrame com várias colunas, pode especificar a coluna pela qual deseja classificar usando o parâmetro by.

Ambos os métodos, por padrão, classificam em ordem crescente, mas você pode usar o parâmetro ascending=False para classificar em ordem decrescente.

Por exemplo, se você criar o seguinte DataFrame:

df = pd.DataFrame({
    'col1': ['A', 'A', 'B', 'C', 'D', 'C'],
    'col2': [2, 1, 9, 8, 7, 4],
    'col3': [0, 1, 9, 4, 2, 3],
    'col4': ['a', 'B', 'c', 'D', 'e', 'F']})

Terá o seguinte resultado:

indexcol1col2col3col4
0A20a
1A11B
2B99c
3C84D
4D72e
5C43F

Se você quiser classificar os dados pela col1:

df.sort_values(by=['col1'])

O resultado será o seguinte:

indexcol1col2col3col4
0A20a
1A11B
2B99c
3C84D
5C43F
4D72e

Note que o DataFrame foi classificado de acordo com a col1 em ordem crescente!

E se a classificação fosse de acordo com o index??? Imagina que você queira classificar pelo index em ordem decrescente: df.sort_index(ascending=False)

Nesse caso, o resultado seria o seguinte:

indexcol1col2col3col4
5C43F
4D72e
3C84D
2B99c
1A11B
0A20a

O index está começando em 5 e indo até 0.

É essa a diferença entre os métodos.