Manejo de datos faltantes en Python usando el método de interpolación

Manejo de datos faltantes en Python usando el método de interpolación

La interpolación es un método para generar puntos entre puntos dados. En este tutorial, mostraré cómo puede usar la interpolación para manejar datos faltantes en Python. Puedes ver el video completo de este tutorial en la parte inferior de este blog.

En Python, la interpolación es una técnica que se usa principalmente para imputar valores faltantes en el marco de datos o la serie mientras se procesan los datos. Demostraré cómo puede usar este método para estimar los puntos de datos faltantes en sus datos usando Python en LuckyTemplates.

Si observamos nuestros datos originales aquí debajo que están representados en el gráfico superior, podemos ver que hay muchos agujeros o datos faltantes que no podemos graficar porque no hay nada allí. Pero en el gráfico inferior, podemos ver que hemos hecho algunas estimaciones para averiguar cómo se verían esos datos. Los datos reales se representan en azul claro, mientras que los datos interpolados se muestran en azul oscuro.

Manejo de datos faltantes en Python usando el método de interpolación

Hay un par de tipos diferentes de estimación que vamos a hacer. Vamos a hacer una interpolación lineal, una interpolación más cercana y luego una interpolación de tiempo ponderado. Cada uno de ellos nos dará resultados ligeramente diferentes.

El ejemplo anterior utiliza la interpolación de tiempo ponderado, que se ve casi igual que la interpolación lineal, con la excepción de que se pondera en función de los días. Lineal estimó los datos en función de la pendiente entre estos dos puntos de datos. La interpolación más cercana tiene un tipo de estimación más plano, como puede ver a continuación, donde observamos el valor más cercano y pudimos estimar lo que existe entre esos dos.

Manejo de datos faltantes en Python usando el método de interpolación

Entonces, pasemos a un cuaderno Jupyter y traigamos eso.

Tabla de contenido

Cómo usar la interpolación en el manejo de datos faltantes en Python

Puede usar el Editor de secuencias de comandos para crear secuencias de comandos de todo, pero es más fácil. Obtiene más comentarios en su cuaderno Jupyter. Entonces, documentemos lo que estamos haciendo. Cuando copiemos y peguemos esto en nuestro editor de secuencias de comandos de Python, será muy limpio y claro.

Importemos las bibliotecas que queramos, importaremos Pandas y las guardaremos como una variable PD. Vamos a importar Numpy y guardarlo como la variable NP. Pandas es una biblioteca de manipulación de datos, mientras que Numpy también nos permite manipular datos y nos da algo de álgebra lineal.

Queremos traer nuestro conjunto de datos y lo guardaremos como una variable df . Y solo usaremos la variable Pandas ( pd ) y usaremos la función read.csv . Luego, vamos a copiar y pegar donde existe ese archivo en nuestra PC. El mío está en mi directorio de trabajo, así que todo lo que tengo que hacer es escribir machines.csv y encapsularlo entre paréntesis.

Manejo de datos faltantes en Python usando el método de interpolación

Y echemos un vistazo a nuestro conjunto de datos simplemente usando la variable df. Puede ver que esto va desde el 1 de 2022 hasta el 25. Son días consecutivos hasta el 15, y luego faltan cuatro días el 19, y luego faltan tres días cuando llegamos al 22, y faltan dos días el 25.

Los días que se saltan no son datos faltantes. Eso simplemente no son datos en nuestro conjunto de datos. Lo que vamos a tratar son los datos que faltan, que se ven representados con estos valores NaN o sin valores.

Ahora que tenemos nuestro conjunto de datos, usemos nuestros diferentes tipos de interpretación y guardémoslos como columnas diferentes. Podemos ver que tenemos un objeto , que está representado por un texto, y también tenemos un flotador .

Manejo de datos faltantes en Python usando el método de interpolación

Voy a aislar la columna Fecha usando la notación de corchetes. Entonces, voy a usar iguales para asignar esto. Voy a usar la variable pd , y luego solo usaré la función to_datetime. Y luego cerraré esa función con el paréntesis y agregaré la columna Fecha.

Manejo de datos faltantes en Python usando el método de interpolación

Podemos ver que ahora tenemos la Fecha como el tipo de datos adecuado.

Manejo de datos faltantes en Python usando el método de interpolación

Aquí tenemos un índice, que se indica con los números del 1 al 18. Cuando hagamos Lineal, usaremos estos números para crear una conexión lineal entre los puntos de datos existentes. Pero también queremos poder usar una interpolación ponderada en el tiempo, que mire el tiempo y nos brinde los resultados en función de los días reales. Queremos establecer la columna Fecha como índice, para poder utilizarla.

Voy a usar mi variable de marco de datos (df) y hago set_index. Necesitamos pasar un parámetro llamado inplace para asegurarnos de que se pase de forma permanente. Entonces, voy a usar inplace igual a verdadero, y luego voy a presionar shift y entrar. Y con eso, pueden ver que el índice numérico desapareció, y tenemos un índice de fecha y hora.

