"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como classificar um DataFrame do Pandas por várias colunas em ordem crescente e decrescente?

Como classificar um DataFrame do Pandas por várias colunas em ordem crescente e decrescente?

Publicado em 2024-12-22
Navegar:835

How to Sort a Pandas DataFrame by Multiple Columns in Ascending and Descending Order?

Classificando um dataframe do Pandas por múltiplas colunas

Classificar um dataframe do Pandas por múltiplas colunas é uma operação comum na análise de dados. Considere um dataframe com colunas 'a', 'b' e 'c'. Para classificar este dataframe pela coluna 'b' em ordem crescente e coluna 'c' em ordem decrescente, siga estas etapas:

A partir da versão 0.17.0 do Pandas, o método de classificação foi descontinuado em favor de sort_values. A partir da versão 0.20.0, a classificação foi completamente removida. No entanto, os argumentos e resultados permanecem inalterados:

df.sort_values(['a', 'b'], ascending=[True, False])

Uma maneira equivalente usando a classificação obsoleta o método é:

df.sort(['a', 'b'], ascending=[True, False])

Por exemplo, considere um dataframe df1 com valores inteiros aleatórios nas colunas 'a' e 'b':

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.random.randint(1, 5, (10, 2)), columns=['a', 'b'])

Classificando este dataframe por 'a' em ordem crescente order e 'b' em ordem decrescente dá:

df1.sort(['a', 'b'], ascending=[True, False])
   a  b
2  1  4
7  1  3
1  1  2
3  1  2
4  3  2
6  4  4
0  4  3
9  4  3
5  4  1
8  4  1

Lembre-se de que o método sort não existe por padrão. Para atualizar df1 com os valores classificados, atribua o resultado do método sort a df1 ou use inplace=True na chamada do método:

df1 = df1.sort(['a', 'b'], ascending=[True, False])

ou

df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3