El proceso de limpieza y transformación de datos es una fase clave que se debe realizar antes de cualquier análisis en un proyecto de ciencia de datos. Siendo una fase clave para el éxito del proyecto. Generalmente, trabajar con datos desordenados o mal formateados es una tarea ardua que puede llegar a consumir mucho tiempo. Para solucionar esto existen bibliotecas como Pyjanitor que permiten simplificar las tareas de limpieza y transformación de datos.
En esta entrada se inicia una serie de cuatro publicaciones sobre los posibles usos de la biblioteca Pyjanitor. Las entradas de la serie son:
Pyjanitor es una biblioteca de Python diseñada para agilizar el trabajo en los conjuntos de datos de Pandas, la biblioteca de referencia para la manipulación de datos en Python. Ampliando las capacidades de Pandas. Pyjanitor proporciona una sintaxis simple para realizar operaciones comunes de limpieza y transformación de datos, similar a la del Tidyverse en R, con la que es posible realizar tareas complejas con menos código y de una manera más intuitiva.
Pyjanitor ofrece una variedad de características para mejorar significativamente los flujos de trabajo a la hora de limpiar y transformar datos en Pandas:
groupby y agg para agregar estos en base a diferentes criterios. Pyjanitor facilita la agregación de datos, lo que permite obtener información en conjuntos de datos grandes y complejos.La forma más sencilla para la instalación de Pyjanitor en entorno de Python es usar el comando pip. Para ello solamente se debe ejecutar el siguiente comando en una terminal:
pip install pyjanitor
En esta primera entrada, para ilustrar cómo funciona Pyjanitor en la práctica, se puede utilizar un conjunto de datos clásico como los del Titanic. Este conjunto de datos contiene información sobre los pasajeros del famoso barco Titanic, incluyendo detalles como edad, género, clase de pasajero y si sobrevivieron o no. Para facilitar el seguimiento de los ejemplos, los datos se pueden cargar directamente desde una URL utilizando la biblioteca Pandas:
import pandas as pd # URL del conjunto de datos del Titanic url = 'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv' # Cargar el conjunto de datos en un DataFrame titanic = pd.read_csv(url) # Mostrar el conjunto de datos titanic.head()
PassengerId Survived Pclass \
0 1 0 3
1 2 1 1
2 3 1 3
3 4 1 1
4 5 0 3
Name Sex Age SibSp \
0 Braund, Mr. Owen Harris male 22.0 1
1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1
2 Heikkinen, Miss. Laina female 26.0 0
3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1
4 Allen, Mr. William Henry male 35.0 0
Parch Ticket Fare Cabin Embarked
0 0 A/5 21171 7.2500 NaN S
1 0 PC 17599 71.2833 C85 C
2 0 STON/O2. 3101282 7.9250 NaN S
3 0 113803 53.1000 C123 S
4 0 373450 8.0500 NaN S
Una vez cargado el conjunto de datos, se puede analizar la tasa de supervivencia por género y clase con el siguiente código.
import janitor
# Limpiar nombres de columnas y calcular la tasa de supervivencia en una línea
survival_rate = (
titanic.clean_names()
.groupby(["sex", "pclass"])
.agg(total_passengers=("survived", "count"), survived=("survived", "sum"))
.assign(survival_rate=lambda x: x["survived"] / x["total_passengers"])
.reset_index()
)
# Mostrar el resultado
survival_rate sex pclass total_passengers survived survival_rate
0 female 1 94 91 0.968085
1 female 2 76 70 0.921053
2 female 3 144 72 0.500000
3 male 1 122 45 0.368852
4 male 2 108 17 0.157407
5 male 3 347 47 0.135447
En este ejemplo, se puede ver como un análisis tan complejo se puede realizar encadenando varios métodos en el DataFrame de Pandas. Lo primero que se hace es limpiar los nombres de las columnas mediante el método clean_names(). A continuación, se agrupan los datos por género y clase utilizando la función groupby de Pandas. Una vez hecho esto se contabilizan mediante el método agg() cuántos pasajeros hay en cada grupo y el número que ha sobrevivido. Con esto, finalmente se calcula la tasa de supervivencia para cada grupo y agrega el resultado a la columna survival_rate.
Como se puede ver en el ejemplo, el uso de Pyjanitor, permite realizar fácilmente operaciones de limpieza y transformación de datos. Haciendo que los análisis de estos sean más sencillos.
En esta entrada se han visto algunas de las principales ventajas que ofrece Pyjanitor para limpieza y transformación de datos en Python. Descubriendo algunas de sus características clave. Además, se ha mostrado como se puede realizar análisis complejos con un conjunto de datos real.
En la próxima entrada se explicará en detalle los métodos que ofrece Pyjanitor para la limpieza de datos en Python.
Imagen de Ryan McGuire en Pixabay
En la era del dato, las organizaciones se enfrentan al reto de gestionar volúmenes masivos…
En la serie Creación de una API REST con Express y TypeScript construimos una API…
Durante la Segunda Guerra Mundial, la Fuerza Aérea de Estados Unidos quería reforzar sus aviones…
En muchas situaciones —ya sea para grabar un tutorial, tomar capturas de pantalla profesionales, probar…
Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…
En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…
This website uses cookies.