Learn practical skills, build real-world projects, and advance your career
pip install numpy pandas matplotlib seaborn wordcloud emoji jovian --upgrade
Requirement already satisfied: numpy in /opt/conda/lib/python3.9/site-packages (1.21.2) Requirement already satisfied: pandas in /opt/conda/lib/python3.9/site-packages (1.3.3) Requirement already satisfied: matplotlib in /opt/conda/lib/python3.9/site-packages (3.4.3) Requirement already satisfied: seaborn in /opt/conda/lib/python3.9/site-packages (0.11.2) Requirement already satisfied: wordcloud in /opt/conda/lib/python3.9/site-packages (1.8.1) Requirement already satisfied: emoji in /opt/conda/lib/python3.9/site-packages (1.5.0) Requirement already satisfied: jovian in /opt/conda/lib/python3.9/site-packages (0.2.41) Requirement already satisfied: python-dateutil>=2.7.3 in /opt/conda/lib/python3.9/site-packages (from pandas) (2.8.2) Requirement already satisfied: pytz>=2017.3 in /opt/conda/lib/python3.9/site-packages (from pandas) (2021.1) Requirement already satisfied: pillow>=6.2.0 in /opt/conda/lib/python3.9/site-packages (from matplotlib) (8.3.1) Requirement already satisfied: pyparsing>=2.2.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib) (2.4.7) Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/lib/python3.9/site-packages (from matplotlib) (1.3.1) Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.9/site-packages (from matplotlib) (0.10.0) Requirement already satisfied: scipy>=1.0 in /opt/conda/lib/python3.9/site-packages (from seaborn) (1.7.0) Requirement already satisfied: click in /opt/conda/lib/python3.9/site-packages (from jovian) (8.0.1) Requirement already satisfied: pyyaml in /opt/conda/lib/python3.9/site-packages (from jovian) (5.4.1) Requirement already satisfied: uuid in /opt/conda/lib/python3.9/site-packages (from jovian) (1.30) Requirement already satisfied: requests in /opt/conda/lib/python3.9/site-packages (from jovian) (2.26.0) Requirement already satisfied: six in /opt/conda/lib/python3.9/site-packages (from cycler>=0.10->matplotlib) (1.16.0) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/conda/lib/python3.9/site-packages (from requests->jovian) (1.26.6) Requirement already satisfied: charset-normalizer~=2.0.0 in /opt/conda/lib/python3.9/site-packages (from requests->jovian) (2.0.0) Requirement already satisfied: certifi>=2017.4.17 in /opt/conda/lib/python3.9/site-packages (from requests->jovian) (2021.5.30) Requirement already satisfied: idna<4,>=2.5 in /opt/conda/lib/python3.9/site-packages (from requests->jovian) (3.1) Note: you may need to restart the kernel to use updated packages.

System Setup

List of all the python libraries that are required

  • numpy
  • pandas
  • matplotlib
  • seaborn
  • wordcloud
  • emoji
  • jovian

Run the following command to get all the listed python libraries

pip install numpy pandas matplotlib seaborn wordcloud emoji jovian --upgrade

Te check whether do you all the required libraries the next should run without any errors

import re
import jovian
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from wordcloud import WordCloud, STOPWORDS
import emoji
from collections import Counter

How to obtain Whatsapp Chat data

  • Open whatsapp
  • Open a Group/Inbox
  • Click on the 3 dotted options button
  • Click on more
  • Click on export chat
  • Click on without media
  • Export via Email/other IM's/....
  • Download to your system rename to chat-data.txt and put it in a folder

alt

Without media: exports 40k messages 
With media: exports 10k messages along with pictures/videos 
As im are doing chat data analysis i went with `without media` option 

Data Preprocessing

Use a custom a regex and datatime format by reffering to the above links if you run into empty df or format errors. As the exports from whatsapp are not standardized.