En este artículo, discutiremos cómo ordenar un marco de datos de Pandas tanto por índice como por columnas.
Método 1: ordenar el marco de datos según el índice
Podemos ordenar un DataFrame de Pandas según el índice y la columna usando el método sort_index .
- Para ordenar el DataFrame según el índice, necesitamos pasar axis=0 como parámetro al método sort_index.
- Para ordenar el DataFrame según el nombre de la columna, debemos pasar axis=1 como parámetro al método sort_index.
Sintaxis
DataFrame_Name.sort_index(axis=0, ascendente=True, inplace=False, kind=’quicksort’)
Parámetros
- eje: especifica sobre qué base ordenar, ya sea según el índice o la columna. De forma predeterminada, ordena según el índice, es decir, eje = 0.
- ascendente : especifica en qué orden ordenar, ya sea en orden ascendente o descendente. Acepta Verdadero o Falso. Por defecto es Verdadero.
- inplace: especifica que los cambios en el DataFrame son temporales o permanentes. inplace=False indica temporal y True indica permanente.
- kind: especifica qué algoritmo de clasificación usar. Acepta Quicksort, mergesort, heapsort, etc. Por defecto, es quicksort si no se menciona.
Marco de datos
|
col2 |
col1 |
---|---|---|
3 |
150 |
70 |
2 |
170 |
55 |
1 |
160 |
60 |
Este fue el DataFrame que estamos usando en los siguientes códigos para ordenar. Al especificar axis=0 en el método sort_index, podemos ordenar el DataFrame. Incluso si no especificamos el parámetro del eje en sort_index por defecto, ordena el DataFrame según la fila.
Ejemplo:
En este ejemplo, el DataFrame es un DataFrame ordenado basado en etiquetas de índice y se clasificó temporalmente en lenguaje python.
Python3
# import necessary packages import pandas as pd # create 2 dataframes with different indexes hostelCandidates1 = pd.DataFrame({'col2': [150, 170, 160], 'col1': [70, 55, 60]}, index=[3, 2, 1]) print('original DataFrame') print(hostelCandidates1) # sorted temperorle based on index labels print('Sorted by index') hostelCandidates1.sort_index(axis=0)
Producción
original DataFrame col2 col1 3 150 70 2 170 55 1 160 60 Sorted by index col2 col1 1 160 60 2 170 55 3 150 70
Método 2: ordenar el marco de datos según las columnas
Para ordenar los datos en el marco de datos en función de los nombres de las columnas, debemos pasar axis=1 como parámetro al método sort_index en el lenguaje python.
Código
Python3
# import necessary packages import pandas as pd # create 2 dataframes with different indexes hostelCandidates1 = pd.DataFrame({'col2': [150, 170, 160], 'col1': [70, 55, 60]}, index=[3, 2, 1]) print('original DataFrame') print(hostelCandidates1) # sorted temperorle based on column labels print('Sorted by column name') hostelCandidates1.sort_index(axis=1)
Producción
original DataFrame col2 col1 3 150 70 2 170 55 1 160 60 Sorted by column name col1 col2 3 70 150 2 55 170 1 60 160
Código de ejemplo para ordenar el DataFrame y guardar los cambios de forma permanente en el DataFrame original:
Aquí, la operación de clasificación se realiza directamente en el DataFrame original y los cambios se guardan de forma permanente debido al argumento inplace=True.
Python3
# import necessary packages import pandas as pd # create 2 dataframes with different indexes hostelCandidates1 = pd.DataFrame({'col2': [150, 170, 160], 'col1': [70, 55, 60]}, index=[3, 2, 1]) print('original DataFrame') print(hostelCandidates1) # sorted permanently based on column labels hostelCandidates1.sort_index(axis=1, inplace=True) print('Modified Original DataFrame') print(hostelCandidates1)
Producción
original DataFrame col2 col1 3 150 70 2 170 55 1 160 60 Modified Original DataFrame col1 col2 3 70 150 2 55 170 1 60 160
Publicación traducida automáticamente
Artículo escrito por akhilvasabhaktula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA