¿Cómo ordenar CSV por varias columnas en Python?

En este artículo, vamos a discutir cómo ordenar un archivo CSV por varias columnas. Primero, convertiremos el archivo CSV en un marco de datos y luego ordenaremos el marco de datos usando el método sort_values()

Sintaxis: DataFrame.sort_values(by, axis=0, ascendente=True, inplace=False, kind=’quicksort’, na_position=’last’)

Tipo de devolución: devuelve un marco de datos ordenado con las mismas dimensiones que el marco de datos de la persona que llama a la función.

Después de convertir el archivo CSV en un marco de datos, debemos agregar dos o más nombres de columna del archivo CSV como por parámetro en el método sort_values() con el eje asignado a 0 como se muestra a continuación:

sort_values(‘columna1’, ‘columna2’…’columna’, eje=0)

Archivo CSV en uso:

A continuación se muestran varios ejemplos que muestran cómo ordenar un archivo CSV por varias columnas:

Ejemplo 1:

En el siguiente programa, primero convertimos el archivo CSV en un marco de datos, luego ordenamos el marco de datos por una sola columna en orden ascendente.

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by a column
data.sort_values("carat", axis=0, ascending=True,
                 inplace=True, na_position='first')
  
# display
data.head(10)

Producción:

Ejemplo 2:

Aquí, después de convertirlo en un marco de datos, el archivo CSV se ordena en varias columnas, la columna de profundidad se ordena primero en orden ascendente y luego la columna de la tabla se ordena en orden ascendente para cada profundidad.

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table"], axis=0,
                 ascending=True, inplace=True)
  
# display
data.head(10)

Producción:

Ejemplo 3: 

En el siguiente ejemplo, el archivo CSV se ordena en orden descendente por profundidad y luego en orden ascendente por la tabla para cada profundidad. 

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table"], axis=0,
                 ascending=[False, True], inplace=True)
  
# display
data.head(10)

Producción:

Ejemplo 4:

Aquí hay otro ejemplo donde el archivo CSV está ordenado por múltiples columnas.

Python3

# importing pandas package
import pandas as pd
  
# making data frame from csv file
data = pd.read_csv("diamonds.csv")
  
# sorting data frame by multiple columns
data.sort_values(["depth", "table", "carat"], axis=0,
                 ascending=[False, True, False], inplace=True)
  
# display
data.head(10)

Producción:

Publicación traducida automáticamente

Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *