El análisis y limpieza de valores faltantes (NaNs) es una tarea muy común antes de comenzar a trabajar con un conjunto de datos. Si bien eliminar filas que contengan algún NaN con df.dropna() es sencillo, en ocasiones es más útil analizar y limpiar los valores nulos por columnas. Esto es especialmente importante cuando se dispone […]
La metodología en Ciencia de Datos: transformar problemas en soluciones
La ciencia de datos requiere más que aplicar algoritmos: necesita un proceso estructurado que permita transformar información cruda en soluciones efectivas. En este post veremos la metodología de IBM (creada por John Rollins) para la ciencia de datos, que se compone de 10 etapas iterativas. Esto quiere decir que, en cada ciclo, se revisan, refinan […]
Cómo evitar el error «ValueError: All arrays must be of the same length» al cargar un JSON en Pandas
Es común al intentar cargar un JSON en un dataframe Pandas que obtengamos el error el tipo «ValueError: arrays must all be same length«. El problema se genera porque Pandas necesita que todas las columnas tengan la misma extensión, y en la estructura JSON esta característica no tiene porqué darse. Para solucionar este problema, en […]
Creación de entornos en Anaconda
Los entornos virtuales son espacios independientes a tu instalación local, cuya función es «empaquetar» de forma independiente los diferentes recursos y librerías. Gracias a este recurso podemos tener distintos entornos virtuales con diferentes versiones de Python y de las librerías usadas. Así, por ejemplo, podemos tener un entorno con Python 3.8 y tensorflow que nos sirve […]
Ejecución secuencial de scripts de Python dentro de otro script con control de errores
Muchas veces es necesario ejecutar una serie de scripts de forma secuencial por lo que crear un script maestro o script de automatización que ejecute todos nuestros scripts en el orden deseado es una buena opción. De esta forma, es fácil también implementar un control de errores dentro de nuestro script que nos avise en […]
Funciones agregadas dentro de funciones agregadas en SQL
Un pequeño problema de SQL al que me tuve que enfrentar el otro día consistía en la necesidad de usar funciones agregadas (sum, max, min…) dentro de otra función agregada. El problema parte de aquí: Es necesario hacer un SUM() de un CASE-WHEN en el que hay otros SUM(). Pero esto produce el siguiente mensaje […]
Eliminación de columnas de un dataframe en R en función del porcentaje de NULLS que contengan
El análisis y limpieza de registros NaNs (aka NULLS) es una tarea común antes de comenzar a trabajar con un conjunto de datos. Eliminar filas que contienen algún hueco es una acción inmediata con la función na.omit(). Pero muchas veces es conveniente realizar un análisis/limpieza de valores NaNs (o NULLS) por columnas en lugar de […]
Uso de la función mutate() de dplyr junto a un condicionante ifelse en R
Uno de los «verbos» que incluye la librería dplyr y que es realmente útil es el llamado mutate(). Mutate() sirve para crear nuevas variables/columnas a partir de la existentes. Esto nos va a permitir crear estas nuevas variables a partir de relaciones o condicionantes. En este post veremos su uso más simple y su uso […]
Cómo eliminar columnas de un DataFrame de Python Pandas
En un anterior post vimos cómo eliminar filas de un DataFrame de Python Pandas según una condición. Vamos a ver ahora cómo eliminar columnas de tres formas diferentes, usando tanto el nombre de la columna como su posición. 0. Dataset de inicio Partimos de un dataset con datos de observaciones astronómicas que ha sido recortado […]
Persistencia de modelos en Python: cómo guardar tu modelo entrenado de Machine Learning
Entrenar un modelo de Machine Learning es un proceso muchas veces lento, por lo que no tiene sentido volver a entrenar el modelo cada vez que lo necesitemos en el futuro. Por suerte, una herramienta de SciKit Learn nos permite guardar nuestro modelo ya entrenado para utilizarlo cuando lo necesitemos. Vamos allá: 1. Guardar el […]