Python anda pandas

¿Qué es Pandas y por qué es tan importante?

Pandas es una librería de Python esencial en el campo del análisis de datos. Proporciona estructuras de datos poderosas y flexibles para manipular, limpiar y analizar información de forma eficiente. Originalmente creada para el análisis financiero, su versatilidad la ha convertido en una herramienta clave en cualquier área que implique trabajo con datos. Su capacidad para manejar grandes volúmenes de datos, así como para integrarse con otras librerías de Python como Matplotlib y Seaborn para visualización, la hace perfecta para científicos de datos, analistas y desarrolladores.

En este tutorial, exploraremos los aspectos fundamentales de pandas: desde cómo empezar hasta el manejo avanzado de datos y recomendaciones para expandir tus conocimientos.

Instalación y primeros pasos con Pandas

Antes de usar pandas, necesitas instalarla. Ejecuta el siguiente comando en tu terminal o consola de Python para instalar la librería:

pip install pandas

Una vez instalada, importa pandas en tu script. Generalmente, se utiliza el alias pd para abreviar el uso de la librería:

import pandas as pd

Primeros Pasos: Estructuras de Datos en Pandas

Pandas se basa en dos estructuras principales de datos: Series y DataFrames.

  1. Series: es una estructura unidimensional, similar a una columna de una hoja de cálculo o una lista, pero con índices que permiten etiquetar cada elemento.
  2. DataFrame: es una estructura bidimensional, que funciona como una tabla de datos con filas y columnas, y es la base del trabajo en pandas.

Crear una Serie

Las Series son ideales para manejar una sola columna de datos. Aquí tienes un ejemplo simple:

# Crear una Serie
mi_serie = pd.Series([10, 20, 30, 40])
print(mi_serie)

Crear un DataFrame

Un DataFrame es un conjunto de Series que se organizan en forma de tabla:

# Crear un DataFrame
datos = {
"Nombre": ["Ana", "Carlos", "Luisa", "Pedro"],
"Edad": [23, 45, 34, 28],
"Ciudad": ["Madrid", "Barcelona", "Sevilla", "Valencia"]
}

mi_dataframe = pd.DataFrame(datos)
print(mi_dataframe)

Aquí tienes una explicación paso a paso de cómo funciona este código de DataFrames en Python:

Paso 1: Crear un diccionario de datos

El código comienza creando un diccionario llamado datos que contiene información sobre varias personas. Un diccionario en Python es una estructura que permite almacenar pares de «clave: valor». En este caso, las claves son "Nombre", "Edad" y "Ciudad", y los valores son listas de datos:

datos = {
"Nombre": ["Ana", "Carlos", "Luisa", "Pedro"],
"Edad": [23, 45, 34, 28],
"Ciudad": ["Madrid", "Barcelona", "Sevilla", "Valencia"]
}
  • "Nombre" contiene los nombres de las personas.
  • "Edad" contiene las edades correspondientes.
  • "Ciudad" contiene las ciudades donde vive cada persona.

Paso 2: Crear un DataFrame

Luego, usas el diccionario datos para crear un DataFrame llamado mi_dataframe:

mi_dataframe = pd.DataFrame(datos)

Un DataFrame es una estructura de datos tabular, como una hoja de cálculo, con filas y columnas. En este caso, pandas toma el diccionario y convierte sus claves en nombres de columna, y los valores de cada clave se alinean como filas en cada columna.

Paso 3: Mostrar el DataFrame

Finalmente, imprimes el DataFrame:

print(mi_dataframe)

Resultado esperado

Al ejecutar este código, verás una tabla que muestra los datos de manera organizada:

   Nombre  Edad     Ciudad
0 Ana 23 Madrid
1 Carlos 45 Barcelona
2 Luisa 34 Sevilla
3 Pedro 28 Valencia

En esta tabla:

  • La columna "Nombre" tiene los nombres.
  • La columna "Edad" tiene las edades.
  • La columna "Ciudad" muestra las ciudades.
  • Los números en la primera columna (0, 1, 2, 3) representan el índice de cada fila en el DataFrame.

¿Por qué usar DataFrames?

Los DataFrames son útiles porque permiten manejar, analizar y visualizar grandes conjuntos de datos de forma eficiente. Con pandas, puedes hacer filtros, agrupar datos, realizar cálculos estadísticos y muchas operaciones más de manera rápida y sencilla.

Importar y Exportar Datos en Pandas

Pandas permite leer y guardar datos en varios formatos populares como CSV, JSON y Excel, lo cual es esencial para trabajar con datos de diferentes fuentes.

Leer y guardar datos en CSV

# Leer un archivo CSV
df_csv = pd.read_csv("archivo.csv")

# Guardar un DataFrame como CSV
mi_dataframe.to_csv("salida.csv", index=False)

Leer y guardar datos en JSON

# Leer un archivo JSON
df_json = pd.read_json("archivo.json")

# Guardar un DataFrame como JSON
mi_dataframe.to_json("salida.json")

Leer y guardar datos en Excel

Para manejar archivos de Excel, es necesario instalar la librería openpyxl:

pip install openpyxl
# Leer un archivo Excel
df_excel = pd.read_excel("archivo.xlsx")

# Guardar un DataFrame en Excel
mi_dataframe.to_excel("salida.xlsx", index=False)

Manipulación de Datos: Selección y Filtrado

Una de las ventajas de pandas es la facilidad con la que permite seleccionar y filtrar datos.

Selección de columnas

Para seleccionar una columna específica, simplemente usa el nombre de la columna entre corchetes.

# Seleccionar una columna
edades = mi_dataframe["Edad"]

# Seleccionar múltiples columnas
nombre_ciudad = mi_dataframe[["Nombre", "Ciudad"]]

Selección de filas con iloc (por índice) y loc (por etiquetas)

iloc y loc son métodos útiles para acceder a filas de un DataFrame:

# Seleccionar la primera fila
primera_fila = mi_dataframe.iloc[0]

# Seleccionar filas donde la Edad es mayor de 30
mayores_30 = mi_dataframe[mi_dataframe["Edad"] > 30]

Agrupación, Ordenación y Limpieza de Datos

Estas son operaciones avanzadas para la manipulación de datos que pandas permite hacer de manera eficiente.

Agrupar datos

Para agrupar datos, por ejemplo, calcular el promedio de edad en cada ciudad:

# Agrupar por 'Ciudad' y calcular edad promedio
grupo_ciudad = mi_dataframe.groupby("Ciudad")["Edad"].mean()

Ordenar datos

Ordenar datos según una columna es sencillo y útil para explorar patrones:

# Ordenar por 'Edad' de menor a mayor
ordenado_por_edad = mi_dataframe.sort_values(by="Edad")

Limpiar datos

Es común encontrarse con datos incompletos o duplicados. Pandas permite tratarlos con facilidad:

# Eliminar filas con valores nulos
df_sin_nulos = mi_dataframe.dropna()

# Rellenar valores nulos con un valor específico
df_relleno = mi_dataframe.fillna(0)

# Eliminar duplicados
df_sin_duplicados = mi_dataframe.drop_duplicates()

Exploración y Estadísticas Básicas

Una vez que tienes tus datos, es posible realizar un análisis estadístico básico directamente con pandas:

# Resumen estadístico
print(mi_dataframe.describe())

# Contar valores en una columna
conteo_ciudades = mi_dataframe["Ciudad"].value_counts()

Técnicas Avanzadas en Pandas

A medida que avances en pandas, puedes explorar técnicas más avanzadas como el manejo de JSON anidado y datos de varias hojas en archivos Excel.

Leer JSON anidado

Para datos JSON complejos con estructuras anidadas, pandas ofrece json_normalize:

# Leer JSON anidado
data_json_anidado = {"nombre": "Ana", "edad": 28, "ciudad": "Madrid"}
df_json_anidado = pd.json_normalize(data_json_anidado)

Trabajar con varias hojas en Excel

Puedes leer y guardar varias hojas de Excel en un solo archivo:

# Leer varias hojas
excel_multiples_hojas = pd.read_excel("archivo.xlsx", sheet_name=None)

# Guardar múltiples hojas
with pd.ExcelWriter("salida_multiples_hojas.xlsx") as writer:
mi_dataframe.to_excel(writer, sheet_name="Hoja1")

Expande tus conocimientos en Pandas: Recomendaciones

  1. Practica en proyectos reales: No hay mejor manera de aprender que enfrentarte a un conjunto de datos real, como estadísticas de ventas, datos financieros o encuestas.
  2. Explora recursos adicionales: Hay numerosos libros y recursos en línea para profundizar en pandas, como el libro Python for Data Analysis de Wes McKinney, el creador de pandas.
  3. Consulta la documentación oficial: La documentación de pandas es una excelente referencia, especialmente para explorar funciones avanzadas.
  4. Usa Jupyter Notebooks: Esta herramienta facilita el proceso de aprendizaje, ya que permite escribir y ejecutar código en la misma interfaz, además de visualizar los resultados al instante.

En resumen

Pandas es una herramienta poderosa que abre un mundo de posibilidades en el manejo de datos. Su facilidad de uso y su integración con otras librerías de Python hacen que sea una opción versátil y robusta. Este tutorial te da una base sólida para empezar, pero recuerda que la práctica y la exploración de casos de uso reales te ayudarán a dominar pandas y convertirte en un experto en el análisis de datos en Python.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies