Pandas: como classificar dataframes em ordem alfabética


Você pode usar os seguintes métodos para classificar as linhas de um DataFrame do pandas em ordem alfabética:

Método 1: classificar por coluna em ordem alfabética

 #sort A to Z
df. sort_values (' column1 ')

#sort Z to A
df. sort_values (' column1 ', ascending= False )

Método 2: classificar por várias colunas em ordem alfabética

 #sort by column1 from Z to A, then by column2 from A to Z
df. sort_values ([' column1 ', ' column2 '], ascending=( False , True ))

O exemplo a seguir mostra como usar cada método na prática.

Exemplo 1: Classificar por coluna em ordem alfabética

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Spurs', 'Lakers', 'Nuggets', 'Hawks'],
                   ' points ': [120, 108, 99, 104, 115]})

#view DataFrame
print (df)

      team points
0 Mavs 120
1 Spurs 108
2 Lakers 99
3 Nuggets 104
4 Hawks 115

Podemos usar a seguinte sintaxe para classificar as linhas do DataFrame por nome de equipe de A a Z :

 #sort by team name A to Z
df_sorted = df. sort_values (' team ')

#view sorted DataFrame
print (df_sorted)

      team points
4 Hawks 115
2 Lakers 99
0 Mavs 120
3 Nuggets 104
1 Spurs 108

Observe que as linhas agora estão classificadas pelo nome da equipe AZ.

Também poderíamos classificar de Z para A :

 #sort by team name Z to A
df_sorted = df. sort_values (' team ', ascending= False )

#view sorted DataFrame
print (df_sorted)

      team points
1 Spurs 108
3 Nuggets 104
0 Mavs 120
2 Lakers 99
4 Hawks 115

E também poderíamos usar a função reset_index() para redefinir os valores do índice no DataFrame classificado:

 #sort by team name A to Z and reset index
df_sorted = df. sort_values (' team '). reset_index (drop= True )

#view sorted DataFrame
print (df_sorted)

      team points
0 Hawks 115
1 Lakers 99
2 Mavs 120
3 Nuggets 104
4 Spurs 108

Exemplo 2: Classifique por múltiplas colunas em ordem alfabética

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' conference ': ['West', 'West', 'West', 'East', 'East'],
                   ' team ': ['Mavs', 'Spurs', 'Lakers', 'Heat', 'Hawks'],
                   ' points ': [120, 108, 99, 104, 115]})

#view DataFrame
print (df)

  conference team points
0 West Mavs 120
1 West Spurs 108
2 West Lakers 99
3 East Heat 104
4 East Hawks 115

A sintaxe a seguir pode ser usada para classificar as linhas do DataFrame por nome de conferência de A a Z e, em seguida, por nome de equipe de Z a A:

 #sort by conference name A to Z, then by team name Z to A
df_sorted = df. sort_values ([' conference ', ' team '], ascending=( True , False ))

#view sorted DataFrame
print (df_sorted)

  conference team points
3 East Heat 104
4 East Hawks 115
1 West Spurs 108
0 West Mavs 120
2 West Lakers 99

As linhas são classificadas pelo nome da conferência AZ e, em seguida, pelo nome da equipe ZA.

Nota : Você pode encontrar a documentação completa da função sort_values() do pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Pandas: como classificar por data
Pandas: como classificar colunas por nome
Pandas: como classificar por índice e coluna

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *