Skip to content

Ordenar DataFrame de Pandas por índice

Updated on

Una de las características más poderosas de Pandas es su capacidad para manejar y manipular grandes cantidades de datos con facilidad. En este tutorial, discutiremos uno de los métodos fundamentales en Pandas: el método sort_index(). Con este método, podemos ordenar un DataFrame de Pandas por su índice, ya sea numérico o basado en texto. Al final de este tutorial, tendrás una comprensión sólida de cómo utilizar el método sort_index() para ordenar tus datos y mejorar tus habilidades de manipulación de datos.

Pero antes de sumergirnos en el método sort_index(), hablemos brevemente sobre qué es un DataFrame de Pandas.

¿Quieres crear visualizaciones de datos rápidamente en Python?

PyGWalker es un proyecto de Python de código abierto que puede ayudar a acelerar el análisis de datos y el flujo de trabajo de visualización directamente en entornos basados en Jupyter Notebook.

PyGWalker (opens in a new tab) convierte tu DataFrame de Pandas (o DataFrame de Polars) en una interfaz de usuario visual donde puedes arrastrar y soltar variables para crear gráficos con facilidad. Simplemente utiliza el siguiente código:

pip install pygwalker
import pygwalker como pyg
gwalker = pyg.walk(df)

Puedes ejecutar PyGWalker ahora mismo con estos cuadernos en línea:

¡Y no olvides darnos una ⭐️ en GitHub!

Ejecutar PyGWalker en Kaggle Notebook (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)Dale una ⭐️ a PyGWalker en GitHub (opens in a new tab)
Ejecutar PyGWalker en Kaggle Notebook (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)

¿Qué es un DataFrame de Pandas?

Un DataFrame de Pandas es una tabla bidimensional que tiene filas y columnas etiquetadas. Es similar a una hoja de cálculo o una tabla SQL. En un DataFrame, las filas representan observaciones o registros, mientras que las columnas representan variables o características.

Pandas está construido sobre NumPy, lo que significa que es increíblemente rápido para manejar y manipular conjuntos de datos grandes. También proporciona métodos incorporados para la limpieza de datos, la manipulación de datos y la visualización de datos.

Ahora que tenemos una comprensión básica de un DataFrame de Pandas, pasemos al método sort_index().

Ordenar DataFrame de Pandas por índice

El método sort_index() se utiliza para ordenar un DataFrame de Pandas por su índice. El índice de un DataFrame es como el número de fila en una hoja de cálculo. Identifica cada fila en el DataFrame.

Veamos un ejemplo.

import pandas as pd 
 
# crear un diccionario 
data = {'nombre': ['John', 'Mark', 'Sara', 'Anna', 'Paul'],
       'edad': [24, 34, 21, 19, 26],
       'ciudad': ['Nueva York', 'París', 'Londres', 'Berlín', 'San Francisco']}
 
# crear un DataFrame 
df = pd.DataFrame(data, index=['b', 'a', 'd', 'c', 'e'])
 
# ordenar el DataFrame por índice 
df = df.sort_index()
print(df)

Salida:

   nombre  edad        ciudad
a    Mark    34         París
b    John    24    Nueva York
c    Anna    19        Berlín
d    Sara    21       Londres
e    Paul    26  San Francisco

En el ejemplo anterior, hemos creado un diccionario data con tres claves nombre, edad y ciudad. Luego hemos utilizado este diccionario para crear un DataFrame df con el índice especificado.

Después de crear el DataFrame, hemos utilizado el método sort_index() para ordenar el DataFrame por su índice. Como puedes ver, el método sort_index() ordena el DataFrame por el índice en orden ascendente.

Si queremos ordenar el índice en orden descendente, podemos utilizar el método sort_index(ascending=False).

# ordenar el DataFrame por índice en orden descendente
df = df.sort_index(ascending=False)
print(df)

Salida:

   nombre  edad        ciudad
e    Paul    26  San Francisco
d    Sara    21       Londres
c    Anna    19        Berlín
b    John    24    Nueva York
a    Mark    34         París

Como puedes ver, el método sort_index(ascending=False) ordena el DataFrame en orden descendente.

Ordenar Series de Pandas por índice

Una Serie de Pandas es un arreglo etiquetado unidimensional. Es similar a una columna en una hoja de cálculo. Al igual que un DataFrame, una Serie también tiene un índice.

Para ordenar una Serie de Pandas por su índice, también podemos utilizar el método sort_index().

import pandas as pd 
 
# crear un diccionario 
data = {'nombre': ['John', 'Mark', 'Sara', 'Anna', 'Paul'],
       'edad': [24, 34, 21, 19, 26],
       'ciudad': ['Nueva York', 'París', 'Londres', 'Berlín', 'San Francisco']}
 
# crear un DataFrame 
df = pd.DataFrame(data, index=['b', 'a', 'd', 'c', 'e'])
 
# seleccionar una Serie del DataFrame
s = df['nombre']
 
# ordenar la Serie por su índice 
s = s.sort_index()
print(s)

Salida:

a     Mark
b     John
c     Anna
d     Sara
e     Paul
Name: nombre, dtype: object

En el código anterior, primero creamos un DataFrame df con un índice especificado. La variable s luego selecciona la columna name del DataFrame como una Serie. Luego podemos ordenar la Serie por su índice utilizando el método sort_index().

Conclusión

En este tutorial, hemos aprendido cómo usar el método sort_index() para ordenar un DataFrame o Serie de Pandas por su índice. Este es un método poderoso que puede ayudarnos a limpiar y manipular conjuntos de datos grandes con facilidad. Esperamos que hayas encontrado este tutorial útil e informativo.