CursosEmpresasBlogLiveConfPrecios

Eliminación de valores faltantes: pairwise y listwise

Clase 18 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

    07:59 min
  • 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

    Viendo ahora
  • 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

      Eliminacion de Valores Faltantes

      Cuando se trata de valores faltantes tenemos dos aproximaciones para el tratamiento de los mismos:

      • Eliminacion de valores faltantes: La eliminación de valores faltantes asume que los valores faltantes están perdidos completamente al azar (MCAR). En cualquier otro caso, realizar una eliminación de valores faltantes podrá ocasionar sesgos en los análisis y modelos subsecuentes. Por tanto, es importante investigar que mecanismos tienen los datos para asi evitar los sesgos a la hora de eliminarlos
      • Imputacion de valores faltantes: consiste en añadir valores en los datos faltantes para mantener el registro en el dataset
        Ruddy Ramos

        Ruddy Ramos

        student•
        hace 3 años

        Muchas gracias por sus aportes. Muy valiosos.

        Pablo Alejandro Figueroa

        Pablo Alejandro Figueroa

        student•
        hace 2 años

        gracias...!!!

      Jeinfferson Bernal G

      Jeinfferson Bernal G

      student•
      hace 3 años

      Pasos para la Eliminacion de Valores Faltantes

      • Observa el numero de observaciones y variables que tiene el conjunto de datos
      riskfactors_df.shape --> (245, 34)
      • Pairwise deletion (Eliminacion por pares)
      #Pandas por defecto,ignora los registros con datos faltantes a la hora de hacer algun calculo ( riskfactors_df .weight_lbs .mean() ) --> 174.26808510638298
      • Listwise deletion or Complete case (Eliminacion por lista o caso completo)
      1. Con base a 1 columna
      ( riskfactors_df .dropna( subset=['weight_lbs'], # indica la variable donde buscar los valores faltantes how='any' # any indica en cualquier registro que aparezca un valor faltante ) )
      1. Con base a 2 columnas
      ( riskfactors_df .dropna( subset=['weight_lbs', 'height_inch'], # indica el parametro donde buscar los valores faltantes how='any' # algoritmo con el que eliminar los registros ) .shape ) --> (234, 34)
      1. Con base a 2 columnas que tengan valores faltantes en los mismos registros
      # elimina los registros en los que hayan valores faltantes en dos variables al mismo tiempo ( riskfactors_df .dropna( subset=['weight_lbs', 'height_inch'], # indica el parametro donde buscar los valores faltantes how='all' # all indica los registros donde hayan valores faltantes en ambas variables ) .shape ) --> (244, 34)
      • Representacion Grafica tras la eliminacion de valores faltantes
      1. Con any
      ( riskfactors_df .dropna( subset=['weight_lbs', 'height_inch'], # indica el parametro donde buscar los valores faltantes how='any' # any indica en cualquier registro que aparezca un valor faltante ) .select_columns(['weight_lbs', 'height_inch']) .pipe(missingno.matrix) )
      graph36.jpg
      1. Con all
      ( riskfactors_df .dropna( subset=['weight_lbs', 'height_inch'], # indica el parametro donde buscar los valores faltantes how='all' # algoritmo con el que eliminar los registros ) .select_columns(['weight_lbs', 'height_inch']) .pipe(missingno.matrix) )
      graph37.jpg
      Neicer Vásquez

      Neicer Vásquez

      student•
      hace un año

      Dejo aquí las imagenes que hice para entender mejor esta clase.

      1. <u>Pairwise deletion</u>
      1. <u>Listwise deletion</u>
      • Con base a 1 columna.
      • Con base a 2 o más columnas.
      Carlos Mazzaroli

      Carlos Mazzaroli

      student•
      hace 3 años

      https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.dropna.html

      how{‘any’, ‘all’}, default ‘any’

      Determine if row or column is removed from DataFrame when we have at least one NA or all NA.

      • ‘any’ : If any NA values are present, drop that row or column.

      • ‘all’ : If all values are NA, drop that row or column.

      Sebastian Gaviria

      Sebastian Gaviria

      student•
      hace 2 años

      En este link (https://rstudio-pubs-static.s3.amazonaws.com/821023_ab4ec671210149bb906d38d12bb951e4.html) podrán ampliar la información que hemos visto en este curso a nivel teórico.

        Pablo Alejandro Figueroa

        Pablo Alejandro Figueroa

        student•
        hace 2 años

        Gracias...!

      Pablo Alejandro Figueroa

      Pablo Alejandro Figueroa

      student•
      hace 2 años
      Captura de pantalla 2024-01-28 154048.png
        Nelson Ricardo Ramírez García

        Nelson Ricardo Ramírez García

        student•
        hace 2 años

        ¡Gracias buen hombre! 🙌

        Pablo Alejandro Figueroa

        Pablo Alejandro Figueroa

        student•
        hace 2 años

        no hay por qué..!

      Mauro Benito Montoya Arenas

      Mauro Benito Montoya Arenas

      student•
      hace 3 años

      Al parecer, el parametro "how" solo tiene uso si hay mas de 2 variables en cuestion a las que identificaremos sus valores faltantes.

      Mario Alexander Vargas Celis

      Mario Alexander Vargas Celis

      student•
      hace un año

      La eliminación de valores faltantes es una técnica común para manejar datos incompletos. Las dos principales estrategias son **eliminación por pares (pairwise deletion)** y **eliminación por lista (listwise deletion)**.

      ### 1. **Eliminación por Lista (Listwise Deletion)**

      En este método, se eliminan las filas que contienen algún valor faltante en cualquiera de las variables involucradas en el análisis. Este enfoque es simple pero puede resultar en la pérdida de mucha información si hay muchos valores faltantes.

      #### Ejemplo en Pandas:

      import pandas as pd \# Crear un DataFrame de ejemplo con algunos valores faltantes data = {'Variable1': \[1, 2, None, 4, 5], &#x20; 'Variable2': \[5, None, 7, 8, 9], &#x20; 'Variable3': \[None, 1, 2, None, 4]} df = pd.DataFrame(data) \# Eliminación por lista: se eliminan filas que contengan algún valor nulo df\_listwise = df.dropna() print("DataFrame después de la eliminación por lista:") print(df\_listwise)

      #### Ventajas:

      - Fácil de implementar.

      - Asegura que se utilicen solo datos completos.

      #### Desventajas:

      - Puede llevar a la eliminación de muchas filas si hay muchas variables con valores faltantes.

      ---

      ### 2. **Eliminación por Pares (Pairwise Deletion)**

      En la eliminación por pares, se realiza un análisis variable por variable, eliminando solo las filas donde la variable involucrada tenga valores faltantes. Esto permite que se utilicen la mayor cantidad posible de datos, aunque algunas comparaciones se hacen con menos datos que otras.

      Este enfoque es útil para calcular correlaciones o regresiones entre pares de variables, ya que solo se eliminan los valores faltantes en las variables involucradas en el análisis particular.

      #### Ejemplo de correlación usando eliminación por pares:

      \# Calcular correlación por pares (omitimos valores faltantes sólo para el par de columnas analizado) pairwise\_corr = df.corr(method='pearson', min\_periods=1) print("Correlación por pares:") print(pairwise\_corr)

      #### Ventajas:

      - Se utiliza la mayor cantidad posible de datos.

      - Es útil cuando se tiene una gran cantidad de valores faltantes y no se quiere perder información.

      #### Desventajas:

      - Los resultados pueden no ser consistentes entre análisis de diferentes variables, ya que se usan subconjuntos distintos de datos.

      ---

      ### Comparación entre Listwise y Pairwise:

      - **Listwise deletion** es más estricto y consistente pero puede resultar en una pérdida significativa de datos.

      - **Pairwise deletion** conserva más información, pero las comparaciones entre diferentes análisis pueden basarse en distintos subconjuntos de datos, lo que puede complicar la interpretación.

      Mauricio Escobar

      Mauricio Escobar

      student•
      hace un año

      Buenas 👋 me aventé una función para hacer un análisis rápido del conteo de nulos por columna. Cuando alguna de ellas tenga un porcentaje mayor a la "tolerancia de nulos" indicada, las agrupará en una lista llamada "too much nools", aquellas que tengan nulos, pero que no se acerquen a esta proporción, estarán en otra lista llamada "acceptable nulls", y también otra donde se indiquen aquellas que no tengan nulos.

      Si a alguien se le ocurre cómo mejorarla, se agradecería una propuesta.

      #-func 21-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# """ Conteo de valores nulos en cada columna de un df. recibe un df y devuelve: - (1) diccionario con {'columna': número nulos} - (2) print de los valores nulos por columna (summary) Args: - df: DataFrame a analizar - print_counts: imprimir conteo de nulos por col (OPCIONAL) - save_list: guardar el diccionario con los nulos (OPCIONAL) - acceptable_nuls: flotante que indica el porcentaje de nulos aceptable en una columna. Default -> (5% => 0.05) - summary: resumen de las columnas con nulos (OPCIONAL - Se recomienda activarlo) """ def count_nulls_per_col(self, print_counts: bool= False, save_list: bool= False, acceptable_nulls: float = 0.05, summary: bool= False) -> dict | str: df = self._obj dict_nulls = {} for col in df.columns: dict_nulls[col] = df[col].isnull().sum() if print_counts: print(f'\nCol: "{col}" tiene: {"-*"*3} {df[col].isnull().sum()}') if summary: calc = df.shape[0] * acceptable_nulls #resumen cols_no_nulls = ([col for col, val in dict_nulls.items() if val == 0 ]) cols_acceptable_nulls = [col for col, val in dict_nulls.items() if val <= calc and val > 0] cols_non_acceptable_nulls= [col for col, val in dict_nulls.items() if val > calc] print(f'ROWS number: {df.shape[0]}, COLUMNS number: {df.shape[1]}\n') print(f'- Columns without nulls: \n {cols_no_nulls}\n') print(f'- Acceptable columns (nulls less than {int(acceptable_nulls *100)}%):\n {cols_acceptable_nulls}\n') print(f'- Too much nulls:\n {cols_non_acceptable_nulls}\n') print(f'- Null value tolerance: {acceptable_nulls * 100}%') if save_list: dict_nulls = {key_col: nulls_num for key_col, nulls_num in dict_nulls.items() if nulls_num != 0} return dict_nulls
      Diego Cesar Lerma Torres

      Diego Cesar Lerma Torres

      student•
      hace 2 años

      Si se fijaron, en dropna cuando puso el parámetro "all" quedaron más elementos que con el parámetro "any"

      Esto se debe a que "all" solo elimina si todos los valores de las filas o columnas seleccionadas son NaN. Y "any" elimina todas las filas o columnas seleccionadas si cualquiera de los valores son NaN.

      Es decir, any elimina la fila si peso O talla son NaN all elimina la fila SOLO SI peso Y talla son NaN (por eso solo elimina un valor) Les dejo mi apunte sobre este tema

      El parámetro how de la función dropna en Pandas es fundamental para determinar cómo se deben tratar las filas o columnas que contienen valores NaN (Not a Number) cuando se limpian los datos. Este parámetro define el criterio bajo el cual una fila o columna será eliminada de un DataFrame debido a la presencia de valores nulos.

      • Evaluación de Datos: Antes de decidir entre 'any' y 'all', es importante evaluar la naturaleza de los datos faltantes y el impacto de su eliminación en el análisis posterior.
      • Complemento con fillna: Para minimizar la pérdida de datos, considere utilizar el método fillna para imputar valores faltantes antes de optar por eliminar filas o columnas con dropna.
      • Revisión Manual: En algunos casos, especialmente con datasets pequeños, una revisión manual de los datos puede ofrecer una mejor perspectiva sobre cómo manejar los valores NaN.

      Uso

      how : {'any', 'all'}, default 'any'

      Descripción de los argumentos:

      • 'any': Si se selecciona este valor, la función dropna eliminará cualquier fila o columna que contenga al menos un valor NaN. Es el valor por defecto porque es una opción conservadora que permite eliminar los datos incompletos sin descartar en exceso filas o columnas que podrían tener la mayoría de sus valores válidos.

      • 'all': Al elegir 'all', dropna solo eliminará las filas o columnas donde todos los valores son NaN. Este enfoque es más permisivo y útil cuando solo se desea eliminar filas o columnas que estén completamente vacías, lo cual puede ser indicativo de datos faltantes en su totalidad o de registros que no fueron ingresados correctamente.

        Buenas prácticas

      • Evaluación de Datos: Antes de decidir entre 'any' y 'all', es importante evaluar la naturaleza de los datos faltantes y el impacto de su eliminación en el análisis posterior.

      • Complemento con fillna: Para minimizar la pérdida de datos, considere utilizar el método fillna para imputar valores faltantes antes de optar por eliminar filas o columnas con dropna.

      • Revisión Manual: En algunos casos, especialmente con datasets pequeños, una revisión manual de los datos puede ofrecer una mejor perspectiva sobre cómo manejar los valores NaN.

      JULIO ALFONSO MESA PÉREZ

      JULIO ALFONSO MESA PÉREZ

      student•
      hace 2 años

      Por favor me pueden ayudar con el siguiente error cuando ejecuto el siguiente código:python riskfactors_df.mean(skipna=False)

      ```python TypeError: 'Categorical' with dtype category does not support reduction 'mean' Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...

      Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
        Raul Andres Parada Sepulveda

        Raul Andres Parada Sepulveda

        student•
        hace 2 años

        Para solucionarlo pueden excluirse las columnas categoricas

        riskfactorsDF.select_dtypes(exclude = "category").mean()
      Julián Cárdenas

      Julián Cárdenas

      student•
      hace 3 años
      ( riskfactors_df .dropna( subset=["weight_lbs", "height_inch"], how="any" ) .select_columns(["weight_lbs", "height_inch"]) .pipe(missingno.matrix) )
      Andres Sanchez

      Andres Sanchez

      student•
      hace 3 años

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

      ¿Cómo lograrlo?

      • Eliminación de valores faltantes. Pandas hace pairwise deletion en las operaciones de numeros. Método preferido
      • Imputación de valores faltantes

    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