Volver a la biblioteca

Inventario de librería con problemas de carga

Inventario de una librería independiente exportado de un sistema viejo, con problemas serios de carga que requieren limpieza completa antes de poder analizarlo.

AvanzadoComercio42 filas · 8 columnas

Herramientas sugeridas

PythonPrincipalExcel

Sobre este dataset

Este dataset contiene el inventario exportado del sistema de gestión de una librería independiente. El sistema es viejo y los datos fueron cargados a lo largo de los años por distintas personas sin validación, por lo que el archivo CSV resultante tiene serios problemas que vas a tener que resolver antes de poder hacer cualquier análisis útil.

Problemas que vas a encontrar: - Precios en formatos inconsistentes: con símbolo $, sin símbolo, con coma decimal, con punto decimal, con prefijo "AR$", o vacíos. - ISBNs con y sin guiones, algunos truncados a ISBN-10 cuando deberían ser ISBN-13, otros con espacios extra o vacíos. - Categorías con problemas de mayúsculas, tildes y typos (por ejemplo: "Triller" en vez de "Thriller"). - Año de publicación cargado como texto en algunos casos: "del 2020", "circa 1949", o vacío. - Stock con valores negativos (errores de inventario reales) y algunos vacíos. - Libros duplicados con misma información pero IDs distintos. - El mismo autor escrito de formas distintas en filas diferentes (por ejemplo: "Stephen King" y "S. King", o "Gabriel García Márquez" y "García Márquez, Gabriel"). - Algunas filas casi vacías que solo tienen el ID.

Es el típico desafío que te toca cuando heredás un dataset de un cliente o de un sistema legacy. El ejercicio principal no es analizar, sino dejar el dataset USABLE.

Recomendado fuertemente para Python (pandas + regex). Es posible hacerlo en Excel pero requiere mucho más trabajo manual.

Diccionario de columnas

ColumnaDescripción
libro_idIdentificador interno del libro en el sistema (formato L###).
tituloTítulo del libro. Algunas filas vienen vacías.
autorAutor del libro. El mismo autor puede aparecer escrito de formas distintas en filas diferentes.
categoriaCategoría literaria. Tiene problemas de capitalización, tildes y algún typo.
isbnISBN del libro. Aparece en distintos formatos: con/sin guiones, ISBN-13 e ISBN-10, con espacios, o vacío.
año_publicacionAño de publicación. A veces aparece como número, otras con prefijos como 'del' o 'circa', otras vacío.
precioPrecio del libro en pesos argentinos. Formatos inconsistentes: con/sin $, con coma o punto decimal, con prefijo AR$, o vacío.
stockCantidad de unidades en stock. Puede ser negativo (errores de carga) o vacío.

Vista previa

libro_idtituloautorcategoriaisbnaño_publicacionpreciostock
L020FrankensteinMary ShelleyTerror978-84-376-0494-31818$1550020
L034DráculaBram Stokerterror9788437604949circa 189725000,0013
L011El principitoAntoine de Saint-ExupéryInfantil97895049151943 $285003
L010Breve historia del tiempoStephen HawkingCiencia978-84-08-13418-0198815500.005
L030EducatedTara WestoverBIOGRAFIA9788466664383del 2018$320005

Ejercicios propuestos

  1. Hacé un diagnóstico inicial: identificá cuántas filas tienen al menos un valor nulo, cuántos precios no se pueden convertir directamente a número, y cuántas categorías únicas existen (incluyendo las versiones mal escritas).

    IntermedioPythonExcel
  2. Normalizá la columna precio a un valor numérico único (sin símbolos, en formato decimal con punto). Decidí qué hacer con los valores que no se pueden recuperar.

    AvanzadoPython
  3. Limpiá la columna categoria para unificar las versiones mal escritas y normalizar mayúsculas/tildes. Detectá y corregí typos como 'Triller' por 'Thriller'.

    AvanzadoPython
  4. Detectá libros duplicados que tienen IDs distintos pero representan el mismo libro (mismo título y autor). Decidí qué fila conservar y qué hacer con el stock cuando hay diferencias entre las copias.

    AvanzadoPython
  5. Identificá los casos donde el mismo autor está escrito de distintas formas (por ejemplo: 'Stephen King' y 'S. King'). Unificá los nombres a un formato canónico y volvé a analizar cuántos autores únicos tiene la librería.

    AvanzadoPython

Origen

Creado por Bunseki Curado para fines educativos. Libre uso para aprender.

Etiquetado como Avanzado en contexto comercio.