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