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 […]
Cómo dividir un conjunto de datos en dos partes (train/test split) en Python
Una operación que es común en todos los modelos de aprendizaje supervisado es la división de nuestro conjunto de datos en -al menos- dos partes: una parte Train, de entrenamiento, que corresponderá a la mayor parte de nuestro dataset y que usaremos para entrenar nuestro modelo y un parte Test, de menor tamaño, sobre la […]
Ejemplo de uso de un Mapa Auto-Organizado (SOM) de Kohonen en R
Los Mapas Auto-Organizados (con las siglas SOM en inglés) son un tipo de red neuronal entrenada como aprendizaje no supervisado, de forma que se modifican repetidamente los pesos de dicha red en respuesta a patrones de activación hasta que una configuración final queda desarrollada. El modelo, creado por Teuvo Kohonen en 1982, consiste en establecer […]