Análisis de un grupo de WhatsApp con Python
Familia, amigos, trabajo, escuela, tías … la lista es larga. Ser agregado a grupos de WhatsApp es algo que ocurre con frecuencia; analizar los datos que se generan en ellos, no tanto.
A continuación, se presenta el proceso de análisis de un grupo de WhatsApp basado en el artículo Whatsapp Group Chat Analysis using Python and Plotly de Saiteja Kura.
Obteniendo datos
El contenido del chat se exporta a un archivo de texto omitiendo mensajes multimedia; además, se definen algunas funciones cuyo propósito es verificar si cada línea inicia con fecha y hora, encontrar el autor del mensaje y dividir cada línea en columnas.
Para facilitar la lectura, el código que corresponde a esta etapa se colocó al final del artículo.
Tratamiento de los datos y anonimización
Por privacidad, los nombres de los integrantes fueron reemplazados por personajes de Brooklyn Nine-Nine.
Ahora, los datos son anónimos 🙊
Estadísticas del grupo
En 4 años se han enviado más de 22 mil mensajes, casi el 19% de ellos son multimedia.
Mensajes enviados: 22777
Mensajes multimedia: 4327
Emojis: 7840
Links enviados: 326
Se han enviado 521,793 palabras y 392 emojis diferentes.
En la siguiente tabla se muestra el top 15 de emojis. Desde 😂 hasta 🍻.
Los emojis más utilizados son 😂 y 🤣, con 15.2% y 12.1%, respectivamente.
Ahora, algunos estadísticos por autor
Resumen de Charles -
Mensajes: 1125 - Palabras por mensaje 5.44 - Multimedia: 52 - Emojis: 684 - Links: 15
Resumen de Amy -
Mensajes: 3242 - Palabras por mensaje 5.22 - Multimedia: 1233 - Emojis: 1381 - Links: 70
Resumen de Kevin -
Mensajes: 5081 - Palabras por mensaje 4.15 - Multimedia: 478 - Emojis: 529 - Links: 110
Resumen de Sharon -
Mensajes: 1336 - Palabras por mensaje 5.81 - Multimedia: 433 - Emojis: 1114 - Links: 25
Resumen de Hitchcock -
Mensajes: 650 - Palabras por mensaje 4.34 - Multimedia: 73 - Emojis: 627 - Links: 7
Resumen de Pimiento -
Mensajes: 2612 - Palabras por mensaje 7.26 - Multimedia: 904 - Emojis: 880 - Links: 42
Resumen de Raymond Hold -
Mensajes: 1530 - Palabras por mensaje 3.77 - Multimedia: 304 - Emojis: 1502 - Links: 5
Resumen de Jake -
Mensajes: 1164 - Palabras por mensaje 4.78 - Multimedia: 422 - Emojis: 533 - Links: 10
Resumen de Gina -
Mensajes: 682 - Palabras por mensaje 4.78 - Multimedia: 211 - Emojis: 218 - Links: 7
Resumen de Rosa -
Mensajes: 348 - Palabras por mensaje 3.42 - Multimedia: 41 - Emojis: 189 - Links: 3
Resumen de Doug Judy -
Mensajes: 308 - Palabras por mensaje 5.29 - Multimedia: 57 - Emojis: 8 - Links: 10
Resumen de Scully -
Mensajes: 243 - Palabras por mensaje 8.49 - Multimedia: 61 - Emojis: 90 - Links: 22
Resumen de El Buitre -
Mensajes: 107 - Palabras por mensaje 5.79 - Multimedia: 54 - Emojis: 71 - Links: 0
Emojis enviados por persona
Amy 🤣😂
Kevin 🙌🙏
Pimiento 🤣
Hitchcock✨👏
Jake 👀🙊
Rosa 👍😡
El buitre 🙆♂️🥳
Nube de palabras
Para generar la nube de palabras se actualizó el listado de stopwords en español. Entre las palabras más enviadas destacan: jaja, equipo, gracias, favor, encuesta, equipo y mañana.
Cantidad de mensajes enviados por día
Los días que se han enviado más mensajes fueron el 1 de julio de 2018 y el 8 de mayo de 2020, ¿asunto? un proyecto de trabajo y restricción en la compra-venta de bebidas alcohólicas 🍺 en Sonora por COVID-19.
En viernes se envían más mensajes que el resto de la semana; por otro lado, los días menos activos son el domingo y, obviamente, los lunes.