Introducción

Pandas es una biblioteca esencial para la manipulación y análisis de datos en Python. Proporciona estructuras de datos rápidas, flexibles y expresivas diseñadas para facilitar el trabajo con datos "relacionales" o "etiquetados". En esta sección, aprenderemos a utilizar Pandas para realizar diversas operaciones de manipulación de datos.

Contenido

  1. Instalación de Pandas
  2. Estructuras de Datos en Pandas
    • Series
    • DataFrames
  3. Operaciones Básicas con DataFrames
    • Selección y Filtrado de Datos
    • Indexación y Slicing
    • Agregar y Eliminar Columnas
  4. Manipulación de Datos
    • Operaciones de Unión y Combinación
    • Agrupación y Agregación
    • Transformaciones y Aplicaciones
  5. Manejo de Datos Faltantes
  6. Ejercicios Prácticos

  1. Instalación de Pandas

Para instalar Pandas, puedes usar pip:

pip install pandas

  1. Estructuras de Datos en Pandas

Series

Una Serie es una estructura de datos unidimensional similar a una lista o un array de NumPy. Cada elemento en una Serie tiene un índice asociado.

import pandas as pd

# Crear una Serie
data = [1, 2, 3, 4, 5]
series = pd.Series(data)
print(series)

DataFrames

Un DataFrame es una estructura de datos bidimensional con etiquetas en los ejes (filas y columnas). Es similar a una hoja de cálculo o una tabla en una base de datos.

# Crear un DataFrame
data = {
    'Nombre': ['Ana', 'Luis', 'Carlos', 'María'],
    'Edad': [23, 45, 34, 25],
    'Ciudad': ['Madrid', 'Barcelona', 'Valencia', 'Sevilla']
}
df = pd.DataFrame(data)
print(df)

  1. Operaciones Básicas con DataFrames

Selección y Filtrado de Datos

Puedes seleccionar columnas específicas de un DataFrame utilizando el nombre de la columna.

# Seleccionar una columna
print(df['Nombre'])

# Seleccionar múltiples columnas
print(df[['Nombre', 'Ciudad']])

Indexación y Slicing

Puedes acceder a filas y columnas utilizando etiquetas o índices.

# Seleccionar una fila por índice
print(df.loc[1])

# Seleccionar una fila por posición
print(df.iloc[1])

# Seleccionar un rango de filas
print(df[1:3])

Agregar y Eliminar Columnas

Puedes agregar nuevas columnas o eliminar columnas existentes.

# Agregar una nueva columna
df['Salario'] = [30000, 40000, 35000, 45000]
print(df)

# Eliminar una columna
df = df.drop('Salario', axis=1)
print(df)

  1. Manipulación de Datos

Operaciones de Unión y Combinación

Puedes combinar DataFrames utilizando funciones como merge, concat y join.

# Crear otro DataFrame
data2 = {
    'Nombre': ['Ana', 'Luis', 'Carlos', 'María'],
    'Salario': [30000, 40000, 35000, 45000]
}
df2 = pd.DataFrame(data2)

# Combinar DataFrames
merged_df = pd.merge(df, df2, on='Nombre')
print(merged_df)

Agrupación y Agregación

Puedes agrupar datos y aplicar funciones de agregación.

# Agrupar por una columna y calcular la media
grouped_df = df.groupby('Ciudad').mean()
print(grouped_df)

Transformaciones y Aplicaciones

Puedes aplicar funciones a columnas o filas.

# Aplicar una función a una columna
df['Edad'] = df['Edad'].apply(lambda x: x + 1)
print(df)

  1. Manejo de Datos Faltantes

Pandas proporciona métodos para manejar datos faltantes.

# Crear un DataFrame con valores faltantes
data = {
    'Nombre': ['Ana', 'Luis', 'Carlos', 'María'],
    'Edad': [23, None, 34, 25],
    'Ciudad': ['Madrid', 'Barcelona', None, 'Sevilla']
}
df = pd.DataFrame(data)

# Rellenar valores faltantes
df = df.fillna({'Edad': df['Edad'].mean(), 'Ciudad': 'Desconocida'})
print(df)

# Eliminar filas con valores faltantes
df = df.dropna()
print(df)

  1. Ejercicios Prácticos

Ejercicio 1

Crea un DataFrame con los siguientes datos y realiza las siguientes operaciones:

Nombre Edad Ciudad Salario
Ana 23 Madrid 30000
Luis 45 Barcelona 40000
Carlos 34 Valencia 35000
María 25 Sevilla 45000
  1. Selecciona las columnas 'Nombre' y 'Salario'.
  2. Filtra las filas donde la 'Edad' sea mayor de 30.
  3. Agrupa por 'Ciudad' y calcula la media de 'Salario'.

Solución

# Crear el DataFrame
data = {
    'Nombre': ['Ana', 'Luis', 'Carlos', 'María'],
    'Edad': [23, 45, 34, 25],
    'Ciudad': ['Madrid', 'Barcelona', 'Valencia', 'Sevilla'],
    'Salario': [30000, 40000, 35000, 45000]
}
df = pd.DataFrame(data)

# 1. Seleccionar columnas 'Nombre' y 'Salario'
print(df[['Nombre', 'Salario']])

# 2. Filtrar filas donde 'Edad' > 30
print(df[df['Edad'] > 30])

# 3. Agrupar por 'Ciudad' y calcular la media de 'Salario'
print(df.groupby('Ciudad')['Salario'].mean())

Conclusión

En esta sección, hemos aprendido a utilizar Pandas para la manipulación de datos en Python. Hemos cubierto las estructuras de datos básicas, operaciones comunes con DataFrames, y técnicas de manipulación de datos. Con estos conocimientos, estarás bien preparado para manejar y analizar datos de manera eficiente en tus proyectos de Python.

Curso de Programación en Python

Módulo 1: Introducción a Python

Módulo 2: Estructuras de Control

Módulo 3: Funciones y Módulos

Módulo 4: Estructuras de Datos

Módulo 5: Programación Orientada a Objetos

Módulo 6: Manejo de Archivos

Módulo 7: Manejo de Errores y Excepciones

Módulo 8: Temas Avanzados

Módulo 9: Pruebas y Depuración

Módulo 10: Desarrollo Web con Python

Módulo 11: Ciencia de Datos con Python

Módulo 12: Proyecto Final

© Copyright 2024. Todos los derechos reservados