{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Analyzing Twitter Users' Reflections using NLP\n",
"_This is a notebook by Jessica Uwoghiren._"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is a Sentiment Analysis Project using Natural Language Processing (NLP) Techniques. In December 2020, I felt it would be a good idea to obtain insights into how Twitter users felt about the year. Twitter receives over 500 million tweets per day from its users across the globe, so I only had to find a way to retrieve the data. This Notebook makes use of several Python libraries like Pandas (for Data Cleaning/Manipulation), Tweepy (for Tweets Mining), NLTK (Natural Language Toolkit), TextBlob (for Sentiment Analysis), MatPlotlib & WordCloud (for Data Exploration), Emot (for Emojis identification), Plotly (for some Data Visualisation)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Contents\n",
"\n",
"[1. Import Libraries](#1.-Import-Libraries)\n",
"\n",
"[2. Tweets Mining](#2.-Tweets-Mining)\n",
"\n",
"[3. Data Cleaning](#3.-Data-Cleaning) \n",
"\n",
"[4. Location Geocoding](#4.-Location-Geocoding)\n",
"\n",
"[5. Tweets Processing](#5.-Tweets-Processing)\n",
"\n",
"[6. Data Exploration](#6.-Data-Exploration)\n",
"\n",
"[7. Sentiment Analysis](#7.-Sentiment-Analysis)\n",
"\n",
"[8. Closing Remarks and Links](#THANK-YOU-FOR-TAKING-TIME-TO-STUDY-MY-NOTEBOOK.-I-HOPE-YOU-GOT-SOME-INSIGHTS.)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. Import Libraries\n",
"\n",
"Import all the libraries to be used in this notebook. I prefer to do this at the initial stage and added more libraries as I went along on the project"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T16:41:06.939789Z",
"start_time": "2021-01-06T16:41:05.011622Z"
}
},
"outputs": [
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import tweepy # for tweet mining\n",
"import pandas as pd # for data manipulation and analysis\n",
"import numpy as np # for working with arrays and carrying out mathematical operations. Pandas is built on Numpy\n",
"import csv # to read and write csv files\n",
"import re # In-built regular expressions library\n",
"import string # Inbuilt string library\n",
"import glob # to retrieve files/pathnames matching a specified pattern. \n",
"import random # generating random numbers\n",
"import requests # to send HTTP requests\n",
"from PIL import Image # for opening, manipulating, and saving many different image file f\n",
"import matplotlib.pyplot as plt # for plotting\n",
"\n",
"# Set the limits for Pandas Dataframe display to avoid potential system freeze\n",
"pd.set_option(\"display.max_rows\", 15)\n",
"pd.set_option(\"display.max_columns\", 15)\n",
"pd.set_option('display.max_colwidth', 40)\n",
"\n",
"# Natural Language Processing Toolkit\n",
"from nltk.corpus import stopwords, words # get stopwords from NLTK library & get all words in english language\n",
"from nltk.tokenize import word_tokenize # to create word tokens\n",
"# from nltk.stem import PorterStemmer (I played around with Stemmer and decided to use Lemmatizer instead)\n",
"from nltk.stem import WordNetLemmatizer # to reduce words to orginal form\n",
"from nltk import pos_tag # For Parts of Speech tagging\n",
"\n",
"from textblob import TextBlob # TextBlob - Python library for processing textual data\n",
"\n",
"import plotly.express as px # To make express plots in Plotly\n",
"import chart_studio.tools as cst # For exporting to Chart studio\n",
"import chart_studio.plotly as py # for exporting Plotly visualizations to Chart Studio\n",
"import plotly.offline as pyo # Set notebook mode to work in offline\n",
"pyo.init_notebook_mode()\n",
"import plotly.io as pio # Plotly renderer\n",
"import plotly.graph_objects as go # For plotting plotly graph objects\n",
"from plotly.subplots import make_subplots #to make more than one plot in Plotly\n",
"\n",
"\n",
"# WordCloud - Python linrary for creating image wordclouds\n",
"from wordcloud import WordCloud\n",
"\n",
"from emot.emo_unicode import UNICODE_EMO, EMOTICONS # For emojis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Tweets Mining\n",
"\n",
"I used the Tweepy library for Python to scrape tweets. You need a developer account with Twitter to get the keys used below for this task."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T22:07:27.073043Z",
"start_time": "2020-12-25T22:07:27.064100Z"
}
},
"outputs": [],
"source": [
"consumer_key = 'XXXXXXXXXXXXXXXXXX'\n",
"consumer_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n",
"access_key= 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n",
"access_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T22:07:27.388199Z",
"start_time": "2020-12-25T22:07:27.381216Z"
}
},
"outputs": [],
"source": [
"auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Pass in Consumer key and secret for authentication by API\n",
"auth.set_access_token(access_key, access_secret) # Pass in Access key and secret for authentication by API\n",
"api = tweepy.API(auth,wait_on_rate_limit=True,wait_on_rate_limit_notify=True) # Sleeps when API limit is reached"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Creating User-defined Functions for Tweets Mining\n",
"I created 4 different functions for the different search queries I had and stored them in a csv file. This is because I ran the program for 3 consecutive days 22nd to 25th of December. For the 1st run, I did not have to specify the __\"since_id\"__ but I had to for the following days so that Twitter API does not return Tweets I already had. Another thing to note is you don't have to specify a sleep time for your function. Tweepy has a built-in attribute \"wait_on_rate_limit\" which I specified above."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T19:46:09.113988Z",
"start_time": "2020-12-25T19:46:09.005279Z"
}
},
"outputs": [],
"source": [
"def get_tweets2(search_query2, num_tweets2, since_id_num2):\n",
" # Collect tweets using the Cursor object\n",
" # Each item in the iterator has various attributes that you can access to get information about each tweet\n",
" tweet_list2 = [tweets for tweets in tweepy.Cursor(api.search,\n",
" q=search_query2,\n",
" lang=\"en\",\n",
" since_id=since_id_num2,\n",
" tweet_mode='extended').items(num_tweets2)]\n",
" # Begin scraping the tweets individually:\n",
" for tweet in tweet_list2[::-1]:\n",
" tweet_id = tweet.id # get Tweet ID result\n",
" created_at = tweet.created_at # get time tweet was created\n",
" text = tweet.full_text # retrieve full tweet text\n",
" location = tweet.user.location # retrieve user location\n",
" retweet = tweet.retweet_count # retrieve number of retweets\n",
" favorite = tweet.favorite_count # retrieve number of likes\n",
" with open('tweets_2020_has_been.csv','a', newline='', encoding='utf-8') as csvFile2:\n",
" csv_writer2 = csv.writer(csvFile2, delimiter=',') # create an instance of csv object\n",
" csv_writer2.writerow([tweet_id, created_at, text, location, retweet, favorite]) # write each row"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:01:27.308746Z",
"start_time": "2020-12-25T19:46:09.116983Z"
},
"code_folding": []
},
"outputs": [],
"source": [
"search_words2 = \"\\\"2020 has been\\\"\" # Specifying exact phrase to search\n",
"# Exclude Links, retweets, replies\n",
"search_query2 = search_words2 + \" -filter:links AND -filter:retweets AND -filter:replies\" \n",
"with open('tweets_2020_has_been.csv', encoding='utf-8') as data:\n",
" latest_tweet = int(list(csv.reader(data))[-1][0]) # Return the most recent tweet ID\n",
"get_tweets2(search_query2, 10000, latest_tweet)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:01:27.316629Z",
"start_time": "2020-12-25T20:01:27.310643Z"
}
},
"outputs": [],
"source": [
"# Same as above\n",
"def get_tweets3(search_query3, num_tweets3, since_id_num3):\n",
" # Collect tweets using the Cursor object\n",
" # Each item in the iterator has various attributes that you can access to get information about each tweet\n",
" tweet_list3 = [tweets for tweets in tweepy.Cursor(api.search,\n",
" q=search_query3,\n",
" since_id=since_id_num3,\n",
" lang=\"en\",\n",
" tweet_mode='extended').items(num_tweets3)]\n",
"\n",
" # Begin scraping the tweets individually:\n",
" for tweet in tweet_list3[::-1]:\n",
" tweet_id = tweet.id\n",
" created_at = tweet.created_at\n",
" text = tweet.full_text\n",
" location = tweet.user.location\n",
" retweet = tweet.retweet_count\n",
" favorite = tweet.favorite_count\n",
" with open('tweets_2020_was_a.csv', 'a', newline='', encoding='utf-8') as csvFile3:\n",
" csv_writer3 = csv.writer(csvFile3, delimiter=',')\n",
" csv_writer3.writerow([tweet_id, created_at, text, location, retweet, favorite])"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:02:01.367665Z",
"start_time": "2020-12-25T20:01:27.317624Z"
}
},
"outputs": [],
"source": [
"search_words3 = \"\\\"2020 was a\\\"\" # Specifying exact phrase to search\n",
"# Exclude Links, retweets, replies\n",
"search_query3 = search_words3 + \" -filter:links AND -filter:retweets AND -filter:replies\"\n",
"with open('tweets_2020_was_a.csv', encoding='utf-8') as data:\n",
" latest_tweet = int(list(csv.reader(data))[-1][0]) # Return the most recent tweet ID\n",
"get_tweets3(search_query3, 10000, latest_tweet)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:02:01.375592Z",
"start_time": "2020-12-25T20:02:01.369564Z"
}
},
"outputs": [],
"source": [
"# Same as above\n",
"def get_tweets4(search_query4, num_tweets4, since_id_num4):\n",
" # Collect tweets using the Cursor object\n",
" # Each item in the iterator has various attributes that you can access to get information about each tweet\n",
" tweet_list4 = [tweets for tweets in tweepy.Cursor(api.search,\n",
" q=search_query4,\n",
" lang=\"en\",\n",
" since_id=since_id_num4,\n",
" tweet_mode='extended').items(num_tweets4)]\n",
"\n",
" # Begin scraping the tweets individually:\n",
" for tweet in tweet_list4[::-1]:\n",
" tweet_id = tweet.id\n",
" created_at = tweet.created_at\n",
" text = tweet.full_text\n",
" location = tweet.user.location\n",
" retweet = tweet.retweet_count\n",
" favorite = tweet.favorite_count\n",
" with open('tweets_this_year_has_been.csv','a', newline='', encoding='utf-8') as csvFile4:\n",
" csv_writer4 = csv.writer(csvFile4, delimiter=',')\n",
" csv_writer4.writerow([tweet_id, created_at, text, location, retweet, favorite])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:31:56.617723Z",
"start_time": "2020-12-25T20:02:01.377543Z"
}
},
"outputs": [],
"source": [
"search_words4 = \"\\\"this year has been\\\"\" # Specifying exact phrase to search\n",
"# Exclude Links, retweets, replies\n",
"search_query4 = search_words4 + \" -filter:links AND -filter:retweets AND -filter:replies\"\n",
"with open('tweets_this_year_has_been.csv',encoding='utf-8') as data:\n",
" latest_tweet=int(list(csv.reader(data))[-1][0]) # Return the most recent tweet ID\n",
"get_tweets4(search_query4,10000,latest_tweet)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:31:56.625654Z",
"start_time": "2020-12-25T20:31:56.618679Z"
}
},
"outputs": [],
"source": [
"def get_tweets5(search_query5, num_tweets5, since_id_num5):\n",
" # Collect tweets using the Cursor object\n",
" # Each item in the iterator has various attributes that you can access to get information about each tweet\n",
" tweet_list5 = [tweets for tweets in tweepy.Cursor(api.search,\n",
" q=search_query5,\n",
" lang=\"en\",\n",
" since_id=since_id_num5,\n",
" tweet_mode='extended').items(num_tweets5)]\n",
"\n",
" # Begin scraping the tweets individually:\n",
" for tweet in tweet_list5[::-1]:\n",
" tweet_id = tweet.id\n",
" created_at = tweet.created_at\n",
" text = tweet.full_text\n",
" location = tweet.user.location\n",
" retweet = tweet.retweet_count\n",
" favorite = tweet.favorite_count\n",
" with open('tweets_this_year_was_a.csv','a',newline='', encoding='utf-8') as csvFile5:\n",
" csv_writer5 = csv.writer(csvFile5, delimiter=',')\n",
" csv_writer5.writerow([tweet_id, created_at, text, location, retweet, favorite])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:32:14.209536Z",
"start_time": "2020-12-25T20:31:56.627618Z"
}
},
"outputs": [],
"source": [
"search_words5 = \"\\\"this year was a\\\"\" # Specifying exact phrase to search\n",
"search_query5 = search_words5 + \" -filter:links AND -filter:retweets AND -filter:replies\"\n",
"with open('tweets_this_year_was_a.csv', encoding='utf-8') as data:\n",
" latest_tweet = int(list(csv.reader(data))[-1][0]) # Return the most recent tweet ID\n",
"get_tweets5(search_query5, 10000, latest_tweet)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Combining all Tweets into single Pandas Dataframe"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:19:41.272638Z",
"start_time": "2020-12-30T00:19:41.049231Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
tweet_id
\n",
"
created_at
\n",
"
text
\n",
"
location
\n",
"
retweet
\n",
"
favorite
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1340701494316830727
\n",
"
2020-12-20 16:51:59
\n",
"
When you think 2020 has been bad and...
\n",
"
Newcastle Upon Tyne
\n",
"
0
\n",
"
0
\n",
"
\n",
"
\n",
"
1
\n",
"
1340701340511723525
\n",
"
2020-12-20 16:51:23
\n",
"
every single boy i hooked up with tu...
\n",
"
NaN
\n",
"
0
\n",
"
0
\n",
"
\n",
"
\n",
"
2
\n",
"
1340701052287541248
\n",
"
2020-12-20 16:50:14
\n",
"
if you can reply to this, you made m...
\n",
"
north carolina
\n",
"
0
\n",
"
0
\n",
"
\n",
"
\n",
"
3
\n",
"
1340701023367692288
\n",
"
2020-12-20 16:50:07
\n",
"
2020 has been such a cruel year but ...
\n",
"
@retailthrpy_PH
\n",
"
0
\n",
"
0
\n",
"
\n",
"
\n",
"
4
\n",
"
1340700570433310726
\n",
"
2020-12-20 16:48:19
\n",
"
It’s official then Amsterdam is canc...
\n",
"
Birmingham
\n",
"
0
\n",
"
0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tweet_id created_at \\\n",
"0 1340701494316830727 2020-12-20 16:51:59 \n",
"1 1340701340511723525 2020-12-20 16:51:23 \n",
"2 1340701052287541248 2020-12-20 16:50:14 \n",
"3 1340701023367692288 2020-12-20 16:50:07 \n",
"4 1340700570433310726 2020-12-20 16:48:19 \n",
"\n",
" text location retweet \\\n",
"0 When you think 2020 has been bad and... Newcastle Upon Tyne 0 \n",
"1 every single boy i hooked up with tu... NaN 0 \n",
"2 if you can reply to this, you made m... north carolina 0 \n",
"3 2020 has been such a cruel year but ... @retailthrpy_PH 0 \n",
"4 It’s official then Amsterdam is canc... Birmingham 0 \n",
"\n",
" favorite \n",
"0 0 \n",
"1 0 \n",
"2 0 \n",
"3 0 \n",
"4 0 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"path = r'C:\\Users\\Osas\\Twitter data' # use your path\n",
"all_files = glob.glob(path + \"/*.csv\")\n",
"\n",
"tweets = []\n",
"\n",
"for filename in all_files:\n",
" df = pd.read_csv(filename, index_col=None, header=0) # Convert each csv to a dataframe\n",
" tweets.append(df)\n",
"\n",
"tweets_df = pd.concat(tweets, axis=0, ignore_index=True) # Merge all dataframes\n",
"\n",
"tweets_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. Data Cleaning\n",
"The dataframe in Section 2 were cleaned in this section. Duplicate values were checked and removed. It is also important to mention that the Tweet ID was considered as the Primary key for all the dataframe. I also replaced \"NaN\" values in Location column because if used for Location Geocoding, \"NaN\" values return Coordinates which should not be."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:19:42.042538Z",
"start_time": "2020-12-30T00:19:42.037553Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(50868, 6)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.shape #Get number of rows and columns"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:19:45.733707Z",
"start_time": "2020-12-30T00:19:45.718748Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"88"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.duplicated(subset='tweet_id').sum() # Check for duplicate values"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:19:53.105960Z",
"start_time": "2020-12-30T00:19:53.074045Z"
}
},
"outputs": [],
"source": [
"tweets_df=tweets_df.drop_duplicates(subset=['tweet_id']) # drop duplicate values"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:19:53.971644Z",
"start_time": "2020-12-30T00:19:53.965660Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"(50780, 6)"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.shape # Check the shape after dropping duplicates"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:19:57.285010Z",
"start_time": "2020-12-30T00:19:57.269017Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"tweet_id False\n",
"created_at False\n",
"text False\n",
"location True\n",
"retweet False\n",
"favorite False\n",
"dtype: bool"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.isna().any() # Check for \"NaN\" values"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:20:19.135151Z",
"start_time": "2020-12-30T00:20:19.126175Z"
}
},
"outputs": [],
"source": [
"tweets_df['location']=tweets_df['location'].fillna('No location') # Replace \"NaN\" values with \"No Location\""
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:20:20.448691Z",
"start_time": "2020-12-30T00:20:20.429727Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"tweet_id False\n",
"created_at False\n",
"text False\n",
"location False\n",
"retweet False\n",
"favorite False\n",
"dtype: bool"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.isna().any() # Check for \"NaN\" values again"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 4. Location Geocoding\n",
"For my final dashboard, I wanted to add a map that shows the number of tweets per country. To do that, Tableau needs basic geographic information that it can recognize. After several trials and errors, I ended up using the HERE Developer API to return Longitude, Latitude & Country names for each tweet. One key thing is if you send a request with a \"NaN\" or Null value to the API, it will return an actual location. This is why I had to replace \"NaN\" values with \"No Location\" in the step on Data Cleaning. __It is also important to study your dataframe to ensure you are getting the expected results. This is how I caught this discrepancy__"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T20:44:25.612956Z",
"start_time": "2020-12-25T20:44:25.607970Z"
}
},
"outputs": [],
"source": [
"URL = \"https://geocode.search.hereapi.com/v1/geocode\" # Deevloper Here API link\n",
"api_key = '#######################' # Acquire api key from developer.here.com\n",
"\n",
"def getCoordinates(location):\n",
" PARAMS = {'apikey': api_key, 'q': location} # required parameters\n",
" r = requests.get(url=URL, params=PARAMS) # pass in required parameters\n",
" # get raw json file. I did this because when I combined this step with my \"getLocation\" function, \n",
" # it gave me error for countries with no country_code or country_name. Hence, I needed to use try - except block\n",
" data = r.json() # Raw json file \n",
" return data"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T21:19:05.996035Z",
"start_time": "2020-12-25T20:44:29.696620Z"
}
},
"outputs": [],
"source": [
"tweets_df['Location_data']=tweets_df['location'].apply(getCoordinates) # Apply getCoordinates Function"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:20:36.664879Z",
"start_time": "2020-12-30T00:20:36.655903Z"
}
},
"outputs": [],
"source": [
"# a function to extract required coordinates information to the tweets_df dataframe\n",
"\n",
"def getLocation(location):\n",
" for data in location:\n",
" if len(location['items'])>0:\n",
" latitude = location['items'][0]['position']['lat']\n",
" longitude = location['items'][0]['position']['lng']\n",
" try: \n",
" country_code = location['items'][0]['address']['countryCode']\n",
" country_name = location['items'][0]['address']['countryName']\n",
" country_name = location['items'][0]['address']['countryName']\n",
" except KeyError:\n",
" country_code = float('Nan')\n",
" country_name = float('Nan')\n",
" else: \n",
" latitude = float('Nan')\n",
" longitude = float('Nan')\n",
" country_code = float('Nan') \n",
" country_name = float('Nan')\n",
" result = (latitude, longitude, country_code, country_name)\n",
" return result"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:20:46.000863Z",
"start_time": "2020-12-30T00:20:45.935039Z"
},
"scrolled": true
},
"outputs": [],
"source": [
"tweets_df['location']=tweets_df['location_data'].apply(getLocation) #apply getLocation function"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T21:19:06.254238Z",
"start_time": "2020-12-25T21:19:06.168506Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
tweet_id
\n",
"
created_at
\n",
"
text
\n",
"
location
\n",
"
retweet
\n",
"
favorite
\n",
"
Location_data
\n",
"
Location
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1342121373863436288
\n",
"
2020-12-24 14:54:05
\n",
"
2020 has been an absolute shit year for all of...
\n",
"
No location
\n",
"
0
\n",
"
12
\n",
"
{'items': []}
\n",
"
(nan, nan, nan, nan)
\n",
"
\n",
"
\n",
"
1
\n",
"
1342121419472138240
\n",
"
2020-12-24 14:54:16
\n",
"
Kid this morning: It felt like it’s been 10 ye...
\n",
"
No location
\n",
"
0
\n",
"
6
\n",
"
{'items': []}
\n",
"
(nan, nan, nan, nan)
\n",
"
\n",
"
\n",
"
2
\n",
"
1342121426820739084
\n",
"
2020-12-24 14:54:18
\n",
"
Just wanted to take this opportunity to wish y...
\n",
"
Scotland, United Kingdom
\n",
"
0
\n",
"
7
\n",
"
{'items': [{'title': 'Scotland, MD, United Sta...
\n",
"
(38.09434, -76.36635, USA, United States)
\n",
"
\n",
"
\n",
"
3
\n",
"
1342121618550755330
\n",
"
2020-12-24 14:55:03
\n",
"
Reflecting on this year and I feel like I have...
\n",
"
Johannesburg, South Africa
\n",
"
9
\n",
"
14
\n",
"
{'items': [{'title': 'Johannesburg, Gauteng, S...
\n",
"
(-26.20491, 28.04006, ZAF, South Africa)
\n",
"
\n",
"
\n",
"
4
\n",
"
1342121950144057344
\n",
"
2020-12-24 14:56:22
\n",
"
One good thing about 2020 has been the number ...
\n",
"
Toronto
\n",
"
0
\n",
"
4
\n",
"
{'items': [{'title': 'Toronto, ON, Canada', 'i...
\n",
"
(43.64869, -79.38544, CAN, Canada)
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tweet_id created_at \\\n",
"0 1342121373863436288 2020-12-24 14:54:05 \n",
"1 1342121419472138240 2020-12-24 14:54:16 \n",
"2 1342121426820739084 2020-12-24 14:54:18 \n",
"3 1342121618550755330 2020-12-24 14:55:03 \n",
"4 1342121950144057344 2020-12-24 14:56:22 \n",
"\n",
" text \\\n",
"0 2020 has been an absolute shit year for all of... \n",
"1 Kid this morning: It felt like it’s been 10 ye... \n",
"2 Just wanted to take this opportunity to wish y... \n",
"3 Reflecting on this year and I feel like I have... \n",
"4 One good thing about 2020 has been the number ... \n",
"\n",
" location retweet favorite \\\n",
"0 No location 0 12 \n",
"1 No location 0 6 \n",
"2 Scotland, United Kingdom 0 7 \n",
"3 Johannesburg, South Africa 9 14 \n",
"4 Toronto 0 4 \n",
"\n",
" Location_data \\\n",
"0 {'items': []} \n",
"1 {'items': []} \n",
"2 {'items': [{'title': 'Scotland, MD, United Sta... \n",
"3 {'items': [{'title': 'Johannesburg, Gauteng, S... \n",
"4 {'items': [{'title': 'Toronto, ON, Canada', 'i... \n",
"\n",
" Location \n",
"0 (nan, nan, nan, nan) \n",
"1 (nan, nan, nan, nan) \n",
"2 (38.09434, -76.36635, USA, United States) \n",
"3 (-26.20491, 28.04006, ZAF, South Africa) \n",
"4 (43.64869, -79.38544, CAN, Canada) "
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.head() # Check dataframe first 5 rows"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T21:19:06.356076Z",
"start_time": "2020-12-25T21:19:06.255268Z"
}
},
"outputs": [],
"source": [
"# Extraction of Location Coordinates and Country names to different columns\n",
"tweets_df[['Latitude', 'Longitude', 'Country_Code',\n",
" 'Country_Name']] = pd.DataFrame(tweets_df['Location'].tolist(),\n",
" index=tweets_df.index)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-25T21:19:06.513573Z",
"start_time": "2020-12-25T21:19:06.357958Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
tweet_id
\n",
"
created_at
\n",
"
text
\n",
"
location
\n",
"
retweet
\n",
"
favorite
\n",
"
Location_data
\n",
"
Location
\n",
"
Latitude
\n",
"
Longitude
\n",
"
Country_Code
\n",
"
Country_Name
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1342121373863436288
\n",
"
2020-12-24 14:54:05
\n",
"
2020 has been an absolute shit year for all of...
\n",
"
No location
\n",
"
0
\n",
"
12
\n",
"
{'items': []}
\n",
"
(nan, nan, nan, nan)
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
1
\n",
"
1342121419472138240
\n",
"
2020-12-24 14:54:16
\n",
"
Kid this morning: It felt like it’s been 10 ye...
\n",
"
No location
\n",
"
0
\n",
"
6
\n",
"
{'items': []}
\n",
"
(nan, nan, nan, nan)
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
2
\n",
"
1342121426820739084
\n",
"
2020-12-24 14:54:18
\n",
"
Just wanted to take this opportunity to wish y...
\n",
"
Scotland, United Kingdom
\n",
"
0
\n",
"
7
\n",
"
{'items': [{'title': 'Scotland, MD, United Sta...
\n",
"
(38.09434, -76.36635, USA, United States)
\n",
"
38.09434
\n",
"
-76.36635
\n",
"
USA
\n",
"
United States
\n",
"
\n",
"
\n",
"
3
\n",
"
1342121618550755330
\n",
"
2020-12-24 14:55:03
\n",
"
Reflecting on this year and I feel like I have...
\n",
"
Johannesburg, South Africa
\n",
"
9
\n",
"
14
\n",
"
{'items': [{'title': 'Johannesburg, Gauteng, S...
\n",
"
(-26.20491, 28.04006, ZAF, South Africa)
\n",
"
-26.20491
\n",
"
28.04006
\n",
"
ZAF
\n",
"
South Africa
\n",
"
\n",
"
\n",
"
4
\n",
"
1342121950144057344
\n",
"
2020-12-24 14:56:22
\n",
"
One good thing about 2020 has been the number ...
\n",
"
Toronto
\n",
"
0
\n",
"
4
\n",
"
{'items': [{'title': 'Toronto, ON, Canada', 'i...
\n",
"
(43.64869, -79.38544, CAN, Canada)
\n",
"
43.64869
\n",
"
-79.38544
\n",
"
CAN
\n",
"
Canada
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" tweet_id created_at \\\n",
"0 1342121373863436288 2020-12-24 14:54:05 \n",
"1 1342121419472138240 2020-12-24 14:54:16 \n",
"2 1342121426820739084 2020-12-24 14:54:18 \n",
"3 1342121618550755330 2020-12-24 14:55:03 \n",
"4 1342121950144057344 2020-12-24 14:56:22 \n",
"\n",
" text \\\n",
"0 2020 has been an absolute shit year for all of... \n",
"1 Kid this morning: It felt like it’s been 10 ye... \n",
"2 Just wanted to take this opportunity to wish y... \n",
"3 Reflecting on this year and I feel like I have... \n",
"4 One good thing about 2020 has been the number ... \n",
"\n",
" location retweet favorite \\\n",
"0 No location 0 12 \n",
"1 No location 0 6 \n",
"2 Scotland, United Kingdom 0 7 \n",
"3 Johannesburg, South Africa 9 14 \n",
"4 Toronto 0 4 \n",
"\n",
" Location_data \\\n",
"0 {'items': []} \n",
"1 {'items': []} \n",
"2 {'items': [{'title': 'Scotland, MD, United Sta... \n",
"3 {'items': [{'title': 'Johannesburg, Gauteng, S... \n",
"4 {'items': [{'title': 'Toronto, ON, Canada', 'i... \n",
"\n",
" Location Latitude Longitude \\\n",
"0 (nan, nan, nan, nan) NaN NaN \n",
"1 (nan, nan, nan, nan) NaN NaN \n",
"2 (38.09434, -76.36635, USA, United States) 38.09434 -76.36635 \n",
"3 (-26.20491, 28.04006, ZAF, South Africa) -26.20491 28.04006 \n",
"4 (43.64869, -79.38544, CAN, Canada) 43.64869 -79.38544 \n",
"\n",
" Country_Code Country_Name \n",
"0 NaN NaN \n",
"1 NaN NaN \n",
"2 USA United States \n",
"3 ZAF South Africa \n",
"4 CAN Canada "
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.head() # Check dataframe first 5 rows"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:22:24.231251Z",
"start_time": "2020-12-30T00:22:24.186341Z"
}
},
"outputs": [],
"source": [
"# Drop unnecessary columns\n",
"tweets_df.drop(['Location_data','location','Location'], axis=1, inplace=True)\n",
"# Rename columns\n",
"tweets_df.columns=['Tweet_ID','Time_Created','Tweet','Retweet_Count','Favorite_Count',\n",
" 'Latitude','Longitude','Country_Code','Country_Name']"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T00:22:36.603176Z",
"start_time": "2020-12-30T00:22:36.590211Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Tweet_ID
\n",
"
Time_Created
\n",
"
Tweet
\n",
"
Retweet_Count
\n",
"
Favorite_Count
\n",
"
Latitude
\n",
"
Longitude
\n",
"
Country_Code
\n",
"
Country_Name
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1340701494316830727
\n",
"
2020-12-20 16:51:59
\n",
"
When you think 2020 has been bad and...
\n",
"
0
\n",
"
0
\n",
"
54.97789
\n",
"
-1.61162
\n",
"
GBR
\n",
"
England
\n",
"
\n",
"
\n",
"
1
\n",
"
1340701340511723525
\n",
"
2020-12-20 16:51:23
\n",
"
every single boy i hooked up with tu...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
2
\n",
"
1340701052287541248
\n",
"
2020-12-20 16:50:14
\n",
"
if you can reply to this, you made m...
\n",
"
0
\n",
"
0
\n",
"
35.78547
\n",
"
-78.64270
\n",
"
USA
\n",
"
United States
\n",
"
\n",
"
\n",
"
3
\n",
"
1340701023367692288
\n",
"
2020-12-20 16:50:07
\n",
"
2020 has been such a cruel year but ...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
\n",
"
\n",
"
4
\n",
"
1340700570433310726
\n",
"
2020-12-20 16:48:19
\n",
"
It’s official then Amsterdam is canc...
\n",
"
0
\n",
"
0
\n",
"
52.47891
\n",
"
-1.90592
\n",
"
GBR
\n",
"
England
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Tweet_ID Time_Created \\\n",
"0 1340701494316830727 2020-12-20 16:51:59 \n",
"1 1340701340511723525 2020-12-20 16:51:23 \n",
"2 1340701052287541248 2020-12-20 16:50:14 \n",
"3 1340701023367692288 2020-12-20 16:50:07 \n",
"4 1340700570433310726 2020-12-20 16:48:19 \n",
"\n",
" Tweet Retweet_Count Favorite_Count \\\n",
"0 When you think 2020 has been bad and... 0 0 \n",
"1 every single boy i hooked up with tu... 0 0 \n",
"2 if you can reply to this, you made m... 0 0 \n",
"3 2020 has been such a cruel year but ... 0 0 \n",
"4 It’s official then Amsterdam is canc... 0 0 \n",
"\n",
" Latitude Longitude Country_Code Country_Name \n",
"0 54.97789 -1.61162 GBR England \n",
"1 NaN NaN NaN NaN \n",
"2 35.78547 -78.64270 USA United States \n",
"3 NaN NaN NaN NaN \n",
"4 52.47891 -1.90592 GBR England "
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.head() # Check dataframe first 5 rows"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. Tweets Processing\n",
"To reach the ultimate goal, there was a need to clean up the individual tweets. To make this easy, I created several functions in my Python code which I further applied to the \"Tweets\" column in my Pandas data frame to produce the desired results. \n",
"Also, for my Word Cloud, I wanted to only show the words used to describe 2020, so I created a function to extract only the adjectives to a new column."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:04:20.722394Z",
"start_time": "2021-01-06T17:04:20.712420Z"
}
},
"outputs": [],
"source": [
"# Function to remove punctuations, links, emojis, and stop words\n",
"def preprocessTweets(tweet):\n",
" tweet = tweet.lower() #has to be in place\n",
" # Remove urls\n",
" tweet = re.sub(r\"http\\S+|www\\S+|https\\S+\", '', tweet, flags=re.MULTILINE)\n",
" # Remove user @ references and '#' from tweet\n",
" tweet = re.sub(r'\\@\\w+|\\#|\\d+', '', tweet)\n",
" # Remove stopwords\n",
" tweet_tokens = word_tokenize(tweet) # convert string to tokens\n",
" filtered_words = [w for w in tweet_tokens if w not in stop_words]\n",
" filtered_words = [w for w in filtered_words if w not in emojis]\n",
" filtered_words = [w for w in filtered_words if w in word_list]\n",
"\n",
" # Remove punctuations\n",
" unpunctuated_words = [char for char in filtered_words if char not in string.punctuation]\n",
" unpunctuated_words = ' '.join(unpunctuated_words)\n",
"\n",
" return \"\".join(unpunctuated_words) # join words with a space in between them\n",
"\n",
"\n",
"# function to obtain adjectives from tweets\n",
"def getAdjectives(tweet):\n",
" tweet = word_tokenize(tweet) # convert string to tokens\n",
" tweet = [word for (word, tag) in pos_tag(tweet)\n",
" if tag == \"JJ\"] # pos_tag module in NLTK library\n",
" return \" \".join(tweet) # join words with a space in between them"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:04:21.715915Z",
"start_time": "2021-01-06T17:04:21.299850Z"
}
},
"outputs": [],
"source": [
"# Defining my NLTK stop words and my user-defined stop words\n",
"stop_words = list(stopwords.words('english'))\n",
"user_stop_words = ['2020', 'year', 'many', 'much', 'amp', 'next', 'cant', 'wont', 'hadnt',\n",
" 'havent', 'hasnt', 'isnt', 'shouldnt', 'couldnt', 'wasnt', 'werent',\n",
" 'mustnt', '’', '...', '..', '.', '.....', '....', 'been…', 'one', 'two',\n",
" 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'aht',\n",
" 've', 'next']\n",
"alphabets = list(string.ascii_lowercase)\n",
"stop_words = stop_words + user_stop_words + alphabets\n",
"word_list = words.words() # all words in English language\n",
"emojis = list(UNICODE_EMO.keys()) # full list of emojis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### An example of how the above function works is shown below"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:48:54.743648Z",
"start_time": "2021-01-06T17:48:54.719714Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"difficulty sad happy worked\n"
]
}
],
"source": [
"print(preprocessTweets(\"2020 was a year of difficulty. It was sad, but I am happy with how things worked out for me\"))"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:27:28.361069Z",
"start_time": "2021-01-06T17:04:29.995842Z"
}
},
"outputs": [],
"source": [
"# Apply preProcessTweets function to the 'Tweet' column to generate a new column called 'Processed Tweets'.\n",
"# This took 23 mins to run for 50,780 rows\n",
"tweets_df['Processed_Tweets'] = tweets_df['Tweet'].apply(preprocessTweets)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:28:32.078274Z",
"start_time": "2021-01-06T17:27:28.362029Z"
}
},
"outputs": [],
"source": [
"# Apply getAdjectives function to the new 'Processed Tweets' column to generate a new column called 'Tweets_Adjectives'\n",
"tweets_df['Tweets_Adjectives'] = tweets_df['Processed_Tweets'].apply(getAdjectives)"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:28:32.095126Z",
"start_time": "2021-01-06T17:28:32.080203Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Tweet_ID
\n",
"
Time_Created
\n",
"
Tweet
\n",
"
Retweet_Count
\n",
"
Favorite_Count
\n",
"
Latitude
\n",
"
Longitude
\n",
"
Country_Code
\n",
"
Country_Name
\n",
"
Processed_Tweets
\n",
"
Tweets_Adjectives
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1340701494316830727
\n",
"
2020-12-20 16:51:59
\n",
"
When you think 2020 has been bad and...
\n",
"
0
\n",
"
0
\n",
"
54.97789
\n",
"
-1.61162
\n",
"
GBR
\n",
"
England
\n",
"
think bad see phrase mutation
\n",
"
bad phrase
\n",
"
\n",
"
\n",
"
1
\n",
"
1340701340511723525
\n",
"
2020-12-20 16:51:23
\n",
"
every single boy i hooked up with tu...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
every single boy hooked turned awful
\n",
"
single turned awful
\n",
"
\n",
"
\n",
"
2
\n",
"
1340701052287541248
\n",
"
2020-12-20 16:50:14
\n",
"
if you can reply to this, you made m...
\n",
"
0
\n",
"
0
\n",
"
35.78547
\n",
"
-78.64270
\n",
"
USA
\n",
"
United States
\n",
"
reply made yes really rough made bet...
\n",
"
rough worth
\n",
"
\n",
"
\n",
"
3
\n",
"
1340701023367692288
\n",
"
2020-12-20 16:50:07
\n",
"
2020 has been such a cruel year but ...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
cruel thank goodness met people made...
\n",
"
bearable
\n",
"
\n",
"
\n",
"
4
\n",
"
1340700570433310726
\n",
"
2020-12-20 16:48:19
\n",
"
It’s official then Amsterdam is canc...
\n",
"
0
\n",
"
0
\n",
"
52.47891
\n",
"
-1.90592
\n",
"
GBR
\n",
"
England
\n",
"
official cat
\n",
"
official
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Tweet_ID Time_Created \\\n",
"0 1340701494316830727 2020-12-20 16:51:59 \n",
"1 1340701340511723525 2020-12-20 16:51:23 \n",
"2 1340701052287541248 2020-12-20 16:50:14 \n",
"3 1340701023367692288 2020-12-20 16:50:07 \n",
"4 1340700570433310726 2020-12-20 16:48:19 \n",
"\n",
" Tweet Retweet_Count Favorite_Count \\\n",
"0 When you think 2020 has been bad and... 0 0 \n",
"1 every single boy i hooked up with tu... 0 0 \n",
"2 if you can reply to this, you made m... 0 0 \n",
"3 2020 has been such a cruel year but ... 0 0 \n",
"4 It’s official then Amsterdam is canc... 0 0 \n",
"\n",
" Latitude Longitude Country_Code Country_Name \\\n",
"0 54.97789 -1.61162 GBR England \n",
"1 NaN NaN NaN NaN \n",
"2 35.78547 -78.64270 USA United States \n",
"3 NaN NaN NaN NaN \n",
"4 52.47891 -1.90592 GBR England \n",
"\n",
" Processed_Tweets Tweets_Adjectives \n",
"0 think bad see phrase mutation bad phrase \n",
"1 every single boy hooked turned awful single turned awful \n",
"2 reply made yes really rough made bet... rough worth \n",
"3 cruel thank goodness met people made... bearable \n",
"4 official cat official "
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.head() # Check dataframe first 5 rows"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:29:19.157843Z",
"start_time": "2021-01-06T17:29:19.153854Z"
}
},
"outputs": [],
"source": [
"# function to return words to their base form using Lemmatizer\n",
"def preprocessTweetsSentiments(tweet):\n",
" tweet_tokens = word_tokenize(tweet)\n",
" lemmatizer = WordNetLemmatizer() # instatiate an object WordNetLemmatizer Class\n",
" lemma_words = [lemmatizer.lemmatize(w) for w in tweet_tokens]\n",
" return \" \".join(lemma_words)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:29:28.586569Z",
"start_time": "2021-01-06T17:29:21.955360Z"
}
},
"outputs": [],
"source": [
"# Apply preprocessTweetsSentiments function to the 'Processed Tweets' column to generate a new column\n",
"# called 'Processed_Tweets'\n",
"tweets_df['Tweets_Sentiments'] = tweets_df['Processed_Tweets'].apply(preprocessTweetsSentiments)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:29:28.607515Z",
"start_time": "2021-01-06T17:29:28.587566Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Tweet_ID
\n",
"
Time_Created
\n",
"
Tweet
\n",
"
Retweet_Count
\n",
"
Favorite_Count
\n",
"
Latitude
\n",
"
Longitude
\n",
"
Country_Code
\n",
"
Country_Name
\n",
"
Processed_Tweets
\n",
"
Tweets_Adjectives
\n",
"
Tweets_Sentiments
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1340701494316830727
\n",
"
2020-12-20 16:51:59
\n",
"
When you think 2020 has been bad and...
\n",
"
0
\n",
"
0
\n",
"
54.97789
\n",
"
-1.61162
\n",
"
GBR
\n",
"
England
\n",
"
think bad see phrase mutation
\n",
"
bad phrase
\n",
"
think bad see phrase mutation
\n",
"
\n",
"
\n",
"
1
\n",
"
1340701340511723525
\n",
"
2020-12-20 16:51:23
\n",
"
every single boy i hooked up with tu...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
every single boy hooked turned awful
\n",
"
single turned awful
\n",
"
every single boy hooked turned awful
\n",
"
\n",
"
\n",
"
2
\n",
"
1340701052287541248
\n",
"
2020-12-20 16:50:14
\n",
"
if you can reply to this, you made m...
\n",
"
0
\n",
"
0
\n",
"
35.78547
\n",
"
-78.64270
\n",
"
USA
\n",
"
United States
\n",
"
reply made yes really rough made bet...
\n",
"
rough worth
\n",
"
reply made yes really rough made bet...
\n",
"
\n",
"
\n",
"
3
\n",
"
1340701023367692288
\n",
"
2020-12-20 16:50:07
\n",
"
2020 has been such a cruel year but ...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
cruel thank goodness met people made...
\n",
"
bearable
\n",
"
cruel thank goodness met people made...
\n",
"
\n",
"
\n",
"
4
\n",
"
1340700570433310726
\n",
"
2020-12-20 16:48:19
\n",
"
It’s official then Amsterdam is canc...
\n",
"
0
\n",
"
0
\n",
"
52.47891
\n",
"
-1.90592
\n",
"
GBR
\n",
"
England
\n",
"
official cat
\n",
"
official
\n",
"
official cat
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Tweet_ID Time_Created \\\n",
"0 1340701494316830727 2020-12-20 16:51:59 \n",
"1 1340701340511723525 2020-12-20 16:51:23 \n",
"2 1340701052287541248 2020-12-20 16:50:14 \n",
"3 1340701023367692288 2020-12-20 16:50:07 \n",
"4 1340700570433310726 2020-12-20 16:48:19 \n",
"\n",
" Tweet Retweet_Count Favorite_Count \\\n",
"0 When you think 2020 has been bad and... 0 0 \n",
"1 every single boy i hooked up with tu... 0 0 \n",
"2 if you can reply to this, you made m... 0 0 \n",
"3 2020 has been such a cruel year but ... 0 0 \n",
"4 It’s official then Amsterdam is canc... 0 0 \n",
"\n",
" Latitude Longitude Country_Code Country_Name \\\n",
"0 54.97789 -1.61162 GBR England \n",
"1 NaN NaN NaN NaN \n",
"2 35.78547 -78.64270 USA United States \n",
"3 NaN NaN NaN NaN \n",
"4 52.47891 -1.90592 GBR England \n",
"\n",
" Processed_Tweets Tweets_Adjectives \\\n",
"0 think bad see phrase mutation bad phrase \n",
"1 every single boy hooked turned awful single turned awful \n",
"2 reply made yes really rough made bet... rough worth \n",
"3 cruel thank goodness met people made... bearable \n",
"4 official cat official \n",
"\n",
" Tweets_Sentiments \n",
"0 think bad see phrase mutation \n",
"1 every single boy hooked turned awful \n",
"2 reply made yes really rough made bet... \n",
"3 cruel thank goodness met people made... \n",
"4 official cat "
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.head() # Check dataframe first 5 rows"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:32:02.209959Z",
"start_time": "2021-01-06T17:32:01.603856Z"
}
},
"outputs": [],
"source": [
"# I had to write my results to a csv file at every instance due to the amount of time it took for the preprocessTweets\n",
"# function to run\n",
"tweets_df.to_csv('Tweets_Processed.csv',encoding='utf-8-sig', index=False) \n",
"# Also, encoding is important when writing text to csv file"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. Data Exploration\n",
"In this section, the aim was to show the most common words used by Twitter Users to describe 2020. This was made possible by the \"getAdjectives\" function in Section 5. I also made use of WordCloud and MatPlotlib for this task."
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:32:43.453309Z",
"start_time": "2021-01-06T17:32:43.446330Z"
}
},
"outputs": [],
"source": [
"# Extract all tweets into one long string with each word separate with a \"space\"\n",
"tweets_long_string = tweets_df['Tweets_Adjectives'].tolist()\n",
"tweets_long_string = \" \".join(tweets_long_string)"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T02:00:21.015230Z",
"start_time": "2020-12-30T02:00:19.627904Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Instantiate the Twitter word cloud object\n",
"twitter_wc = WordCloud(background_color='white', max_words=1500, mask=image)\n",
"\n",
"# generate the word cloud\n",
"twitter_wc.generate(tweets_long_string)\n",
"\n",
"# display the word cloud\n",
"fig = plt.figure()\n",
"fig.set_figwidth(14) # set width\n",
"fig.set_figheight(18) # set height\n",
"\n",
"plt.imshow(twitter_wc.recolor(color_func=blue_color_func, random_state=3),\n",
" interpolation=\"bilinear\")\n",
"plt.axis('off')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T04:04:41.363535Z",
"start_time": "2020-12-30T04:04:40.441964Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"twitter_wc.to_file(\"wordcloud.png\") #save to a png file"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Analyzing Top Words in the Word Cloud"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:32:51.622608Z",
"start_time": "2021-01-06T17:32:51.587600Z"
}
},
"outputs": [],
"source": [
"# Combine all words into a list\n",
"tweets_long_string = tweets_df['Tweets_Adjectives'].tolist()\n",
"tweets_list=[]\n",
"for item in tweets_long_string:\n",
" item = item.split()\n",
" for i in item:\n",
" tweets_list.append(i)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:32:51.907890Z",
"start_time": "2021-01-06T17:32:51.775099Z"
}
},
"outputs": [],
"source": [
"# Use the Built-in Python Collections module to determine Word frequency\n",
"from collections import Counter\n",
"counts = Counter(tweets_list)\n",
"df = pd.DataFrame.from_dict(counts, orient='index').reset_index()\n",
"df.columns = ['Words', 'Count']\n",
"df.sort_values(by='Count', ascending=False, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:32:52.599999Z",
"start_time": "2021-01-06T17:32:52.591986Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Words
\n",
"
Count
\n",
"
\n",
" \n",
" \n",
"
\n",
"
24
\n",
"
good
\n",
"
4205
\n",
"
\n",
"
\n",
"
51
\n",
"
tough
\n",
"
2871
\n",
"
\n",
"
\n",
"
78
\n",
"
new
\n",
"
2807
\n",
"
\n",
"
\n",
"
159
\n",
"
happy
\n",
"
2689
\n",
"
\n",
"
\n",
"
48
\n",
"
hard
\n",
"
2668
\n",
"
\n",
"
\n",
"
0
\n",
"
bad
\n",
"
2329
\n",
"
\n",
"
\n",
"
28
\n",
"
great
\n",
"
2185
\n",
"
\n",
"
\n",
"
116
\n",
"
last
\n",
"
1504
\n",
"
\n",
"
\n",
"
10
\n",
"
grateful
\n",
"
1432
\n",
"
\n",
"
\n",
"
65
\n",
"
difficult
\n",
"
1232
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Words Count\n",
"24 good 4205\n",
"51 tough 2871\n",
"78 new 2807\n",
"159 happy 2689\n",
"48 hard 2668\n",
"0 bad 2329\n",
"28 great 2185\n",
"116 last 1504\n",
"10 grateful 1432\n",
"65 difficult 1232"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head(10) # Check dataframe first 10 rows"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Top 10 Words in Twitter Users' 2020 Reflections"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:39:40.522663Z",
"start_time": "2021-01-06T17:39:40.383039Z"
},
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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V97CreQlJD1PZgIqRQesvcPFe8iHfJx5MrOTvsc/ARG88e9D6YEQEAJmpK9Dn7YE7VlripPAEQJCADBTjxh6npneIFyEQDIREMGbTN6WvgqBBCdgbBeXVn0SwzMu0BZiCY5AuicEjibgPZBHJ9TStMMP+ztyW7AJgUQnIII30T0s/RMCQpKVQ+kAACAASURBVEAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0s/RMCQkAICAEhIASEQJITEMGb5ANAui8EhIAQEAJCQAgIgUQnIII30T0chf4xc3MAc4moRRSaC2sTzPwLgDuI6NewVhzhypj5PgD1iWh4hJsKa/XMXBfAUiKqF9aKk7yyVt26PQ6Aln3yyagkRyHdFwJCQAj4JSCCVwZGpQmI4K00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CaJ/kKA/E4tbz1Wl/NRff9vckQ/0ttvs/8WCbiHmNlobNEH/x6eqfyt9CuSL9LdPweSOyXblecF0FxNVCCGeYWIHkThjVPBqLdK6dvg5Ef+UhFjPLscktCUzcLgwBARAAARAIG4IQPDGTSixERAAARAAARAAARAAAV8EIHhxLkAABEAABEAABEAABOKaAARvXIcXmwMBEAABEAABEAABEIDgxRkAARAAARAAARAAARCIawIQvHEdXmwOBEAABEAABEAABEAAghdnAARAAARAAARAAARAIK4JQPDGdXixORAAARAAARAAARAAAQhenAEQAAEQAAEQAAEQAIG4JgDBG9fhxeZAAARAAARAAARAAAQgeHEGQAAEQAAEQAAEQAAE4poABG9chxebAwEQAAEQAAEQAAEQgODFGQABEAABEAABEAABEIhrAhC8cR1ebA4EQAAEQAAEQAAEQACCF2cABEAABEAABEAABEAgrglA8MZ1eLE5EAABEAABEAABEAABCF6cARAAARAAARAAARAAgbgmAMEb1+HF5kAABEAABEAABEAABCB4cQZAAARAAARAAARAAATimgAEb1yHF5sDARAAARAAARAAARCA4MUZAAEQAAEQAAEQAAEQiGsCELxxHV5sDgRAAARAAARAAARAAIIXZwAEQAAEQAAEQAAEQCCuCUDwxnV4sTkQAAEQAAEQAAEQAAEIXpwBEAABEAABEAABEACBuCYAwRvX4cXmQAAEQAAEQAAEQAAEIHhxBkAABEAABEAABEAABOKaAARvXIcXmwMBEAABEAABEAABEIDgxRkAARAAARAAARAAARCIawL/H+uRYuiPn0jzAAAAAElFTkSuQmCC"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# print(px.colors.sequential.Blues_r) to get the colour list used here. Please note, I swatched some colours\n",
"\n",
"# Define my colours for the Plotly Plot\n",
"colors = ['rgb(8,48,107)', 'rgb(8,81,156)', 'rgb(33,113,181)', 'rgb(66,146,198)',\n",
" 'rgb(107,174,214)', 'rgb(158,202,225)', 'rgb(198,219,239)',\n",
" 'rgb(222,235,247)', 'rgb(247,251,255)', 'rgb(247,253,255)']\n",
"\n",
"# Set layout for Plotly Subplots\n",
"fig = make_subplots(rows=1, cols=2, specs=[[{\"type\": \"xy\"}, { \"type\": \"domain\"}]],\n",
" vertical_spacing=0.001)\n",
"\n",
"# Add First Plot\n",
"fig.add_trace(go.Bar(x = df['Count'].head(10), y=df['Words'].head(10),marker=dict(color='rgba(66,146,198, 1)',\n",
" line=dict(color='Black'),),name='Bar Chart',orientation='h'), 1, 1)\n",
"\n",
"# Add Second Plot\n",
"fig.add_trace(go.Pie(labels=df['Words'].head(10),values=df['Count'].head(15),textinfo='label+percent',\n",
" insidetextorientation='radial', marker=dict(colors=colors, line=dict(color='DarkSlateGrey')),\n",
" name='Pie Chart'), 1, 2)\n",
"# customize layout\n",
"fig.update_layout(shapes=[dict(type=\"line\",xref=\"paper\", yref=\"paper\", x0=0.5, y0=0, x1=0.5, y1=1.0,\n",
" line_color='DarkSlateGrey', line_width=1)])\n",
"\n",
"# customize plot title\n",
"fig.update_layout(showlegend=False, title=dict(text=\"Twitter Users' 2020 Refelections (10 Most Common Words)\",\n",
" font=dict(size=18, )))\n",
"\n",
"# Customize backgroound, margins, axis, title\n",
"fig.update_layout(yaxis=dict(showgrid=False,\n",
" showline=False,\n",
" showticklabels=True,\n",
" domain=[0, 1],\n",
" categoryorder='total ascending',\n",
" title=dict(text='Common Words', font_size=14)),\n",
" xaxis=dict(zeroline=False,\n",
" showline=False,\n",
" showticklabels=True,\n",
" showgrid=True,\n",
" domain=[0, 0.42],\n",
" title=dict(text='Word Count', font_size=14)),\n",
" margin=dict(l=100, r=20, t=70, b=70),\n",
" paper_bgcolor='rgba(0,0,0,0)',\n",
" plot_bgcolor='rgba(0,0,0,0)')\n",
"\n",
"# Specify X and Y values for Annotations\n",
"x = df['Count'].head(10).to_list()\n",
"y = df['Words'].head(10).to_list()\n",
"\n",
"# Show annotations on plot\n",
"annotations = [dict(xref='x1', yref='y1', x=xa + 350, y=ya, text=str(xa), showarrow=False) for xa, ya in zip(x, y)]\n",
"\n",
"fig.update_layout(annotations=annotations)\n",
"fig.show(renderer = 'png')"
]
},
{
"cell_type": "code",
"execution_count": 331,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-26T06:11:28.848646Z",
"start_time": "2020-12-26T06:11:25.900532Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"'https://plotly.com/~jess-data/63/'"
]
},
"execution_count": 331,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Export to Plot to Chart Studio using my Chart Studio Credentials\n",
"py.plot(fig, filename = 'Twitter Users 2020 Refelections (10 Most Common Words)', auto_open=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 7. Sentiment Analysis\n",
"In this section, the aim was to show the most common words used by Twitter Users to describe 2020. This was made possible byt the getAdjectives function. I also made use of WordCloud and MatPlotlib for this task."
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:39:46.275906Z",
"start_time": "2021-01-06T17:39:46.270922Z"
}
},
"outputs": [],
"source": [
"# Create function to obtain Subjectivity Score\n",
"def getSubjectivity(tweet):\n",
" return TextBlob(tweet).sentiment.subjectivity\n",
"\n",
"# Create function to obtain Polarity Score\n",
"def getPolarity(tweet):\n",
" return TextBlob(tweet).sentiment.polarity\n",
"\n",
"# Create function to obtain Sentiment category\n",
"def getSentimentTextBlob(polarity):\n",
" if polarity < 0:\n",
" return \"Negative\"\n",
" elif polarity == 0:\n",
" return \"Neutral\"\n",
" else:\n",
" return \"Positive\""
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:40:08.346203Z",
"start_time": "2021-01-06T17:39:51.590413Z"
}
},
"outputs": [],
"source": [
"# Apply all functions above to respective columns\n",
"tweets_df['Subjectivity']=tweets_df['Tweets_Sentiments'].apply(getSubjectivity)\n",
"tweets_df['Polarity']=tweets_df['Tweets_Sentiments'].apply(getPolarity)\n",
"tweets_df['Sentiment']=tweets_df['Polarity'].apply(getSentimentTextBlob)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T04:08:13.571962Z",
"start_time": "2020-12-30T04:08:13.505146Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"Positive 25225\n",
"Negative 15963\n",
"Neutral 9592\n",
"Name: Sentiment, dtype: int64"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# See quick results of the Sentiment Analysis\n",
"tweets_df['Sentiment'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T04:08:13.702634Z",
"start_time": "2020-12-30T04:08:13.573921Z"
}
},
"outputs": [],
"source": [
"# Create dataframe for Count of Sentiment Categories\n",
"bar_chart = tweets_df['Sentiment'].value_counts().rename_axis('Sentiment').to_frame('Total Tweets').reset_index()"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T04:08:13.855204Z",
"start_time": "2020-12-30T04:08:13.703572Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Sentiment
\n",
"
Total Tweets
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Positive
\n",
"
25225
\n",
"
\n",
"
\n",
"
1
\n",
"
Negative
\n",
"
15963
\n",
"
\n",
"
\n",
"
2
\n",
"
Neutral
\n",
"
9592
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Sentiment Total Tweets\n",
"0 Positive 25225\n",
"1 Negative 15963\n",
"2 Neutral 9592"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bar_chart # Display dataframe"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"ExecuteTime": {
"end_time": "2021-01-06T17:48:10.253192Z",
"start_time": "2021-01-06T17:47:52.035464Z"
}
},
"outputs": [
{
"data": {
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sentiments_barchart = px.bar(bar_chart, x = 'Sentiment', y='Total Tweets', color='Sentiment')\n",
"\n",
"sentiments_barchart.update_layout(title='Distribution of Sentiments Results',\n",
" margin={\"r\": 0, \"t\": 30, \"l\": 0, \"b\": 0})\n",
"\n",
"sentiments_barchart.show(renderer = 'png') #Display plot. \n",
"\n",
"# I used renderer so that the plots show on the web when people view my notebook. \n",
"# For interactive plots, exclude the \"renderer\" argument\n",
"# Note, I further customized the plot on Chart Studio for my Medium post"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-26T02:02:15.821462Z",
"start_time": "2020-12-26T02:02:12.555199Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"'https://plotly.com/~jess-data/59/'"
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Export to Plot to Chart Studio using my Chart Studio Credentials. \n",
"py.plot(sentiments_barchart, filename = 'Distribution of Sentiments Results', auto_open=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## WE MADE IT!! \n",
"### Preview the resulting dataframe in preparation for export to Tableau"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-30T04:09:38.264615Z",
"start_time": "2020-12-30T04:09:38.246654Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Tweet_ID
\n",
"
Time_Created
\n",
"
Tweet
\n",
"
Retweet_Count
\n",
"
Favorite_Count
\n",
"
Latitude
\n",
"
Longitude
\n",
"
Country_Code
\n",
"
Country_Name
\n",
"
Processed_Tweets
\n",
"
Tweets_Adjectives
\n",
"
Tweets_Sentiments
\n",
"
Subjectivity
\n",
"
Polarity
\n",
"
Sentiment
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1340701494316830727
\n",
"
2020-12-20 16:51:59
\n",
"
When you think 2020 has been bad and...
\n",
"
0
\n",
"
0
\n",
"
54.97789
\n",
"
-1.61162
\n",
"
GBR
\n",
"
England
\n",
"
think bad see phrase mutation
\n",
"
bad phrase
\n",
"
think bad see phrase mutation
\n",
"
0.666667
\n",
"
-0.700000
\n",
"
Negative
\n",
"
\n",
"
\n",
"
1
\n",
"
1340701340511723525
\n",
"
2020-12-20 16:51:23
\n",
"
every single boy i hooked up with tu...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
every single boy hooked turned awful
\n",
"
single turned awful
\n",
"
every single boy hooked turned awful
\n",
"
0.607143
\n",
"
-0.535714
\n",
"
Negative
\n",
"
\n",
"
\n",
"
2
\n",
"
1340701052287541248
\n",
"
2020-12-20 16:50:14
\n",
"
if you can reply to this, you made m...
\n",
"
0
\n",
"
0
\n",
"
35.78547
\n",
"
-78.64270
\n",
"
USA
\n",
"
United States
\n",
"
reply made yes really rough made bet...
\n",
"
rough worth
\n",
"
reply made yes really rough made bet...
\n",
"
0.400000
\n",
"
0.300000
\n",
"
Positive
\n",
"
\n",
"
\n",
"
3
\n",
"
1340701023367692288
\n",
"
2020-12-20 16:50:07
\n",
"
2020 has been such a cruel year but ...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
cruel thank goodness met people made...
\n",
"
bearable
\n",
"
cruel thank goodness met people made...
\n",
"
1.000000
\n",
"
-1.000000
\n",
"
Negative
\n",
"
\n",
"
\n",
"
4
\n",
"
1340700570433310726
\n",
"
2020-12-20 16:48:19
\n",
"
It’s official then Amsterdam is canc...
\n",
"
0
\n",
"
0
\n",
"
52.47891
\n",
"
-1.90592
\n",
"
GBR
\n",
"
England
\n",
"
official cat
\n",
"
official
\n",
"
official cat
\n",
"
0.000000
\n",
"
0.000000
\n",
"
Neutral
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Tweet_ID Time_Created \\\n",
"0 1340701494316830727 2020-12-20 16:51:59 \n",
"1 1340701340511723525 2020-12-20 16:51:23 \n",
"2 1340701052287541248 2020-12-20 16:50:14 \n",
"3 1340701023367692288 2020-12-20 16:50:07 \n",
"4 1340700570433310726 2020-12-20 16:48:19 \n",
"\n",
" Tweet Retweet_Count Favorite_Count \\\n",
"0 When you think 2020 has been bad and... 0 0 \n",
"1 every single boy i hooked up with tu... 0 0 \n",
"2 if you can reply to this, you made m... 0 0 \n",
"3 2020 has been such a cruel year but ... 0 0 \n",
"4 It’s official then Amsterdam is canc... 0 0 \n",
"\n",
" Latitude Longitude Country_Code Country_Name \\\n",
"0 54.97789 -1.61162 GBR England \n",
"1 NaN NaN NaN NaN \n",
"2 35.78547 -78.64270 USA United States \n",
"3 NaN NaN NaN NaN \n",
"4 52.47891 -1.90592 GBR England \n",
"\n",
" Processed_Tweets Tweets_Adjectives \\\n",
"0 think bad see phrase mutation bad phrase \n",
"1 every single boy hooked turned awful single turned awful \n",
"2 reply made yes really rough made bet... rough worth \n",
"3 cruel thank goodness met people made... bearable \n",
"4 official cat official \n",
"\n",
" Tweets_Sentiments Subjectivity Polarity Sentiment \n",
"0 think bad see phrase mutation 0.666667 -0.700000 Negative \n",
"1 every single boy hooked turned awful 0.607143 -0.535714 Negative \n",
"2 reply made yes really rough made bet... 0.400000 0.300000 Positive \n",
"3 cruel thank goodness met people made... 1.000000 -1.000000 Negative \n",
"4 official cat 0.000000 0.000000 Neutral "
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tweets_df.head() # Check dataframe first 5 rows"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-26T00:26:14.885934Z",
"start_time": "2020-12-26T00:26:14.841061Z"
}
},
"outputs": [],
"source": [
"# Remove Unnecessary columns. I used copy here because I wanted a datframe that does not impact my original dataframe\n",
"tableau_df = tweets_df.drop((['Processed_Tweets','Tweets_Sentiments','Subjectivity','Polarity']), axis=1).copy(deep=True)"
]
},
{
"cell_type": "code",
"execution_count": 333,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-27T01:56:47.723738Z",
"start_time": "2020-12-27T01:56:47.322811Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Tweet_ID
\n",
"
Time_Created
\n",
"
Tweet
\n",
"
Retweet_Count
\n",
"
Favorite_Count
\n",
"
Latitude
\n",
"
Longitude
\n",
"
Country_Code
\n",
"
Country_Name
\n",
"
Tweets_Adjectives
\n",
"
Sentiment
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1340701494316830976
\n",
"
2020-12-20 16:51:59
\n",
"
When you think 2020 has been bad and...
\n",
"
0
\n",
"
0
\n",
"
54.97789
\n",
"
-1.61162
\n",
"
GBR
\n",
"
England
\n",
"
bad phrase
\n",
"
Negative
\n",
"
\n",
"
\n",
"
1
\n",
"
1340701340511724032
\n",
"
2020-12-20 16:51:23
\n",
"
every single boy i hooked up with tu...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
single turned awful
\n",
"
Negative
\n",
"
\n",
"
\n",
"
2
\n",
"
1340701052287540992
\n",
"
2020-12-20 16:50:14
\n",
"
if you can reply to this, you made m...
\n",
"
0
\n",
"
0
\n",
"
35.78547
\n",
"
-78.64270
\n",
"
USA
\n",
"
United States
\n",
"
rough worth
\n",
"
Positive
\n",
"
\n",
"
\n",
"
3
\n",
"
1340701023367692032
\n",
"
2020-12-20 16:50:07
\n",
"
2020 has been such a cruel year but ...
\n",
"
0
\n",
"
0
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
NaN
\n",
"
bearable
\n",
"
Negative
\n",
"
\n",
"
\n",
"
4
\n",
"
1340700570433310976
\n",
"
2020-12-20 16:48:19
\n",
"
It’s official then Amsterdam is canc...
\n",
"
0
\n",
"
0
\n",
"
52.47891
\n",
"
-1.90592
\n",
"
GBR
\n",
"
England
\n",
"
official
\n",
"
Neutral
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Tweet_ID Time_Created \\\n",
"0 1340701494316830976 2020-12-20 16:51:59 \n",
"1 1340701340511724032 2020-12-20 16:51:23 \n",
"2 1340701052287540992 2020-12-20 16:50:14 \n",
"3 1340701023367692032 2020-12-20 16:50:07 \n",
"4 1340700570433310976 2020-12-20 16:48:19 \n",
"\n",
" Tweet Retweet_Count Favorite_Count \\\n",
"0 When you think 2020 has been bad and... 0 0 \n",
"1 every single boy i hooked up with tu... 0 0 \n",
"2 if you can reply to this, you made m... 0 0 \n",
"3 2020 has been such a cruel year but ... 0 0 \n",
"4 It’s official then Amsterdam is canc... 0 0 \n",
"\n",
" Latitude Longitude Country_Code Country_Name Tweets_Adjectives \\\n",
"0 54.97789 -1.61162 GBR England bad phrase \n",
"1 NaN NaN NaN NaN single turned awful \n",
"2 35.78547 -78.64270 USA United States rough worth \n",
"3 NaN NaN NaN NaN bearable \n",
"4 52.47891 -1.90592 GBR England official \n",
"\n",
" Sentiment \n",
"0 Negative \n",
"1 Negative \n",
"2 Positive \n",
"3 Negative \n",
"4 Neutral "
]
},
"execution_count": 333,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tableau_df.head() # Check dataframe first 5 rows"
]
},
{
"cell_type": "code",
"execution_count": 339,
"metadata": {
"ExecuteTime": {
"end_time": "2020-12-27T02:37:52.492769Z",
"start_time": "2020-12-27T02:37:35.349879Z"
}
},
"outputs": [],
"source": [
"# Export to Excel file. You can link Python to Tableau by the way but I Ihaven't learned that yet\n",
"tableau_df.to_excel('Tweets_Tableau_Final_File.xlsx', encoding='utf-8-sig', index=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## THANK YOU FOR TAKING TIME TO STUDY MY NOTEBOOK. I HOPE YOU GOT SOME INSIGHTS.\n",
"## You can use the links below to view my other pages\n",
"\n",
"[Medium Page](https://jess-analytics.medium.com/)\n",
"\n",
"[Tableau Dashboard](https://public.tableau.com/views/TwitterUsers2020ReflectionsDashboard/FinalDashboard?:language=en-GB&:display_count=y&publish=yes&:origin=viz_share_link)\n",
"\n",
"[LinkedIn Page](https://www.linkedin.com/in/jessicauwoghiren/)\n",
"\n",
"[Twitter Page](https://twitter.com/jessica_xls)\n",
"\n",
"[My Data Community Placeholder Website](https://linktr.ee/DataTechSpace)\n",
"\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}