Primero, necesitarás un Dataset para trabajar. Para este ejemplo, usaré un dataset simple que representa una base de datos de una librería, con tablas para libros y autores. Luego, escribiré un script en Python para interactuar con esta base de datos.
Pasos: descargar los DataSet: https://chat.openai.com/share/6465a31f-f15c-4aae-8302-0966f0bbff94
Paso 1. Debes abrir JupyterLab
clic en la flecha hacia arriba para cargar los Dataset: "Libros(1)" y "Autores(1)"
Luego al lado izquierdo haces doble clic en:
Se abrirá al lado derecho de tu Notebook el DataSet: Libros(1)
También cargas el DataSet: "Autores(1)"
Luego ejecutas estas líneas de código en JupyterLab:
import pandas as pd
import sqlite3
from datetime import datetime
import random
# Crear datos simulados para autores
autores = pd.DataFrame({
"autor_id": range(1, 11),
"nombre": [f"Autor {i}" for i in range(1, 11)],
"nacionalidad": ["País " + chr(65+i) for i in range(10)],
"fecha_nacimiento": [datetime(1950 + i, 1, 1) for i in range(10)]
})
# Crear datos simulados para libros
libros = pd.DataFrame({
"libro_id": range(1, 21),
"titulo": [f"Libro {i}" for i in range(1, 21)],
"genero": [random.choice(["Novela", "Poesía", "Ensayo", "Ciencia Ficción", "Biografía"]) for _ in range(20)],
"año_publicacion": [random.randint(1990, 2020) for _ in range(20)],
"autor_id": [random.randint(1, 10) for _ in range(20)]
})
autores, libros
//Este codigo permite insertar de manera aleatoria 20 registros para "Libros" y 10 registros para "Autores"
//Ten en cuenta que para ejecutar este código en JupyterLab, necesitarás tener instaladas las bibliotecas pandas, sqlite3, matplotlib, y seaborn. Si no las tienes instaladas, puedes instalarlas ejecutando !pip install pandas matplotlib seaborn en una celda de tu notebook de JupyterLab.
# Crear una conexión a una base de datos SQLite en memoria
conn = sqlite3.connect(':memory:')
# Crear las tablas autores y libros en la base de datos SQLite
autores.to_sql('autores', conn, index=False, if_exists='replace')
libros.to_sql('libros', conn, index=False, if_exists='replace')
# Verificar que las tablas se han creado correctamente
pd.read_sql_query("SELECT * FROM autores LIMIT 3", conn), pd.read_sql_query("SELECT * FROM libros LIMIT 3", conn)
// Este código hace las respectivas tablas en SQLite
# Análisis descriptivo básico # Número total de autores y libros num_autores = pd.read_sql_query("SELECT COUNT(*) as total_autores FROM autores", conn) num_libros = pd.read_sql_query("SELECT COUNT(*) as total_libros FROM libros", conn) # Revisión de valores faltantes en ambas tablas missing_values_autores = pd.read_sql_query("SELECT COUNT(*) - COUNT(autor_id) as autor_id, COUNT(*) - COUNT(nombre) as nombre, COUNT(*) - COUNT(nacionalidad) as nacionalidad, COUNT(*) - COUNT(fecha_nacimiento) as fecha_nacimiento FROM autores", conn) missing_values_libros = pd.read_sql_query("SELECT COUNT(*) - COUNT(libro_id) as libro_id, COUNT(*) - COUNT(titulo) as titulo, COUNT(*) - COUNT(genero) as genero, COUNT(*) - COUNT(año_publicacion) as año_publicacion, COUNT(*) - COUNT(autor_id) as autor_id_libro FROM libros", conn) num_autores, num_libros, missing_values_autores, missing_values_libros
//Código para hacer las consultas de las tablas Libros(1) y Autores(1)
# Análisis estadístico descriptivo
# Número de libros por autor
libros_por_autor = pd.read_sql_query("""
SELECT a.nombre, COUNT(l.libro_id) as num_libros
FROM autores a
JOIN libros l ON a.autor_id = l.autor_id
GROUP BY a.autor_id
ORDER BY num_libros DESC
""", conn)
# Géneros más comunes
generos_mas_comunes = pd.read_sql_query("""
SELECT genero, COUNT(*) as cantidad
FROM libros
GROUP BY genero
ORDER BY cantidad DESC
""", conn)
# Distribución de años de publicación de los libros
distribucion_años = pd.read_sql_query("SELECT año_publicacion, COUNT(*) as cantidad FROM libros GROUP BY año_publicacion", conn)
libros_por_autor, generos_mas_comunes, distribucion_años
//CÓDIGO DEL ANALISIS ESTADÍSTICO DESCRIPTIVO
Número de Libros por Autor:
- Esta visualización muestra la cantidad de libros publicados por cada autor. Podemos ver que algunos autores, como Autor 8, han sido más prolíficos en términos de número de libros publicados.
Distribución de Géneros de Libros:
- El gráfico revela que la "Poesía" es el género más común en este conjunto de datos, seguido de cerca por "Novela", "Ciencia Ficción" y "Biografía". El género "Ensayo" es menos común.








No hay comentarios:
Publicar un comentario