Manejo de datos faltantes en Python usando el método de interpolación

Ahora, podemos empezar a construir las columnas que queramos. Construyamos una columna en la que estemos interpolando el punto de datos más cercano, que llenará estos valores faltantes con el valor más cercano. Queremos crear una columna llamada users_nearest y queremos asignarla a una columna de Usuarios .

Queremos crear una columna llamada user_nearest y queremos asignarla a una columna de usuario. Y ahora que tenemos esa columna aislada, podemos usar la función de interpolación , y podemos presionar shift-tab para ver qué parámetros toma esta función. Hay muchos tipos diferentes de métodos.

Puede ver que el valor predeterminado es lineal, y si desea que vea todos los diferentes métodos, hay información dentro de esto. Puede abrir esto hasta el final y hay mucha información aquí que le dará mucha información. Pero siempre es mejor ir al sitio de Pandas y ver cuáles son los diferentes tipos de interpolaciones.

Manejo de datos faltantes en Python usando el método de interpolación

Ahora vamos a pasar el método que queremos y vamos a usar el método de interpolación más cercana. Todo lo que tenemos que hacer es ejecutar esto, y puede ver que se crea una columna. Si miramos esa línea en particular, podemos ver eso como un valor faltante. Y pueden ver que ha sido interpolado donde tomó el valor más cercano y lo agregó aquí. Como puede ver, ya no tenemos valores faltantes para esa fila en particular.

Manejo de datos faltantes en Python usando el método de interpolación

Ahora, copiemos esto dos veces y cambiemos el nombre de estas columnas a user_linear y user_time . También cambiaremos los métodos para que coincidan con nuestros encabezados. Podemos cambiar e ingresar, y puede ver que hemos creado tres columnas basadas en diferentes tipos de métodos de interpolación.

Manejo de datos faltantes en Python usando el método de interpolación

A continuación, quiero crear una columna más en particular que nos permita indicar cuáles de estas están vacías, como una bandera en nuestros datos. Vamos a usar Numpy para eso.

Entonces, vamos a crear una nueva columna llamada df y luego la llamaremos bandera. Vamos a asignar eso con ese signo igual. Luego, usaremos np , que es nuestra variable Numpy. Y luego, vamos a usar la función where , que es una función condicional. Establecemos la condición y luego obtenemos un ejemplo de verdadero y falso. Usamos doble igual, que es igual en Python. Cuando es cierto, queremos decir Faltan datos . La otra opción será Datos .

Manejo de datos faltantes en Python usando el método de interpolación

Podemos usar esa bandera en nuestro visual. Una vez que estemos en su cuaderno, vaya a transformar y presione ejecutar el script de Python. Ahora hay un par de pasos diferentes. Necesitamos que esto funcione dentro del entorno de LuckyTemplates .

Tenemos todos nuestros códigos aquí y necesitamos agregar algunos pasos más. Primero, cuando tratamos con fecha y hora, necesitamos agregar un parámetro de error que diga, si tenemos algún error, puede forzarlo o intentar cambiarlo. Entonces, voy a poner aquí los errores iguales y luego los paréntesis coerce . A continuación, debemos reasignar la variable del conjunto de datos como df.

Manejo de datos faltantes en Python usando el método de interpolación

Cuando hacemos clic en Aceptar, obtendremos otro error, y esto es lo que debemos hacer para solucionarlo. Si repasamos nuestros pasos, no necesitamos tener nuestra fecha formateada. Dejaremos que Python trabaje con las fechas porque las fechas son únicas para cada plataforma. Lo primero que debemos hacer es deshacernos de Changed Type .

Manejo de datos faltantes en Python usando el método de interpolación

No tenemos la columna Fecha porque la fecha es el índice. Entonces, volvemos a nuestro script de Python y luego simplemente reiniciamos nuestro índice, df.reset_index . Decimos que queremos restablecerlo a la omisión de la columna Fecha en ese paréntesis, y luego queremos hacer inplace = true .

Manejo de datos faltantes en Python usando el método de interpolación

Y ahora, tenemos la Fecha y todos nuestros otros tipos de datos están completos.

Manejo de datos faltantes en Python usando el método de interpolación

Si ponemos eso en un visual, así es como se ve en tres métodos de interpolación diferentes en el manejo de datos faltantes en Python.

Manejo de datos faltantes en Python usando el método de interpolación


Tipos de cambio en LuckyTemplates: manejo de datos faltantes
Python Scripting en informes de datos de LuckyTemplates
Cómo cargar conjuntos de datos de muestra en Python

Conclusión

En este tutorial, aprendió tres métodos de interpolación para manejar datos faltantes en Python . Hemos discutido los métodos de interpolación de tiempo lineal, más cercano y ponderado.

Espero que lo encuentres útil y lo apliques en tu propio trabajo. Puede ver el video tutorial completo a continuación para obtener más detalles y consultar los enlaces a continuación para obtener más contenido relacionado con el manejo de datos faltantes en Python.

¡Mis mejores deseos!

Gaelim


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.