CursosEmpresasBlogLiveConfPrecios

Exponer filas faltantes implícitas en explícitas

Clase 10 de 21 • Curso de Manejo de Datos Faltantes: Detección y Exploración

Clase anteriorSiguiente clase

Contenido del curso

Introducción a los valores faltantes

  • 1
    ¿Por qué explorar y lidiar con valores faltantes?

    ¿Por qué explorar y lidiar con valores faltantes?

    06:59 min
  • 2
    Operaciones con valores faltantes

    Operaciones con valores faltantes

    13:52 min
  • 3
    Conociendo datasets para manejo de datos faltantes

    Conociendo datasets para manejo de datos faltantes

    09:01 min
  • 4

    Ejecución de Notebooks en Deepnote con %run

    01:07 min
  • 5
    Extendiendo la API de Pandas

    Extendiendo la API de Pandas

    14:03 min
  • 6
    Tabulación de valores faltantes

    Tabulación de valores faltantes

    16:58 min
  • 7
    Visualización de valores faltantes

    Visualización de valores faltantes

    12:04 min

Manipulación inicial de valores faltantes

  • 8
    Codificación de valores faltantes

    Codificación de valores faltantes

    13:10 min
  • 9
    Conversión de valores faltantes implícitos en explícitos

    Conversión de valores faltantes implícitos en explícitos

    08:57 min
  • 10
    Exponer filas faltantes implícitas en explícitas

    Exponer filas faltantes implícitas en explícitas

    Viendo ahora
  • 11
    Tipos de valores faltantes

    Tipos de valores faltantes

    05:51 min
  • 12
    MCAR, MAR, MNAR en Python

    MCAR, MAR, MNAR en Python

    08:51 min

Búsqueda de relaciones de valores faltantes

  • 13
    Matriz de sombras: shadow matrix

    Matriz de sombras: shadow matrix

    14:34 min
  • 14
    Visualización de valores faltantes en una variable

    Visualización de valores faltantes en una variable

    10:06 min
  • 15
    Visualización de valores faltantes en dos variables

    Visualización de valores faltantes en dos variables

    10:00 min
  • 16
    Scatterplot con valores faltantes

    Scatterplot con valores faltantes

    09:42 min
  • 17
    Correlación de nulidad

    Correlación de nulidad

    07:00 min

Tratamiento de valores faltantes

  • 18
    Eliminación de valores faltantes: pairwise y listwise

    Eliminación de valores faltantes: pairwise y listwise

    14:28 min
  • 19
    Imputación básica de datos

    Imputación básica de datos

    10:53 min
  • 20
    Bonus: visualización múltiple de imputaciones

    Bonus: visualización múltiple de imputaciones

    07:50 min

