Cómo ordenar valores en un marco de datos de Pandas

A menudo, es posible que le interese ordenar un DataFrame de pandas por una o más columnas. Este tutorial explica cómo hacerlo usando la función pandas sort_values .

Cómo ordenar los marcos de datos de pandas

Supongamos que tenemos el siguiente DataFrame de pandas con 10 filas y 4 columnas:

importar pandas como pd
 importar numpy como np

#create DataFrame
df = pd.DataFrame ({'jugador': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J '],
                   'puntos': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'asiste': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebotes': [np.nan, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

df

	puntos de jugador ayuda a rebotes
0 A 25 5 NaN
1 B 20 7 8
2 C 14 7 10
3 D 16 8 6
4 E 27 5 6
5 F 20 7 9
6 G 12 6 6
7 H 15 9 10
8 yo 14 9 10
9 J 19 5 7

Ejemplo 1: Ordenar por una columna ascendente.

El siguiente fragmento de código muestra cómo ordenar el DataFrame por una columna en orden ascendente:

#ordenar por asistencias de menor a mayor 
df. sort_values (por = [' asistencias '])

	puntos de jugador ayuda a rebotes
0 A 25 5 NaN
4 E 27 5 6,0
9 J 19 5 7,0
6 G 12 6 6,0
1 B 20 7 8,0
2 C 14 7 10,0
5 F 20 7 9,0
3 D 16 8 6,0
7 H 15 9 10,0
8 I 14 9 10,0

Ejemplo 2: Ordenar por una columna descendente.

El siguiente fragmento de código muestra cómo ordenar el DataFrame por una columna en orden ascendente:

#ordenar por rebotes de mayor a menor 
df. sort_values (por = [' rebotes '], ascendente = Falso )

	puntos de jugador ayuda a rebotes
2 C 14 7 10,0
7 H 15 9 10,0
8 I 14 9 10,0
5 F 20 7 9,0
1 B 20 7 8,0
9 J 19 5 7,0
3 D 16 8 6,0
4 E 27 5 6,0
6 G 12 6 6,0
0 A 25 5 NaN

Tenga en cuenta que si ordena por una columna de caracteres, ascendente = Falso ordenará las filas en orden alfabético inverso:

#ordenar por carácter columna 
df. sort_values (por = [' jugador '], ascendente = Falso )

	puntos de jugador ayuda a rebotes
9 J 19 5 7,0
8 I 14 9 10,0
7 H 15 9 10,0
6 G 12 6 6,0
5 F 20 7 9,0
4 E 27 5 6,0
3 D 16 8 6,0
2 C 14 7 10,0
1 B 20 7 8,0
0 A 25 5 NaN

Ejemplo 3: ordenar por varias columnas.

El siguiente fragmento de código muestra cómo ordenar el DataFrame por varias columnas, cada una en orden ascendente:

#ordenar por asistencias ascendentes, luego rebotes ascendentes 
df. sort_values (por = [' asistencias ', ' rebotes '])

	puntos de jugador ayuda a rebotes
4 E 27 5 6,0
9 J 19 5 7,0
0 A 25 5 NaN
6 G 12 6 6,0
1 B 20 7 8,0
5 F 20 7 9,0
2 C 14 7 10,0
3 D 16 8 6,0
7 H 15 9 10,0
8 I 14 9 10,0

Tenga en cuenta que también puede ordenar una columna en forma ascendente y otra descendente pasando varios argumentos en forma ascendente :

#ordenar por asistencias ascendentes, luego rebotes descendentes 
df. sort_values (por = [' asistencias ', ' rebotes '], ascendente = [ Verdadero , Falso ])


puntos de jugador ayuda a rebotes
9 J 19 5 7,0
4 E 27 5 6,0
0 A 25 5 NaN
6 G 12 6 6,0
2 C 14 7 10,0
5 F 20 7 9,0
1 B 20 7 8,0
3 D 16 8 6,0
7 H 15 9 10,0
8 I 14 9 10,0

Ejemplo 4: primero ordene los NaN.

De forma predeterminada, los pandas colocan los NaN en último lugar, pero puede especificar que los NaN se coloquen primero:

#ordenar por asistencias ascendentes, luego rebotes descendentes 
df. sort_values (por = [' rebotes '], na_position = ' primero ')


	puntos de jugador ayuda a rebotes
0 A 25 5 NaN
3 D 16 8 6,0
4 E 27 5 6,0
6 G 12 6 6,0
9 J 19 5 7,0
1 B 20 7 8,0
5 F 20 7 9,0
2 C 14 7 10,0
7 H 15 9 10,0
8 I 14 9 10,0

Puede encontrar la documentación completa para la función sort_values aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

A menudo, es posible que desee cambiar los tamaños de fuente de varios elementos en un diagrama de Matplotlib. Afortunadamente,…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!