Análisis de grupo de whatsapp en python

Itzel Vigil
MCD-UNISON
Published in
4 min readDec 9, 2020

Whatsapp se ha convertido en una de las aplicaciones moviles con más popularidad en los ultimos años dada la facilidad de su uso y como puede mantener comunicados a sus usuarios de manera eficiente y con sus multiples funciones hace que sea mas facil compartir archivos, audios, multimedia, entre otros.

Estas funcionalidades están disponibles tanto para grupos como usuarios individuales, por lo que cuando estudie la licenciatura creamos un grupo para poder comunicarnos entre los compañeros, compartir tareas, memes, etcetera.

En este trabajo se analizará este grupo de whatsapp para poder observar comportamientos de los usuarios, obtener estadisticas y patrones, basado en el trabajo de Saiteja Kura.

Primer paso: Obtención de datos

Para obtener la conversación de whatsapp se utiliza la funcionalidad de exportar chat en la app, esto exporta toda la conversación sin archivos multimedia con fecha, hora, usuario y mensaje en un archivo con formato .txt

Analisis de los mensajes

Después de tener el archivo listo con los mensajes se importa dentro del script para comenzar con el análisis de este utilizando expresiones regulares para poder filtrar los mensajes, para esto se filtran tanto las fechas de los mensajes como los autores.

Optimización y anonimización de los datos

Para poder continuar con el proceso es necesario optimizar el data frame resultante para asi evitar palabras rendundantes y minimizar los errores en el analisis ademas de que es necesario tambien mantener en el anonimato a los usuarios en el grupo, para esto se reemplazaron los nombres con nombres de personajes de la serie de “Avatar”.

Estadisticas generales del grupo

El siguiente paso es analizar el dataframe y obtener las estadisticas generales del grupo, en estas se incluyen el numero de mensajes enviados, imagenes o stickers, emojis y enlaces enviados.

Resultado:

Despues de las estadisticas generales se obtiene una lista de usuarios para analizar en el data frame las mismas estadisticas pero ahora en cada usuario por separado.

Algunos resultados:

Luego de esto se analizan todos los emojis enviados dentro de la conversación, se crea una lista junto con el número de veces que se utilizó el emoji por todos los usuarios y se ordenan de mayor a menor, también se realizó el conteo de palabras totales en la conversación.

Nube de palabras

El siguiente paso en el analisis fue representar de manera gráfica las palabras utilizadas con mayor frecuencia por los usuarios en la conversación, para esto se utilizo la liberia de stopwords.

Mensajes a traves del tiempo

Otra representación gráfica que se hizo fue la linea del tiempo de los mensajes enviados, dentro del dataset se tomaron los mensajes despues del mes de abril del 2020 por lo que se puede observar que la actividad comienza despues de esa fecha.

Representación grafica de emojis mas utilizados

Después se hacen las gráficas de pastel de los emojis mas utilizados dentro de la conversación tanto del grupo en general como de cada usuario por separado.

Fechas con mas actividad

Otra gráfica que se realizo fue la de los días con mas actividad dentro del grupo, donde el dia 27 de julio del 2020 fue el dia con mas flujo de mensajes.

De igual manera se obtuvo la grafica de los días en la semana donde hubo mas actividad, resultando el lunes el dia donde hubo un mayor flujo de mensajes, ¿por que? no lo sabemos, probablemente era el día en que mas nos gustaba pelear por la graduación que era para lo que se usaba regularmente el grupo.

Conclusiones

Con python se pueden realizar analisis de datos muy completos con su representación gráfica de manera sencilla, fue muy interesante ver las estadisticas del grupo, en especial la nube de palabras donde se obtuvo una nube un tanto particular, fue un ejercicio muy enriquecedor e interesante de realizar.

--

--