- 0
- 0
- 0
- 0
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/
¿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: