Skip to content

Cómo ordenar un DataFrame de Pandas: ejemplos y consejos

Updated on

El DataFrame de Pandas es una herramienta poderosa para el análisis de datos en Python. Te permite almacenar y manipular grandes conjuntos de datos con facilidad. La ordenación de datos es una operación común que resulta útil para explorar y visualizar datos. En este tutorial, cubriremos cómo ordenar datos en un DataFrame de Pandas, incluyendo la ordenación por columna, múltiples columnas, índice y más.

¿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 flujo de trabajo de análisis y visualización de datos directamente dentro de entornos basados en Jupyter Notebook.

[PyGWalker](https: //github.com/Kanaries/pygwalker) 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 fácilmente. Simplemente usa el siguiente código:

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

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

¡Y no olvides darle ⭐️ en GitHub!

Ejecutar PyGWalker en el Notebook de Kaggle (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)Darle ⭐️ a PyGWalker en GitHub (opens in a new tab)
Ejecutar PyGWalker en el Notebook de Kaggle (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 estructura de datos similar a una tabla bidimensional que contiene filas y columnas. Puede contener una variedad de tipos de datos como números, cadenas y fechas. Puedes pensar en él como una hoja de cálculo o una tabla SQL. Es una forma conveniente de almacenar y manipular datos con Python.

¿Cómo instalar Pandas en Python?

Antes de adentrarnos en la ordenación de un DataFrame de Pandas, debes asegurarte de tener Pandas instalado en tu sistema. Puedes hacer esto ejecutando el siguiente comando en tu terminal o símbolo del sistema:

pip install pandas

Esto instalará la última versión de Pandas en tu sistema.

¿Cómo crear un DataFrame de Pandas?

Hay muchas formas de crear un DataFrame de Pandas. Una de las formas más comunes es crearlo a partir de un diccionario de listas. Aquí tienes un ejemplo:

import pandas as pd
 
data = {'Name': ['John', 'Jane', 'Bob', 'Lisa'],
        'Age': [25, 30, 45, 23],
        'Salary': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
print(df)

Resultado:

   Name  Age  Salary
0  John   25   50000
1  Jane   30   60000
2   Bob   45   80000
3  Lisa   23   40000

En este ejemplo, creamos un diccionario de tres listas, donde cada lista representa una columna en el DataFrame. Luego utilizamos la función pd.DataFrame() para crear un DataFrame a partir del diccionario.

¿Cuál es la diferencia entre ordenar en orden ascendente y descendente?

Antes de comenzar a ordenar un DataFrame de Pandas, es importante entender la diferencia entre ordenar en orden ascendente y descendente. Ordenar en orden ascendente significa que los valores se ordenarán de menor a mayor. Ordenar en orden descendente significa que los valores se ordenarán de mayor a menor.

¿Cómo ordenar un DataFrame de Pandas por columna?

La ordenación de un DataFrame de Pandas por columna es una operación común. Puedes usar el método sort_values() para ordenar un DataFrame por una sola columna. Aquí tienes un ejemplo:

import pandas as pd
 
data = {'Name': ['John', 'Jane', 'Bob', 'Lisa'],
        'Age': [25, 30, 45, 23],
        'Salary': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
# ordenar por la columna Age en orden ascendente
df.sort_values('Age', ascending=True, inplace=True)
 
print(df)

Resultado:

   Name  Age  Salary
3  Lisa   23   40000
0  John   25   50000
1  Jane   30   60000
2   Bob   45   80000

En este ejemplo, ordenamos el DataFrame por la columna "Age" en orden ascendente usando el método sort_values(). Configuramos el parámetro ascending a True para ordenar en orden ascendente. El parámetro inplace se establece en True para modificar el DataFrame original.

¿Puedo ordenar un DataFrame de Pandas por varias columnas?

Sí, puedes ordenar un DataFrame de Pandas por varias columnas. Debes pasar una lista de nombres de columnas al método sort_values(). Aquí tienes un ejemplo:

import pandas as pd
 
data = {'Name': ['John', 'Jane', 'Bob', 'Lisa'],
        'Age': [25, 30, 45, 23],
        'Salary': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
# ordenar por la columna Age en orden ascendente, luego por la columna Salary en orden descendente
df.sort_values(['Age', 'Salary'], ascending=[True, False], inplace=True)
 
print(df)

Resultado:

   Name  Age  Salary
3  Lisa   23   40000
0  John   25   50000
1  Jane   30   60000
2   Bob   45   80000

En este ejemplo, ordenamos el DataFrame por la columna "Age" en orden ascendente, luego por la columna "Salary" en orden descendente. Pasamos una lista de nombres de columna al método sort_values() y una lista de valores booleanos al parámetro ascending para especificar la dirección de ordenamiento para cada columna.

¿Cómo ordenar un DataFrame de Pandas por el índice?

También puedes ordenar un DataFrame de Pandas por su índice usando el método sort_index(). Aquí tienes un ejemplo:

import pandas as pd
 
data = {'Name': ['John', 'Jane', 'Bob', 'Lisa'],
        'Age': [25, 30, 45, 23],
        'Salary': [50000, 60000, 80000, 40000]}
 
df = pd.DataFrame(data)
 
# ordenar por índice en orden descendente
df.sort_index(ascending=False, inplace=True)
 
print(df)

Salida:

   Name  Age  Salary
3  Lisa   23   40000
2   Bob   45   80000
1  Jane   30   60000
0  John   25   50000

En este ejemplo, ordenamos el DataFrame por su índice en orden descendente utilizando el método sort_index(). El parámetro ascending se establece en False para ordenar en orden descendente.

¿Cómo ordenar un DataFrame de Pandas por fecha?

Ordenar un DataFrame de Pandas por fecha es una operación común en análisis de series de tiempo. Puedes usar el método sort_values() con el tipo de datos datetime. Aquí tienes un ejemplo:

import pandas as pd
 
data = {'Date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04'],
        'Sales': [100, 200, 150, 300]}
 
df = pd.DataFrame(data)
 
# convertir la columna Date a tipo de datos datetime
df['Date'] = pd.to_datetime(df['Date'])
 
# ordenar por columna Date en orden ascendente
df.sort_values('Date', ascending=True, inplace=True)
 
print(df)

Salida:

        Date  Sales
0 2022-01-01    100
1 2022-01-02    200
2 2022-01-03    150
3 2022-01-04    300

En este ejemplo, creamos un DataFrame con una columna "Date" y una columna "Sales". Utilizamos el método to_datetime() para convertir la columna "Date" al tipo de datos datetime. Luego utilizamos el método sort_values() para ordenar el DataFrame por la columna "Date" en orden ascendente.

Ordenar valores de un DataFrame de Pandas

El método sort_values() es el método principal para ordenar un DataFrame de Pandas. Puede ordenar un DataFrame por una sola columna o múltiples columnas. También admite el ordenamiento por índice y por fecha.

Conclusión

Ordenar datos en un DataFrame de Pandas es una operación esencial para el análisis y visualización de datos. En este tutorial, hemos cubierto cómo ordenar un DataFrame de Pandas por columna, múltiples columnas, índice y fecha. También hemos discutido la diferencia entre el ordenamiento en orden ascendente y descendente. Al dominar estas técnicas, podrás manipular datos como un profesional.