Cierre de curso

  • 21
    Continúa aprendiendo sobre el manejo de valores faltantes

    Continúa aprendiendo sobre el manejo de valores faltantes

    03:21 min
  • Tomar el examen del curso
    • Jeinfferson Bernal G

      Jeinfferson Bernal G

      student•
      hace 3 años
      • Exponer N tuplas de valores faltantes. Encontrar los pares faltantes de name y time
      # Rellena los datos faltantes que le indiquemos ( implicit_to_explicit_df # janitor .complete( "name", "time" ) )
      graph18.jpg
      • Limitar la exposicion de N tuplas de valores faltantes
      # limitar los datos que quieres mostrar ( implicit_to_explicit_df .complete( # formato diccionario con as variables y valores a mostrar {'name': ['lynn', 'zelda']}, {'time': ['morning', 'afternoon']}, sort=True # ordena los valores de manera que primero muestra los pasados y luego el resto ) )
      graph19.jpg
      • Rellenar los valores faltantes
      ( implicit_to_explicit_df .complete( 'name', 'time', fill_value= np.nan # puedes asignar el valor que desees. Por defecto asigna nan ) )
      graph20.jpg
      • Limitar el rellenado de valores faltantes implicitos
      ( implicit_to_explicit_df .complete( 'name', 'time', fill_value=0, explicit=False ) )
      graph21.jpg
      Naren Fragozo

      Naren Fragozo

      student•
      hace 3 años

      La librería de Janitor es una librería de Python que proporciona un conjunto de funciones útiles para limpiar y preparar datos en Pandas. Esta biblioteca está diseñada para ayudar en la preparación de datos para el análisis, lo que puede ahorrar tiempo y reducir errores. Algunas de las funciones más utilizadas de Janitor en Pandas incluyen.

      • clean_names(): esta función se utiliza para limpiar y estandarizar los nombres de las columnas en un DataFrame. Elimina espacios, caracteres especiales y convierte los nombres de las columnas a minúsculas.

      • remove_empty() y remove_na(): estas funciones se utilizan para eliminar filas y columnas que contengan valores faltantes o nulos.

      • coalesce(): esta función se utiliza para reemplazar los valores nulos o faltantes en una columna con otro valor especificado.

      • expand_column(): esta función se utiliza para dividir una columna en múltiples columnas utilizando un separador específico.

      • get_dupes(): esta función se utiliza para identificar filas duplicadas en un DataFrame.

      - **groupby_summarize():** esta función se utiliza para agrupar los datos en un DataFrame y calcular estadísticas resumidas, como la media, la suma o la desviación estándar.
      - **pivot_longer() y pivot_wider():** estas funciones se utilizan para transformar un DataFrame de formato ancho a formato largo o viceversa.

      En resumen, la librería de Janitor es una herramienta útil para preparar y limpiar datos en Pandas. Sus funciones son útiles para estandarizar nombres de columnas, eliminar filas y columnas con valores faltantes, identificar filas duplicadas y realizar transformaciones de formato en los datos.

      Alberto Duque Villegas

      Alberto Duque Villegas

      student•
      hace 2 años

      ¿Por qué se sigue proponiendo trabajar en DeepNote cuando en algunos PC´s corre demasíado lento y el curso se vuelve un dolor de cabeza?

      Por mi parte, estoy trabajando en Colab de Google y funciona a las mil maravillas.

      Ian Cristian Ariel Yané

      Ian Cristian Ariel Yané

      student•
      hace 3 años

      A alguien mas le aparece este error?:

      • AttributeError: 'DataFrame' object has no attribute 'complete'
      Jeinfferson Bernal G

      Jeinfferson Bernal G

      student•
      hace 3 años

      Muy interesante la clase y la libreria janitor

      Mauricio Escobar

      Mauricio Escobar

      student•
      hace un año

      En mi caso para hacerlo más interesante, quise rellenar los nulos en función de los patrones observados en el dataframe:

      • patrón observado: mientras pasa el día, el poder se reduce 40 puntos (asumiendo que este compotamiendo está estandarizado para todo el dataset)
      #df_pivoted = df_botw_explicit.pivot(index='name', columns='time', values='power').reset_index() def fill_power(row): if pd.notna(row['morning']): if pd.isna(row['afternoon']): row['afternoon'] = row['morning'] - 40 if pd.isna(row['night']): row['night'] = row['afternoon'] - 40 if pd.notna(row['afternoon']): if pd.isna(row['morning']): row['morning'] = row['afternoon'] + 40 if pd.isna(row['night']): row['night'] = row['afternoon'] - 40 if pd.notna(row['night']): if pd.isna(row['afternoon']): row['afternoon'] = row['night'] + 40 if pd.isna(row['morning']): row['morning'] = row['afternoon'] + 40 return row df_fill = df_pivoted.apply(fill_power, axis= 1) df_complete = df_fill.melt(id_vars= ['name'], value_vars= ['morning', 'afternoon', 'night'], var_name= 'time', value_name= 'power') df_complete = df_complete.sort_values(by= ['name', 'time']).reset_index(drop= True) ```![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-07-16%20a%20la%28s%29%205.02.59p.m.-3e3371ce-1c0f-448b-9d7e-5d364a2bed33.jpg)
        Mauricio Escobar

        Mauricio Escobar

        student•
        hace un año

        Ok, va el resultado otra vez:

      Nixon Rolando García Ramírez

      Nixon Rolando García Ramírez

      student•
      hace 3 años

      Bueno, no se si lo que voy a comentar es de conocimiento general, pero yo estoy usando pycharm y para instalarlo realize el siguiente codigo en conda:

      conda install pyjanitor -c conda-forge

      Y con pip (ambientes virtuales ) es con:

      pip3 install pyjanitor

      Siendo mi error que escribir janitor como si ese fuera el nombre del paquete porque cuando uno lo importa lo importa como:

      import janitor
      Mario Alexander Vargas Celis

      Mario Alexander Vargas Celis

      student•
      hace un año

      **Exponer filas faltantes implícitas en explícitas** se refiere a identificar y hacer explícitas las filas que, aunque no tengan valores NaN visibles, están incompletas o contienen información que representa datos faltantes de forma implícita. Este tipo de situación ocurre cuando ciertos valores tienen un significado especial que indica una ausencia de datos, o cuando una combinación de valores sugiere que faltan datos.

      ### Proceso para exponer filas faltantes implícitas en explícitas:

      1. **Identificación de filas faltantes implícitas:**

      Las filas que contienen valores implícitos faltantes suelen tener valores como 0, -1, o cadenas vacías (''). Estas filas pueden necesitar ser convertidas en explícitas.

      2. **Uso de mask() o apply() para detectar condiciones implícitas:**

      Si sabes qué condiciones representan datos faltantes, puedes usar estas funciones para transformar los datos y hacer los valores explícitos (NaN).

      3. **Crear nuevas filas o marcar datos incompletos con NaN:**

      Utilizando mask(), apply(), o replace() para convertir esas filas implícitas en explícitas, reemplazando valores o filas enteras con NaN.

      ### Ejemplo práctico:

      Supongamos que tienes un DataFrame donde los valores faltantes están representados de forma implícita, como valores 0 o -1 en la columna de precios o productos vacíos.

      import pandas as pd import numpy as np \# Ejemplo de DataFrame con valores faltantes implícitos data = {'Producto': \['A', 'B', 'C', 'D', 'E'], &#x20; 'Cantidad': \[10, 0, 5, -1, 8], &#x20; 'Precio': \[100, 0, -1, 150, 0]} df = pd.DataFrame(data) print("DataFrame original:") print(df) \# Definir condiciones implícitas para filas faltantes \# Suponemos que 'Cantidad' o 'Precio' con 0 o -1 representan valores faltantes df\_masked = df.mask((df\['Cantidad'] <= 0) | (df\['Precio'] <= 0)) print("\nDataFrame con filas faltantes explícitas:") print(df\_masked)

      ### Salida esperada:

      DataFrame original: &#x20; Producto Cantidad Precio 0 A 10 100 1 B 0 0 2 C 5 -1 3 D -1 150 4 E 8 0 DataFrame con filas faltantes explícitas: &#x20; Producto Cantidad Precio 0 A 10.0 100.0 1 B NaN NaN 2 C 5.0 NaN 3 D NaN 150.0 4 E 8.0 NaN

      ### Explicación:

      1. **Identificación de valores implícitos:** Hemos definido que los valores 0 o -1 en las columnas Cantidad y Precio son faltantes de forma implícita.

      2. **Uso de mask():** La función mask() aplica la condición y reemplaza los valores que cumplen con NaN.

      3. **Exposición explícita:** Ahora, los valores que estaban implícitamente faltantes (como 0 o -1) se muestran como NaN, haciendo evidente qué datos están faltando.

      ### Resumen de técnicas para identificar y exponer filas faltantes implícitas:

      - **mask()**: Para identificar y reemplazar valores que cumplen con una condición específica.

      - **apply()**: Para aplicar una función personalizada fila por fila para determinar si una fila es faltante de forma implícita.

      - **replace()**: Para reemplazar valores específicos en el DataFrame.

      - **isnull() y notnull()**: Para comprobar si los datos contienen valores explícitamente faltantes.

      Este proceso facilita el análisis posterior y asegura que las técnicas para manejar datos faltantes se apliquen correctamente.

      Pablo Alejandro Figueroa

      Pablo Alejandro Figueroa

      student•
      hace 2 años

      genial!

      Nestor Colmenarez

      Nestor Colmenarez

      student•
      hace 2 años

      🙋‍♂️Si tienes problemas importando alguna de las librerias, te recomiendo leer este aporte hecho en una clase anterior:

      https://platzi.com/comentario/4958456/

      Julián Cárdenas

      Julián Cárdenas

      student•
      hace 3 años

      Limitar el rellenado de valores faltantes implícitos

      ( implicit_to_explicit_df .complete( {"name": ["lynn", "zelda"]}, {"time": ["morning", "afternoon"]}, sort = True ) )
      ( implicit_to_explicit_df .complete( "name", "time", fill_value= "nan" ) )
      ( implicit_to_explicit_df .complete( "name", "time", fill_value= 99, explicit=False ) )

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads