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:
index | col1 | col2 | col3 | col4 |
---|
0 | A | 2 | 0 | a |
1 | A | 1 | 1 | B |
2 | B | 9 | 9 | c |
3 | C | 8 | 4 | D |
4 | D | 7 | 2 | e |
5 | C | 4 | 3 | F |
Se você quiser classificar os dados pela col1
:
df.sort_values(by=['col1'])
O resultado será o seguinte:
index | col1 | col2 | col3 | col4 |
---|
0 | A | 2 | 0 | a |
1 | A | 1 | 1 | B |
2 | B | 9 | 9 | c |
3 | C | 8 | 4 | D |
5 | C | 4 | 3 | F |
4 | D | 7 | 2 | e |
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:
index | col1 | col2 | col3 | col4 |
---|
5 | C | 4 | 3 | F |
4 | D | 7 | 2 | e |
3 | C | 8 | 4 | D |
2 | B | 9 | 9 | c |
1 | A | 1 | 1 | B |
0 | A | 2 | 0 | a |
O index está começando em 5 e indo até 0.
É essa a diferença entre os métodos.