{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#### **WhatsApp Chat Analysis in Streamlit**\n", "\n", "This notebook will guide you through building a **Streamlit app** to analyze WhatsApp chat data. The app allows users to upload their WhatsApp chat exports and provides various insights, such as message frequency, sentiment analysis, and the most active users." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### **WhatsApp Chat Data Processing**\n", "\n", "In this notebook, we process a WhatsApp chat data file using regular expressions and `pandas` to clean and structure the data for further analysis.\n", "\n", "#### **Import Libraries** \n", "\n", "We will use `re` for regular expressions and `pandas` for data manipulation." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "d:\\WhatsApp-Conversations-Analysis\\notebook\n" ] } ], "source": [ "import os\n", "print(os.getcwd()) # Prints the current working directory\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UserMessageDayMonthonly_dateYearmonth_numAMPMHourMinute
0+92 303 6123098Assalamualaikum wa rehmatullahi wa baraktuhThursdayJuly2024-07-1820247pm639
1+92 303 6123098Agr koe kr skta to mjy bta dyn Mai unko cv per...ThursdayJuly2024-07-1820247pm640
2+92 328 9460713<Media omitted>ThursdayJuly2024-07-1820247pm936
3+92 328 9460713Remember Brothers, Don't miss it !ThursdayJuly2024-07-1820247pm938
4+92 310 8668380<Media omitted>FridayJuly2024-07-1920247am318
\n", "
" ], "text/plain": [ " User Message \\\n", "0 +92 303 6123098 Assalamualaikum wa rehmatullahi wa baraktuh \n", "1 +92 303 6123098 Agr koe kr skta to mjy bta dyn Mai unko cv per... \n", "2 +92 328 9460713 \n", "3 +92 328 9460713 Remember Brothers, Don't miss it ! \n", "4 +92 310 8668380 \n", "\n", " Day Month only_date Year month_num AMPM Hour Minute \n", "0 Thursday July 2024-07-18 2024 7 pm 6 39 \n", "1 Thursday July 2024-07-18 2024 7 pm 6 40 \n", "2 Thursday July 2024-07-18 2024 7 pm 9 36 \n", "3 Thursday July 2024-07-18 2024 7 pm 9 38 \n", "4 Friday July 2024-07-19 2024 7 am 3 18 " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import re\n", "import pandas as pd # type: ignore\n", "\n", "# Read the WhatsApp chat file\n", "with open(\"WhatsApp Chat with Group discussion(AI).txt\", \"r\", encoding=\"utf-8\") as f:\n", " data = f.read()\n", "\n", "# Regex pattern to match the chat log format\n", "pattern = r\"(\\d{2}/\\d{2}/\\d{4}),\\s(\\d{1,2}:\\d{2}\\s?[ap]m)\\s-\\s(\\+\\d{2}\\s\\d{3}\\s\\d{7}):\\s(.*)\"\n", "\n", "# Extract matches using the regex pattern\n", "matches = re.findall(pattern, data)\n", "\n", "# Create a DataFrame from the extracted matches\n", "df = pd.DataFrame(matches, columns=['Date', 'Time', 'User', 'Message'])\n", "\n", "# Convert the 'Date' column to datetime format\n", "df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%Y')\n", "\n", "# Extract the Day name (e.g., Monday, Tuesday) and Month name\n", "df['Day'] = df['Date'].dt.strftime('%A') # Full day name\n", "df['Month'] = df['Date'].dt.strftime('%B') # Full month name\n", "df['only_date'] = df['Date'].dt.date\n", "df['Year'] = df['Date'].dt.year # Year as a separate column\n", "df['month_num'] = df['Date'].dt.month\n", "\n", "# Clean and split the 'Time' column into components\n", "df[['Hour_Minute', 'AMPM']] = df['Time'].str.extract(r'(\\d{1,2}:\\d{2})\\s?(am|pm)', expand=True)\n", "\n", "# Split the 'Hour_Minute' into 'Hour' and 'Minute'\n", "df[['Hour', 'Minute']] = df['Hour_Minute'].str.split(':', expand=True)\n", "\n", "# Drop the original 'Date' and 'Time' columns if they are no longer needed\n", "df = df.drop(columns=['Date', 'Time', 'Hour_Minute'])\n", "\n", "# Display the first few rows of the DataFrame\n", "df.head()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### **2. Basic Statistics** ###" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Yearmonth_num
count960.0960.000000
mean2024.08.801042
std0.01.377988
min2024.07.000000
25%2024.08.000000
50%2024.08.000000
75%2024.010.000000
max2024.011.000000
\n", "
" ], "text/plain": [ " Year month_num\n", "count 960.0 960.000000\n", "mean 2024.0 8.801042\n", "std 0.0 1.377988\n", "min 2024.0 7.000000\n", "25% 2024.0 8.000000\n", "50% 2024.0 8.000000\n", "75% 2024.0 10.000000\n", "max 2024.0 11.000000" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 960 entries, 0 to 959\n", "Data columns (total 10 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 User 960 non-null object\n", " 1 Message 960 non-null object\n", " 2 Day 960 non-null object\n", " 3 Month 960 non-null object\n", " 4 only_date 960 non-null object\n", " 5 Year 960 non-null int32 \n", " 6 month_num 960 non-null int32 \n", " 7 AMPM 960 non-null object\n", " 8 Hour 960 non-null object\n", " 9 Minute 960 non-null object\n", "dtypes: int32(2), object(8)\n", "memory usage: 67.6+ KB\n" ] } ], "source": [ "# Basic stats and general information\n", "df.info()" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(960, 10)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### **Analyzing Unique Users in a Dataset**" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Overall',\n", " '+92 300 4974756',\n", " '+92 300 6372500',\n", " '+92 300 7045809',\n", " '+92 300 8760724',\n", " '+92 300 9480599',\n", " '+92 302 1104820',\n", " '+92 302 6188000',\n", " '+92 302 6550280',\n", " '+92 302 6791109',\n", " '+92 303 6123098',\n", " '+92 304 1933595',\n", " '+92 304 4770248',\n", " '+92 304 5561462',\n", " '+92 304 6510483',\n", " '+92 305 1859128',\n", " '+92 305 2142860',\n", " '+92 305 7933007',\n", " '+92 306 4258670',\n", " '+92 306 6785416',\n", " '+92 306 9287947',\n", " '+92 307 3732356',\n", " '+92 307 4641982',\n", " '+92 307 7789508',\n", " '+92 308 3769685',\n", " '+92 308 7112492',\n", " '+92 309 2095756',\n", " '+92 309 3108513',\n", " '+92 309 7095014',\n", " '+92 310 4361015',\n", " '+92 310 4943542',\n", " '+92 310 8668380',\n", " '+92 311 1323932',\n", " '+92 311 9396966',\n", " '+92 312 3478519',\n", " '+92 312 9581399',\n", " '+92 313 1029011',\n", " '+92 313 2040046',\n", " '+92 313 4997451',\n", " '+92 314 1721775',\n", " '+92 315 1521759',\n", " '+92 315 4292972',\n", " '+92 315 4534792',\n", " '+92 317 1476609',\n", " '+92 317 9661942',\n", " '+92 319 6457650',\n", " '+92 319 7200178',\n", " '+92 320 8587480',\n", " '+92 320 9099349',\n", " '+92 321 2226008',\n", " '+92 321 2721004',\n", " '+92 321 3605311',\n", " '+92 321 4122103',\n", " '+92 321 8788609',\n", " '+92 322 5305720',\n", " '+92 322 8485616',\n", " '+92 323 5114548',\n", " '+92 323 6606342',\n", " '+92 323 8862333',\n", " '+92 324 0849609',\n", " '+92 324 3909940',\n", " '+92 324 7280468',\n", " '+92 326 0927271',\n", " '+92 327 2636962',\n", " '+92 327 6110594',\n", " '+92 327 7179560',\n", " '+92 328 8822005',\n", " '+92 328 9460713',\n", " '+92 331 2470902',\n", " '+92 331 3632939',\n", " '+92 331 4484468',\n", " '+92 332 2080596',\n", " '+92 332 8021821',\n", " '+92 332 8298997',\n", " '+92 332 9620056',\n", " '+92 333 0229088',\n", " '+92 333 1727254',\n", " '+92 333 2203353',\n", " '+92 333 9365986',\n", " '+92 334 1352612',\n", " '+92 334 2763208',\n", " '+92 334 2787399',\n", " '+92 334 3391992',\n", " '+92 334 5332804',\n", " '+92 334 7636590',\n", " '+92 334 9417243',\n", " '+92 336 0367246',\n", " '+92 336 2710451',\n", " '+92 336 7509812',\n", " '+92 340 3832748',\n", " '+92 340 5790021',\n", " '+92 341 0113675',\n", " '+92 342 1485637',\n", " '+92 342 1822526',\n", " '+92 343 2078351',\n", " '+92 343 6411185',\n", " '+92 344 0544757',\n", " '+92 344 5881772',\n", " '+92 344 8693214',\n", " '+92 345 0944813',\n", " '+92 345 7962931',\n", " '+92 345 9138794',\n", " '+92 346 2764766',\n", " '+92 348 7906778']" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Step 3: Extract unique users\n", "unique_users = df['User'].unique().tolist()\n", "\n", "# Step 4: Remove system-generated notifications\n", "if 'group_notification' in unique_users:\n", " unique_users.remove('group_notification')\n", "\n", "# Step 5: Sort users alphabetically and add \"Overall\" option at the start\n", "unique_users.sort()\n", "unique_users.insert(0, \"Overall\")\n", "unique_users\n", "\n" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "User '+92 300 4974756' is in the list.\n" ] } ], "source": [ "# Step 6: Display the specified user if they exist\n", "specific_user = \"+92 300 4974756\"\n", "if specific_user in unique_users:\n", " print(f\"User '{specific_user}' is in the list.\")\n", "else:\n", " print(f\"User '{specific_user}' is not in the list.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### **Fetching User Stats for WhatsApp Data**\n" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "from urlextract import URLExtract # type: ignore\n", "from collections import Counter\n", "import emoji # type: ignore\n", "from wordcloud import WordCloud # type: ignore\n", "\n", "# Create an object that will help in extracting URLs\n", "extract = URLExtract()\n", "\n", "class Helper:\n", " def __init__(self, df):\n", " \"\"\"\n", " Initializes the Helper class with a DataFrame containing WhatsApp data.\n", " \n", " Parameters:\n", " df (pd.DataFrame): The DataFrame containing the WhatsApp data.\n", " \"\"\"\n", " self.df = df\n", "\n", " def fetch_stats(self, selected_user):\n", " \"\"\"\n", " Fetch basic statistics for a selected user or for all users if 'Overall' is selected.\n", "\n", " Parameters:\n", " selected_user (str): The user to fetch stats for, or 'Overall' for aggregate stats.\n", "\n", " Returns:\n", " tuple: A tuple containing the number of messages, number of words, \n", " number of media messages, and number of links shared.\n", " \"\"\"\n", " # Ensure selected_user is a string (in case it's a pandas Series)\n", " if not isinstance(selected_user, str):\n", " raise ValueError(\"selected_user should be a string\")\n", "\n", " # If the selected user is not 'Overall', filter the data for that specific user\n", " if selected_user != 'Overall':\n", " df_filtered = self.df[self.df['User'] == selected_user]\n", " else:\n", " df_filtered = self.df # Use entire DataFrame for 'Overall' stats\n", "\n", " # Count how many messages the selected user has sent\n", " num_messages = df_filtered.shape[0]\n", "\n", " # Create a list to hold all words from the messages\n", " words = []\n", " for message in df_filtered['Message']:\n", " words.extend(message.split())\n", "\n", " # Count how many media messages (like images or videos) the user sent\n", " num_media_messages = df_filtered[df_filtered['Message'] == ''].shape[0]\n", "\n", " # Create a list to hold all the links shared by the user\n", " links = []\n", " for message in df_filtered['Message']:\n", " links.extend(extract.find_urls(message))\n", "\n", " # Return the statistics: total messages, word count, media count, link count\n", " return num_messages, len(words), num_media_messages, len(links)\n" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "helper = Helper(df)\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Stats for User:(4, 94, 0, 0)\n", "Number of messages: 4\n", "Number of words: 94\n", "Number of media messages: 0\n", "Number of links shared: 0\n" ] } ], "source": [ "# Fetch stats for a specific user (e.g., \"User1\")\n", "user_stats = helper.fetch_stats(specific_user)\n", "\n", "\n", "# Display the results for User1\n", "print(F\"Stats for User:{user_stats}\")\n", "print(f\"Number of messages: {user_stats[0]}\")\n", "print(f\"Number of words: {user_stats[1]}\")\n", "print(f\"Number of media messages: {user_stats[2]}\")\n", "print(f\"Number of links shared: {user_stats[3]}\")\n", "# Fetch overall stats (aggregated for all users)\n" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Overall Stats:\n", "Number of messages: 960\n", "Number of words: 7960\n", "Number of media messages: 145\n", "Number of links shared: 52\n" ] } ], "source": [ "# Fetch overall stats (aggregated for all users)\n", "overall_stats = helper.fetch_stats(\"Overall\")\n", "\n", "# Display the overall stats\n", "print(\"\\nOverall Stats:\")\n", "print(f\"Number of messages: {overall_stats[0]}\")\n", "print(f\"Number of words: {overall_stats[1]}\")\n", "print(f\"Number of media messages: {overall_stats[2]}\")\n", "print(f\"Number of links shared: {overall_stats[3]}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### **Visualizing Top 5 Most Active Users in Groups**" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "image/png": "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1/Ogb7/91mbEd9SoURo1alS8265YsUJXrlyRr6/vI6/v9OnTSVLPk2TPnl3Vq1fXb7/9JsMwtGjRIq1atcq6/sFRbsn2d1C4cOFHrrX+oCJFiiSohowZM+rPP/+UJJ09e1aGYdi0rVOnTj2yfZyn+d0+/P6OGDEiUfMSeHh4xLu8ZcuWatq0qXbv3q3g4GD98ccf2rBhgw4cOKBbt26pU6dOqlevnvUa3M/qwS8rpMT9f3z11VetRzXExsZq3rx51i+/nJ2d1a9fP0nSokWLrPM7PEl8701i+7eHR5Uf/PIlNjZWf/3113/WIyW8X3ze/QQAxMu+R7cDgGNzlHO6Z82aZfz666/W/cT5559/bM43zpw58yPbPM6DNb733nvW5f3797cu/+STT6zLH3dO98GDBxN1TndwcLBx7969R+rq2bOndft69epZl3/33Xc2z5PQc+HjFChQIN5zYR93+/zzzw3DePSc7mzZsj1y+a2rV68aN27csN4fOXKkdfuMGTPGW89/nfe9YMECm/Vxs8u7uro+Mut97969bd7j+M5TjoqKMn7++Wfj6tWrCXq/HtynJOPLL7+0rrt8+bLNbPXOzs42+32a3+3D7WfatGnx1nP48GGby24l5Bz/K1euGGfOnHlk+dWrV20eu3fv3v98P57mkmEJfdzjXLx40UiXLp3NeeK//fbbI9uVLFkyQed0P3zetWE8/TndBw8eNAzj/mXtHlw+dOhQ62NmzJhhsy4pzul+2n4CAMzASDcAmMTX11cdOnTQV199JUn64YcfdP369UdmL5fujxA/OLr7oLVr1+rVV19V5cqVtXXrVpuZid98802lSZPmP2s5cuSIunbtqly5cqlWrVoKCAjQP//8o4ULF9oc9tmtW7dnPgf0/ffft84GXq1atf/c/uWXX9arr75qfV1jx47VqVOnVLhwYa1du9bmXNBevXpZR8r69eun3bt369VXX1VAQIAyZsyo8+fPa86cOdbtHzwK4OFzb998802VL19eTk5Oatu27SOHpz5o586dOn78uPV+mTJlHjkMWLo/a3Tc4flz5sxRz5495eTkpP79++v999+XJP39998qWLCgdfby06dPa+nSpdqwYYOKFSv2SK2XLl1Sx44dVahQIVksFnXv3j1BI7mNGze2zqp+9uxZ6/K6devajCpL908LmDFjhiIiInT1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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt # type: ignore\n", "\n", "\n", "x=df['User'].value_counts().head()\n", "\n", "# Assuming 'x' is a pandas Series with index as users and values as counts\n", "name = x.index\n", "count = x.values\n", "\n", "# Set figure size for better visualization\n", "plt.figure(figsize=(10, 6))\n", "\n", "# Create a bar chart with customized colors and more aesthetically pleasing style\n", "plt.bar(name, count, color=['#4C72B0', '#55A868', '#F1A340', '#C44E52', '#8172B2'])\n", "\n", "# Add labels and title with improved font size and style\n", "plt.xlabel(\"Users\", fontsize=12)\n", "plt.ylabel(\"Activity Count\", fontsize=12)\n", "plt.title(\"Top 5 Most Active Users in Groups\", fontsize=14, fontweight='bold')\n", "\n", "# Rotate x-axis labels for better readability\n", "plt.xticks(rotation=45, ha='right', fontsize=10)\n", "\n", "# Adjust layout to avoid overlap and improve clarity\n", "plt.tight_layout()\n", "\n", "# Show the plot\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### **Display Top 20 Common Words**" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "# Filter out rows where 'User' is 'group_notification'\n", "temp = df[df['User'] != 'group_notification']\n", "\n", "# Further filter out rows where 'Message' is '\\n'\n", "temp = temp[temp['Message'] != '\\n']\n" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "f=open('D:\\WhatsApp-Conversations-Analysis\\stop_hinglish.txt','r')\n", "stop_word=f.read()" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "words = []\n", "\n", "for message in temp[\"Message\"]:\n", " for word in message.lower().split():\n", " if word not in stop_word:\n", " words.append(word)\n", "\n" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Word Count\n", "0 145\n", "2 ہے 35\n", "3 کے 29\n", "4 message 28\n", "5 course 25\n", "6 quiz 23\n", "7 null 23\n", "8 میں 22\n", "9 link: 22\n", "10 کا 21\n", "11 link 20\n", "12 free 20\n", "13 deleted 20\n", "14 share 19\n", "15 کو 18\n", "16 group 18\n", "17 کی 16\n", "18 plz 15\n", "19 اور 15\n" ] } ], "source": [ "from collections import Counter\n", "import pandas as pd\n", "\n", "# Assuming 'words' is a list of words\n", "word_counts = Counter(words).most_common(20)\n", "\n", "# Convert the result to a DataFrame\n", "common_df = pd.DataFrame(word_counts, columns=['Word', 'Count'])\n", "print(common_df)\n" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UserMessageDayMonthonly_dateYearmonth_numAMPMHourMinute
0+92 303 6123098Assalamualaikum wa rehmatullahi wa baraktuhThursdayJuly2024-07-1820247pm639
1+92 303 6123098Agr koe kr skta to mjy bta dyn Mai unko cv per...ThursdayJuly2024-07-1820247pm640
2+92 328 9460713<Media omitted>ThursdayJuly2024-07-1820247pm936
3+92 328 9460713Remember Brothers, Don't miss it !ThursdayJuly2024-07-1820247pm938
4+92 310 8668380<Media omitted>FridayJuly2024-07-1920247am318
\n", "
" ], "text/plain": [ " User Message \\\n", "0 +92 303 6123098 Assalamualaikum wa rehmatullahi wa baraktuh \n", "1 +92 303 6123098 Agr koe kr skta to mjy bta dyn Mai unko cv per... \n", "2 +92 328 9460713 \n", "3 +92 328 9460713 Remember Brothers, Don't miss it ! \n", "4 +92 310 8668380 \n", "\n", " Day Month only_date Year month_num AMPM Hour Minute \n", "0 Thursday July 2024-07-18 2024 7 pm 6 39 \n", "1 Thursday July 2024-07-18 2024 7 pm 6 40 \n", "2 Thursday July 2024-07-18 2024 7 pm 9 36 \n", "3 Thursday July 2024-07-18 2024 7 pm 9 38 \n", "4 Friday July 2024-07-19 2024 7 am 3 18 " ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "\n", "month_mapping = {\n", " 'January': 1, 'February': 2, 'March': 3, 'April': 4, 'May': 5, 'June': 6,\n", " 'July': 7, 'August': 8, 'September': 9, 'October': 10, 'November': 11, 'December': 12\n", "}\n", "\n", "# Add a new column 'Month_num' based on the 'Month' column\n", "df['Month_num'] = df['Month'].map(month_mapping)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "timeline=df.groupby([\"Year\",\"Month_num\",\"Month\"]).count()['Message'].reset_index()" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YearMonth_numMonthMessage
020247July182
120248August324
220249September112
3202410October187
4202411November155
\n", "
" ], "text/plain": [ " Year Month_num Month Message\n", "0 2024 7 July 182\n", "1 2024 8 August 324\n", "2 2024 9 September 112\n", "3 2024 10 October 187\n", "4 2024 11 November 155" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "timeline" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "time=[]\n", "for i in range(timeline.shape[0]):\n", " time.append(timeline['Month'][i] +\"-\"+ str(timeline['Year'][i]))" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "timeline['time']=time" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YearMonth_numMonthMessagetime
020247July182July-2024
120248August324August-2024
220249September112September-2024
3202410October187October-2024
4202411November155November-2024
\n", "
" ], "text/plain": [ " Year Month_num Month Message time\n", "0 2024 7 July 182 July-2024\n", "1 2024 8 August 324 August-2024\n", "2 2024 9 September 112 September-2024\n", "3 2024 10 October 187 October-2024\n", "4 2024 11 November 155 November-2024" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "timeline\n" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlwAAAHHCAYAAABqVYatAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACJRklEQVR4nO3dd1hT59sH8G/Yey9RwIGiKKhoVdwLUdHqr7a27t3WrW212uGss3Zo1WpdaOuqq2/FiXvvASqiKIrKUlT2zvP+gUmJoBJNCAnfz3VxXeSck3Puk5PAnfsZRyKEECAiIiIitdHTdABEREREuo4JFxEREZGaMeEiIiIiUjMmXERERERqxoSLiIiISM2YcBERERGpGRMuIiIiIjVjwkVERESkZky4iIiIiNSMCRcRkRIGDhyIypUra+TY06ZNg0QiUVhWuXJlDBw4UCPxEFHJMeEi0iLBwcGQSCSQSCQ4ceJEkfVCCLi5uUEikaBLly4aiFA7yV7TN/0cOXJE06ESkZYy0HQARKQ8ExMTbNiwAc2bN1dYfvToUTx8+BDGxsYaikw7/fnnnwqP161bh9DQ0CLLa9WqhRUrVkAqlZZmeK8VGRkJPT1+dyYq65hwEWmhzp07Y8uWLVi0aBEMDP77GG/YsAENGjTAkydPNBid9unbt6/C4zNnziA0NLTI8rKIyTWRduDXIiIt1KtXLyQlJSE0NFS+LCcnB1u3bkXv3r2LfY5UKsWvv/6K2rVrw8TEBM7Ozvjss8/w7Nkzhe0uXLiAwMBAODg4wNTUFFWqVMHgwYMVttm0aRMaNGgAS0tLWFlZwcfHBwsXLpSvf/r0Kb766iv4+PjAwsICVlZW6NSpE65evVokrvv37+P999+Hubk5nJycMH78eOzbt6/YJryzZ8+iY8eOsLa2hpmZGVq1aoWTJ08qbJOamopx48ahcuXKMDY2hpOTEwICAnDp0qUSvbZv8nIfrnv37kEikWDBggVYsmQJqlatCjMzM3To0AEPHjyAEAIzZ85EpUqVYGpqim7duuHp06dF9rtnzx60aNEC5ubmsLS0RFBQEK5fv/7GeF7uwyVrdj558iS++OILODo6wtzcHP/73//w+PFjlR2XiJTDCheRFqpcuTL8/f2xceNGdOrUCUDBP87k5GR88sknWLRoUZHnfPbZZwgODsagQYMwZswYREdHY/Hixbh8+TJOnjwJQ0NDJCYmokOHDnB0dMSkSZNgY2ODe/fuYfv27fL9hIaGolevXmjXrh3mzZsHAIiIiMDJkycxduxYAMDdu3fxzz//4KOPPkKVKlWQkJCA5cuXo1WrVrhx4wZcXV0BAOnp6Wjbti3i4uIwduxYuLi4YMOGDTh8+HCR+A8dOoROnTqhQYMGmDp1KvT09LBmzRq0bdsWx48fR6NGjQAAn3/+ObZu3YpRo0bB29sbSUlJOHHiBCIiIuDn56faC1HI+vXrkZOTg9GjR+Pp06eYP38+evbsibZt2+LIkSP4+uuvERUVhd9++w1fffUVVq9eLX/un3/+iQEDBiAwMBDz5s1DRkYGfv/9dzRv3hyXL19+q076o0ePhq2tLaZOnYp79+7h119/xahRo7B582a1HpeIXkEQkdZYs2aNACDOnz8vFi9eLCwtLUVGRoYQQoiPPvpItGnTRgghhIeHhwgKCpI/7/jx4wKAWL9+vcL+9u7dq7B8x44d8v2/ytixY4WVlZXIy8t75TZZWVkiPz9fYVl0dLQwNjYWM2bMkC/76aefBADxzz//yJdlZmaKmjVrCgDi8OHDQgghpFKpqF69uggMDBRSqVS+bUZGhqhSpYoICAiQL7O2thYjR458ZWwlMXLkSPGqP48DBgwQHh4eCucFQDg6Oornz5/Ll0+ePFkAEHXr1hW5ubny5b169RJGRkYiKytLCCFEamqqsLGxEcOGDVM4Tnx8vLC2tlZYPnXq1CJxeXh4iAEDBsgfy94j7du3V3itxo8fL/T19eUxKnNcInp3bFIk0lI9e/ZEZmYmQkJCkJqaipCQkFc2J27ZsgXW1tYICAjAkydP5D8NGjSAhYWFvKJkY2MDAAgJCUFubm6x+7KxsUF6erpCc+bLjI2N5R258/PzkZSUBAsLC3h5eSk07e3duxcVK1bE+++/L19mYmKCYcOGKezvypUruH37Nnr37o2kpCR5/Onp6WjXrh2OHTsm78huY2ODs2fPIjY29g2voGp99NFHsLa2lj9u3LgxgIL+YYX72TVu3Bg5OTl49OgRgIKK4fPnz9GrVy+Fa6Ovr4/GjRsXW+0riU8//VRhCokWLVogPz8f9+/fV+txiah4bFIk0lKOjo5o3749NmzYgIyMDOTn5+PDDz8sdtvbt28jOTkZTk5Oxa5PTEwEALRq1Qo9evTA9OnT8csvv6B169bo3r07evfuLe+cPWLECPz999/o1KkTKlasiA4dOqBnz57o2LGjfH9SqRQLFy7E0qVLER0djfz8fPk6e3t7+e/3799HtWrViswt5enpWSR+ABgwYMArX4/k5GTY2tpi/vz5GDBgANzc3NCgQQN07twZ/fv3R9WqVV/5XFVwd3dXeCxLvtzc3IpdLus7Jzu3tm3bFrtfKysrlcRja2tbKsclouIx4SLSYr1798awYcMQHx+PTp06yStUL5NKpXBycsL69euLXe/o6AigYD6qrVu34syZM9i5cyf27duHwYMH46effsKZM2dgYWEBJycnXLlyBfv27cOePXuwZ88erFmzBv3798fatWsBALNnz8b333+PwYMHY+bMmbCzs4Oenh7GjRv3VlMqyJ7z448/ol69esVuY2FhAaCg8teiRQvs2LED+/fvx48//oh58+Zh+/bt8v5u6qCvr6/UciEEgP/O7c8//4SLi0uR7QpXx1QRj7qPS0TF4yeKSIv973//w2effYYzZ84odIZ+WbVq1XDgwAE0a9YMpqamb9xvkyZN0KRJE8yaNQsbNmxAnz59sGnTJgwdOhQAYGRkhK5du6Jr166QSqUYMWIEli9fju+//x6enp7YunUr2rRpg1WrVins9/nz53BwcJA/9vDwwI0bNyCEUKhyRUVFFYkfKKi6tG/f/o3xV6hQASNGjMCIESOQmJgIPz8/zJo1S60J19uSnZuTk1OJzk3bj0tUXrEPF5EWs7CwwO+//45p06aha9eur9yuZ8+eyM/Px8yZM4usy8vLw/PnzwEUNDfJKiAysopSdnY2ACApKUlhvZ6eHnx9fRW20dfXL7KfLVu2yPstyQQGBuLRo0f4999/5cuysrKwYsUKhe0aNGiAatWqYcGCBUhLSytyDrLpDvLz85GcnKywzsnJCa6urvLYyprAwEBYWVlh9uzZxfabK24qB20+LlF5xQoXkZZ7Xb8mmVatWuGzzz7DnDlzcOXKFXTo0AGGhoa4ffs2tmzZgoULF+LDDz/E2rVrsXTpUvzvf/9DtWrVkJqaihUrVsDKygqdO3cGAAwdOhRPnz5F27ZtUalSJdy/fx+//fYb6tWrh1q1agEAunTpghkzZmDQoEFo2rQpwsPDsX79+iL9qD777DMsXrwYvXr1wtixY1GhQgWsX78eJiYmACCv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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Assuming 'timeline' is a DataFrame with columns 'time' and 'Message'\n", "plt.plot(timeline['time'], timeline['Message'], label=\"Messages Over Time\")\n", "plt.xlabel(\"Time\") # Label for the X-axis\n", "plt.ylabel(\"Number of Messages\") # Label for the Y-axis\n", "plt.title(\"Messages Timeline\") # Title of the plot\n", "plt.legend() # Show the legend for better clarity\n", "plt.grid(True) # Add gridlines for better readability\n", "plt.show() # Display the plot\n" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
UserMessageDayMonthonly_dateYearmonth_numAMPMHourMinuteMonth_num
0+92 303 6123098Assalamualaikum wa rehmatullahi wa baraktuhThursdayJuly2024-07-1820247pm6397
1+92 303 6123098Agr koe kr skta to mjy bta dyn Mai unko cv per...ThursdayJuly2024-07-1820247pm6407
2+92 328 9460713<Media omitted>ThursdayJuly2024-07-1820247pm9367
3+92 328 9460713Remember Brothers, Don't miss it !ThursdayJuly2024-07-1820247pm9387
4+92 310 8668380<Media omitted>FridayJuly2024-07-1920247am3187
\n", "
" ], "text/plain": [ " User Message \\\n", "0 +92 303 6123098 Assalamualaikum wa rehmatullahi wa baraktuh \n", "1 +92 303 6123098 Agr koe kr skta to mjy bta dyn Mai unko cv per... \n", "2 +92 328 9460713 \n", "3 +92 328 9460713 Remember Brothers, Don't miss it ! \n", "4 +92 310 8668380 \n", "\n", " Day Month only_date Year month_num AMPM Hour Minute Month_num \n", "0 Thursday July 2024-07-18 2024 7 pm 6 39 7 \n", "1 Thursday July 2024-07-18 2024 7 pm 6 40 7 \n", "2 Thursday July 2024-07-18 2024 7 pm 9 36 7 \n", "3 Thursday July 2024-07-18 2024 7 pm 9 38 7 \n", "4 Friday July 2024-07-19 2024 7 am 3 18 7 " ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] } ], "metadata": { "kernelspec": { "display_name": "waenv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.20" } }, "nbformat": 4, "nbformat_minor": 2 }