¿Cómo ordenar datos por columna en un archivo CSV en Python?

En este artículo, discutiremos cómo ordenar CSV por columna(s) usando Python.

Método 1: Usar sort_values()

Podemos tomar el nombre del encabezado según nuestro requisito, el eje puede ser 0 o 1, donde 0 significa ‘filas’ y ‘1’ significa ‘columna’. Ascendente puede ser Verdadero/Falso y si es Verdadero, se organiza en orden ascendente, si es Falso, se organiza en orden descendente.

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

Archivo CSV utilizado:

A continuación hay varios que representan varias formas de ordenar un conjunto de datos CSV.

Ejemplo 1: ordenar el conjunto de datos en orden descendente según el salario

Python3

# importing pandas package
import pandas as pandasForSortingCSV
  
# assign dataset
csvData = pandasForSortingCSV.read_csv("sample.csv")
                                         
# displaying unsorted data frame
print("\nBefore sorting:")
print(csvData)
  
# sort data frame
csvData.sort_values(["Salary"], 
                    axis=0,
                    ascending=[False], 
                    inplace=True)
  
# displaying sorted data frame
print("\nAfter sorting:")
print(csvData)

Producción:

Ejemplo 2: ordenar el conjunto de datos en orden predeterminado (ascendente) según el salario.

Python3

# importing pandas package
import pandas as pandasForSortingCSV
  
# assign dataset
csvData = pandasForSortingCSV.read_csv("sample.csv")
                                         
# displaying unsorted data frame
print("\nBefore sorting:")
print(csvData)
  
# sort data frame
csvData.sort_values(csvData.columns[4], 
                    axis=0,
                    inplace=True)
  
# displaying sorted data frame
print("\nAfter sorting:")
print(csvData)

Producción:

Ejemplo 3: ordenar el conjunto de datos según el nombre, la edad y la altura en orden ascendente.

Python3

# importing pandas package
import pandas as pandasForSortingCSV
  
# assign dataset
csvData = pandasForSortingCSV.read_csv("sample.csv")
                                         
# displaying unsorted data frame
print("\nBefore sorting:")
print(csvData)
  
# sort data frame
csvData.sort_values(["Name", "Age", "Height"], 
                    axis=0,
                    ascending=[True, True, True], 
                    inplace=True)
  
# displaying sorted data frame
print("\nAfter sorting:")
print(csvData)

Producción:

Ejemplo 4: ordenar el conjunto de datos según el salario en orden descendente y la edad en orden ascendente.

Python3

# importing pandas package
import pandas as pandasForSortingCSV
  
# assign dataset
csvData = pandasForSortingCSV.read_csv("sample.csv")
  
# displaying unsorted data frame
print("\nBefore sorting:")
print(csvData)
  
# sort data frame
csvData.sort_values([csvData.columns[4], csvData.columns[2]],
                    axis=0,
                    ascending=[False, True],
                    inplace=True)
  
# displaying sorted data frame
print("\nAfter sorting:")
print(csvData)

Producción:

Método 2: Usar sorted()

Otra forma de ordenar archivos CSV es usar el método sorted() en el objeto CSVmodule. Sin embargo, solo puede ordenar archivos CSV en función de una sola columna.

Sintaxis: 

ordenado (iterable, clave, inverso)

A continuación hay varios que representan varias formas de ordenar un conjunto de datos CSV.

Ejemplo 1: ordenar el conjunto de datos en orden ascendente en función de la edad.

Python3

# import modules 
import csv ,operator
  
# load csv file
data = csv.reader(open('sample.csv'),delimiter=',')
  
# sort data on the basis of age
data = sorted(data, key=operator.itemgetter(2))    
  
# displaying sorted data 
print('After sorting:')
display(data)

Producción:

Ejemplo 2: ordenar el conjunto de datos en orden descendente en función de la edad.

Python3

# import modules 
import csv ,operator
  
# load csv file
data = csv.reader(open('sample.csv'),delimiter=',')
  
# sort data on the basis of age
data = sorted(data, key=operator.itemgetter(2), reverse=True)    
  
# displaying sorted data 
print('After sorting:')
display(data)

Producción:

Publicación traducida automáticamente

Artículo escrito por priyarajtt 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 *