sábado, 13 de enero de 2024

Aplicaciones con Matplotlib

 Por: Julia Torrez

Vamos a desarrollar un proyecto que utiliza las bibliotecas matplotlib, numpy y pandas aplicadas a una base de datos ficticia. Este proyecto se centrará en la visualización de datos y análisis básico utilizando estas poderosas bibliotecas de Python.

Paso 1: Generación de Datos Ficticios

import pandas as pd
import numpy as np
import random

# Generar datos ficticios
np.random.seed(42)
num_personas = 100

data = {
    'ID': range(1, num_personas + 1),
    'Edad': np.random.randint(18, 60, num_personas),
    'Ingresos': np.random.normal(50000, 15000, num_personas)
}

df = pd.DataFrame(data)
df.to_csv('datos.csv', index=False)

Generamos un conjunto de datos ficticios que incluye un identificador (ID), la edad y los ingresos de 100 personas. Los datos se guardan en un archivo CSV llamado datos.csv.

Paso 2: Análisis Básico con Pandas

# Cargar datos desde el archivo CSV
df = pd.read_csv('datos.csv')

# Mostrar las primeras filas del DataFrame
print(df.head())

# Estadísticas descriptivas
print(df.describe())

# Filtrar personas mayores de 30 años
personas_mayores_30 = df[df['Edad'] > 30]
print("\nPersonas mayores de 30 años:")
print(personas_mayores_30)

Resultado :

ID Edad Ingresos 0 1 56 47476.923679 1 2 46 67471.529683 2 3 32 46313.784689 3 4 25 38454.983395 4 5 38 68182.585132 ID Edad Ingresos count 100.000000 100.000000 100.000000 mean 50.500000 37.910000 50125.408702 std 29.011492 12.219454 14684.490603 min 1.000000 18.000000 12518.612875 25% 25.750000 26.750000 40689.408589 50% 50.500000 38.000000 49719.768392 75% 75.250000 46.250000 60624.020802 max 100.000000 59.000000 82380.927850 Personas mayores de 30 años: ID Edad Ingresos 0 1 56 47476.923679 1 2 46 67471.529683 2 3 32 46313.784689 4 5 38 68182.585132 5 6 56 68502.452068 .. .. ... ... 93 94 50 55945.609101 95 96 59 42163.077807 96 97 56 50195.508496 97 98 58 55666.543880
98 99 45 50942.368996

En esta parte, cargamos los datos y realizamos un análisis básico utilizando funciones de pandas para mostrar las primeras filas, estadísticas descriptivas y filtrar personas mayores de 30 años.

Paso 3: Visualización con Matplotlib

import matplotlib.pyplot as plt

# Histograma de edades
plt.hist(df['Edad'], bins=20, edgecolor='black')
plt.title('Distribución de Edades')
plt.xlabel('Edad')
plt.ylabel('Frecuencia')
plt.show()

# Diagrama de dispersión entre edad e ingresos
plt.scatter(df['Edad'], df['Ingresos'], alpha=0.5)
plt.title('Relación entre Edad e Ingresos')
plt.xlabel('Edad')
plt.ylabel('Ingresos')
plt.show()


Utilizamos matplotlib para crear un histograma de las edades y un diagrama de dispersión entre la edad y los ingresos.

Paso 4: Análisis Numérico con Numpy

# Calcular la media y la desviación estándar de los ingresos
media_ingresos = np.mean(df['Ingresos'])
std_ingresos = np.std(df['Ingresos'])

print(f"\nMedia de Ingresos: {media_ingresos:.2f}")
print(f"Desviación Estándar de Ingresos: {std_ingresos:.2f}")

RESULTADO:
Media de Ingresos: 50125.41 Desviación Estándar de Ingresos: 14610.88

Aplicamos numpy para realizar un análisis numérico, calculando la media y la desviación estándar de los ingresos.

Este es un ejemplo básico que puedes expandir según tus necesidades y conocimientos. Puedes explorar técnicas más avanzadas de visualización y análisis de datos, y aplicar estas bibliotecas en conjuntos de datos más grandes y reales. Recuerda ajustar y personalizar el proyecto según tus objetivos específicos.






















No hay comentarios:

Publicar un comentario

Telecomunicaciones VS Informática

  Por: Julia Torrez Proyecto de Análisis de Evaluación Sumativa para Estudiantes de Teleinformática con Pensamiento Computacional 1. Definic...