{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Project 02 - Wrangle and Analyze Data\n", "\n", "##### Student Tags\n", "\n", "Author: Anderson Hitoshi Uyekita \n", "Project: Wrangle and Analyze Data \n", "Course: Data Science - Foundations II \n", "COD: ND111 \n", "Date: 02/01/2019 \n", "Version: 2.0\n", "\n", "***\n", "\n", "## Table of Contents\n", "\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Synopsis\n", "\n", "This project aims to give to the student a real case of how to gather, assess, clean, and analyze the data, in other words its englobes the Data Wrangling and Exploratory Data Analysis. The database used as an example is about the [@dog_rate][dog_rate] user from Twitter, as known as [WeRateDogs™][dog_rate], this account has more than 7,572,000 followers, 9,500 tweets, and 141,000 likes.\n", "\n", "The Data Gathering process bundled three different tasks, the first one download file from URL and later loading to the Jupyter Notebook, which requires a manual step, the second downloading a file programmatically, and the third gathering data from the Twitter API. This step has also required to save these data in a local machine.\n", "\n", "Based on the data gathered, I have assessed the most evident issues (17 issues in total) and documented it to create a record of modifications. Later, in Data Cleaning process I have fixed all identified issues, and I have also merged (the two downloaded files from the Data Gathering process) into one and added some missing values (from the archive downloaded from the Twitter API). The final data frame was stored as `twitter_archive_master.csv`.\n", "\n", "In the Data Analysis and Visualization, which I have interpreted as Exploratory Analysis, I have posed few questions to guide my analysis, which lead me to found strong evidence of:\n", "\n", "* Seasonality in the number of tweets along the week and along the year;\n", "* A positive correlation between the number of retweets and the number of favourites, and;\n", "* No correlation between the algorithms output used to predict the dog breed.\n", "\n", "Finally, the Project also has other deliverables, which could be accessed by the following links:\n", "\n", "* [Act Report][act_report], and;\n", "* [Wrangle Report][wrangle_report].\n", "\n", "[dog_rate]: https://twitter.com/dog_rates\n", "[act_report]: http://rpubs.com/AndersonUyekita/nd111_project_02_act_report\n", "[wrangle_report]: http://rpubs.com/AndersonUyekita/nd111_project_02_wrangle_report\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Introduction \n", "\n", "This Jupyter Notebook aims to document the process of Gathering, Assessing, and Cleaning of Data Science Foundations II Nanodegree Program Project 02.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1. Reproducibility\n", "\n", "I have written this report using the Jupyter Notebook, which will allow anyone to reproduce this document in a local computer. I have made a great effort to document every step to turn this document understandable.\n", "\n", "#### Work envinronment\n", "\n", "I have performed this project using:\n", "\n", "* Dell Notebook Inspiron 7348;\n", "* Intel(R) Core(TM) i7-5500U CPU @ 2.40GHz 2.40GHz;\n", "* 8.00 GB, and;\n", "* Windows 10 Pro 64-bits.\n", "\n", "#### Softwares\n", "\n", "This report has written using four software:\n", "\n", "* Python (version 3.7.0);\n", "* Jupyter Notebook (version 5.6.0);\n", "* Opera (version 57.0.3098.106), and;\n", "* Atom (version 1.33.1 ia32).\n", "\n", "I have used the Atom to push to Github repository and to visualize some files, and nothing more than this.\n", "\n", "#### Packages\n", "\n", "I kindly ask you to install each of this packages before you run the next steps.\n", "\n", "* pandas (version 0.23.4);\n", "* requests (version 2.20.1);\n", "* re (version 2.2.1);\n", "* seaborn (version 0.9.0);\n", "* json (version 2.0.9), and;\n", "* tweepy (version 3.7.0).\n", "\n", "#### Repository\n", "\n", "You can access all files of this report in this repository:\n", "\n", "* https://github.com/AndersonUyekita/ND111_data_science_foundations_02\n", "\n", "\n", "### 1.2. Importing Libraries\n", "\n", "For this project I will use some libraries to manage data frames, download file, Twitter API Client code, etc.. Let's import this packages to the Jupyter Notebook environment." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Importing Library.\n", "\n", "# Importing pandas to work with DataFrames.\n", "import pandas as pd\n", "pd.set_option('mode.chained_assignment','raise')\n", "\n", "# Importing numpy to general methods.\n", "import numpy as np\n", "\n", "# Importing OS package to write and open files.\n", "import os\n", "\n", "# Importing the requests to create a object from a given URL.\n", "import requests\n", "\n", "# Importing the Client Code to use the Twitter API.\n", "import tweepy\n", "\n", "# Importing the json package to easy my task with json files\n", "import json\n", "\n", "# Importing the time package to calculate the elapse time to access the Twitter API\n", "import time\n", "\n", "# Importing the re package to use the regular expressions.\n", "import re\n", "\n", "# Importing the matplotlib to create graphics\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "# Import seaborn to better the visualization\n", "import seaborn as sns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Data Gathering \n", "\n", "There are two (2) files hosted in Udacity website that I must have to gather (download).\n", "\n", "* `image-predictions.tsv`, and;\n", "* `twitter-archive-enhanced.csv`.\n", "\n", "Later, I will access the Twitter API to gather additional data.\n", "\n", "### 2.2. Downloading Files from Udacity Website\n", "\n", "First, I will create a folder to store the data and later I will download each file." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Creating a folder to store the files.\n", "folder = \"01-Dataset\" # Folder's name.\n", "\n", "# Checking if the folder already exist.\n", "if not folder in os.listdir():\n", " os.mkdir(folder) # Creating the folder when 01-Dataset do not exist.\n", "\n", "# List of files.\n", "list_url = ['https://d17h27t6h515a5.cloudfront.net/topher/2017/August/59a4e958_twitter-archive-enhanced/twitter-archive-enhanced.csv',\n", " 'https://d17h27t6h515a5.cloudfront.net/topher/2017/August/599fd2ad_image-predictions/image-predictions.tsv']\n", "\n", "# Loop to download the two files hosted in Udacity website.\n", "for url in list_url:\n", " if not url.split('/')[-1].replace('-','_') in os.listdir(folder): # Check if the files already exist.\n", " response = requests.get(url) # Creating an object of the given URL.\n", " with open(os.path.join(folder,url.split('/')[-1].replace('-','_')), mode = 'wb') as file: # Defining the file name.\n", " file.write(response.content) # Saving the object." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2.2.1. Loading the files\n", "\n", "Now that all file is saved in the local machine (stored in the `01-Dataset` folder), let's load each file into the Jupyter Notebook environment." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Loading the image precictions\n", "df_img = pd.read_csv('01-Dataset/image_predictions.tsv', sep = '\\t') # tsv file need to configure the sep as tabular.\n", "\n", "# Loading the archive of WeRateDogs.\n", "df_ach = pd.read_csv('01-Dataset/twitter_archive_enhanced.csv') # regular csv file." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These two files are ready for the next step of Data Wrangling, which is called Data Assessing." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.3. Twitter API\n", "\n", "One of the Project requirements is to access the Twitter API to create the `tweet_json.txt` completing some missing/wrong values of the `tweet-json` file. I will use the [tweepy][tweetpy_api] package (a client code) to access the Twitter API.\n", "\n", "[tweetpy_api]: https://tweepy.readthedocs.io/en/3.7.0/\n", "\n", "#### Sensible Data\n", "\n", "Please, fill with your own `consumer_key`, `consumer_secret`, `access_token` and `access_secret`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Complete with your own keys and secretes.\n", "consumer_key = '' # API key\n", "consumer_secret = '' # API secret key\n", "access_token = '' # Access token\n", "access_secret = '' # Access token secret" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### OAuth Authentication\n", "\n", "Based on the given `consumer_key`, `consumer_secret`, `access_token` and `access_secret` I will access the Twitter API.\n", "\n", "The following chunk of code has a default configuration of the API, bear in mind, the `wait_on_rate_limit` and `wait_on_rate_limit_notify`, both are set as `True`.\n", "\n", ">* wait_on_rate_limit – Whether or not to automatically wait for rate limits to replenish \n", ">* wait_on_rate_limit_notify – Whether or not to print a notification when Tweepy is waiting for rate limits to replenish \n", "\n", "Obs.: The excerpt was extracted from the [Tweepy website][twtpy_notes].\n", "\n", "[twtpy_notes]: http://docs.tweepy.org/en/3.7.0/api.html?highlight=wait_on_rate_limit_notify" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Authentication (default configuration).\n", "auth = tweepy.OAuthHandler(consumer_key, consumer_secret)\n", "auth.set_access_token(access_token, access_secret)\n", "api = tweepy.API(auth, wait_on_rate_limit = True, wait_on_rate_limit_notify = True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The reason to use the Twitter API is to gather additional data and missing data from the `twitter_archive_enhanced.csv` file. For this reason, the strategy is to find for each tweet_id the missing and the additional data.\n", "\n", "First, I need to know the quantity of unique tweets `twitter_archive_enhanced.csv` have." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2356" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Unique tweets of twitter-archive-enhanced-2.csv file.\n", "u_twt_id = df_ach.tweet_id.tolist()\n", "\n", "# Print the number of unique tweets.\n", "len(df_ach.tweet_id.unique())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The quantity probably will raise/trigger the `TweepError`, which require the API use wait some minutes to keep gathering data from Twitter.\n", "\n", "I have also configured the `tweet_mode` to `extended` because I want all messages without the `...` (elipsis), Twitter has increased the character's number from 140 to 280. \n", "\n", "For a deeper understanding of `_json` dictionary, please read the Appendix." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tweet_id did not found: 888202515573088257\n", "tweet_id did not found: 873697596434513921\n", "tweet_id did not found: 872668790621863937\n", "tweet_id did not found: 869988702071779329\n", "tweet_id did not found: 866816280283807744\n", "tweet_id did not found: 861769973181624320\n", "tweet_id did not found: 845459076796616705\n", "tweet_id did not found: 842892208864923648\n", "tweet_id did not found: 837012587749474308\n", "tweet_id did not found: 827228250799742977\n", "tweet_id did not found: 812747805718642688\n", "tweet_id did not found: 802247111496568832\n", "tweet_id did not found: 775096608509886464\n", "tweet_id did not found: 770743923962707968\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Rate limit reached. Sleeping for: 565\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "tweet_id did not found: 754011816964026368\n", "tweet_id did not found: 680055455951884288\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Rate limit reached. Sleeping for: 566\n" ] } ], "source": [ "# Initializing the dicitionary to store the raw data from Twitter API JSON file.\n", "dct_twt_raw = {}\n", "\n", "# This is the list of error.\n", "df_error = []\n", "\n", "# Current time when the Twitter API starts.\n", "str_loop = time.time()\n", "\n", "# Loop to find each tweet_id of u_twt_id list.\n", "for tweet in u_twt_id:\n", " # This is necessary to avoid an interruption if any tweet_id is not find.\n", " try:\n", " # The get_status will find a specific tweet_id and return all the tweet.\n", " twt_status = api.get_status(tweet,\n", " wait_on_rate_limit = True, # Automatically wait for rate limits to replenish.\n", " wait_on_rate_limit_notify = True, # Print the notification \"Rate limit reached...\"\n", " tweet_mode = 'extended') # I want the full text without \"...\".\n", " # The data I want is the _json dictionary.\n", " dct_twt_raw[str(tweet)] = twt_status._json # Bear in mind, _json is a dictionary.\n", " # In case of a problem, a message will be printed.\n", " except:\n", " df_error.append(str(tweet)) # Update df_error list.\n", " print(\"tweet_id did not found: {}\".format(str(tweet)))\n", "\n", "# Current time when the Twitter API ends.\n", "end_loop = time.time()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unfortunately, some tweet_id was not found in `@dog_rates` tweets database, for some reason the tweet disappeared.\n", "\n", "I have stored this information in a separated list in case of necessity I can use it later.\n", "\n", "For sanity reason, I have recorded the time elapsed to gather data from Twitter API.\n", "\n", ">_To query all of the tweet IDs in the WeRateDogs Twitter archive, 20-30 minutes of running time can be expected. Printing out each tweet ID after it was queried and using a code timer were both helpful for sanity reasons._" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed time: 33.57 minutes\n" ] } ], "source": [ "# Calculating the elapsed time in minutes.\n", "elapsed_time = (end_loop - str_loop)/60\n", "\n", "# Printing the elapsed time of the loop.\n", "print(\"Elapsed time: {} minutes\".format(round(elapsed_time,2)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Following the project's instruction, let's create the `tweet_json.txt` file.\n", "\n", "Bear in mind, the `dct_twt_raw` is a dictionary, and I will save it as a JSON file." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Writing the tweet_json.txt in the 01-Dataset folder.\n", "with open('01-Dataset/tweet_json.txt', mode = 'w') as file:\n", " json.dump(dct_twt_raw, file)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Also according to the project's instructions, I need to read the exported file (`tweet_json.txt`).\n", "\n", "Take consideration `tweet_json.txt` file is a dictionary and I do want a DataFrame, I can use the `read_json` from pandas package to import as a DataFrame. I have also defined the `orient` as an `index` to be in conformity with the definition of [tidy dataset][tidy_data] preconized by [Hadley Wickham][manifesto].\n", "\n", ">* Each variable forms a column.\n", ">* Each observation forms a row.\n", ">* Each type of observational unit forms a table.\n", "\n", "[tidy_data]: https://cran.r-project.org/web/packages/tidyr/vignettes/tidy-data.html\n", "[manifesto]: https://cran.r-project.org/web/packages/tidyverse/vignettes/manifesto.html" ] }, { "cell_type": "code", "execution_count": 10, "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", "
contributorscoordinatescreated_atdisplay_text_rangeentitiesextended_entitiesfavorite_countfavoritedfull_textgeo...quoted_statusquoted_status_idquoted_status_id_strquoted_status_permalinkretweet_countretweetedretweeted_statussourcetruncateduser
1998-04-12 22:37:23.555336193NaNNaN2017-08-01 16:23:56[0, 85]{'hashtags': [], 'symbols': [], 'user_mentions...{'media': [{'id': 892420639486877696, 'id_str'...380750This is Phineas. He's a mystical boy. Only eve...NaN...NaNNaNNaNNaN83280NaN<a href=\"http://twitter.com/download/iphone\" r...0{'id': 4196983835, 'id_str': '4196983835', 'na...
1998-04-10 03:03:41.306343426NaNNaN2017-08-01 00:17:27[0, 138]{'hashtags': [], 'symbols': [], 'user_mentions...{'media': [{'id': 892177413194625024, 'id_str'...326800This is Tilly. She's just checking pup on you....NaN...NaNNaNNaNNaN61510NaN<a href=\"http://twitter.com/download/iphone\" r...0{'id': 4196983835, 'id_str': '4196983835', 'na...
\n", "

2 rows × 32 columns

\n", "
" ], "text/plain": [ " contributors coordinates created_at \\\n", "1998-04-12 22:37:23.555336193 NaN NaN 2017-08-01 16:23:56 \n", "1998-04-10 03:03:41.306343426 NaN NaN 2017-08-01 00:17:27 \n", "\n", " display_text_range \\\n", "1998-04-12 22:37:23.555336193 [0, 85] \n", "1998-04-10 03:03:41.306343426 [0, 138] \n", "\n", " entities \\\n", "1998-04-12 22:37:23.555336193 {'hashtags': [], 'symbols': [], 'user_mentions... \n", "1998-04-10 03:03:41.306343426 {'hashtags': [], 'symbols': [], 'user_mentions... \n", "\n", " extended_entities \\\n", "1998-04-12 22:37:23.555336193 {'media': [{'id': 892420639486877696, 'id_str'... \n", "1998-04-10 03:03:41.306343426 {'media': [{'id': 892177413194625024, 'id_str'... \n", "\n", " favorite_count favorited \\\n", "1998-04-12 22:37:23.555336193 38075 0 \n", "1998-04-10 03:03:41.306343426 32680 0 \n", "\n", " full_text \\\n", "1998-04-12 22:37:23.555336193 This is Phineas. He's a mystical boy. Only eve... \n", "1998-04-10 03:03:41.306343426 This is Tilly. She's just checking pup on you.... \n", "\n", " geo \\\n", "1998-04-12 22:37:23.555336193 NaN \n", "1998-04-10 03:03:41.306343426 NaN \n", "\n", " ... \\\n", "1998-04-12 22:37:23.555336193 ... \n", "1998-04-10 03:03:41.306343426 ... \n", "\n", " quoted_status quoted_status_id \\\n", "1998-04-12 22:37:23.555336193 NaN NaN \n", "1998-04-10 03:03:41.306343426 NaN NaN \n", "\n", " quoted_status_id_str quoted_status_permalink \\\n", "1998-04-12 22:37:23.555336193 NaN NaN \n", "1998-04-10 03:03:41.306343426 NaN NaN \n", "\n", " retweet_count retweeted retweeted_status \\\n", "1998-04-12 22:37:23.555336193 8328 0 NaN \n", "1998-04-10 03:03:41.306343426 6151 0 NaN \n", "\n", " source \\\n", "1998-04-12 22:37:23.555336193 \n", "\n", "The issues could be defined into two types:\n", "\n", "* Quality issues: Dirty data;\n", " * Missing, duplicated, or incorrect data;\n", "* Lack of tidiness: Also known as messy data;\n", " * Structural issues.\n", "\n", "### 3.1. Objectivies\n", "\n", "Project requirements extracted from the project rubric.\n", "\n", ">_At least eight (8) data quality issues and two (2) tidiness issues are detected, and include the issues to clean to satisfy the Project Motivation. Each issue is documented in one to a few sentences each._\n", "\n", "### 3.2. Methodology\n", "\n", "I will perform a straightforward assessment.\n", "\n", "* Detect, and;\n", "* Document.\n", "\n", "So, for each dataset, I will point out all problem I have detected, and later in the Data Cleaning process I will clean and fix these issues.\n", "\n", "### 3.3. twitter_archive_enhanced.csv\n", "\n", "The `twitter_archive_enhanced.csv` file has loaded to Jupyter Notebook environment as `df_ach`. As the first contact to this data frame, let's start to investigate this archive using the traditional visual assessment such `.head()` and `.tail()` methods.\n", "\n", "### `.head()`" ] }, { "cell_type": "code", "execution_count": 11, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tweet_idin_reply_to_status_idin_reply_to_user_idtimestampsourcetextretweeted_status_idretweeted_status_user_idretweeted_status_timestampexpanded_urlsrating_numeratorrating_denominatornamedoggoflooferpupperpuppo
0892420643555336193NaNNaN2017-08-01 16:23:56 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Phineas. He's a mystical boy. Only eve...NaNNaNNaNhttps://twitter.com/dog_rates/status/892420643...1310PhineasNoneNoneNoneNone
1892177421306343426NaNNaN2017-08-01 00:17:27 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Tilly. She's just checking pup on you....NaNNaNNaNhttps://twitter.com/dog_rates/status/892177421...1310TillyNoneNoneNoneNone
2891815181378084864NaNNaN2017-07-31 00:18:03 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Archie. He is a rare Norwegian Pouncin...NaNNaNNaNhttps://twitter.com/dog_rates/status/891815181...1210ArchieNoneNoneNoneNone
3891689557279858688NaNNaN2017-07-30 15:58:51 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Darla. She commenced a snooze mid meal...NaNNaNNaNhttps://twitter.com/dog_rates/status/891689557...1310DarlaNoneNoneNoneNone
4891327558926688256NaNNaN2017-07-29 16:00:24 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Franklin. He would like you to stop ca...NaNNaNNaNhttps://twitter.com/dog_rates/status/891327558...1210FranklinNoneNoneNoneNone
\n", "
" ], "text/plain": [ " tweet_id in_reply_to_status_id in_reply_to_user_id \\\n", "0 892420643555336193 NaN NaN \n", "1 892177421306343426 NaN NaN \n", "2 891815181378084864 NaN NaN \n", "3 891689557279858688 NaN NaN \n", "4 891327558926688256 NaN NaN \n", "\n", " timestamp \\\n", "0 2017-08-01 16:23:56 +0000 \n", "1 2017-08-01 00:17:27 +0000 \n", "2 2017-07-31 00:18:03 +0000 \n", "3 2017-07-30 15:58:51 +0000 \n", "4 2017-07-29 16:00:24 +0000 \n", "\n", " source \\\n", "0 \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tweet_idin_reply_to_status_idin_reply_to_user_idtimestampsourcetextretweeted_status_idretweeted_status_user_idretweeted_status_timestampexpanded_urlsrating_numeratorrating_denominatornamedoggoflooferpupperpuppo
2351666049248165822465NaNNaN2015-11-16 00:24:50 +0000<a href=\"http://twitter.com/download/iphone\" r...Here we have a 1949 1st generation vulpix. Enj...NaNNaNNaNhttps://twitter.com/dog_rates/status/666049248...510NoneNoneNoneNoneNone
2352666044226329800704NaNNaN2015-11-16 00:04:52 +0000<a href=\"http://twitter.com/download/iphone\" r...This is a purebred Piers Morgan. Loves to Netf...NaNNaNNaNhttps://twitter.com/dog_rates/status/666044226...610aNoneNoneNoneNone
2353666033412701032449NaNNaN2015-11-15 23:21:54 +0000<a href=\"http://twitter.com/download/iphone\" r...Here is a very happy pup. Big fan of well-main...NaNNaNNaNhttps://twitter.com/dog_rates/status/666033412...910aNoneNoneNoneNone
2354666029285002620928NaNNaN2015-11-15 23:05:30 +0000<a href=\"http://twitter.com/download/iphone\" r...This is a western brown Mitsubishi terrier. Up...NaNNaNNaNhttps://twitter.com/dog_rates/status/666029285...710aNoneNoneNoneNone
2355666020888022790149NaNNaN2015-11-15 22:32:08 +0000<a href=\"http://twitter.com/download/iphone\" r...Here we have a Japanese Irish Setter. Lost eye...NaNNaNNaNhttps://twitter.com/dog_rates/status/666020888...810NoneNoneNoneNoneNone
\n", "" ], "text/plain": [ " tweet_id in_reply_to_status_id in_reply_to_user_id \\\n", "2351 666049248165822465 NaN NaN \n", "2352 666044226329800704 NaN NaN \n", "2353 666033412701032449 NaN NaN \n", "2354 666029285002620928 NaN NaN \n", "2355 666020888022790149 NaN NaN \n", "\n", " timestamp \\\n", "2351 2015-11-16 00:24:50 +0000 \n", "2352 2015-11-16 00:04:52 +0000 \n", "2353 2015-11-15 23:21:54 +0000 \n", "2354 2015-11-15 23:05:30 +0000 \n", "2355 2015-11-15 22:32:08 +0000 \n", "\n", " source \\\n", "2351
\n", "\n", "
Table 1 - Issues identified visually in twitter_archive_enhanced.csv.
\n", "\n", "|Issue ID|Issue Type|Dimension|Method|Column|Description|\n", "|:-:|:-:|:-:|:-:|:-:|:-:|\n", "|1|Quality|Validity|Visual|name|Invalid names or non-standard names.|\n", "|2|Tidiness|-|Visual|source|HTML tags, URL, and content in a single column.|\n", "\n", "I have found some weird names, which has required a deeper analysis using the `.value_counts()` method to examine the recurrence of this error. \n", "\n", "### `.value_counts()`" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "None 745\n", "a 55\n", "Charlie 12\n", "Lucy 11\n", "Oliver 11\n", "Cooper 11\n", "Penny 10\n", "Lola 10\n", "Tucker 10\n", "Bo 9\n", "Winston 9\n", "the 8\n", "Sadie 8\n", "Bailey 7\n", "an 7\n", "Daisy 7\n", "Toby 7\n", "Buddy 7\n", "Dave 6\n", "Stanley 6\n", "Rusty 6\n", "Jack 6\n", "Koda 6\n", "Oscar 6\n", "Leo 6\n", "Milo 6\n", "Scout 6\n", "Jax 6\n", "Bella 6\n", "Louis 5\n", " ... \n", "such 1\n", "Jeb 1\n", "Fletcher 1\n", "Laela 1\n", "space 1\n", "Monkey 1\n", "Ferg 1\n", "Longfellow 1\n", "Mojo 1\n", "Ricky 1\n", "Vinscent 1\n", "Koko 1\n", "Chloe 1\n", "Shiloh 1\n", "Thor 1\n", "Rumpole 1\n", "Kanu 1\n", "Filup 1\n", "Berkeley 1\n", "Goose 1\n", "Superpup 1\n", "Eazy 1\n", "Comet 1\n", "Tonks 1\n", "Zara 1\n", "Bluebert 1\n", "Lili 1\n", "Caryl 1\n", "Sprout 1\n", "Pepper 1\n", "Name: name, Length: 957, dtype: int64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# What is the most commom name to a Dog!?\n", "df_ach.name.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `.value_counts()` method applied to the `name`'s columns shows a higher number of weird and probably wrong dogs names.\n", "\n", "* 55 occurrences of a;\n", "* 8 occurrences of the;\n", "* 7 occurrences of an, etc.\n", "\n", "This list ensures the problem already identified visually.\n", "\n", "Let's deep in the `rating_denominator` and `rating_numerator`." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10 2333\n", "11 3\n", "50 3\n", "80 2\n", "20 2\n", "2 1\n", "16 1\n", "40 1\n", "70 1\n", "15 1\n", "90 1\n", "110 1\n", "120 1\n", "130 1\n", "150 1\n", "170 1\n", "7 1\n", "0 1\n", "Name: rating_denominator, dtype: int64" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# What is the most commom denominator. I guess it must be 10.\n", "df_ach.rating_denominator.value_counts()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12 558\n", "11 464\n", "10 461\n", "13 351\n", "9 158\n", "8 102\n", "7 55\n", "14 54\n", "5 37\n", "6 32\n", "3 19\n", "4 17\n", "1 9\n", "2 9\n", "420 2\n", "0 2\n", "15 2\n", "75 2\n", "80 1\n", "20 1\n", "24 1\n", "26 1\n", "44 1\n", "50 1\n", "60 1\n", "165 1\n", "84 1\n", "88 1\n", "144 1\n", "182 1\n", "143 1\n", "666 1\n", "960 1\n", "1776 1\n", "17 1\n", "27 1\n", "45 1\n", "99 1\n", "121 1\n", "204 1\n", "Name: rating_numerator, dtype: int64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# In the past @dog_rates used to rate with grades between 0 to 10.\n", "df_ach.rating_numerator.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, both columns have problems in some observations. Table 2 summarizes the issues.\n", "\n", "
\n", "\n", "
Table 2 - Issues identified visually and programmatically in twitter_archive_enhanced.csv.
\n", "\n", "|Issue ID|Issue Type|Dimension|Method|Column|Description|\n", "|:---:|:---:|:---:|:----:|:----:|:--------------------------------:|\n", "|1|Quality|Validity|Visual|name|Invalid names or non-standard names.|\n", "|2|Tidiness|-|Visual|source|HTML tags, URL, and content in a single column.|\n", "|3|Quality|Validity|Programmatic|rating_numerator|Invalid ratings. Value varies from 1776 to 0.
Data Structure must be converted from `int` to `float`.|\n", "|4|Quality|Validity|Programmatic|rating_denominator|Invalid denominator, I expected a fixed base.
Data Structure must be converted from `int` to `float`.|\n", "\n", "### `.info()`" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 2356 entries, 0 to 2355\n", "Data columns (total 17 columns):\n", "tweet_id 2356 non-null int64\n", "in_reply_to_status_id 78 non-null float64\n", "in_reply_to_user_id 78 non-null float64\n", "timestamp 2356 non-null object\n", "source 2356 non-null object\n", "text 2356 non-null object\n", "retweeted_status_id 181 non-null float64\n", "retweeted_status_user_id 181 non-null float64\n", "retweeted_status_timestamp 181 non-null object\n", "expanded_urls 2297 non-null object\n", "rating_numerator 2356 non-null int64\n", "rating_denominator 2356 non-null int64\n", "name 2356 non-null object\n", "doggo 2356 non-null object\n", "floofer 2356 non-null object\n", "pupper 2356 non-null object\n", "puppo 2356 non-null object\n", "dtypes: float64(4), int64(3), object(10)\n", "memory usage: 220.9+ KB\n" ] } ], "source": [ "# An overview of the df_ach.\n", "df_ach.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `.info()` method provide a good overview of each column, which allow me to identify latents issues. Table 3 aggregates these new issues.\n", "\n", "
\n", "\n", "
Table 3 - Issues identified visually and programmatically in twitter_archive_enhanced.csv.
\n", "\n", "|Issue ID|Issue Type|Dimension|Method|Column|Description|\n", "|:-:|:-:|:-:|:-:|:-:|:-:|\n", "|1|Quality|Validity|Visual|name|Invalid names or non-standard names.|\n", "|2|Tidiness|-|Visual|source|HTML tags, URL, and content in a single column.|\n", "|3|Quality|Validity|Programmatic|rating_numerator|Invalid ratings. Value varies from 1776 to 0.
Data Structure must be converted from `int` to `float`.|\n", "|4|Quality|Validity|Programmatic|rating_denominator|Invalid denominator, I expected a fixed base.
Data Structure must be converted from `int` to `float`.|\n", "|5|Tidiness|-|Programmatic|doggo, floofer, pupper, and puppo|This is a categorical variable, and I can combine these columns into one column.|\n", "|6|Tidiness|-|Programmatic|text|There is two information in a single column. Split the text from the URL.|\n", "|7|Quality|Validity|Programmatic|timestamp|Convert to date.|\n", "|8|Quality|Validity|Programmatic|tweet_id|Following the example of zip code, it must be a string.|\n", "|9|Quality|Accuracy|Programmatic|retweeted_status_id|The same dog could be recorded twice or more in cases of retweets.|\n", "|10|Quality|Accuracy|Programmatic|in_reply_to_status_id|The same dog could be recorded twice or more in cases of reply.|" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `retweeted_status_id`, `retweeted_status_user_id`, `in_reply_to_status_id`, and `in_reply_to_user_id` could lead wrong results because it will duplicate the same dog picture in each retweet or reply. For this reason, it's good to remove this `tweet_id`'s.\n", "\n", "An example of this problem is shown below. The dog so-called \"Sierra\" will appears twice due to the retweet." ] }, { "cell_type": "code", "execution_count": 17, "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", "
tweet_idin_reply_to_status_idin_reply_to_user_idtimestampsourcetextretweeted_status_idretweeted_status_user_idretweeted_status_timestampexpanded_urlsrating_numeratorrating_denominatornamedoggoflooferpupperpuppo
97873337748698140672NaNNaN2017-06-10 00:35:19 +0000<a href=\"http://twitter.com/download/iphone\" r...RT @dog_rates: This is Sierra. She's one preci...8.732138e+174.196984e+092017-06-09 16:22:42 +0000https://www.gofundme.com/help-my-baby-sierra-g...1210SierraNoneNonepupperNone
98873213775632977920NaNNaN2017-06-09 16:22:42 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Sierra. She's one precious pupper. Abs...NaNNaNNaNhttps://www.gofundme.com/help-my-baby-sierra-g...1210SierraNoneNonepupperNone
\n", "
" ], "text/plain": [ " tweet_id in_reply_to_status_id in_reply_to_user_id \\\n", "97 873337748698140672 NaN NaN \n", "98 873213775632977920 NaN NaN \n", "\n", " timestamp \\\n", "97 2017-06-10 00:35:19 +0000 \n", "98 2017-06-09 16:22:42 +0000 \n", "\n", " source \\\n", "97
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tweet_idjpg_urlimg_nump1p1_confp1_dogp2p2_confp2_dogp3p3_confp3_dog
0666020888022790149https://pbs.twimg.com/media/CT4udn0WwAA0aMy.jpg1Welsh_springer_spaniel0.465074Truecollie0.156665TrueShetland_sheepdog0.061428True
1666029285002620928https://pbs.twimg.com/media/CT42GRgUYAA5iDo.jpg1redbone0.506826Trueminiature_pinscher0.074192TrueRhodesian_ridgeback0.072010True
2666033412701032449https://pbs.twimg.com/media/CT4521TWwAEvMyu.jpg1German_shepherd0.596461Truemalinois0.138584Truebloodhound0.116197True
3666044226329800704https://pbs.twimg.com/media/CT5Dr8HUEAA-lEu.jpg1Rhodesian_ridgeback0.408143Trueredbone0.360687Trueminiature_pinscher0.222752True
4666049248165822465https://pbs.twimg.com/media/CT5IQmsXIAAKY4A.jpg1miniature_pinscher0.560311TrueRottweiler0.243682TrueDoberman0.154629True
\n", "" ], "text/plain": [ " tweet_id jpg_url \\\n", "0 666020888022790149 https://pbs.twimg.com/media/CT4udn0WwAA0aMy.jpg \n", "1 666029285002620928 https://pbs.twimg.com/media/CT42GRgUYAA5iDo.jpg \n", "2 666033412701032449 https://pbs.twimg.com/media/CT4521TWwAEvMyu.jpg \n", "3 666044226329800704 https://pbs.twimg.com/media/CT5Dr8HUEAA-lEu.jpg \n", "4 666049248165822465 https://pbs.twimg.com/media/CT5IQmsXIAAKY4A.jpg \n", "\n", " img_num p1 p1_conf p1_dog p2 \\\n", "0 1 Welsh_springer_spaniel 0.465074 True collie \n", "1 1 redbone 0.506826 True miniature_pinscher \n", "2 1 German_shepherd 0.596461 True malinois \n", "3 1 Rhodesian_ridgeback 0.408143 True redbone \n", "4 1 miniature_pinscher 0.560311 True Rottweiler \n", "\n", " p2_conf p2_dog p3 p3_conf p3_dog \n", "0 0.156665 True Shetland_sheepdog 0.061428 True \n", "1 0.074192 True Rhodesian_ridgeback 0.072010 True \n", "2 0.138584 True bloodhound 0.116197 True \n", "3 0.360687 True miniature_pinscher 0.222752 True \n", "4 0.243682 True Doberman 0.154629 True " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the first 5 rows.\n", "df_img.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `.tail()`" ] }, { "cell_type": "code", "execution_count": 20, "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", " \n", " \n", " \n", " \n", " \n", " \n", "
tweet_idjpg_urlimg_nump1p1_confp1_dogp2p2_confp2_dogp3p3_confp3_dog
2070891327558926688256https://pbs.twimg.com/media/DF6hr6BUMAAzZgT.jpg2basset0.555712TrueEnglish_springer0.225770TrueGerman_short-haired_pointer0.175219True
2071891689557279858688https://pbs.twimg.com/media/DF_q7IAWsAEuuN8.jpg1paper_towel0.170278FalseLabrador_retriever0.168086Truespatula0.040836False
2072891815181378084864https://pbs.twimg.com/media/DGBdLU1WsAANxJ9.jpg1Chihuahua0.716012Truemalamute0.078253Truekelpie0.031379True
2073892177421306343426https://pbs.twimg.com/media/DGGmoV4XsAAUL6n.jpg1Chihuahua0.323581TruePekinese0.090647Truepapillon0.068957True
2074892420643555336193https://pbs.twimg.com/media/DGKD1-bXoAAIAUK.jpg1orange0.097049Falsebagel0.085851Falsebanana0.076110False
\n", "
" ], "text/plain": [ " tweet_id jpg_url \\\n", "2070 891327558926688256 https://pbs.twimg.com/media/DF6hr6BUMAAzZgT.jpg \n", "2071 891689557279858688 https://pbs.twimg.com/media/DF_q7IAWsAEuuN8.jpg \n", "2072 891815181378084864 https://pbs.twimg.com/media/DGBdLU1WsAANxJ9.jpg \n", "2073 892177421306343426 https://pbs.twimg.com/media/DGGmoV4XsAAUL6n.jpg \n", "2074 892420643555336193 https://pbs.twimg.com/media/DGKD1-bXoAAIAUK.jpg \n", "\n", " img_num p1 p1_conf p1_dog p2 p2_conf \\\n", "2070 2 basset 0.555712 True English_springer 0.225770 \n", "2071 1 paper_towel 0.170278 False Labrador_retriever 0.168086 \n", "2072 1 Chihuahua 0.716012 True malamute 0.078253 \n", "2073 1 Chihuahua 0.323581 True Pekinese 0.090647 \n", "2074 1 orange 0.097049 False bagel 0.085851 \n", "\n", " p2_dog p3 p3_conf p3_dog \n", "2070 True German_short-haired_pointer 0.175219 True \n", "2071 True spatula 0.040836 False \n", "2072 True kelpie 0.031379 True \n", "2073 True papillon 0.068957 True \n", "2074 False banana 0.076110 False " ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the last 5 rows.\n", "df_img.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Visually I did not find much, unless the inconsistency in the breed name, some has the first letter capitalized and other not. I will record this issue in Table 4.\n", "\n", "
\n", "\n", "
Table 4 - Issues identified visually in image_predictions.tsv.
\n", "\n", "|Issue ID|Issue Type|Dimension|Method|Column|Description|\n", "|:-:|:-:|:-:|:-:|:-:|:-:|\n", "|11|Quality|Consistency|Visual|p1, p2, and p3|Dog's breed has no standard. Capital letter or lowercase names.|\n", "\n", "\n", "### `.info()`" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 2075 entries, 0 to 2074\n", "Data columns (total 12 columns):\n", "tweet_id 2075 non-null int64\n", "jpg_url 2075 non-null object\n", "img_num 2075 non-null int64\n", "p1 2075 non-null object\n", "p1_conf 2075 non-null float64\n", "p1_dog 2075 non-null bool\n", "p2 2075 non-null object\n", "p2_conf 2075 non-null float64\n", "p2_dog 2075 non-null bool\n", "p3 2075 non-null object\n", "p3_conf 2075 non-null float64\n", "p3_dog 2075 non-null bool\n", "dtypes: bool(3), float64(3), int64(2), object(4)\n", "memory usage: 119.6+ KB\n" ] } ], "source": [ "# An overview of the df_img.\n", "df_img.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One more issue observed is the type of tweet_id variable. Table 5 summarizes the issues found in `image_predictions.tsv`.\n", "\n", "
\n", "\n", "
Table 5 - Issues identified visually and programmatically in image_predictions.tsv.
\n", "\n", "|Issue ID|Issue Type|Dimension|Method|Column|Description|\n", "|:-:|:-:|:-:|:-:|:-:|:-:|\n", "|11|Quality|Consistency|Visual|p1, p2, and p3|Dog's breed has no standard. Capital letter or lowercase names.|\n", "|12|Quality|Validity|Programmatic|tweet_id|Convert to string.|\n", "\n", "Let's analyze the duplicated entries.\n", "\n", "### `.duplicated()`" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Duplicated tweet_id.\n", "sum(df_img.tweet_id.duplicated())" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "66" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Duplicated jpg_url.\n", "sum(df_img.jpg_url.duplicated())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `tweet_id` is a unique key to the tweet and not to the rated dog. For this reason, it is a good idea to filter for a unique picture of the dog, which will also remove the retweets. Table 6 summarizes the issues of the `image_predictions.tsv` file.\n", "\n", "
\n", "\n", "
Table 6 - Issues identified visually and programmatically in image_predictions.tsv.
\n", "\n", "|Issue ID|Issue Type|Dimension|Method|Column|Description|\n", "|:-:|:-:|:-:|:-:|:-:|:-:|\n", "|11|Quality|Consistency|Visual|p1, p2, and p3|Dog's breed has no standard. Capital letter or lowercase names.|\n", "|12|Quality|Validity|Programmatic|tweet_id|Convert to string.|\n", "|13|Quality|Validity|Programmatic|jpg_url|It has duplicated images and consequently double entry.|" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.5. Conjunctural Analysis\n", "\n", "Based on the tidy data concept, these two tables (`twitter_archive_enhanced.csv` and `image_predictions.tsv`) could be merged into one, using the `tweet_id` as a mapping key.\n", "Summarizing Table 3, Table 6, and this new issue, Table 7 is the preliminary version of the issues on all dataset of this project.\n", "\n", "
\n", "\n", "
Table 7 - Summary of Issues Identified.
\n", "\n", "|Issue ID|Table|Issue Type|Dimension|Method|Column|Description|\n", "|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n", "|1|df_ach|Quality|Validity|Visual|name|Invalid names or non-standard names.|\n", "|2|df_ach|Tidiness|-|Visual|source|HTML tags, URL, and content in a single column.|\n", "|3|df_ach|Quality|Validity|Programmatic|rating_numerator|Invalid ratings. Value varies from 1776 to 0.
Data Structure must be converted from `int` to `float`.|\n", "|4|df_ach|Quality|Validity|Programmatic|rating_denominator|Invalid denominator, I expected a fixed base.
Data Structure must be converted from `int` to `float`.|\n", "|5|df_ach|Tidiness|-|Programmatic|doggo, floofer, pupper, and puppo|This is a categorical variable, and I can combine these columns into one column.|\n", "|6|df_ach|Tidiness|-|Programmatic|text|There is two information in a single column. Split the text from the URL.|\n", "|7|df_ach|Quality|Validity|Programmatic|timestamp|Convert to date.|\n", "|8|df_ach|Quality|Validity|Programmatic|tweet_id|Following the example of zip code, it must be a string.|\n", "|9|df_ach|Quality|Accuracy|Programmatic|retweeted_status_id|The same dog could be recorded twice or more in cases of retweets.|\n", "|10|df_ach|Quality|Accuracy|Programmatic|in_reply_to_status_id|The same dog could be recorded twice or more in cases of reply.|\n", "|11|df_img|Quality|Consistency|Visual|p1, p2, and p3|Dog's breed has no standard. Capital letter or lowercase names.|\n", "|12|df_img|Quality|Validity|Programmatic|tweet_id|Convert to string.|\n", "|13|df_img|Quality|Validity|Programmatic|jpg_url|It has duplicated images and consequently double entry.|\n", "|14|twt_ach_mstr|Tidiness|-|Programmatic|-|Merging these two tables (`df_ach` and `df_img`) into one.|\n", "\n", "Where:\n", "\n", "* `df_ach`: twitter_archive_enhanced.csv; \n", "* `df_img`: image_predictions.tsv; \n", "* `twt_ach_mstr`: twitter_archive_master.csv, and;\n", "* `df_twt_raw`: tweet_json.txt.\n", "\n", "\n", "### 3.6. Iterative Process\n", "\n", "Have in mind the Data Assessing is not an exhaustive step, and neither aims to find all issues of these two tables. Probably, this step will be revisited again to find hidden issues.\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Data Cleaning
\n", "\n", "Founded on Table 7, let's start to fix each issue pointed out.\n", "\n", "### 4.1. Copying\n", "\n", "Before any edition or data modification, I will make copies of each table to keep the original without any edition." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# Copying the df_img.\n", "df_img_cln = df_img.copy()\n", "\n", "# Copying the df_ach.\n", "df_ach_cln = df_ach.copy()\n", "\n", "# Copying the df_twt_raw. \n", "df_twt_cln = df_twt_raw.copy()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is no correct sequence to fix the issues, for this reason, I have decided to start fixing the problems related to duplicated entries, data type, and later merging the tables `df_ach` and `df_img`.\n", "\n", "### 4.2. Issue ID 13\n", "\n", ">**Issue:** Duplicated images and consequently double entry.\n", "\n", "#### Define\n", "\n", "* Remove all duplicated images (based on the URL).\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before: 2009 rows.\n", "After: 2075 rows.\n" ] } ], "source": [ "# Vector to indexing the duplicated jpg url.\n", "indexing = df_img.jpg_url.duplicated()\n", "\n", "# I want the opposite. All observations except the duplicated.\n", "indexing = np.logical_not(indexing)\n", "\n", "# Subsetting and assigning to the df_img cleaned.\n", "df_img_cln = df_img_cln[indexing]\n", "\n", "# New dimensions of df_img_cln\n", "print(\"Before: {} rows.\\nAfter: {} rows.\".format(df_img_cln.shape[0], df_img.shape[0]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 duplicated.\n" ] } ], "source": [ "# Testing the code given the defined solution.\n", "print(\"{} duplicated.\".format(sum(df_img_cln.jpg_url.duplicated())))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, I have removed 66 observations (the original observation's number is 2075). To ensure I have printed the number of duplicated items in the jpg_url column, which is now zero.\n", "\n", "### 4.3. Issue ID 9 and 10\n", "\n", "Due to the same nature of these two issues, I decided to bundle it to avoid repetition.\n", "\n", ">**Issue ID 9:** The same dog could be recorded twice or more in cases of retweets.\n", "\n", ">**Issue ID 10:** The same dog could be recorded twice or more in cases of reply.\n", "\n", "#### Define\n", "\n", "* Remove any tweet with `retweeted_status_id` non-null, and;\n", "* Remove any tweet with `in_reply_to_status_id` non-null.\n", "\n", "#### Code\n", "\n", "Following the same idea of Issue 14, I will remove any retweet and reply." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "# CODE - Issue ID 9\n", "# Creating a vector to select the retweeted_status_id different of Null.\n", "indexing = df_ach_cln.retweeted_status_id.isnull()\n", "\n", "# Subsetting the df_ach_cln excluding the retweeted. \n", "df_ach_cln = df_ach_cln[indexing]\n", "\n", "\n", "# CODE - Issue ID 10\n", "# Creating a vector to select the in_reply_to_status_id different of Null.\n", "indexing = df_ach_cln.in_reply_to_status_id.isnull()\n", "\n", "# Subsetting the df_ach_cln excluding the reply.\n", "df_ach_cln = df_ach_cln[indexing]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of rows with true in retweeted_status_id: 2097\n", "Number of rows with true in in_reply_to_status_id: 2097\n", "Number of rows of df_ach_cln: 2097\n" ] } ], "source": [ "# Testing: Expect all rows as True when using the .isnull() \n", "print(\"Number of rows with true in retweeted_status_id:\", sum(df_ach_cln.retweeted_status_id.isnull()))\n", "\n", "# Testing: Expect all rows as True when using the .isnull() \n", "print(\"Number of rows with true in in_reply_to_status_id:\", sum(df_ach_cln.in_reply_to_status_id.isnull()))\n", "\n", "# Number of rows in df_ach_cln.\n", "print(\"Number of rows of df_ach_cln:\",df_ach_cln.shape[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The test shows both columns, retweeted_status_id and in_reply_to_status_id, do not have any content, which means are two empty columns.\n", "\n", "### 4.4. Issue ID 8\n", "\n", "> **Issue:** Following the example of zip code, it must be string.\n", "\n", "Following the same idea from this thread of [Stack Overflow][issue13]:\n", "\n", ">_Numbers should mean something numeric. ZIP codes don't add or subtract or participate in any numeric operations. 12309 - 12345 does not compute the distance from downtown Schenectady to my neighborhood._\n", "\n", "[issue13]: https://stackoverflow.com/questions/893454/is-it-a-good-idea-to-use-an-integer-column-for-storing-us-zip-codes-in-a-databas\n", "\n", "#### Define\n", "\n", "* Convert `tweet_id` to str.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# Converting the tweet_id to string.\n", "df_ach_cln.tweet_id = df_ach_cln.tweet_id.astype(str)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Int64Index: 2097 entries, 0 to 2355\n", "Data columns (total 17 columns):\n", "tweet_id 2097 non-null object\n", "in_reply_to_status_id 0 non-null float64\n", "in_reply_to_user_id 0 non-null float64\n", "timestamp 2097 non-null object\n", "source 2097 non-null object\n", "text 2097 non-null object\n", "retweeted_status_id 0 non-null float64\n", "retweeted_status_user_id 0 non-null float64\n", "retweeted_status_timestamp 0 non-null object\n", "expanded_urls 2094 non-null object\n", "rating_numerator 2097 non-null int64\n", "rating_denominator 2097 non-null int64\n", "name 2097 non-null object\n", "doggo 2097 non-null object\n", "floofer 2097 non-null object\n", "pupper 2097 non-null object\n", "puppo 2097 non-null object\n", "dtypes: float64(4), int64(2), object(11)\n", "memory usage: 204.8+ KB\n" ] } ], "source": [ "# Printing the info to ensure the convertion. Bear in mind, in pandas object is string. \n", "df_ach_cln.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on the `.info()` the `tweet_id` has converted as `object`, which is in pandas the same of a string.\n", "\n", "### 4.5. Issue ID 12\n", "\n", "> **Issue:** Convert `tweet_id` to string to be capable to use it as key in a merging process.\n", "\n", "In common with Issue ID 8, I will do the same.\n", "\n", "#### Define\n", "\n", "* Convert `tweet_id` to str.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "# Converting the tweet_id to string.\n", "df_img_cln.tweet_id = df_img_cln.tweet_id.astype(str)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Int64Index: 2009 entries, 0 to 2074\n", "Data columns (total 12 columns):\n", "tweet_id 2009 non-null object\n", "jpg_url 2009 non-null object\n", "img_num 2009 non-null int64\n", "p1 2009 non-null object\n", "p1_conf 2009 non-null float64\n", "p1_dog 2009 non-null bool\n", "p2 2009 non-null object\n", "p2_conf 2009 non-null float64\n", "p2_dog 2009 non-null bool\n", "p3 2009 non-null object\n", "p3_conf 2009 non-null float64\n", "p3_dog 2009 non-null bool\n", "dtypes: bool(3), float64(3), int64(1), object(5)\n", "memory usage: 123.6+ KB\n" ] } ], "source": [ "# Printing the info to ensure the convertion. Bear in mind, in pandas object is string. \n", "df_img_cln.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on the `.info()` the `tweet_id` has converted as `object`, which is in pandas the same of a string.\n", "\n", "### 4.6. Issue ID 14\n", "\n", "> **Issue:** Based on the concept of tidy data preconized by [Hadley Wickham][hadley], it is a good idea to merge these two tables.\n", "\n", "The merging process will use the `tweet_id` as a Key.\n", "\n", "_Obs.: Read more about merging in [Pandas Website][issue15]._\n", "\n", "[issue15]: https://pandas.pydata.org/pandas-docs/stable/merging.html\n", "[hadley]: http://hadley.nz\n", "\n", "#### Define\n", "\n", "* Merge `df_ach_cln` and `df_img_cln`.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "# Creating the twitter_archive_master.\n", "twt_ach_mstr = pd.merge(df_ach_cln, df_img_cln, on = 'tweet_id')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tweet_idin_reply_to_status_idin_reply_to_user_idtimestampsourcetextretweeted_status_idretweeted_status_user_idretweeted_status_timestampexpanded_urls...img_nump1p1_confp1_dogp2p2_confp2_dogp3p3_confp3_dog
0892420643555336193NaNNaN2017-08-01 16:23:56 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Phineas. He's a mystical boy. Only eve...NaNNaNNaNhttps://twitter.com/dog_rates/status/892420643......1orange0.097049Falsebagel0.085851Falsebanana0.076110False
1892177421306343426NaNNaN2017-08-01 00:17:27 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Tilly. She's just checking pup on you....NaNNaNNaNhttps://twitter.com/dog_rates/status/892177421......1Chihuahua0.323581TruePekinese0.090647Truepapillon0.068957True
2891815181378084864NaNNaN2017-07-31 00:18:03 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Archie. He is a rare Norwegian Pouncin...NaNNaNNaNhttps://twitter.com/dog_rates/status/891815181......1Chihuahua0.716012Truemalamute0.078253Truekelpie0.031379True
3891689557279858688NaNNaN2017-07-30 15:58:51 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Darla. She commenced a snooze mid meal...NaNNaNNaNhttps://twitter.com/dog_rates/status/891689557......1paper_towel0.170278FalseLabrador_retriever0.168086Truespatula0.040836False
4891327558926688256NaNNaN2017-07-29 16:00:24 +0000<a href=\"http://twitter.com/download/iphone\" r...This is Franklin. He would like you to stop ca...NaNNaNNaNhttps://twitter.com/dog_rates/status/891327558......2basset0.555712TrueEnglish_springer0.225770TrueGerman_short-haired_pointer0.175219True
\n", "

5 rows × 28 columns

\n", "
" ], "text/plain": [ " tweet_id in_reply_to_status_id in_reply_to_user_id \\\n", "0 892420643555336193 NaN NaN \n", "1 892177421306343426 NaN NaN \n", "2 891815181378084864 NaN NaN \n", "3 891689557279858688 NaN NaN \n", "4 891327558926688256 NaN NaN \n", "\n", " timestamp \\\n", "0 2017-08-01 16:23:56 +0000 \n", "1 2017-08-01 00:17:27 +0000 \n", "2 2017-07-31 00:18:03 +0000 \n", "3 2017-07-30 15:58:51 +0000 \n", "4 2017-07-29 16:00:24 +0000 \n", "\n", " source \\\n", "0 **Issue:** Invalid names or non-standard names.\n", "\n", "The expression used to track the dog's name (in other words the regular expression) is likely \"This is DOG_NAME\" when DOG_NAME is changed by \"a funny\" or \"an incredible\" or \"very something\", the expression did not \"scrap\" the right name. In some cases neither a name the dog has, but the expression with taking whatever it lays in that position.\n", "\n", "For this reason, I have changed every non-standard name to \"None\".\n", "\n", "#### Define\n", "\n", "* Rename non-standard names to \"None\".\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['not',\n", " 'this',\n", " 'just',\n", " 'actually',\n", " 'my',\n", " 'one',\n", " 'infuriating',\n", " 'the',\n", " 'unacceptable',\n", " 'all',\n", " 'by',\n", " 'his',\n", " 'light',\n", " 'very',\n", " 'quite',\n", " 'an',\n", " 'officially',\n", " 'a',\n", " 'space',\n", " 'getting',\n", " 'incredibly',\n", " 'such']" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Initialization of variable.\n", "non_names = []\n", "\n", "# Loop to find ordinary word.\n", "for index in twt_ach_mstr.name:\n", " # Will check every name start with lowercase.\n", " if index.islower():\n", " # If yes will append to non_names.\n", " non_names.append(index)\n", "\n", "# The list will filter only unique values\n", "non_names = list(set(non_names))\n", "\n", "# Printing non-standard names.\n", "non_names" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The list of names shown above has all non-standard names from name column. I had replaced it by `None` using the `.replace()` method." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "# Loop to replace each non standard name (non_name).\n", "for index in non_names:\n", " twt_ach_mstr.name.replace(index,\n", " \"None\",\n", " inplace = True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Based on the list of non-standard names. Let's ensure if all have been removed.\n", "sum(twt_ach_mstr.name.isin(non_names))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The test ensure there are no more non-standard names.\n", "\n", "### 4.8. Issue ID 2\n", "\n", "> **Issue:** HTML tags, URL, and content in a single column.\n", "\n", "I will edit it because there are two pieces ofinformations stored in a single column.\n", "\n", "* The source name;\n", "* The URL who redirect to the source (href).\n", "\n", "_Obs.: I have read this [thread][issue2] in Stack Overflow to revise how to use the `.concat()`._\n", "\n", "[issue2]: https://stackoverflow.com/questions/20602947/append-column-to-pandas-dataframe \n", "\n", "\n", "#### Define\n", "\n", "* Remove HTML tags;\n", "* Create a new column to store the `href`, and;\n", "* Assign to the `source` column the content between HTML tags.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "# Creating auxiliary list to store the source and source_url.\n", "aux_ls_sr = []\n", "aux_ls_sr_url = [] \n", "\n", "# This loop will remove all HTML tags using .split() and indexing.\n", "for index in twt_ach_mstr.source:\n", " aux_ls_sr.append(index.split('')[1] )\n", " aux_ls_sr_url.append(index.split('')[0] )\n", "\n", "# Updating the source column with aux_ls_sr.\n", "twt_ach_mstr.source = aux_ls_sr\n", "\n", "# Appending a new column with source_url info.\n", "twt_ach_mstr = pd.concat([twt_ach_mstr, pd.DataFrame(aux_ls_sr_url, columns = ['source_url'])], axis = 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 40, "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", "
tweet_idsourcesource_url
0892420643555336193Twitter for iPhonehttp://twitter.com/download/iphone
1892177421306343426Twitter for iPhonehttp://twitter.com/download/iphone
2891815181378084864Twitter for iPhonehttp://twitter.com/download/iphone
3891689557279858688Twitter for iPhonehttp://twitter.com/download/iphone
4891327558926688256Twitter for iPhonehttp://twitter.com/download/iphone
\n", "
" ], "text/plain": [ " tweet_id source source_url\n", "0 892420643555336193 Twitter for iPhone http://twitter.com/download/iphone\n", "1 892177421306343426 Twitter for iPhone http://twitter.com/download/iphone\n", "2 891815181378084864 Twitter for iPhone http://twitter.com/download/iphone\n", "3 891689557279858688 Twitter for iPhone http://twitter.com/download/iphone\n", "4 891327558926688256 Twitter for iPhone http://twitter.com/download/iphone" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the first 5 rows of a subsetted data frame.\n", "twt_ach_mstr[['tweet_id','source','source_url']].head()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Twitter for iPhone 1932\n", "Twitter Web Client 28\n", "TweetDeck 11\n", "Name: source, dtype: int64" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the categories of source column.\n", "twt_ach_mstr.source.value_counts()" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "http://twitter.com/download/iphone 1932\n", "http://twitter.com 28\n", "https://about.twitter.com/products/tweetdeck 11\n", "Name: source_url, dtype: int64" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the new column.\n", "twt_ach_mstr.source_url.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `source` column now does not show any HTML tag, even more, the href URL from the HTML tag was converted into a new feature stored in `source_url` column.\n", "\n", "\n", "### 4.9. Issue ID 6\n", "\n", "> **Issue:** There are two information in a single column.\n", "\n", "In the same way, the `text` column (of `twt_ach_mstr`) has two pieces of information, the text and the URL at the end of the message. Let's divide this into two separated columns.\n", "\n", "#### Define\n", "\n", "* Remove the URL in the end of the `text` column, and;\n", "* Create a new column to store the URL in the end of each tweet, and;\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "# Creating auxiliary list to store the text and text_url.\n", "aux_txt = []\n", "aux_txt_url = [] \n", "\n", "# This loop will remove all HTML tags using .split() and indexing.\n", "for index in twt_ach_mstr.text:\n", " aux_txt.append(' '.join(index.split(\" \")[:-1]))\n", " aux_txt_url.append(index.split(\" \")[-1])\n", "\n", "# Updating the source column with aux_ls_sr.\n", "twt_ach_mstr.text = aux_txt\n", "\n", "# Appending a new column with source_url info.\n", "twt_ach_mstr = pd.concat([twt_ach_mstr, pd.DataFrame(aux_txt_url, columns = ['text_url'])], axis = 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 44, "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", "
tweet_idtexttext_url
0892420643555336193This is Phineas. He's a mystical boy. Only eve...https://t.co/MgUWQ76dJU
1892177421306343426This is Tilly. She's just checking pup on you....https://t.co/0Xxu71qeIV
2891815181378084864This is Archie. He is a rare Norwegian Pouncin...https://t.co/wUnZnhtVJB
3891689557279858688This is Darla. She commenced a snooze mid meal...https://t.co/tD36da7qLQ
4891327558926688256This is Franklin. He would like you to stop ca...https://t.co/AtUZn91f7f
\n", "
" ], "text/plain": [ " tweet_id text \\\n", "0 892420643555336193 This is Phineas. He's a mystical boy. Only eve... \n", "1 892177421306343426 This is Tilly. She's just checking pup on you.... \n", "2 891815181378084864 This is Archie. He is a rare Norwegian Pouncin... \n", "3 891689557279858688 This is Darla. She commenced a snooze mid meal... \n", "4 891327558926688256 This is Franklin. He would like you to stop ca... \n", "\n", " text_url \n", "0 https://t.co/MgUWQ76dJU \n", "1 https://t.co/0Xxu71qeIV \n", "2 https://t.co/wUnZnhtVJB \n", "3 https://t.co/tD36da7qLQ \n", "4 https://t.co/AtUZn91f7f " ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the first 5 rows of a subsetted dataframe. \n", "twt_ach_mstr[['tweet_id','text','text_url']].head()" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[\"This is Phineas. He's a mystical boy. Only ever appears in the hole of a donut. 13/10\",\n", " \"This is Tilly. She's just checking pup on you. Hopes you're doing ok. If not, she's available for pats, snugs, boops, the whole bit. 13/10\",\n", " 'This is Archie. He is a rare Norwegian Pouncing Corgo. Lives in the tall grass. You never know when one may strike. 12/10',\n", " 'This is Darla. She commenced a snooze mid meal. 13/10 happens to the best of us',\n", " 'This is Franklin. He would like you to stop calling him \"cute.\" He is a very fierce shark and should be respected as such. 12/10 #BarkWeek']" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the first 5 rows of text column.\n", "twt_ach_mstr.text.tolist()[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The URL was removed and assigned to a new column (`text_url`) and the `text` is free of URL at the end of each tweet.\n", "\n", "### 4.10. Issue ID 3 and 4\n", "\n", "> **Issue:** Invalid ratings. Value varies from 1776 to 0. Data Strucutre must be converted from int to float.\n", "\n", "> **Issue:** Invalid denominator, I expected a fixed base. Data Strucutre must be converted from int to float.\n", "\n", "First of all, I will convert both columns, `rating_numerator` and `rating_denominator`, from `int` to `float` because in some cases the `@dog_rates` uses `float` rating number.\n", "\n", "#### Define\n", "\n", "* Convert `rating_numerator` and `rating_denominator` to `float`;\n", "* Remove the extreme values (1776, 420, etc.) of `rating_numerator`, and;\n", "* Remove non expected value of denominator, anything different of 10.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "# Converting the rating_numerator and rating_denominator to float.\n", "twt_ach_mstr.rating_numerator = twt_ach_mstr.rating_numerator.astype(float)\n", "twt_ach_mstr.rating_denominator = twt_ach_mstr.rating_denominator.astype(float)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most of the numerator values are in conformity to what I expected, but few have extreme values such as 1776, 420, 204, and so on.\n", "\n", "For this reason, I am going to subset the `twt_ach_mstr` data frame to realize what is in common with these observations.\n", "\n", "_Obs.: I have read this [thread][issue3] in Stack Overflow to learn about `.isin()`_\n", "\n", "[issue3]: https://stackoverflow.com/questions/12065885/filter-dataframe-rows-if-value-in-column-is-in-a-set-list-of-values" ] }, { "cell_type": "code", "execution_count": 47, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tweet_idtext
320820690176645140481The floofs have been released I repeat the flo...
382810984652412424192Meet Sam. She smiles 24/7 &amp; secretly aspir...
499786709082849828864This is Logan, the Chow who lived. He solemnly...
549778027034220126208This is Sophie. She's a Jubilant Bush Pupper. ...
658758467244762497024Why does this never happen at my front door......
722749981277374128128This is Atticus. He's quite simply America af....
842731156023742988288Say hello to this unbelievably well behaved sq...
918716439118184652801This is Bluebert. He just saw that both #Final...
939713900603437621249Happy Saturday here's 9 puppers on a bench. 99...
963710658690886586372Here's a brigade of puppers. All look very pre...
981709198395643068416From left to right:\\nCletus, Jerome, Alejandro...
1045704054845121142784Here is a whole flock of puppers. 60/50 I'll ...
1120697463031882764288Happy Wednesday here's a bucket of pups. 44/40...
1288684222868335505415Someone help the girl is being mugged. Several...
1359680494726643068929Here we have uncovered an entire battalion of ...
1420677716515794329600IT'S PUPPERGEDDON. Total of 144/120 ...I think
1478675853064436391936Here we have an entire platoon of puppers. Tot...
1696670842764863651840After so many requests... here you go.\\n\\nGood...
\n", "
" ], "text/plain": [ " tweet_id text\n", "320 820690176645140481 The floofs have been released I repeat the flo...\n", "382 810984652412424192 Meet Sam. She smiles 24/7 & secretly aspir...\n", "499 786709082849828864 This is Logan, the Chow who lived. He solemnly...\n", "549 778027034220126208 This is Sophie. She's a Jubilant Bush Pupper. ...\n", "658 758467244762497024 Why does this never happen at my front door......\n", "722 749981277374128128 This is Atticus. He's quite simply America af....\n", "842 731156023742988288 Say hello to this unbelievably well behaved sq...\n", "918 716439118184652801 This is Bluebert. He just saw that both #Final...\n", "939 713900603437621249 Happy Saturday here's 9 puppers on a bench. 99...\n", "963 710658690886586372 Here's a brigade of puppers. All look very pre...\n", "981 709198395643068416 From left to right:\\nCletus, Jerome, Alejandro...\n", "1045 704054845121142784 Here is a whole flock of puppers. 60/50 I'll ...\n", "1120 697463031882764288 Happy Wednesday here's a bucket of pups. 44/40...\n", "1288 684222868335505415 Someone help the girl is being mugged. Several...\n", "1359 680494726643068929 Here we have uncovered an entire battalion of ...\n", "1420 677716515794329600 IT'S PUPPERGEDDON. Total of 144/120 ...I think\n", "1478 675853064436391936 Here we have an entire platoon of puppers. Tot...\n", "1696 670842764863651840 After so many requests... here you go.\\n\\nGood..." ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Creating the black list\n", "black_list = sorted(twt_ach_mstr.query('rating_numerator > 15').rating_numerator.tolist())\n", "\n", "# Let's subset the twt_ach_mstr using the .isin() method.\n", "twt_ach_mstr[twt_ach_mstr.rating_numerator.isin(black_list)][['tweet_id','text']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I have found some tweets not related to grading/rating:\n", "\n", "* 810984652412424192: This is a crowdfund to a specific dog;\n", "\n", "And I have found some special ratings:\n", "\n", "* 749981277374128128: This is an outlier, due to the commemorative [independency day][day_1776] the rating is outstanding high, and;\n", "* 670842764863651840: I really do not understand why this rating is so high.\n", "\n", "These three observations will be removed. Although this is not a good practice, I will insert manually the `tweet_id` codes to a list.\n", "\n", "[day_1776]: https://en.wikipedia.org/wiki/1776_in_the_United_States" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "# Remove those three tweet_id's.\n", "rm_list = ['810984652412424192',\n", " '749981277374128128',\n", " '670842764863651840']\n", "\n", "# Creating a vector to subset twt_ach_mstr and remove the tweet_id from the rm_list.\n", "indexing = np.logical_not(twt_ach_mstr.tweet_id.isin(rm_list))\n", "\n", "# Updating the twt_ach_mstr data frame.\n", "twt_ach_mstr = twt_ach_mstr[indexing]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I know there are some rating that is not an integer, and for this reason, I will use a `.for()` loop to find all float rating values. The only way to find the float ratings values are using the regex (regular expression). The problem identified in the `rating_numerator` and `rating_denominator` is the original regex used to scrap the rating only take account the digits after the point, which lead an error when the rating is 9.75 becomes 75.\n", "\n", "_Obs. 1: I have had some trouble to write this chunk of code because I can not update a DataFrame view. I read this [document][issue32] to surpass this issue._\n", "\n", "_Obs. 2: This is quite difficult to understand the regex, but I found [this document][issue33] and [this one][issue34] to guide me._\n", "\n", "[issue32]: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", "[issue33]: https://www.guru99.com/python-regular-expressions-complete-tutorial.html\n", "[issue34]: https://docs.python.org/3/library/re.html" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "# Loop to find any non integer rating.\n", "for index in twt_ach_mstr.tweet_id:\n", " # Extracting the text of each tweet\n", " twt_txt = twt_ach_mstr[twt_ach_mstr.tweet_id == index].text.tolist()[0]\n", " # This regex will find any \"float\" rating among the words text.\n", " rating = re.findall('\\d+\\.\\d+\\/\\d+', twt_txt)\n", " # If any rating were found, the length of rating will be different of zero\n", " if len(rating) > 0:\n", " # rating is a list of one element like this [9.9/10], I want only the first part the 9.9.\n", " numerator = rating[0].split('/')[0]\n", " # This is the hard part. I must use the .loc() to update the data alocated in twt_ach_mstr Data Frame.\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_numerator'] = float(numerator)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next observation there is more than one pet, so I decided to calculate the mean.\n", "\n", "Now, I am looking for some exceptions, like messages when the pattern `XX/XX` appears more than once. It occurs when `@dog_rates` gives two or more ratings in a single tweet (or even talks about a specific day). The error identified in `rating_numerador` and `rating_denominator` is the second rating is totally drop. I will do the average between these two ratings as a final rating of the tweet.\n", "\n", "I have identified one special case which the expression 50/50 (fifty/fifty) is used, and the regex parses it as a rating." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "# Loop to find any non integer rating.\n", "for index in twt_ach_mstr.tweet_id:\n", " # Extracting the text of each tweet\n", " twt_txt = twt_ach_mstr[twt_ach_mstr.tweet_id == index].text.tolist()[0]\n", " # This regex will find the pattern NN/NN.\n", " rating = re.findall('\\d+\\d\\/\\d+', twt_txt)\n", " # If any rating is a list of two elements.\n", " if len(rating) == 2:\n", " if(rating[0] == '50/50'):\n", " # rating is a list of two elements like this [50/50, 9.9/10], I want only the first part of the second element.\n", " numerator = rating[1].split('/')[0]\n", " denominator = rating[1].split('/')[1]\n", " # This is the hard part. I must use the .loc() to update the data alocated in twt_ach_mstr Data Frame.\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_numerator'] = float(numerator)\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_denominator'] = float(denominator)\n", " else:\n", " # Average of two ratings.\n", " numerator = (float(rating[0].split('/')[0]) + float(rating[1].split('/')[0])) * 0.5\n", " # This is the hard part. I must use the .loc() to update the data alocated in twt_ach_mstr Data Frame.\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_numerator']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, in some tweets the user `@dog_rates` has an aggregate in a single rating many rates, in other words, If the picture has 7 dogs, the rating going to be 84/70, 12/10 in average.\n", "\n", "I will correct these exceptions doing a simple \"scale\"." ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "# Loop to find any non integer rating.\n", "for index in twt_ach_mstr.query('rating_numerator > 15').tweet_id:\n", " # Extracting the text of each tweet\n", " twt_txt = twt_ach_mstr[twt_ach_mstr.tweet_id == index].text.tolist()[0]\n", " # This regex will find the pattern NN/NN.\n", " rating = re.findall('\\d+\\d\\/\\d+', twt_txt)\n", " # If any rating were found, the length of rating will be different of zero\n", " if len(rating) == 1:\n", " # rating is a list like this [9.9/10], I want only the first part\n", " numerator = float(rating[0].split('/')[0])\n", " denominator = float(rating[0].split('/')[1])\n", " # This is the hard part. I must use the .loc() to update the data alocated in twt_ach_mstr Data Frame.\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_numerator'] = numerator/(denominator/10)\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_denominator'] = denominator/(denominator/10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's fix the denominator problems." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "# Slicing the problematic values from the value_counts. \n", "denominator_problem = twt_ach_mstr.rating_denominator.value_counts().index[1:].tolist()\n", "\n", "# Subsetting the dataframe to extrac the tweet_id with problem. \n", "tweet_id_denominator_problem = twt_ach_mstr[twt_ach_mstr.rating_denominator.isin(denominator_problem)].tweet_id\n", "\n", "for index in tweet_id_denominator_problem:\n", " # Extracting the text of each tweet\n", " twt_txt = twt_ach_mstr[twt_ach_mstr.tweet_id == index].text.tolist()[0]\n", " # This regex will find the pattern NN/NN.\n", " rating = re.findall('\\d+\\d\\/\\d+', twt_txt)\n", " # Only update if the rating is valid rating NN/NN\n", " if len(rating) == 1:\n", " numerator = rating[0].split('/')[0]\n", " denominator = rating[0].split('/')[1]\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_numerator'] = float(numerator)\n", " twt_ach_mstr.loc[twt_ach_mstr[twt_ach_mstr['tweet_id'] == index].index,'rating_denominator'] = float(denominator)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12.00 450\n", "10.00 419\n", "11.00 398\n", "13.00 254\n", "9.00 150\n", "8.00 95\n", "7.00 51\n", "14.00 34\n", "6.00 32\n", "5.00 32\n", "3.00 19\n", "4.00 15\n", "2.00 9\n", "1.00 5\n", "9.75 1\n", "0.00 1\n", "11.26 1\n", "13.50 1\n", "11.27 1\n", "Name: rating_numerator, dtype: int64" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the values of numerator.\n", "twt_ach_mstr.rating_numerator.value_counts()" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10.0 1967\n", "2.0 1\n", "Name: rating_denominator, dtype: int64" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the values of denominator\n", "twt_ach_mstr.rating_denominator.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Unfortunately, it is not possible to remove all problems in the denominator column (there is still one non-standard value). This happened due to the use of fraction (3 1/2). I did not find a good regex to filter this issue." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.11. Issue ID 5\n", "\n", "> **Issue:** This is a categorical variable and could be combine into one column.\n", "\n", "In this tidiness issue, I am going to combine four columns into a single column.\n", "\n", "I have realized in same cases the same dog is classified twice:\n", "\n", "* 8 cases: `doggo` and `pupper`;\n", "* 1 case: `doggo` and `floofer`, and;\n", "* 1 case: `doggo` and `puppo`.\n", "\n", "Figure 1 shows the `doggo`, `pupper`, `puppo`, and `floofer` definitions.\n", "\n", "![Figure 1][figure_1]\n", "\n", "[figure_1]: 02-img/dogtionary-combined.png\n", "\n", "
Figure 1 - The Dogtionary explains the various stages of dog: doggo, pupper, puppo, and floof(er) (via the #WeRateDogs book on Amazon)
\n", "\n", "_Obs.: I have used the numpy arrays to \"add\" vector, and to do so I have read [this thread][issue10] on Stack Overflow._\n", "\n", "[issue10]: https://stackoverflow.com/questions/845112/concise-vector-adding-in-python\n", "\n", "#### Define\n", "\n", "* Merge doggo, pupper, puppo, and floofer in one column.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " 1665\n", "pupper 201\n", "doggo 63\n", "puppo 22\n", "doggopupper 8\n", "floofer 7\n", "doggofloofer 1\n", "doggopuppo 1\n", "Name: dogtionary, dtype: int64" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Subset the twt_ach_mstr just to pick the \"dogtionary columns\".\n", "dog_cols = twt_ach_mstr[['doggo','floofer','pupper','puppo']]\n", "\n", "# Replace all \"None\" values to \"almost null\".\n", "dog_cols = dog_cols.replace('None', '') \n", "\n", "# Adding the columns to create a new one.\n", "dogtionary = np.array(dog_cols['doggo']) + np.array(dog_cols['floofer']) + np.array(dog_cols['pupper']) + np.array(dog_cols['puppo'])\n", "\n", "# Printing\n", "pd.DataFrame(dogtionary, columns = ['dogtionary']).dogtionary.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's convert all double classified dog as `multiclass`." ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " 1665\n", "pupper 201\n", "doggo 63\n", "puppo 22\n", "multiclass 10\n", "floofer 7\n", "Name: dogtionary, dtype: int64" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fixing the dogs with two classifications.\n", "dogtionary[dogtionary == 'doggopupper'] = 'multiclass'\n", "dogtionary[dogtionary == 'doggofloofer'] = 'multiclass'\n", "dogtionary[dogtionary == 'doggopuppo'] = 'multiclass'\n", "\n", "# Printing to see the results.\n", "pd.DataFrame(dogtionary, columns = ['dogtionary']).dogtionary.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, let's append this new column called `dogtionary` to the `twt_ach_mstr` data frame." ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "# Reseting the index of twt_ach_mstr.\n", "twt_ach_mstr.reset_index(drop=True, inplace=True)\n", "\n", "# Appending dogtionary to twt_ach_mstr.\n", "twt_ach_mstr = pd.concat([twt_ach_mstr, pd.DataFrame(dogtionary, columns = ['dogtionary'])], axis = 1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " 1665\n", "pupper 201\n", "doggo 63\n", "puppo 22\n", "multiclass 10\n", "floofer 7\n", "Name: dogtionary, dtype: int64" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Printing the value_counts of the new columns dogtionary.\n", "twt_ach_mstr.dogtionary.value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The new column bundle the 4 columns (pupper, puppo, doggo, and floofer) in one.\n", "\n", "### 4.12. Issue ID 7\n", "\n", "> **Issue:** Convert the `timestamp` to a properly data type.\n", "\n", "The `timestamp` variable is an `object`, which means it is a string for pandas. I am going to convert it to a `datetime` data type.\n", "\n", "Unfortunately, the timestamp notation has some additional info (' +0000') unnecessary, which I need to remove.\n", "\n", "_Obs.: The numpy [Datetimes][issue7] documentation was essentials to understand how to convert it._\n", "\n", "[issue7]: https://www.numpy.org/devdocs/reference/arrays.datetime.html\n", "\n", "#### Define\n", "\n", "* Convert `timestamp` to date time variable.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "# Extracting the timestamp from a separated variable.\n", "timestamp = twt_ach_mstr.timestamp.tolist()\n", "\n", "# I want to remove the ' +0000', to do so I will use the split.\n", "timestamp_str = list(map( lambda x : str(x).split(' +0000')[0], timestamp))\n", "\n", "# Converting a regular list to a numpy Data Frame.\n", "timestamp_str = pd.DataFrame(timestamp_str, columns = ['timestamp'])\n", "\n", "# Converting using the numpy datetime, and assigning to the twt_ach_mstr.\n", "twt_ach_mstr.timestamp = timestamp_str.timestamp.apply(np.datetime64)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test\n", "\n", "Let's print the data type to ensure the conversion of the `timestamp`." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 1968 entries, 0 to 1967\n", "Data columns (total 31 columns):\n", "tweet_id 1968 non-null object\n", "in_reply_to_status_id 0 non-null float64\n", "in_reply_to_user_id 0 non-null float64\n", "timestamp 1968 non-null datetime64[ns]\n", "source 1968 non-null object\n", "text 1968 non-null object\n", "retweeted_status_id 0 non-null float64\n", "retweeted_status_user_id 0 non-null float64\n", "retweeted_status_timestamp 0 non-null object\n", "expanded_urls 1968 non-null object\n", "rating_numerator 1968 non-null float64\n", "rating_denominator 1968 non-null float64\n", "name 1968 non-null object\n", "doggo 1968 non-null object\n", "floofer 1968 non-null object\n", "pupper 1968 non-null object\n", "puppo 1968 non-null object\n", "jpg_url 1968 non-null object\n", "img_num 1968 non-null int64\n", "p1 1968 non-null object\n", "p1_conf 1968 non-null float64\n", "p1_dog 1968 non-null bool\n", "p2 1968 non-null object\n", "p2_conf 1968 non-null float64\n", "p2_dog 1968 non-null bool\n", "p3 1968 non-null object\n", "p3_conf 1968 non-null float64\n", "p3_dog 1968 non-null bool\n", "source_url 1968 non-null object\n", "text_url 1968 non-null object\n", "dogtionary 1968 non-null object\n", "dtypes: bool(3), datetime64[ns](1), float64(9), int64(1), object(17)\n", "memory usage: 305.6+ KB\n" ] } ], "source": [ "# Printing the data type of each variable.\n", "twt_ach_mstr.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.13. Issue ID 11\n", "\n", "> **Issue:** Dog's breed is not standardized, some is capitalized and other lowercase.\n", "\n", "I have written I straightforward function to deal with the non-standardized names.\n", "\n", "* Converting all names to lower cases;\n", "* Converting all spaces into an underscore, and;\n", "* Converting all dash to underscore.\n", "\n", "#### Define\n", "\n", "* Standardization of the dogs' breeds names in `P1`, `P2` and `P3` columns.\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "def fix_names(list_names):\n", " \"\"\"\n", " +----------------------------------------------------------------------------------------------------+\n", " |DESCRIPTION: |\n", " | |\n", " | This functions aims to convert any letter to lower case, also replace space by underscores. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |INPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | list_names data frame A column of a given data frame which contains non-standardized letters |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |OUTUPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | list_names data frame Column with 'fixed' content. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " \"\"\"\n", " # Convert any uppercase in lowercase.\n", " list_names = list(map(lambda x : x.lower(), list_names ))\n", " # Change spaces in underscores.\n", " list_names = list(map(lambda x : x.replace(' ','_'), list_names ))\n", " # Change dash to underscores.\n", " list_names = list(map(lambda x : x.replace('-','_'), list_names ))\n", " \n", " return list_names # Return the \"fixed\" names." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's use this function to fix `p1`, `p2`, and `p3`." ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "twt_ach_mstr.p1 = fix_names(twt_ach_mstr.p1)\n", "twt_ach_mstr.p2 = fix_names(twt_ach_mstr.p2)\n", "twt_ach_mstr.p3 = fix_names(twt_ach_mstr.p3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test\n", "\n", "Let's take a look at the breed's name to ensure the conversion." ] }, { "cell_type": "code", "execution_count": 63, "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", "
tweet_idp1p2p3
0892420643555336193orangebagelbanana
1892177421306343426chihuahuapekinesepapillon
2891815181378084864chihuahuamalamutekelpie
3891689557279858688paper_towellabrador_retrieverspatula
4891327558926688256bassetenglish_springergerman_short_haired_pointer
5891087950875897856chesapeake_bay_retrieverirish_terrierindian_elephant
6890971913173991426appenzellerborder_collieice_lolly
7890729181411237888pomeranianeskimo_dogpembroke
8890609185150312448irish_terrierirish_setterchesapeake_bay_retriever
9890240255349198849pembrokecardiganchihuahua
\n", "
" ], "text/plain": [ " tweet_id p1 p2 \\\n", "0 892420643555336193 orange bagel \n", "1 892177421306343426 chihuahua pekinese \n", "2 891815181378084864 chihuahua malamute \n", "3 891689557279858688 paper_towel labrador_retriever \n", "4 891327558926688256 basset english_springer \n", "5 891087950875897856 chesapeake_bay_retriever irish_terrier \n", "6 890971913173991426 appenzeller border_collie \n", "7 890729181411237888 pomeranian eskimo_dog \n", "8 890609185150312448 irish_terrier irish_setter \n", "9 890240255349198849 pembroke cardigan \n", "\n", " p3 \n", "0 banana \n", "1 papillon \n", "2 kelpie \n", "3 spatula \n", "4 german_short_haired_pointer \n", "5 indian_elephant \n", "6 ice_lolly \n", "7 pembroke \n", "8 chesapeake_bay_retriever \n", "9 chihuahua " ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Subsetting the twt_ach_mstr to show only p1, p2, p3, and tweet_id.\n", "twt_ach_mstr[['tweet_id','p1','p2','p3']].head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.14. Additional Issues\n", "\n", "Based on the Project's instructions:\n", "\n", ">_Back to the basic-ness of Twitter archives: retweet count and favorite count are two of the notable column **omissions**. Fortunately, this additional data can be gathered by anyone from Twitter's API. Well, \"anyone\" who has access to data for the 3000 most recent tweets, at least. But you, because you have the WeRateDogs Twitter archive and specifically the tweet IDs within it, can gather this data for all 5000+. And guess what? You're going to query Twitter's API to gather this valuable data._\n", "\n", "For this reasons, I have had to aggregate to Table 7, two more issues, 15 and 16. I also need to remove any non-used columns.\n", "\n", "
\n", "\n", "
Table 8 - Summary of Issues Identified.
\n", "\n", "|Issue ID|Table|Issue Type|Dimension|Method|Column|Description|\n", "|:-:|:-:|:-:|:-:|:-:|:-:|:-:|\n", "|15|df_img|Quality|Completeness|Programmatic|\"retweet count\"|Gather additional info in `tweet_json.txt` file.|\n", "|16|df_img|Quality|Completeness|Programmatic|\"favorite count\"|Gather additional info in `tweet_json.txt` file.|\n", "|17|twt_ach_mstr|Quality|Validity|Programmatic|\"many columns\"|Remove `in_reply_to_status_id`, `in_reply_to_user_id`, `retweeted_status_timestamp`, `retweeted_status_id`, and `retweeted_status_user_id`.\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.15. Issue ID 15\n", "\n", "> **Issue:** Gather retweet count info in tweet_json.txt file.\n", "\n", "As a requirement of the instruction, I have appended a new column called `favorite_count`.\n", "\n", "#### Define\n", "\n", "* Add to the `twitter_archive_master.csv` the `favorite_count` values from the `tweet_json.txt`\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "# Lesson Learned: DO NOT use chaining indexing.\n", "favorite_count = df_twt_cln.loc[:,('id','favorite_count')]\n", "\n", "# Renaming the columns to be apt to merge using tweet_id as key.\n", "favorite_count.columns = ['tweet_id','favorite_count']\n", "\n", "# Converting the tweet_if to str.\n", "favorite_count.loc[favorite_count.tweet_id.index,'tweet_id'] = favorite_count.tweet_id.astype(str)\n", "\n", "# Merging the subsetted data frame called favorite_count to twt_ach_mstr.\n", "twt_ach_mstr = pd.merge(twt_ach_mstr, favorite_count, on = 'tweet_id', how = 'left')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, I have configured the `.merge()` as left join, because I do not want to drop the observations without this `favorite_count`.\n", "\n", "#### Test" ] }, { "cell_type": "code", "execution_count": 65, "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", "
tweet_idfavorite_count
0892420643555336193NaN
1892177421306343426NaN
289181518137808486424593.0
389168955727985868841433.0
489132755892668825639613.0
\n", "
" ], "text/plain": [ " tweet_id favorite_count\n", "0 892420643555336193 NaN\n", "1 892177421306343426 NaN\n", "2 891815181378084864 24593.0\n", "3 891689557279858688 41433.0\n", "4 891327558926688256 39613.0" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the first 5 favorite_count rows. Have in mind, this is a subset with few columns.\n", "twt_ach_mstr.loc[:,('tweet_id','favorite_count')].head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bear in mind, neither all `tweet_id` has `favorite_count`.\n", "\n", "### 4.16. Issue ID 16\n", "\n", "> **Issue:** Gather favorite count info in tweet_json.txt file.\n", "\n", "Similarly as done to `favorite_count`, the `retweet_count` will require the same sequence of code lines with minor changes.\n", "\n", "#### Define\n", "\n", "* Add to the `twitter_archive_master.csv` the `retweet_count` values from the `tweet_json.txt`\n", "\n", "#### Code" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "#favorite_count = df_twt_cln[['tweet_id','favorite_count']]\n", "retweet_count = df_twt_cln.loc[:,('id','retweet_count')]\n", "\n", "# Renaming the columns to be apt to merge using tweet_id as key.\n", "retweet_count.columns = ['tweet_id','retweet_count']\n", "\n", "# Converting the tweet_if to str.\n", "retweet_count.tweet_id = retweet_count.tweet_id.astype(str)\n", "\n", "# Merging the subsetted data frame called favorite_count to twt_ach_mstr.\n", "twt_ach_mstr = pd.merge(twt_ach_mstr, retweet_count, on = 'tweet_id', how = 'left')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test\n", "\n", "I have also configured the `.merge()` as left join because I do not want to drop the observations without this `retweet_count`." ] }, { "cell_type": "code", "execution_count": 67, "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", "
tweet_idretweet_count
0892420643555336193NaN
1892177421306343426NaN
28918151813780848644070.0
38916895572798586888471.0
48913275589266882569166.0
\n", "
" ], "text/plain": [ " tweet_id retweet_count\n", "0 892420643555336193 NaN\n", "1 892177421306343426 NaN\n", "2 891815181378084864 4070.0\n", "3 891689557279858688 8471.0\n", "4 891327558926688256 9166.0" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Print the first 5 retweet_count rows. Have in mind, this is a subset with few columns.\n", "twt_ach_mstr.loc[:,('tweet_id','retweet_count')].head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bear in mind, neither all `tweet_id` has `retweet_count`.\n", "\n", "### 4.17. Issue ID 17\n", "\n", "> **Issue:** Remove `in_reply_to_status_id`, `in_reply_to_user_id`, `retweeted_status_timestamp`, `retweeted_status_id`, and `retweeted_status_user_id`.\n", "\n", "#### Define\n", "\n", "* Drop the unused variables/columns: `in_reply_to_status_id`, `in_reply_to_user_id`, `retweeted_status_timestamp`, `retweeted_status_id`, and `retweeted_status_user_id`.\n", "\n", "#### Code\n", "\n", "First, let's take into account the numbers of columns.\n" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "33" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculates the number of columns.\n", "len(twt_ach_mstr.columns.tolist())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What is the columns in `twt_ach_mstr`?" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['tweet_id',\n", " 'in_reply_to_status_id',\n", " 'in_reply_to_user_id',\n", " 'timestamp',\n", " 'source',\n", " 'text',\n", " 'retweeted_status_id',\n", " 'retweeted_status_user_id',\n", " 'retweeted_status_timestamp',\n", " 'expanded_urls',\n", " 'rating_numerator',\n", " 'rating_denominator',\n", " 'name',\n", " 'doggo',\n", " 'floofer',\n", " 'pupper',\n", " 'puppo',\n", " 'jpg_url',\n", " 'img_num',\n", " 'p1',\n", " 'p1_conf',\n", " 'p1_dog',\n", " 'p2',\n", " 'p2_conf',\n", " 'p2_dog',\n", " 'p3',\n", " 'p3_conf',\n", " 'p3_dog',\n", " 'source_url',\n", " 'text_url',\n", " 'dogtionary',\n", " 'favorite_count',\n", " 'retweet_count']" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "twt_ach_mstr.columns.tolist()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There more 4 columns from dogtionary, which I can drop as well." ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['tweet_id',\n", " 'timestamp',\n", " 'source',\n", " 'text',\n", " 'expanded_urls',\n", " 'rating_numerator',\n", " 'rating_denominator',\n", " 'name',\n", " 'jpg_url',\n", " 'img_num',\n", " 'p1',\n", " 'p1_conf',\n", " 'p1_dog',\n", " 'p2',\n", " 'p2_conf',\n", " 'p2_dog',\n", " 'p3',\n", " 'p3_conf',\n", " 'p3_dog',\n", " 'source_url',\n", " 'text_url',\n", " 'dogtionary',\n", " 'favorite_count',\n", " 'retweet_count']" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Columns to be removed.\n", "rm_columns = ['in_reply_to_status_id',\n", " 'in_reply_to_user_id',\n", " 'retweeted_status_timestamp',\n", " 'retweeted_status_id',\n", " 'retweeted_status_user_id',\n", " 'doggo',\n", " 'pupper',\n", " 'puppo',\n", " 'floofer']\n", "\n", "# Copy of all column of twt_ach_mstr. \n", "list_columns = twt_ach_mstr.columns.tolist()\n", "\n", "# Loop to remove each non desired column.\n", "for rm in rm_columns:\n", " # Remove a specific column.\n", " list_columns.remove(rm)\n", "\n", "# Priting the remaining columns.\n", "list_columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's subset the `twt_ach_mstr` data frame." ] }, { "cell_type": "code", "execution_count": 71, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tweet_idtimestampsourcetextexpanded_urlsrating_numeratorrating_denominatornamejpg_urlimg_num...p2_confp2_dogp3p3_confp3_dogsource_urltext_urldogtionaryfavorite_countretweet_count
08924206435553361932017-08-01 16:23:56Twitter for iPhoneThis is Phineas. He's a mystical boy. Only eve...https://twitter.com/dog_rates/status/892420643...13.010.0Phineashttps://pbs.twimg.com/media/DGKD1-bXoAAIAUK.jpg1...0.085851Falsebanana0.076110Falsehttp://twitter.com/download/iphonehttps://t.co/MgUWQ76dJUNaNNaN
18921774213063434262017-08-01 00:17:27Twitter for iPhoneThis is Tilly. She's just checking pup on you....https://twitter.com/dog_rates/status/892177421...13.010.0Tillyhttps://pbs.twimg.com/media/DGGmoV4XsAAUL6n.jpg1...0.090647Truepapillon0.068957Truehttp://twitter.com/download/iphonehttps://t.co/0Xxu71qeIVNaNNaN
28918151813780848642017-07-31 00:18:03Twitter for iPhoneThis is Archie. He is a rare Norwegian Pouncin...https://twitter.com/dog_rates/status/891815181...12.010.0Archiehttps://pbs.twimg.com/media/DGBdLU1WsAANxJ9.jpg1...0.078253Truekelpie0.031379Truehttp://twitter.com/download/iphonehttps://t.co/wUnZnhtVJB24593.04070.0
38916895572798586882017-07-30 15:58:51Twitter for iPhoneThis is Darla. She commenced a snooze mid meal...https://twitter.com/dog_rates/status/891689557...13.010.0Darlahttps://pbs.twimg.com/media/DF_q7IAWsAEuuN8.jpg1...0.168086Truespatula0.040836Falsehttp://twitter.com/download/iphonehttps://t.co/tD36da7qLQ41433.08471.0
48913275589266882562017-07-29 16:00:24Twitter for iPhoneThis is Franklin. He would like you to stop ca...https://twitter.com/dog_rates/status/891327558...12.010.0Franklinhttps://pbs.twimg.com/media/DF6hr6BUMAAzZgT.jpg2...0.225770Truegerman_short_haired_pointer0.175219Truehttp://twitter.com/download/iphonehttps://t.co/AtUZn91f7f39613.09166.0
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " tweet_id timestamp source \\\n", "0 892420643555336193 2017-08-01 16:23:56 Twitter for iPhone \n", "1 892177421306343426 2017-08-01 00:17:27 Twitter for iPhone \n", "2 891815181378084864 2017-07-31 00:18:03 Twitter for iPhone \n", "3 891689557279858688 2017-07-30 15:58:51 Twitter for iPhone \n", "4 891327558926688256 2017-07-29 16:00:24 Twitter for iPhone \n", "\n", " text \\\n", "0 This is Phineas. He's a mystical boy. Only eve... \n", "1 This is Tilly. She's just checking pup on you.... \n", "2 This is Archie. He is a rare Norwegian Pouncin... \n", "3 This is Darla. She commenced a snooze mid meal... \n", "4 This is Franklin. He would like you to stop ca... \n", "\n", " expanded_urls rating_numerator \\\n", "0 https://twitter.com/dog_rates/status/892420643... 13.0 \n", "1 https://twitter.com/dog_rates/status/892177421... 13.0 \n", "2 https://twitter.com/dog_rates/status/891815181... 12.0 \n", "3 https://twitter.com/dog_rates/status/891689557... 13.0 \n", "4 https://twitter.com/dog_rates/status/891327558... 12.0 \n", "\n", " rating_denominator name \\\n", "0 10.0 Phineas \n", "1 10.0 Tilly \n", "2 10.0 Archie \n", "3 10.0 Darla \n", "4 10.0 Franklin \n", "\n", " jpg_url img_num ... \\\n", "0 https://pbs.twimg.com/media/DGKD1-bXoAAIAUK.jpg 1 ... \n", "1 https://pbs.twimg.com/media/DGGmoV4XsAAUL6n.jpg 1 ... \n", "2 https://pbs.twimg.com/media/DGBdLU1WsAANxJ9.jpg 1 ... \n", "3 https://pbs.twimg.com/media/DF_q7IAWsAEuuN8.jpg 1 ... \n", "4 https://pbs.twimg.com/media/DF6hr6BUMAAzZgT.jpg 2 ... \n", "\n", " p2_conf p2_dog p3 p3_conf p3_dog \\\n", "0 0.085851 False banana 0.076110 False \n", "1 0.090647 True papillon 0.068957 True \n", "2 0.078253 True kelpie 0.031379 True \n", "3 0.168086 True spatula 0.040836 False \n", "4 0.225770 True german_short_haired_pointer 0.175219 True \n", "\n", " source_url text_url dogtionary \\\n", "0 http://twitter.com/download/iphone https://t.co/MgUWQ76dJU \n", "1 http://twitter.com/download/iphone https://t.co/0Xxu71qeIV \n", "2 http://twitter.com/download/iphone https://t.co/wUnZnhtVJB \n", "3 http://twitter.com/download/iphone https://t.co/tD36da7qLQ \n", "4 http://twitter.com/download/iphone https://t.co/AtUZn91f7f \n", "\n", " favorite_count retweet_count \n", "0 NaN NaN \n", "1 NaN NaN \n", "2 24593.0 4070.0 \n", "3 41433.0 8471.0 \n", "4 39613.0 9166.0 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Cleaned twt_ach_mstr.\n", "twt_ach_mstr = twt_ach_mstr[list_columns]\n", "\n", "# Printing the first 5 rows.\n", "twt_ach_mstr.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Test\n", "\n", "Last look to the `.info()` to ensure if the columns `in_reply_to_status_id`, `in_reply_to_user_id`, `retweeted_status_timestamp`, `retweeted_status_id`, and `retweeted_status_user_id` have been removed." ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Int64Index: 1968 entries, 0 to 1967\n", "Data columns (total 24 columns):\n", "tweet_id 1968 non-null object\n", "timestamp 1968 non-null datetime64[ns]\n", "source 1968 non-null object\n", "text 1968 non-null object\n", "expanded_urls 1968 non-null object\n", "rating_numerator 1968 non-null float64\n", "rating_denominator 1968 non-null float64\n", "name 1968 non-null object\n", "jpg_url 1968 non-null object\n", "img_num 1968 non-null int64\n", "p1 1968 non-null object\n", "p1_conf 1968 non-null float64\n", "p1_dog 1968 non-null bool\n", "p2 1968 non-null object\n", "p2_conf 1968 non-null float64\n", "p2_dog 1968 non-null bool\n", "p3 1968 non-null object\n", "p3_conf 1968 non-null float64\n", "p3_dog 1968 non-null bool\n", "source_url 1968 non-null object\n", "text_url 1968 non-null object\n", "dogtionary 1968 non-null object\n", "favorite_count 1280 non-null float64\n", "retweet_count 1280 non-null float64\n", "dtypes: bool(3), datetime64[ns](1), float64(7), int64(1), object(12)\n", "memory usage: 251.8+ KB\n" ] } ], "source": [ "# Printing the info.\n", "twt_ach_mstr.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.18. Data Storing\n", "\n", "After identifying 17 issues and solve them, the final data frame (`twt_ach_mstr`) has one particularity:\n", "\n", "* Presence of NaN values in `favorite_count` and `retweet_count` columns.\n", "\n", "This particularity will not affect the further studies, because it is not related to the quality of the data.\n", "\n" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [], "source": [ "# Saving the `twt_ach_mstr` as twitter_archive_master.csv.\n", "twt_ach_mstr.to_csv('01-Dataset/twitter_archive_master.csv', index=False, encoding = 'utf-8')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, the Data Cleaning ends here.\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Data Analysis and Visualization
\n", "\n", "Let's load the `twitter_archive_master.csv`, this time I will name the loaded data frame as `df_viz`." ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [], "source": [ "# Loading the tweet_json.txt as a panda DataFrame.\n", "df_viz = pd.read_csv('01-Dataset/twitter_archive_master.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Adjustments\n", "\n", "Although, I have already converted the `timestamp` to datetime in Issue ID 7 when I export (to make a backup) and load (the exported file) the `timestamp` column will be coerced to a string, which obliges me to convert (again)." ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [], "source": [ "# Converting using the numpy datetime, and assigning to the twt_ach_mstr.\n", "df_viz.timestamp = df_viz.timestamp.apply(np.datetime64)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Graphic's General Configuration\n", "\n", "In order to provide a default configuration to all graphics, I will define a chunk to wrap this configuration." ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [], "source": [ "# General configuration for all plots.\n", "font = 14 # X and Y axis fontsize.\n", "font_title = 18 # Graphic's Title fontsize.\n", "transparency = 0.5 # Transparency in cases of scatter plot.\n", "width = 0.7 # Bar width" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Exploratory Data Analysis\n", "\n", "In the next section, I have tried to perform an Exploratory Data Analysis (EDA). I will pose some silly questions to guide me to walk through the project requirements." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.1. Algorithm Comparison\n", "\n", "Let's compare the output of each algorithm, plotting a bar graph to analysis visually. To do so, I will write a function to bundle some code lines and to avoid repetition." ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [], "source": [ "# Function to plot a barchart.\n", "def gp_pop_dog(df_popular, gp_title, xlabel, ylabel,font = font, font_title = font_title):\n", " \"\"\"\n", " +----------------------------------------------------------------------------------------------------+\n", " |DESCRIPTION: |\n", " | |\n", " | This function aims to plot a graphic using barchart and lines. Both side of the Y axis will be |\n", " | used. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |INPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_popular data frame The entire data frame. |\n", " | |\n", " | gp_title str Graphic title. |\n", " | |\n", " | xlabel str X axis label. |\n", " | |\n", " | ylabel str Y axis label. |\n", " | |\n", " | font str Axis labels font size. |\n", " | |\n", " | font_title str Graphic Title font size. | \n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |OUTUPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | graphic - Returns a matplotlib graphic. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " \"\"\"\n", " # Plotting only the breed's dog with more than 20 occurencies.\n", " df_popular[df_popular > 20].plot(kind = 'barh', # Set the kind of graphic.\n", " figsize = [14, 6]); # Graphic size.\n", " plt.title(label = gp_title, # Graphic Title.\n", " fontsize = font_title); # Graphic title fontsize.\n", " plt.xlabel(xlabel = xlabel, # X axis label\n", " fontsize = font); # X axis fontsize\n", " plt.ylabel(ylabel = ylabel, # Y axis label\n", " fontsize = font); # Y axis fontsize\n", " plt.xlim(0, 140) # X axis limit - set default as 140." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Premised on the three (3) algorithms, I will plot three graphics and compare the results.\n", "\n", "#### P1 Algorithm." ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Value counts to build a histogram.\n", "dog_pref = df_viz[df_viz.p1_dog].p1.value_counts()\n", "\n", "# Plotting the graphic.\n", "gp_pop_dog(dog_pref,\n", " gp_title = 'Graphic 1 - Algorithm 1 - Dog\\'s Breed with more than 20 appearances.',\n", " xlabel = 'Occurrences',\n", " ylabel = 'Dog\\'s Breed')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### P2 algorithm" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Dog Preference - Algorithm P2\n", "\n", "# Value counts to build a histogram.\n", "dog_pref = df_viz[df_viz.p2_dog].p2.value_counts()\n", "\n", "# Plotting the graphic.\n", "gp_pop_dog(dog_pref,\n", " gp_title = 'Graphic 2 - Algorithm 2 - Dog\\'s Breed with more than 20 appearances.',\n", " xlabel = 'Occurrences',\n", " ylabel = 'Dog\\'s Breed')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### P3 Algorithm" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Dog Preference - Algorithm P3\n", "\n", "# Value counts to build a histogram.\n", "dog_pref = df_viz[df_viz.p3_dog].p3.value_counts()\n", "\n", "# Plotting the graphic.\n", "gp_pop_dog(dog_pref,\n", " gp_title = 'Graphic 3 - Algorithm 3 - Dog\\'s Breed with more than 20 appearances.',\n", " xlabel = 'Occurrences',\n", " ylabel = 'Dog\\'s Breed')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Based on the graphics, the P1 algorithm has fewer breeds and high concentrated bars in some breeds, in the opposite way the P3 algorithm has much more breeds and the dogs are spread in more breeds, in other words, less concentrated bars." ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P1: 74.29%\n", "P2: 75.15%\n", "P3: 72.66%\n" ] } ], "source": [ "# Calculating the percentages by algorithms.\n", "p1_perc = round(100 * df_viz[df_viz.p1_dog].shape[0]/df_viz.shape[0],2)\n", "p2_perc = round(100 * df_viz[df_viz.p2_dog].shape[0]/df_viz.shape[0],2)\n", "p3_perc = round(100 * df_viz[df_viz.p3_dog].shape[0]/df_viz.shape[0],2)\n", "\n", "# Printing a summary.\n", "print(\"P1: {}%\\nP2: {}%\\nP3: {}%\".format(p1_perc,p2_perc,p3_perc))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All three algorithm has almost the same performance (percentage of picture classified as a dog):\n", "\n", "* P1: 1462/1968 = 74.29%\n", "* P2: 1479/1968 = 75.15%\n", "* P3: 1420/1968 = 72.66%\n", "\n", "The third one has a slightly less performance." ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P1: 14 breeds.\n", "P2: 18 breeds.\n", "P3: 21 breeds.\n" ] } ], "source": [ "# Calculating the number of breeds in each algorithm with more than 20 occurencies.\n", "p1_qty = sum(df_viz[df_viz.p1_dog].p1.value_counts() > 20)\n", "p2_qty = sum(df_viz[df_viz.p2_dog].p2.value_counts() > 20)\n", "p3_qty = sum(df_viz[df_viz.p3_dog].p3.value_counts() > 20)\n", "\n", "# Printing a summary of occurencies.\n", "print(\"P1: {} breeds.\\nP2: {} breeds.\\nP3: {} breeds.\".format(p1_qty,p2_qty,p3_qty))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I have found a difference in the number of breeds with more than 20 occurrences.\n", "\n", "* P1: 14 breeds\n", "* P2: 18 breeds\n", "* P3: 21 breeds\n", "\n", "The third algorithm has 33.33% more breeds than the first algorithm." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "P1: 732 dogs.\n", "P2: 713 dogs.\n", "P3: 671 dogs.\n" ] } ], "source": [ "# Calculating the number of dogs classified using the threshold of 20.\n", "dog_qty_20_p1 = sum(df_viz[df_viz.p1_dog].p1.value_counts()[df_viz[df_viz.p1_dog].p1.value_counts() > 20])\n", "dog_qty_20_p2 = sum(df_viz[df_viz.p2_dog].p2.value_counts()[df_viz[df_viz.p2_dog].p2.value_counts() > 20])\n", "dog_qty_20_p3 = sum(df_viz[df_viz.p3_dog].p3.value_counts()[df_viz[df_viz.p3_dog].p3.value_counts() > 20])\n", "\n", "# Printing a summary of occurencies.\n", "print(\"P1: {} dogs.\\nP2: {} dogs.\\nP3: {} dogs.\".format(dog_qty_20_p1,dog_qty_20_p2,dog_qty_20_p3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">**Conclusion:** The algorithm 1 is more skewness than the other two, and tend to concentrate the classification in a few breeds. On the other hand, the third algorithm is more generalist, spreading the dogs in a more variety of breeds." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.2. Tweets Correlation: Favorite and Retweet\n", "\n", "I want to see if there are a correlation between Favorite and Retweet. I am going to plot a simple scatter plot." ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [ { "data": { "image/png": "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BOO/Av62xHk36Lmk2/i/5eYlEJEKMrPHCBe7F1Y5FBERERGpMvXpEhERERERSZGSLhERERERkRQp6RIREREREUmR+nSJiIiIiIikSDVdIiIiIiIiKdI8XSUcf/zxPm/evGqHISIiIiIiY9R99923091nDbaekq4S5s2bx5o1a6odhoiIiIiIjFFm9niS9dS8UEREREREJEVKukRERERERFKkpEtERERERCRFSrpERERERERSpKRLREREREQkRUq6REREREREUqSkS0REREREJEVKukRERERERFKkpEtERERERCRFddUOQEREREREZDDr27KsXNvO1o5OWpubWLZ4NgtbMtUOKxHVdImIiIiIyJi2vi3LitWbyXZ205JpJNvZzYrVm1nflq12aIko6RIRERERkTFt5dp2Mk31ZJrqqTHrv79ybXu1Q0tESZeIiIiIiIxpWzs6mdY4sGfUtMY6tnZ0VimioVHSJSIiIiIiY1prcxP7unoGlO3r6qG1ualKEQ2Nki4RERERERnTli2eTbazm2xnN33u/feXLZ5d7dASUdIlIiIiIiJj2sKWDMuXzifTVE9btotMUz3Ll84fN6MXash4EREREREZ8xa2ZMZNklVINV0iIiIiIiIpUtIlIiIiIiKSIiVdIiIiIiIiKVLSJSIiIiIikiIlXSIiIiIiIilS0iUiIiIiIpIiJV0iIiIiIiIpUtIlIiIiIiKSIiVdIiIiIiIiKRq1pMvMvmZm281sbV7Zv5nZn83sj2b2P2bWnLfs/Wa20cweNrPL8sqXxbKNZva+vPL5ZnaPmT1iZv9tZlNieUN8vDEunzc6r1hERERERGR0a7puAJYVlK0CFrv7M4ANwPsBzGwR8ErgrLjNF82s1sxqgS8ALwQWAa+K6wJ8Erje3U8H9gBXx/KrgT3ufhpwfVxPRERERERkVIxa0uXuq4HdBWU/c/ee+PBuYE68fzlws7sfcvfNwEbg2fG20d03ufth4GbgcjMz4CLg1rj9jcBL8vZ1Y7x/K3BxXF9ERERERCR1Y6lP198DP433W4En85ZtiWWlymcCHXkJXK58wL7i8mxc/yhmttzM1pjZmh07doz4BYmIiIiIiIyJpMvMPgj0AN/MFRVZzYdRXm5fRxe6r3D3Je6+ZNasWeWDFhERERERSaCu2gGY2ZXAXwMXu3suGdoCnJy32hxg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Gatam5vY19UzoGxfVw+tzU1VikhEREQmk6SjF+YUJmEiImPessWzyXZ2k+3sps+9//6yxbOrHZqIiIhMAkmSLk89ChGRFC1sybB86XwyTfW0ZbvINNWzfOl8jV4oIiIioyLJkPGfMLOD8f4U4BozGzDkl7u/veKRiYhU0MKWjJIsERERqYrBkq7VwKl5j38HzC1YRzVhIiIiIiIiJZRNutz9wlGKQ0REREREZEIa6kAaIiIiIiIiMgRKukRERERERFKkpEtERERERCRFSrpERERERERSVDLpMrOvmdm0eH+pmSUZXl5ERERERETylEukXgt8ANgH/BJoAbaPRlAiImla35Zl5dp2tnZ00trcxLLFszWHl4iIiKSmXNL1GPA2M/sZYMBzzGxPsRXdfXUKsYmIVNz6tiwrVm8m01RPS6aRbGc3K1ZvZvnS+Uq8REREJBXlkq53A18G3k+YAPl/SqznQG2F4xIRScXKte1kmurJNNUD9P9dubZdSZeIiIikomTS5e4/AH5gZs3AbuAs1LxQRMa5rR2dtGQaB5RNa6xja0dnlSISERGRiW7QwTHcvcPMng884u49oxCTiEhqWpubyHZ299dwAezr6qG1uamKUYmIiMhElmjIeHf/FVBrZn9vZp82s38zs78zs4aU4xMRqahli2eT7ewm29lNn3v//WWLZ1c7NBEREZmgEiVdZrYI2ABcB5wPXABcD2wws4XphSciUlkLWzIsXzqfTFM9bdkuMk31GkRDREREUpV07q3PAn8AXufuewHMbDrwDeAzwGXphCciUnkLWzJKskRERGTUJE26ngucl0u4ANx9r5l9ELg7lchEREREREQmgETNC4EuoLlIeSYuExERERERkSKSJl0/BL5sZs81s9p4ex7wn8BtIw3CzJrN7FYz+7OZrTez55jZDDNbZWaPxL/HxXXNzD5nZhvN7I9mdm7efq6M6z9iZlfmlT/LzP4Ut/mcmdlIYxYREREREUkiadL1j8AjwK8JNVtdwK8Ig2u8owJxfBZY6e5PA84G1gPvA37h7qcDv4iPAV4InB5vy4EvAZjZDOAawkAfzwauySVqcZ3ledstq0DMIiIiIiIig0rUp8vdO4DLzew0YCFgwDp33zjSAOKAHEuBq+JzHQYOm9nlwIVxtRuBO4H3ApcDN7m7A3fHWrKWuO4qd98d97sKWGZmdwLT3f2uWH4T8BLgpyONXUREREREZDBJB9IAICZZI060CiwAdgD/ZWZnA/cRatZmu3tbfN42Mzshrt8KPJm3/ZZYVq58S5Hyo5jZckKNGHPnzh3ZqxIRERERESF588I01QHnAl9y93OAAxxpSlhMsf5YPozyowvdV7j7EndfMmvWrPJRi4iIiIiIJDAWkq4twBZ3vyc+vpWQhLXHZoPEv9vz1j85b/s5wLZByucUKRcREREREUld1ZMud38KeNLMzoxFFwPrCKMi5kYgvBL4Qbx/G/D6OIrhBUA2NkO8HbjUzI6LA2hcCtwel+0zswviqIWvz9uXiIiIiIhIqgbt02VmdYR+Tt9397RqiN4GfNPMpgCbgL8jJITfMbOrgSeAV8R1fwK8iNC37GBcF3ffbWYfBe6N6/1LblAN4E3ADUATYQANDaIhIiIiIiKjwsIggIOsZHYAWOTuj6cf0tiwZMkSX7NmTbXDEBERERGRMcrM7nP3JYOtl3T0wrsJ/awmTdIlIuPP+rYsK9e2s7Wjk9bmJpYtns3Clky1wxIREZFJLmnS9WXg383sFMKQ7gfyF7r7/ZUOTERkKNa3ZVmxejOZpnpaMo1kO7tZsXozy5fOV+IlIiIiVZU06fpW/HtdkWUO1FYmHBGR4Vm5tp1MUz2ZpnqA/r8r17aXTbpUOyYiIiJpS5p0zU81ChGREdra0UlLpnFA2bTGOrZ2dJbcRrVjIiIiMhoSJV2TaQANERmfWpubyHZ299dwAezr6qG1uankNsOtHRMREREZisTzdJnZC83sR2a2zsxOjmVvMLOL0wtPRCSZZYtnk+3sJtvZTZ97//1li2eX3GZrRyfTGgf+9jRY7ZiIiIjIUCVKuszsNcB3gEcITQ1zPyXXAu9JJzQRkeQWtmRYvnQ+maZ62rJdZJrqB20m2NrcxL6ungFlg9WOSXLr27Jcv2oD77rlQa5ftYH1bdlqhyQiIlIVSft0vQd4o7vfbGZvyCu/G/iXyoclIjJ0C1syQ2oWuGzxbFas3gyEGq59XT1kO7u54rw5aYU4aai/nIiIyBFJmxeeDtxVpHw/ML1y4YiIjJ7h1I5JMvn95WrM+u+vXNte7dBERERGXdKarm3AGRw9OfJS4NGKRiQiMoqGWjsmyQxnNMmJQFMQiIhIMUlrulYAnzOz58bHJ5vZlcCngC+lEpmIiIxbk7G/XK5JZbaze0CTSvVlExGRpEPGf8rMMsAqoBH4JXAI+LS7fyHF+EREhk21DtUzGfvLaQoCEREpJfGQ8e7+QeB44NnABcAsd/9wWoGJiIyEah2qazL2l9MUBCIiUkrSPl05DnTF+70VjkVEpGJU61B9k62/3HAm6BYRkckh6TxdDWb2GWA38CDwR2C3mX3WzBrLby0iMvpU6yCjbTgTdIuIyOSQtKbrS8ClwBs4MnT8c4BPANOAv698aCKTg/odpUO1DjLack0q8z/PV5w3R59nERFJnHS9AniZu6/KK9tkZtuB76KkS2RYNIFseibjQA5SfZOtSaWIiCSTdCCNA8DWIuVbAbXVERkmTSCbnsk4kIOIiIiMTUlruv4DuMbMrnL3TgAzawI+HJeJyDBM1glkR4tqHURERGQsKJl0mdltBUUXAlvN7I/x8dPj9semE5rIxKd+RyIiIiITX7marl0Fj79b8HhzhWMRmXTU70hERERk4iuZdLn7341mICKTkUY7ExEREZn4hjo5sohUmPodiYiIiExsiZIuMzsOuBZ4PnACBaMeuvsJFY9MRKTCNCeaiIiIVEPSmq6bgLOAG4F2wFOLSEQkBZoTTURERKoladJ1IfCX7n5/irGIyCBUUzN8+XOiAf1/V65t1zEUERGRVCVNuh4l+UTKIpKnUomSampGZrA50ZTQioiISFqSJlL/CHzCzM42s9o0AxKZSHKJUraze0CitL4tO+R95dfU1Jj131+5tj2FyCee1uYm9nX1DCjLzYlWyfdJREREpFDSpGsj0ATcDxw2s978W3rhiYxvlUyUtnZ00tXdw12bdrFqXTt3bdpFV3dPf02NlLds8Wyynd1kO7vpc++/v2zxbCW0IiIikqqkzQu/DWSAt6OBNEQSG6xJ21BMqTXu2bSbqY11TG2o5VB3L/du3sP5C2ZUKtwJrdycaF/9zWMVe59ERERECiVNupYAz3b3tWkGIzLRtDY3ke3s7h+0AY40aRsq4+hfOzyWSzKl5kSr5PskIiIiUihp88J1wPQ0AxGZiMo1aRuqQ73O+QuOo7G+ln2Hemisr+X8BcdxqFcVzyNVyfdJREREpFDSpOtDwHVm9gIzm21mM/JvaQYoMp7lmrRlmuppy3aRaaof9miDrc1NNNTVccGCmVy66EQuWDCThro61cZUQCXfJxEREZFC5j74r+Rm1pf3MH8DA9zdJ9yIhkuWLPE1a9ZUOwyZYEYyLHn+kPHTGuvY19VDtrNbyYGIiIhIlZjZfe6+ZLD1kvbpev4I4xEZ1yoxh9NI59kqNxCETF6aX0xERGTsS1TTNRmppmv8qvRFaKVqmK5fteGowRpyj995yRnDjk8mL9V+ioiIVFdFa7rM7Nxyy939/qSBiaRppLVJxeTP4QT0/125tn1I+6zk8PEiULlzU0RERNKVtHnhGo4enTq/imzEfbrMrDY+z1Z3/2szmw/cDMwgTMr8Onc/bGYNwE3As4BdwBXu/ljcx/uBq4Fe4O3ufnssXwZ8Nsb5FXf/fyONV8amNC5CSyVLD23Lcv2qDYlr1IY6LLmajclglMiLiIiMD0lHL5wPLIh/5wNnAK8E/gT8dYVi+Udgfd7jTwLXu/vpwB5CMkX8u8fdTwOuj+thZotiTGcBy4AvmlltTOa+ALwQWAS8Kq4rE9DWjk6mNQ78LWGkF6GtzU3s6+oZUPb4zgNs2dNJtrN7QI3a+rZsyf0MZVjyXI3dUPYvk0+xc1Pzi4mIiIw9iZIud3+84LbR3W8B3kMYTn5EzGwO8FfAV+JjAy4Cbo2r3Ai8JN6/PD4mLr84rn85cLO7H3L3zcBG4NnxttHdN7n7YULt2eUjjVnGpjQuQoslSxva93Pm7KlkmuqpMaO7t5dNO/bzT995kOtXbSiaHA1lWPL8Grsas/77K9e2D/t1yMSj+cVERETGh6Q1XaVsBp5ZgTg+Q0jgckPTzwQ63D139bwFaI33W4EnAeLybFy/v7xgm1LlMgGlcRFaLFk6eWYTc2ceC8DO/V3c93gH7g5O2VqphS0Z3nnJGXz6FWfzzkvOKNlcMI0aO5l4NL+YiIjI+JB0II3CCZANaAGuBR4eSQBm9tfAdne/z8wuzNt/IR9kWanyYoll0SEbzWw5sBxg7ty5ZaKWsSqtYdUXtmQG7CN/JMKN2w/QUBdOs2lNdRXpR5br/3W4p5eNOw6wv6uH+lrjrJOmj+h1VIv6p6Wn8NwUERGRsSfpQBo7OTpRMUIN0hUjjOG5wIvN7EVAIzCdUPPVbGZ1sTZrDrAtrr8FOBnYYmZ1QAbYnVeek79NqfIB3H0FsALCkPEjfF1SJaNxEbps8WxWrN4MQLbzMA21NRzq9f6kaKS1UssWz+ZTKx/miV0HmdpQS11NaCbZvvcQ69uy4+oiO40RJUVERETGk+FOjtwH7CD0leopsn5i7v5+4P0AsabrXe7+GjO7BXg5oQ/WlcAP4ia3xcd3xeV3uLub2W3At8zsOuAk4HTg94Tk8PQ4GuJWwmAbrx5JzCL5NWo1VgNmnDs3w6xpYSS5kfYjW9iS4aRMI7sPHOZwbx/TG+t5+pwM9bW1Q65Bq0YtU/5zPrH7ICdOa9Cw5iIiIjJpJUq63P1XaQdSxHuBm83sY8ADwFdj+VeBr5vZRkIN1ytjjA+Z2XeAdUAP8BZ37wUws7cCtxOGjP+auz80qq9EJqRcjVqu1mtKXS197v0T1F5x3pwh7zM/WXloW5az52SYPf1I8tbnPqQatGrUMhU+5wNP7GHvwW66e/vYdbCb/V09TG2oZXre0PkiIiIiE5m5l25FV6QvV1HuvrtiEY0RS5Ys8TVr1lQ7DBknKlGblJ+sTGusY/WGHezv6uH8BTP6a9By/cjeeckZifaZ3/csZ6j7GKrC57x70y627+1ib1cPc45roqGuhr1xhMnrrzhbtV0iIiIybpnZfe6+ZLD1BqvpKtaXq5An2I9I6qo5WEMl+pEVTuy8uHU6dz26m4e27WXpGQ3DqkGrxuS5hc952gnH8kj7Pnrdaair4VBPGKT0zNlT1cRQREREJoXBkqXCvlz5lhEmNB5Rny6RSkizGd1oJXP5ycrO/V1s3H6APu9ja0cnf35qL4taMkMeiTE3CmJ+TVfak+cWPufxUxs5tqGW3j7Yd6iH6Y31LG6dzoxjGzQEvoiIiEwKZZOuYn25zOxc4JPAUuA/gY+mE5pIcoW1RJUarGG0+kStb8vyxO6DPPDEHo6pr2XfoZ7wehrryTRNYWpD/bCSvfxRFqc11o2ov9lInvPYhnrOOGEq82dN7V8v29mdavInIiIiMlYknhzZzOab2beAewgDWCxy97e7+47UohNJYH1bllXr2rl7007u3rSLnfu7gMo0o8tP5mrM+u+vXNteidCBI4ndidMaqK+poS3bRceBw3Qe7u0fhn64z1mNyXOLPefbLjqV2tqaik5aLSIiIjJeDNoXy8xmAv8X+Afgt8Bz3F0jTMiYkEtY6msNvIau7l7ue7yDZ53STH1t7YhrUkajT1R+Yje1sY6frWunD9iW7WTW1AY27jjAguOPYf+h4bXkrcbkucWec8GsqcOetFqTK4uIiMh4VjbpMrMPAO8BHgMud/eVoxGUSFK5hOWsk6Zz/xMdNNQZU2qNtVv3smDW1EGb0Q12MT8afaLyE7tZ0xo5cXojW3YfpLa2hlnTGjjU3cu9m/dw/oJEg4mOWcNN/jS5soiIiIx3g9V0fQzoBLYAbzazNxdbyd1fXOnARJLIJSw1Vs+5c5vZuOMA+zq7wXzQi/IkF/Np9onKJXwPbcvySPs+FrdO5/ipjRjQ63BM7ZHWv06Y5Xsyyq8JzA0wsnP/Ia65bR0fefGiQRMv1ZKJiIhItQ2WdN3E4EPGi1RNfk3UrGmNzJrW2P94sAvrJINv5PonDbdZXCn5Cd/ZczLcu3kPdz26m/MXHMfB7l5mTp3C1Ia6/tH+Fp00jUO93r/tZEoicon1zv1d3Pd4Bw11Ncw4pp7d+w8PWuOlWjIREREZCwYbvfCqUYpDZMjWt2XZua+LX2/cxXHH1LOwZRqN9XWJa6KS9tcaSbO4UsnRN+56nE079nO4t4/pjfWceeJUtnZ08eCTe5k5tYETpzUcNdLfCdPqJ2USkUusN24/QENdDY31tXR19zJj6pT+AUZKvfa0RrUsNNkSYRERERmaxKMXiowl/QNo1NXy3NNCX6ffPbqbwz29iROQ1uYm9nUNHJyiUv21cvFlO7sHJEfr27Ksb8vy6427cHemNdTR1d3Lpp0HWXTSNBadNJ2PvHhRyZH+RmM0xbFm2eLZZDu72bn/EFNqja7uXg719HHarGMHHdRka0cn0xoH/rZU6YFQyr3XIiIiIpBg9EKRsWhgDUY9J5w5cMCL61dtGLTWobC/1uM7D7ChfT8nz2zi+lUbSm6XpFajXA0LwHHHhMdmRmN9LQDrtu3jwjNPKNuk8au/eeyo2rmu7h7u2bxrwtay5I7HNbetY/f+w8yYOoWzTpre35S0XJI8GgOhjFZtmoiIiIxfqumScalUDca6IdQ65M8ntb5tLxu27+fME6fytBOnl9wuaa1GuRqWrR2dLGyZxqGePrq6e3F3cGfPwSPzVi1syfDOS87g0684m3deckb/xXth7dyOfV3cu3kPU2prJnQty8KWDB958SKePifDopbpzJzakGiur1wtWZrzg41GbZqIiIiMb0q6ZFwq1TQw29kzpOZ3ueTmrJMyXLBgJvOOn1p2u6TN+8o1XWxtbqKxvo5z5zbTUF/L/kO9YMbzTps5aM1IYRLx0La9OLC4dXri5obr27Jcv2oD77rlQa5ftWHcJGjDmeh5NCaHTrOZqoiIiEwMal4o41KpodynN9YNq9Yh6aAaSdcbbKj53GAY58+f0b/sdc85ZdDXXdj0sLvXOX/BcRw/9UhM5V7veB+IYziDmqQ9OXSa0wqIiIjIxKCaLhmXStVgnHVSZli1DoPVVuRqh9Zt28vqDTvYsa+r7P7L1bCMtPYlv+nhJYtm01A3MMks93on40AcaRuN2jQREREZ38xd03AVs2TJEl+zZk21w5A8SQawyK/Jya91eMHCWfxu4y4eeDKL45xzcjOve84p/duX2m750vnAkZqpQz093LNpDwacN/84Dh7q7R98Y1FLZtQHsSgXd7E43nXLg3Ey6SNTLfe505bt4tOvOHvU4hYRERGZCMzsPndfMuh6SrqKU9JVPcWSKyBxclG4/Rmzj+V7929j884DTG2oxYD9h3qZO/MY3rPszAGJV7Gk7vpVGwaMgLdzfxdrt+5lb1c3DXW1nDl7KnNnHjtowjOax6vU8xe+FqD/8TsvOWO0QhYRERGZEJImXerTJWNKqT5Hx9TXJB6Wu7APz/WrNrBz/yGmNdb1D8+OGbsPHB6wfam+P4X9uI6f2sjSMxr4xfrtPHv+jFEbKrxUcjWUPktJ+x9psl8RERGRylGfLhk1SUbNK9Xn6IEns8MelntrRyeHenppqDtyujfU1XC4p2/Q7de3ZXli90F++qenuGvTrv6+XPu6enB81IYKr9QEvEn6H2myXxEREZHKUk2XjIqko+aVGh3QcfZ19ZSd5LZU7UxrcxOPtO/jUE9ff03XoZ4+ptTVlB1gIxdzy/QGsgcPs7ezm/sf72D29Cm07z3M4d5eVm/Y0T9Rb7GYKqWSE/AOVjOmyX5FREREKktJl1TEYM3Ril3I795/iGtuW8fcGcf0b9Pa3HRUn6N9XT2cc3Iz2c5u4EizuMd3HeCkTCPvuuVBptQa7XsPcfKMY45K6pYtns3arVk27zyAuw/o07Vs8eySsefHPLWxjo3bD7B1z0F2bDvE806byTENtdyzaQ/3bNrNefOPo7G+LrWhwpMOVT/enktERERkMlDSJSNWrhYLQsL1/T9sZfa0Bk6fPZXd+w+z5vE9dHR2U2PGcU11ZBvqWLF6My9YOIufr98BUHQUwZVr23loW5a2bBdt2YOs21bLMQ21HDzUS12NcWKmgRqrH1A7885LzuBdl53BN+56vH/0wvMXzOifF6tU7PnJx/FTGzl+aiN3PersOnCYecdPBeA5pxprt+7lwS1ZLl10IlecNyeV2qBSyWgla9Vyyee6bXt5pH3fqNTgiYiIiEwGSrpkxEo1R/vGXY9zsLuPTFM9s6c1sLerhzvWt7O3q5de76MGqDHnrk27ee6pxuxMExvaD7B86Xy+ftfj/Hz9LgzjnJOPDHQB8MTugzy+6wB9fUYvTvZgN929fdTW1PDgk1kuXhgShfzamYUtGT7+smccFfv1qzaUbEpXLNHZfaCbmcdO6X+cG1SjLduV6uh/aU/Am584n33y9FGrwRMRERGZDJR0yYiVao724z9uZ1pjPd29To1B9uBhduw/TF8fmEFdjTGtsZ6+Prj38d0sOH4q7fsO8Uj7XtZt20uvQ1d3L7c9eMUDOOkAACAASURBVIAf/qmN5y6YyYxjp5BpqmfPwW6m1Bn1tTX09DrdvX3U1cBTe8tPWpw09q0dnVz9vHlHJTp1NXbU+qNRC5QbACO/GWQla9UGJs71o1aDJyIiIjIZKOmSEStWI/TErgPs3H+YaQ11TG2opeNgN3u7uunpC8vNobvP6e7po8Zgb2cve7t6mDqllt89upvuvj7o66M7JmiNVsNdm3bTUF/DRU+bFXYSp5irrTFqaoyuw730OPzsoaeYUlfDjGOn8J5lZw459lwSVSzRedvFp/Lz9TvIdnYPu8ZpuMOxD2Vo+KEqNSx+2jV4IiIiIpOBki4ZsWJN3x7ckqXO4Ik9nRwzpZZDPb3U1dRghCRrSq1xqMfp6Oz5/9u78zi5rvrO+5/fvbe27upFS6vVlrzIG5ZQDBizeGAMxARMnIS88mQeIBshecZMhuRFJkMIWUkyDxNCyDBkmJnED2sCSdiSwBCwH2HwAEHYGIOx7MayLMmypFarW91d3V3rXc78cW+3qltby1Krt+/79apXVZ1769apOnqV9NP5nd/BDAwYmWqyrhRgBs45whjygUecxNRaMWYJYWw8eHCczd1FDo/XMXM4HD7QAjrzPi6LxjyzZ9T3PUcmaIZJug6tu8gbb7liTuBxdV/5Gc84LbSK46V2KdaMiYiIiKxVCrrkgs2fESr4Rj2M2dhVYHS6RTNMmGpEkAVXnhmYEfiOVgzOQW/RZ2M5z9Bkg7xnxLEjcY4kSQizc0p5wzPjyESDF1zZy1i1yXgtJIwScr5HVyngR3b0s7GczthU6uE5y5zP73u1EXJ4vE5vR55N5TyT9ZB3f+lxAO64ccvsa55pgLRcy7Ev9poxERERkbVMQZdcFO2ByPt27WVzdxr4bFnnc6zSIEocsYNSzugu5hirhYRx+tqOvMeVG8sUcz4TtRaNMJk9vxGlJd49DwqBT8736CnlGK2GxA66izk6svTFUrYH14yFljlv7/v//Ve76e3ItwVF6YbKH9t9aDbouhDLtRz7Yq8ZExEREVnLFHTJRXdkos6Oy7r41pNjVOoh080I3yBxYBjjtZDOvE89jCkGHpgxme3BVS74nKiG+B4kcbpsywF5b2a2y+f5V/XyvacrvGbnwGxwtHv/CSbrIfuOV2dnuk6XHneu9VTDkw02lfNzXtNV8BluK9BxIZZzGt9irhkTERERWcu8pe6ArD5bekvUmjEOqLUi4mzWygOi2JEkjulmhEugESX0lnJ0FgKKOZ+xWkRHzqOUz1Eu+PjZsqxGBNVWxEStxYMHx2mGMV3Fk/9ncG1fJzgYnW6SOEelHlKph9y+s3/2nJn1VJV6OGc91eBQZfac/u4iU814zueZasb0d8+dnTqdwaEK79u1l7d9+mHet2vvnOvOuH1n/2zfztRPEREREVldFHTJRTU4VGFkqsF9e0cZr7aIE0cuMHK+US4GxElaPt4zo7sUkPc9KvWQajNk+0A3XcUcl2/ooL+rQFcpRynnMVMOw/fSSoVDlQaNVsyhE9XZ9+3rKnJ9f5kN5QKDQ5M8NjTJdDNd0zUT/LSvp/LMZh/fvWd49jpvvOUKqs2I45MNDp2oMjg0ydHxOrfdsPGcn/tcAR2cTOPrKeUYqjToKeWWvIiGiIiIiCwupRfKeTlbel57Zb51pYCR6SZxkgZKXcWAnO8x3Ywwz2NDOc/l6zqoNiOGKg2mmjE9pRwvvXYDX39ilGozIuenqYdGmmIYJVDM+WwsF6i3Yr6x7wSPHp2imDOaUUIzcjx7oItW7Ngx0E1XMZhTHXAh66nuuHEL33lqjL974DBh7CjmPJ61qZMfHKsyOFQ5Y3B0PgUylMYnIiIisrZopksW7FyzOe2BR39PiXzg05OVgPfMiJK0XHySOMr5AOccvmf0lQtcs7ETgJHpJqPTTcI4wfeMKE7Lvxd8oxB4bF3XQeAZE/WQUt6jGBgHR2uMTLfYvrnM0UqDA6NVwjg+ZTZrS28praLYZv56qsGhCt98cpwrN3Ry0xW9XNNXpho64jiZMyM235GJ+px0R1geBTJEREREZOlppksW7FyzOY8erTBZDxmZalJtRUw3Inwfgmy/rEaY0F3MkQ+M6VbE8FSTzoLPQFeeSlai/IbN3Xz/6QnGayE0QgIf0vqFRuAZ1WbEwRNVWlFC4hzTjYjOQkBPKcd4PSKMHeWCP6egRjOK2PXYGFvWFXn6RJ3r+8tcubHzlLLog0MV3vn5xzg0VsWz9P06CgHlfMCTI9M8MTKdfsZGRE8pYMdAz+xM33IukCEiIiIiS0tBlyzY/PS80ekGTwxPMzzVZGSqwb7j0+AcU80YA/I+tGKILaG/4NNbyjFabVGpR/T3FNnSkxatGByapq+7wAMHxigXAzZ2FSnlfMLEkfc9xmohUZxgwOHxOo0wfRx4Rq2VzmiNTjeJkoSNXUWarYjJRjjbx/v3j9NVDLhhczcdOZ/Hh6ephTHPvqxntiz6zCze0ESdOHbERrb+LGa6HhI5x5beEofH6mBQqbXoyPnc9bUad966TftciYiIiMgZKb1QFqw9PW90usE3951g/0iV6UbIvYPHqbUixuthGnAFHsV8jlI+XYN1eKLB8akmhqO3I8dkPeJEtUUYxYRJwrHJBsOTNfYNT/HUiSrjtfQ6P/acy3jZdRvp68rjALP02uViQGchXSfWjBI8MxpRwrV9nUw3Y/K+R+Ice45MYsCzL+vGM6OzEFAIPI5OzC0BPzOL1wjTTZyjOCGME+qtiGbsiBNHMedTyKX7hBVzPscmm7OpiyqQISIiIiJnopkuWbD22ZyHD00wOt3C940tPUWOVhqEUUwrdjQtxlpGuRDQVQyot2KKOY/r+ssMDk2mQVHgMVZtUWvFJA6iyFGJImJIqxVaWk7+gf0nePE1G/mVV1zDh75xkIGeIl94+CiTjYgoTijlPMarIVHi8JqOewePEyWOjrzP4NAkrTjhBdvW0ddVZGSqwUOHJij4RuKSU4psBB7UWmm5+JyfridrRI7Ah75ynjiBUiH9f4pC4DHZCOes2zpTgYxz7Q0mIiIiIqubZrpkwbYP9PDK7X08NjTJ48eniZOEDR05ysUczjlqrYQwdnieUQo8wtjRihKixNGZD6i1YqLE4XC0oojJRroGy7OsOiHpfUK6kXLgwfGp5px1U1ONiL7uIus7cwTZLFfgG4FB7NKUwK6Cz9V9nXQVczzv8l6KufT/FvaNVClkmzH3lPKnFNkYHJqiXAjozKczaIHvUcp7dBUC+rqKlIsBzSgBoBml69POtW5roaXkRURERGT1WvKgy8wuN7OvmtmgmT1qZm/N2teb2S4zeyK7X5e1m5n9hZntM7Pvm9lNbdd6Y3b+E2b2xrb255vZI9lr/sLM7NSeyLkMDlX48uAIOwa6KeU8HHB4osHjxyapNiMS0qCpESZMNCKarZBGGJPzPToLPuO1FqWcTxw7GlEaWDkgTE59L9+gEPhM1MPZqoEzGwtv7irgm0c+C+wC30iAgZ4i12wq09ORn039M5jdgHiqHuKcoxklXLsprZY4M1N1fX8nB0er1Fox9TAmSRxmEJhHM4opBB6buwo0w3SGrBHGbO4unHNj44XsDSYiIiIiq9uSB12kExz/0Tm3HXgx8BYz2wG8A7jXOXcdcG/2HOA1wHXZ7U7gf0IapAHvBF4EvBB450yglp1zZ9vrbr8En2vV+fjup9g/Ms19jw/TDJOsuIVjuhkRJmlaoG/pDJUBkTMSl1YTPD7V5MR0i2YYkVWBPyMDcr5HI4rxjDnpe3feuo1tfWV6OwIm6xGeZ3QXc+R8j6lGRK0VzUn9a8Zudq0VBmbG86/sna1sONWIyPvGlwdH2NxTJOd7hFFCNUwIo4TAg629HXQVc0RxQjOKZ0valwvBOddtqZS8iIiIiCz5mi7n3BAwlD2eMrNBYAvwWuDl2WkfA+4Dfitr/2vnnAO+ZWa9ZjaQnbvLOTcGYGa7gNvN7D6g2zm3O2v/a+AngS9dis+3WgwOVfj6vhP0lgJaUVpUotqKiGJHlAVRDujI+3SXcjgHJ6YbRIlxohqS99MtjqthWgC+GHhgjlbomD/RlW6EnECSBjzt6Xsz66betwtuGOjhsaFJmmEaCDXDhLFqi3IhYKoZ8cVHhthQLrB/ZBqAnmLAE8erjFVbDPQU2dxdxPc9OrLiGNf0dTJUaZALPALnMDMiB9ds6iTnezx+bJqXPWvTnOqE56JS8iIiIiKyHGa6ZpnZVcDzgPuB/iwgmwnMNmWnbQGebnvZ4aztbO2HT9O+pgwOVXjfrr287dMP875de897TdHde4ZZ15HDzGjFCZ0Fn4LvzQZcM6aaMSNT6QbHzRhyHly1oUTONzzPslLyRrngk8VVpxUl4BLo7cidNn1vZgbp2r5OmlFCR97H4ZiotTg6Uafge+Q8j1JgvPtLj/PwoTEmahGFwBiZarDnaIV/efIEN2zupBk7uooBJ6oh/d0F2rNPN3cXOVENGao0iBJ33mmCMymRlXpI4tzs47OlJIqIiIjI6rJsgi4zKwOfBX7dOTd5tlNP0+aeQfvp+nCnmT1oZg+OjIycq8srxkKLOZwtMDsyUWf7QBfNKME3I0oczTgNmYrB3K+4FTvCLIewmPPpLOS4amOZ6zZ1UczWgmGGb2k6ope9PMieQ9q2dX2JazeV56TvzfTxsaOTfG1vOkY3XdHLus4CpVyAmdHbkaevu8hNV/ZSjxydhYAnRqokztGMHJ2FHL2lPH1dBf7xoSHyvjHVSPf2WteRZ11HjnIhx7rOfFrevhFyotpifWeOdgtJE1QpeRERERFZ8vRCADPLkQZcn3DO/UPWPGxmA865oSx98HjWfhi4vO3lW4GjWfvL57Xfl7VvPc35p3DO3QXcBXDzzTefY+XRytFezAGYvZ/ZXwpOBmY9pdycwGwmQJhJk7vpil4ePlzh8HidKEmDo3RmaO7XFXjpbFUrPjmXVQg8uosB9TBhY7mASxxJKyJJHMXAw/OMOHE459jQmae/u8i/PHmC9+3aOzszdNfXDpAkCR6OJ49XeWqsxouuWseOgW629JaYbobcsDndkwvge09X6Cr4DFXqJM4ReIbvpbN13cWAsWo4W2wj73s0wpiOvM9UI2J9Z55GmO755Vw669VuoWmCZyolLyIiIiJrw5LPdGWVBD8EDDrn/kvboc8DMxUI3wh8rq39F7Iqhi8GKln64T3Aq8xsXVZA41XAPdmxKTN7cfZev9B2rTVhIcUczlZlb3CowuhUg6/84DiPHp3kh7Z087LrNhJ46R8g3zM8A5+2acVsJmu6GTNWbeKcY7IRsa6jwFtecTXdpRxRFgRd1ltiXWeefHadxMFYLeT4ZIP+rsJsAPjx3U+RJAmPD09TaYTEzjFZD9k1eJwnjk1y563b2DHQM7uBM0C5GDDVjCkXAhphgp8FdoUgLTe/vjM3W2xj52XdTNQjOvIBt1y9nlLeZ6IesfOybn7th6/B9z2lCYqIiIjIeVsOM10vAX4eeMTMvpe1/Q7wbuBTZvbLwCHg32THvgj8KLAPqAFvAnDOjZnZfwK+nZ33xzNFNYBfAT4KlEgLaKypIhoLKeZwZKLOQM/cmZyuYsCjRyscGqvRU8rxkmvX89jRKb755BgvvXYD2we6OThaJR/4NMJ0k2NIZ7m6iwFT9RDPjLFqSL0VUy7m+LXbruGOG7fw5pddx+BQhd//pz3sG6nSbEU0IpemG3oQeB5jtZAdl3XP9vuBA2OUCz4TtSbHp1rgTqYmPnJ0kv0j03M2cO4qBmzuKjA0Uee6vk4eOTpFrZVWROztKNCMEq5cnxbq2D7Qw7t+6sY5GxnfMNAzZyPjq/vKczY5ft0LtmoGS0RERETOacmDLufcNzj9uiuA205zvgPecoZrfRj48GnaHwR2XkA3V7T5gchM5b3XveBk1mV7YDYy1WDfSJWx6Ra1MOLmK9bRimKeHKkRxo5SzuNb+08w2YhIHNRa0WxRjJmBjGKXlWiHVlb6ffv6EnuHq1w9VJkNVnpKefrKIYfHYwIv3VjZM6OrmKOrGDBaDbku63c9jHh6rMpUM4bsveIs8EqShI/tPsSn3nwLd966bTY42tZX5tU7+9k7XKUeJuwbqdKR9+kp5WarF7bPVp0tFVBpgiIiIiLyTFgaw8h8N998s3vwwQeXuhsXTfsMzpbe0pwZnJnjd33tAHGcsHd4mmYUU6mHVFshzqWBkAFhnMxWLPRJA62Z2SnfM5phuqlw4qAj79HfVWCsFhHFCT/+3AEKQUClHs4GRjOB3q7HhjEco9MtJpsR3YWAjeU8DuNHdvRzYGSa7x+e4GilQWveRl9pCXpjU0+J//2br7ig70FEREREZKHM7DvOuZvPdd6Sz3TJpXGuWZqZKnvv/PxjTLdC6q0km12KaUQJ7jQFH2PSWabIpU9K5gg8aGW1M+qthLFaSOB5FIKA/SM1Xnz1BoDZwGcmpdEMjkw0yPtG3oNmlPD0eJ3L16UzcHuHp3nO5b2MTA/PCbpspg+Jo39eoYszfc72958p+a7AS0REREQWi4IuYXCowsd3P8V3n65wZKJG4MGGziLVVkQp51MPz7SbFrPruADq0dw80QSYqEfkPLh8fYnJRpimLh6fZniqSX93kVYYs62vnL7OQZxAZyFHzjeOTTY4eKJKZzFHb2eOUt4ncekMW5y9h8v6kAC33bDxrJ/x7j3DPHo0rbz4rP4yV2zoPKVKo4iIiIjIxaaga40bHKrw3nv2cmC0SrngUwg8xqshYdzAM6Mjf34FLk+XrBonMFaL2NBhPHRoAoBy3qdSbbHnSIUtxyaJEkdfOc9YLcSyqodXrOsg8D12DHRz3w+GOTxWp5TzSRIHsZsTePnA393/NFvXdXDHjXP3vm4vhz9ZDwF4fHiacjFgYzmdHWsvny8iIiIicjEtecl4WVp37xlmdLpJVzGglA/Y1FXEy9L7oiSmFbkzVjk5F9/Sma8EmK6FHDhRY//INIfHa4zXQop5n629RSbrESemW5gZt+/sZ+u6DrauK9FRCOjKStfnA5/pZkRfV4Fizp8T3OW8dO+xsVrIn939+CmbPreXw59uxnQXAwqBx77jVWBhmxyLiIiIiDxTCrrWuCMTdZpRTCHwqDYjhicbRJGjGSVMNxMq9RD/GUZdiTs58+X5hnNgOGqtmOHJBnuHpxiebNCKEnpLOY5NNdhzZJLjk3VwaR+u7esE0iIdvR0BvR15NpTzeF4a0PkG6zrz+B5EScLRSoN3fv6xOYFX+z5l5WJAM0ooBB6TjXTWa6GbHIuIiIiIPBNKL1zjtvSWeGJ4iolayPBkg1oY40ij8QQIEzc7Y3W+dS5nzs9lob3vnWyLXVoJMU4gSWJqrQjP4FilwWQjZLjSIAYOjFbpKQWUcj69HfnZQhyfuP8pJust8oGPc47pZoxzDs/gxHRzzjqt9nL41/Z18tChCZpRQncxmN3kuL18/gxVOhQRERGRi0EzXWvc7Tv72VgucHyqSTOKCWNHQhpwzYizGau8D0E261XKGYXAZv8AGekfpvmTYn5WPt6zmSqDJ4tvOJc+j136Qs8zijmPRphQixxh7HBJwni1xdFKnThJZ94S59jQmcc5CDxjuhkTRkmWCpmWtt8/Ms1vfOph3rdrL9f3d84GVxvKBa7fVAYHPR1pyuHpimjMrAOr1EMGeoqzBTfmpy6eyeBQhfft2svbPp32YaGvExEREZHVR0GXsLm7QJQkNKKzz2W1YvB9wzdohmlQ5HlGMfBm125l8ROBndy8OHbQWQjwPW921mum1HuacsjsPmDHp5qzs2GJS8vPRwl4GLVWTE8px1ClwfOvXMezNncRJ45GmJA4CHzDDIYqdeqtCBxU6iFfHhzhldv7Zl+7ra/Mr912DTsGembLxp9tHZhnNvt4psT82VxowCYiIiIiq4vSC9ew9qp+Owa6eeDg+Dlf02wLzDwH4E4J1hzp3l0+6abJUZIW5jADM8NwdOQ9cr5RqcdpsObSMvBxcnKOrT2lMXGO4cnmnBS/waEKv/np77Pv+DQOR3cxl52bBltXbizTU0rb9g5X+Q8/cv0pn7s9KGqf8WrfQ2zGQgtutAdswOz9hVZIVLqjiIiIyMqkoGsNaw8ONpbz5/36hLn7dM0Xk6b/dQRGKecTxgm1OK0eGHhpWfjZc5N0yis+2XTKnl+dBZ+/2f0UfV3F2cBjc0+RnVu6+d7TFZLEcWisShYLclNHGuzMD5YWEhS1rwObsdCCGxcSsJ3JQgJFEREREVmelF64Rg0OVdj12DDf2j/Kt/af4Omx+ux6rYspzCohTtRDCoHPlp4i3cWAsVpEM3Z4QM5LZ79wbraIB5xMV5yJ667r6+Qb+07MSds7PF6n1ozZtqGDE9UWZKu6OvM+B07UGJlqnBIstVcznDE/KLp9Z//sOrDEudnHt+/sP+dn3tJbYqoRzWm70AqJF5LuKCIiIiJLS0HXGjQ4VOE9dz/OsYkaB0drfPfQOI8enTzrrNUzlZCmF0axY7zW4vBEg9HpJvnAKOWMIPAoBEZXKUdHISDvG5t7CuT9k9fwgFLgs2+kRinw5gQez+ovs3d4mqOVBlt7i1yxvoN84NHXXaTgG48enTwlWFpIULR9oIc7b902uw7sTAU3TudCArYzWUigKCIiIiLLk9IL16C/2f0UTxybIkwccZIQJud+zYXKB2mhjGbsiB105D2iOCFJoJEAlu7V9ZKrN7B/tIbvpftohWFCLvDo7y4wVGlSzHmMTjfYWE7T967Y0EktjDky3iBxCes681y7qZMT1ZBKvYVn3inB0u07+7nraweANHCZakSnLRu/faDnGaXuzQRs7euvXveCrReUBngh6Y4iIiIisrQUdK1B3316gjBJ6Mj71FvxuV9wETQjd7IwhkuLcLTidLNk56AZxkyaccdzBri6r8zde4b53PcOU28ldBZ8ejsL5AOfKHHsO16dDbqmGhE7BnrYMdAzJyi5Dmafzw92FiMomu+ZBmxnstBAUURERESWHwVdq9z8infX93cyMtVkotriHBXiLzrXdt+IEzyyPbqytus2dbJ3uModN25he1bOfaCniGfpYrORqQYPPTXB6HSTxLlTAo/zCUoudlC02C5FoCgiIiIii0NB1yo2v+LdwdFp/uGhwwQelzzgmi+MT+7plfNhoKdEtZnw6NGTe1nNT6nr6ypyfX+ZY1NNhiqNUwKP1R6UrLRAUURERERSCrpWsfml0Y9NNonimOHJ1pL2K+8ZrSStXLixnKe/p0hHPqBSD5lsK3BxupQ63/f4o5/YcdrgQ0GJiIiIiCxHql64is2veHfoxDQjUy2WcpLLN+guBfgGgW8M9JYo5XwaYYxzjp7Syf5eSAVBEREREZHlQjNdq9iW3hIHRqY5NtVkuhExMtni0pTNOD0PyAXGVDMm8KEQeBRzPpONkO5ijqs2dHDVxvKc12j2SkRERERWOgVdq0h70YyCbxwcrfLdw5V082GD6NyXWFSWlS90zpHzPdZ35Nk+0D2n8MWF7GUlIiIiIrIcKehaJdqLZuR82L1/jLFqi66Cx3g1orUYOx8vUM4DMyNOHGHs6Mz7dBQCfvP2Z7F3uLpqC1+IiIiIiICCrlWjvWjGvYNjVJsR042QimNJ13AB5Hzj6r4uxmot6q2YnG/cdsMm7rhxC3cscd9ERERERBabgq5V4tGjFSbrIaPTTQ6P1yn6RrwMAi4Ah+F7xtbeEs0wZrwe8XO3XLnU3RIRERERuSQUdK0Cg0MVDo/XAZish0SxYzJe2nDLtzTg84D1HTkKOZ/pRkTON1567QalEYqIiIjImqGS8avA3XuGeVZ/mUYYM14Ll8nsFnTkPLqKAVECU/WQnG+s78zz85rlEhEREZE1REHXKnBkos4VGzrpKgQ4Ln1KoWewriOgM+dhQCEwtm/u4uYr11HI+fSUcrisV57ZJe6diIiIiMjSUnrhKrClt0SlHhI5R+AZrUVOLQwMCjmPy9d38q+uWcf9ByY4PF6jVAh43pVlrljfSSt2HBqr8aJt6+fsvVWph9y9Z1jphSIiIiKyZijoWgWu7+/kD/5pDydqi7sTl2cQeLC5p4OXXruBn7/lyrMGT2/79MMM9BTntHUVA45M1Be1nyIiIiIiy4mCrhVucKjCOxc54DKgmPMwjGv6OnnPv7lxQTNVMzNwPaXcbNtUI2JLb2nR+ioiIiIistwo6FqBBocqfHz3U+zef4KDozWSRXwvA3pKAX1dBa5Y38nbXn39glMDb9/Zz11fOwCkM1xTjYhKPeR1L9i6iD0WEREREVleFHStMP/8/SO89569HJmo0YoX970KAWzt7QAzfM/jp2667LzWYm0f6OHOW7dx955hjkzU2dJb4nUv2Kr1XCIiIiKypijoWkEGhyr82T2Pc3isTrTIJQq7Cz4//tzL2FhO12RV6iF7h6vccZ7X2T7QoyBLRERERNY0BV0ryN/sfoqj44sbcBmQ8+GO5wzMBlygAhgiIiIiIs+Ugq4VYHCowt17hvnkA0+zmBmFOc8Y6CnSU8pRCOb+0VABDBERERGRZ0ZB1zI3OFThrq8d4AdHxxct4CrmPK7Z2Mk1fWV83+OV2/v48uAIoAIYIiIiIiIXSkHXMnf3nmG++9QoB8eaF/W6nkFHzue5V/TMbma8pbfE7Tv72T7Qw9V9ZRXAEBERERG5CBR0LXPvv/eJi3q9qzd2UMj5PO/y3rNubqwCGCIiIiIiF8eaCbrM7Hbg/YAPfNA59+4l7tI5Pet3/vmiXu9Hd/bzP37u5ot6TREREREROTtvqTtwKZiZD/x34DXADuANZrZjaXt1doNDFZoXadfjvAcvvGodv3bbdRfngiIiIiIismBrZabrhcA+59x+ADP7e+C1wGNL2quzuHvP8AVfwzfY1JXnxx+EZAAADlpJREFUFTf0nzWVUEREREREFs9aCbq2AE+3PT8MvGj+SWZ2J3AnwBVXXHFpenYGF7In1vWbOnj/G25SkCUiIiIisgyslaDLTtN2yhbDzrm7gLsAbr755kXcgvjczndPrK48/NK/vm62+qCIiIiIiCwPayXoOgxc3vZ8K3B0ifqyILfv7F9Q5cKffeHl/JxSB0VERERElq21EnR9G7jOzLYBR4DXAz+ztF06u+0DPXzprS/lNe//xinHDr77jiXokYiIiIiIPBNrIuhyzkVm9qvAPaQl4z/snHt0ibt1TtsHehRgiYiIiIiscGsi6AJwzn0R+OJS90NERERERNaWNbFPl4iIiIiIyFJR0CUiIiIiIrKIFHSJiIiIiIgsIgVdIiIiIiIii0hBl4iIiIiIyCJS0CUiIiIiIrKIFHSJiIiIiIgsIgVdIiIiIiIii0hBl4iIiIiIyCIy59xS92FZMrMR4Kml7kdmIzC61J2Qi0pjurpoPFcXjefqozFdXTSeq8tKH88rnXN95zpJQdcKYGYPOuduXup+yMWjMV1dNJ6ri8Zz9dGYri4az9VlrYyn0gtFREREREQWkYIuERERERGRRaSga2W4a6k7IBedxnR10XiuLhrP1UdjurpoPFeXNTGeWtMlIiIiIiKyiDTTJSIiIiIisogUdC1zZna7mT1uZvvM7B1L3R85ycw+bGbHzWxPW9t6M9tlZk9k9+uydjOzv8jG8ftmdlPba96Ynf+Emb2xrf35ZvZI9pq/MDO7tJ9wbTGzy83sq2Y2aGaPmtlbs3aN6QplZkUze8DMHs7G9I+y9m1mdn82Pp80s3zWXsie78uOX9V2rd/O2h83s1e3tes3+hIzM9/MvmtmX8ieazxXKDM7mP0mfs/MHsza9Ju7gplZr5l9xsx+kP19eovGNOOc022Z3gAfeBK4GsgDDwM7lrpfus2Oz63ATcCetrb3AO/IHr8D+NPs8Y8CXwIMeDFwf9a+Htif3a/LHq/Ljj0A3JK95kvAa5b6M6/mGzAA3JQ97gL2Ajs0piv3ln3P5exxDrg/G6tPAa/P2v8S+JXs8b8H/jJ7/Hrgk9njHdnvbwHYlv0u+/qNXrJx/Q3gb4EvZM81niv0BhwENs5r02/uCr4BHwP+n+xxHujVmKY3zXQtby8E9jnn9jvnWsDfA69d4j5Jxjn3NWBsXvNrSX9wyO5/sq39r13qW0CvmQ0ArwZ2OefGnHPjwC7g9uxYt3Nut0t/Zf667VqyCJxzQ865h7LHU8AgsAWN6YqVjc109jSX3Rzww8Bnsvb5Yzoz1p8Bbsv+F/W1wN8755rOuQPAPtLfZ/1GX2JmthW4A/hg9tzQeK42+s1docysm/Q/pD8E4JxrOecm0JgCSi9c7rYAT7c9P5y1yfLV75wbgvQf8cCmrP1MY3m29sOnaZdLIEtDeh7pzIjGdAXLUtG+Bxwn/Yv7SWDCORdlp7SPw+zYZccrwAbOf6xl8fxX4O1Akj3fgMZzJXPA/29m3zGzO7M2/eauXFcDI8BHshTgD5pZJxpTQEHXcne6PFWVm1yZzjSW59sui8zMysBngV93zk2e7dTTtGlMlxnnXOycey6wlXQmY/vpTsvuNabLmJn9GHDcOfed9ubTnKrxXDle4py7CXgN8BYzu/Us52o8l7+AdNnF/3TOPQ+okqYTnsmaGlMFXcvbYeDytudbgaNL1BdZmOFs+pvs/njWfqaxPFv71tO0yyIysxxpwPUJ59w/ZM0a01UgS3G5j3TdQK+ZBdmh9nGYHbvseA9pCvH5jrUsjpcAP2FmB0lT/36YdOZL47lCOeeOZvfHgX8k/Y8R/eauXIeBw865+7PnnyENwjSmKOha7r4NXJdVZsqTLgT+/BL3Sc7u88BMlZ03Ap9ra/+FrFLPi4FKNsV+D/AqM1uXVfN5FXBPdmzKzF6crUH4hbZrySLIvucPAYPOuf/SdkhjukKZWZ+Z9WaPS8ArSdfqfRX46ey0+WM6M9Y/DXwlWzfweeD1llbD2wZcR7qYW7/Rl5Bz7redc1udc1eRftdfcc79LBrPFcnMOs2sa+Yx6W/lHvSbu2I5544BT5vZs7Km24DH0JimLlXFDt2e2Y20sste0nUIv7vU/dFtztj8HTAEhKT/+/LLpOsF7gWeyO7XZ+ca8N+zcXwEuLntOr9EupB7H/CmtvabSf8CehL4ANlm5rot2ni+lDRN4fvA97Lbj2pMV+4NuBH4bjame4A/yNqvJv1H9j7g00Ahay9mz/dlx69uu9bvZuP2OG3VsvQbvWRj+3JOVi/UeK7AWzZuD2e3R2e+b/3mruwb8Fzgwex3959Iqw9qTJ1LOyoiIiIiIiKLQ+mFIiIiIiIii0hBl4iIiIiIyCJS0CUiIiIiIrKIFHSJiIiIiIgsIgVdIiIiIiIii0hBl4iILCtm9lEz+8JS96Odmb3WzJ4ws8jMPrrU/RERkZVFQZeIiMzKAh5nZr83r/3lWfvGperbEvsg8FngSuCtpzvBzO7LviNnZi0ze9LM/sTMCufzRmb2h2a25yL0+YJozEVELh4FXSIiMl8DeLuZ9S11Ry4mM8s9w9f1AhuBe5xzR5xzlbOc/hFgALgWeDvwFuAPn8n7iojI6qGgS0RE5vsqcBD4/TOdcLpZEDO7Kmu7ed45rzGz75hZ3cy+bmZbzexlZvawmU2b2RfMbMNp3uP3zGw4O+cjZlZqO2Zm9vZsNqluZo+Y2c+dpi9vMLOvmFkdePMZPss6M/uYmY1n1/qymT175jMA49mpX8mu+fKzfHc159wx59wh59xngV3Aq+a93xYz+/vs/cbN7J/N7Lrs2C8C7wSe3TZr9otm9qdm9qW2a/zb7Njr2tr+xcx+t+35j2ffe8PMDpjZu8ws33Y8n133sJlVzezbZvbqme+P9M8BwEj2Xh/Njt1qZt/KxqViZveb2c6zfCciImuegi4REZkvAd4B/Dszu+YiXO+PgF8HXgSsAz4J/AFwJ/By4NmcOhv0MuA5wG3A/0UauPxp2/H/F/hl0pmkHcCfAH9lZnfMu86fAP8jO+efztC/j2Z9ey3wQqAG3J0Fed/M+kfWj4Gs7ZzM7DnAS4Cwra2DNJhpZJ/xFmAI+HJ27JPAnwOPZ+81kLXdB7zUzILsUi8HRoFXtF33Bdl5ZMHTJ4APZP3/JeCngf/c1sWPZH34GeCHgI8B/yvr99PZ5yV7/QDw1uz9Pwd8g3R8XgS8H4gX8p2IiKxVwblPERGRtcY590Uz+xfgXcDrL/Byv++c+zqAmf0l8N+A5zvnHsraPkYaELSLgTc556aBPWb2W8CHzOy3s+O/Abxq5rrAATN7IWkQ9s9t1/lvzrnPnKlj2QzTTwAvc859LWv7eeAQ8LPOuQ+a2fHs9DHn3LFzfNY7s9mqHJAnDWDf0nb89YBln81l7/dm4DjwY865T5nZNBC1v5eZfR0okgZWu0mDpT8H3pSdMhPcPZA9/13gz5xzH8meP5l9hx83s98ErgbeAFzlnDuUnfMBM3sl8Gbn3L83s7Gs/bhzbjTrx3qgF/hfzrkns+M/OMd3IiKy5inoEhGRM3k78C0ze+8FXuf7bY+Hs/tH5rVtmv+aLOCasZs0iLkGKJAGIHebmWs7J0eaFtnuwXP0bTtpYLR7psE5VzGzR0hnx87XJ0ln9rqB3wLGszTDGc8HtgFTZtb+ug7Sz3ZazrlpM3sIeLmZjWbX/wDwTjO7jHTm65vOuZlZtecDL8wCrRkeUAI2AzeRBn+PzetHAfjKWfoxlqUZ3mNm9wL3Ap92zj19pteIiIiCLhEROQPn3LfN7LOkaX3/ad7hJLtv/xf7mQpVhG2PXXbt+W3nk+4+c+6Pk85Inem9AKrnuJad5Zg7y7EzqTjn9gFka8weNbNfdM59NDvuAd/j9LOHY6dpa3cfaTrhKPD1LBB7gDTgejnwxbZzPdLg79Onuc5IdtyRzpzN/87qZ+uEc+5NZvZfgdtJZwnfZWY/6Zy75xz9FxFZsxR0iYjI2fwO8BjpP7DbjWT3A22Pn3sR3/eHzKzTOTcTNL0YaAFPkgYMTeBK59wZZ2UW6LHsercAM+mF3aRrnD5yltedk3MuNLP/DPyJmX3KOVcDHiJN6xt1zk2c4aUtwD9N+33ArwIT2eOZtjtIg6e3t537EHDDTAA4n5l9lzTg3Oyc++rpzsn6wen64px7GHgYmCnw8UZAQZeIyBmokIaIiJxR9o/2uzh1b6p9pMUW/tDMrjezVwG/N//1FyAAPmxmzzazHwHeDfx/zrmqc24KeC/wXjP7JTO71syea2b/zszuPJ83cc49QVoY4q/M7F+b2Q8BHwcmgb+9CJ/jb0lnlH41e/4J0nTKz1lawXFbVg3wz2cqGJKmSF5pZjeZ2UY7uc/X10lTLH+Kk5UF7wNex9z1XAB/DPyMmf2xme00sxvM7KfN7D3Z596b9eWjWfvVZnazmb3NzH4qu8ZTWd/vMLM+Mytn/X23mf0rM7vSzF4B3EgavIqIyBko6BIRkXP5YyBqb8jSA19PWpDhYdJUtt+5iO/5v4FHSYOLfyRdZ9Q+k/P7pBUP35adt4u02t6BZ/BebyINWD6f3XcAtzvnzppmtxDOuRbp2qu3m1lXNtt1K7CfNPXvB6RVA9dxsjT9Z0lTBe8lnUV8Q3ataeA7pCmT383O3U06Nu3ruchS/e4gTUd8ILu9g7npmG8inc17T9aPL2R9eyq7xhHS8vXvIg0UP0Ba2fH6rO97s75/grmVJUVEZB7LiieJiIiIiIjIItBMl4iIiIiIyCJS0CUiIiIiIrKIFHSJiIiIiIgsIgVdIiIiIiIii0hBl4iIiIiIyCJS0CUiIiIiIrKIFHSJiIiIiIgsIgVdIiIiIiIii0hBl4iIiIiIyCL6P+DobEQIA/WMAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize= [14,6]) # Graphic size\n", "plt.scatter(x = df_viz['retweet_count'], # X varibale\n", " y = df_viz['favorite_count'], # Y variable\n", " alpha = transparency) # Transparency\n", "plt.xlabel('Number of Retweets', fontsize = font) # X label\n", "plt.ylabel('Number of Favorite', fontsize = font) # Y label\n", "plt.title('Graphic 4 - Correlation between retweets and favorite tweets.',\n", " fontsize = font_title) # Graphic Title\n", "plt.show() # Plot the graphic" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Graphically, it is possible to see a positive trend (correlation) between both variables. Thus, let's calculate a naive rate for each retweet how many favourites it will generate (in average)." ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 1280.000000\n", "mean 3.384297\n", "std 1.150137\n", "min 1.107146\n", "25% 2.580705\n", "50% 3.219539\n", "75% 3.955537\n", "max 11.765060\n", "dtype: float64" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculating the rate for each retweet how many favorite will produce in average.\n", "fav_ret_rate = df_viz.favorite_count/df_viz.retweet_count\n", "\n", "# Calculating of mean, standard deviation, etc.\n", "fav_ret_rate[np.logical_not(df_viz.favorite_count.isnull())].describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Conclusion:** Seems there is a very positive correlation when the number of favourites raises the numbers of retweets also raises. Using a straightforward analysis for each new retweet the favourites will increase 3 (in average).\n", "\n", "### 5.3. Doggo, Puppo, Pupper or Floofer\n", "\n", "Which one is more adorable?\n", "\n", "I will calculate the mean and favourite per retweet rate to compare the dogtionary terms." ] }, { "cell_type": "code", "execution_count": 86, "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", "
favorite_countretweet_countratecount
dogtionary
None8062.1298702393.9823753.3676651665
doggo14410.5588244851.0588242.97060163
floofer5643.0000002172.0000002.5980667
multiclass19020.2500006341.3750002.99938910
pupper6529.2198582122.2198583.076599201
puppo14684.9333334292.2666673.42125422
\n", "
" ], "text/plain": [ " favorite_count retweet_count rate count\n", "dogtionary \n", "None 8062.129870 2393.982375 3.367665 1665\n", "doggo 14410.558824 4851.058824 2.970601 63\n", "floofer 5643.000000 2172.000000 2.598066 7\n", "multiclass 19020.250000 6341.375000 2.999389 10\n", "pupper 6529.219858 2122.219858 3.076599 201\n", "puppo 14684.933333 4292.266667 3.421254 22" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Copying the original data frame for a pontual analysis.\n", "df_dogtionary = df_viz.copy()\n", "\n", "# Filling the NaN values with None.\n", "df_dogtionary.dogtionary = df_dogtionary.dogtionary.fillna('None')\n", "\n", "# Mean calculation.\n", "df_dog_mean = df_dogtionary.groupby(['dogtionary'])['favorite_count','retweet_count'].mean()\n", "\n", "# Rate calculation.\n", "df_dog_mean = df_dog_mean.join(pd.DataFrame(df_dog_mean.favorite_count/df_dog_mean.retweet_count, columns = ['rate']))\n", "\n", "# Count calculation.\n", "df_dog_mean_count = df_dog_mean.join(df_dogtionary.dogtionary.value_counts())\n", "\n", "# Copying the column's name.\n", "col_names = df_dog_mean_count.columns.tolist()\n", "\n", "# Editing the columns names.\n", "col_names[3] = 'count'\n", "\n", "# Assigning a proper name.\n", "df_dog_mean_count.columns = col_names\n", "\n", "# Printing the summary.\n", "df_dog_mean_count" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">**Conclusion:** Based on the summary above, in average, dogs without a dogtionary classification tend to perform better rates of favourite per retweet. Have in mind, the few observations of _floofer_ and _puppo_.\n", "\n", "Still analysing the dogtionary terms, but in a visual manner, I will use Graphic 4 as the base for Graphic 5." ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "image/png": "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e/fmmmuuabL/6dOnc8cddzB58mQuv/xy5s+fD8DDDz/Md7/7XR5//HGeffZZbr31VubPn8/FF1/Mfffdx7Rp03jkkUf47W9/26Z4JUmSpK2dyVUbrbjrbrbp3ZttevcmunRp+LzirrvbNN53vvOdHHHEEQCceeaZTJo0qcn+TzjhBHr06MHOO+/M0UcfzcMPPwzAIYccwl577cU222zDaaedxqRJk3jkkUcYNWoU/fr1o2vXrpxxxhk88MADbYpXkiRJ2tqZXLXRmvnz6dKr10ZlXXr1Yk1x56i1ImKT7127dm2o1rd69epm+2+sPKXUptgkSZIkbcrkqo227d+f9StWbFS2fsUKtu3fv03jnTt3LpMnTwby81EjR45kwIABTJ06FYBf//rXG/V/2223sXr1al599VUmTpzIwQcfDORqgc8//zzr16/n5ptvZuTIkRx66KHcf//9LFq0iHXr1nHjjTfynve8p03xSpIkSVs7k6s26nXs+1i3bBnrli0jrV/f8LnXse9r03gHDRrEhAkTqKurY/HixXz605/msssu43Of+xxHHnkk22yzzUb9H3LIIXzwgx9kxIgRXHrppfQvkrvDDjuMSy65hMGDBzNw4EBOPPFEdt11V6644gqOPvpoDjzwQA466CBOOOGENsUrSZIkbe26dnQAnV2Pffdlp3/5GCvuups18+ezbf/+9Dn5JHrsu2+bxtulSxd++MMfblR25JFH8vTTT1fsf5999mH8+PGblG+//fbcfPPNm5SffvrpnH766W2KUZIkSdIGJlc10GPffducTEmSJEnq3GJrb9xg+PDhacqUKRuVzZw5k0GDBnVQRG9dzldJkiR1RhExNaU0vLn+fOZKkiRJkmrA5EqSJEmSasDkSpIkSZJqwORKkiRJkmrA5GoLNW7cOAYNGsRuu+3GBRdc0KpxLFy4kEMPPZRhw4bx4IMP1jhCSZIkSaVsin0Ldc011/DHP/6R+++/n/LWDKt17733st9++zFhwoSqh1m3bt0mLyiWJEmS1DzvXNXAonnLefh3z3HvhCd5+HfPsWje8jaN77zzzuO5557jQx/6EK+99lpD+QsvvMDo0aOpq6tj9OjRzJ07t9HyadOm8aUvfYk//OEPDB06lFWrVnHXXXdx2GGHcdBBB/GRj3yEFStWADBgwAAuv/xyRo4cyS233NKm2CVJkqStlclVGy2at5xpd8/ljZVr6NW3G2+sXMO0u+e2KcH64Q9/SP/+/fnzn/9M3759G8ovuOACzj77bKZPn84ZZ5zBhRde2Gj50KFDufzyyznllFOYNm0ar7/+Ol//+te55557ePTRRxk+fDhXXXVVw7i7d+/OpEmTOPXUU1s/MyRJkqStmMlVGz33t4V0274r3bbfloig2/bb0m37rjz3t4U1n9bkyZM5/fTTATjrrLOYNGlSk+WlHnroIZ588kmOOOIIhg4dyoQJE3jhhRcaup9yyik1j1eSJEnamvjMVRstX7yaXn27bVS2XY+uLF+8ut2nHRFVl6eUeN/73seNN95YcZiePXvWNDZJkiRpa+OdqzbaYafuvLlq7UZlb65ayw47da/5tA4//HBuuukmAG644QZGjhzZZHmpESNG8Je//IXZs2cDsHLlSp5++umaxyhJkiRtrUyu2mivYf14Y+Va3li5hpQSb6xcwxsr17LXsH41n9a4ceP46U9/Sl1dHddffz1XX311k+Wl+vXrx3XXXcdpp51GXV0dI0aM4Kmnnqp5jJIkSdLWKlJKHR1Dhxo+fHgqb+p85syZDBo0qOpxLJq3nOf+tpDli1ezw07d2WtYP3befYdah9rptXS+SpIkSVuCiJiaUhreXH8+c1UDO+++g8mUJEmStJWzWqAkSZIk1YDJlSRJkiTVgMmVJEmSJNWAyZUkSZIk1YDJlSRJkiTVgMnVW1CvXr0AmDNnDr/4xS8ayqdMmcKFF17Y5LADBgxg0aJF7RqfJEmS9FZkcvUWVp5cDR8+nHHjxnVgRJIkSdJbl8lVDbzywvP89ZYbuPOa/+Kvt9zAKy8836bxzZkzh/32249PfOITDB48mDPOOIN77rmHI444gr333puHH36YsWPHcuWVVzYMM3jwYObMmbPReC655BIefPBBhg4dyve+9z0mTpzIP/7jPwKwYsUKPvaxjzFkyBDq6ur49a9/vUkcH/7wh3n3u9/NAQccwPjx4wFYt24d5557LoMHD2bIkCF873vfA2DcuHHsv//+1NXVceqpp7bp90uSJEmdkS8RbqNXXnieKb//Dd179mSHnd/G6tdXMOX3v2H4P57I2/cc2Orxzp49m1tuuYXx48dz8MEH84tf/IJJkyZx++23881vfpOhQ4c2O45vfetbXHnllfz+978HYOLEiQ3dvva1r9GnTx8ef/xxAF577bVNhv/JT37CTjvtxKpVqzj44IM56aSTmDNnDi+99BIzZswAYMmSJQ3Tev755+nWrVtDmSRJkrQ18c5VG81++K9079mT7j17EdGF7j170b1nT2Y//Nc2jXfgwIEMGTKELl26cMABBzB69GgigiFDhmxyh6o17rnnHs4///yG73379t2kn3HjxnHggQcyYsQIXnzxRZ555hn22msvnnvuOT772c9y55130rt3bwDq6uo444wz+PnPf07XrubskiRJ2vqYXLXRsoUL6bb99huVddt+e5YtXNim8Xbr1q3hc5cuXRq+d+nShbVr19K1a1fWr1/f0M/q1atbNP6UEhHRaPeJEydyzz33MHnyZB577DGGDRvG6tWr6du3L4899hijRo3if/7nf/jEJz4BwB133MH555/P1KlTefe7383atWtbFI8kSZLU2ZlctVHvfv14Y+XKjcreWLmS3v36tet0BwwYwKOPPgrAo48+yvPPb/qc1w477MDy5csrDn/sscfy/e9/v+F7ebXApUuX0rdvX7bffnueeuopHnroIQAWLVrE+vXrOemkk/ja177Go48+yvr163nxxRc5+uij+c53vsOSJUtYsWJFrX6qJEmS1CmYXLXRuw45nNWvv87q11eQ0npWv76C1a+/zrsOObxdp3vSSSexePFihg4dyg9+8AP22WefTfqpq6uja9euHHjggQ0NT9T7yle+wmuvvcbgwYM58MAD+fOf/7xR9+OOO461a9dSV1fHpZdeyogRIwB46aWXGDVqFEOHDuXcc8/liiuuYN26dZx55pkMGTKEYcOG8a//+q/suOOO7ffjJUmSpC1QpJQ6OoYONXz48DRlypSNymbOnMmgQYOqHscrLzzP7If/yrKFC+ndrx/vOuTwNjVm8VbV0vkqSZIkbQkiYmpKaXhz/dnyQA28fc+BJlOSJEnSVs5qgZIkSZJUAyZXjdjaq0vWmvNTkiRJb3UmVxV0796dV1991YSgRlJKvPrqq3Tv3r2jQ5EkSZLajc9cVbD77rszb948FrbxXVXaoHv37uy+++4dHYYkSZLUbkyuKth2220ZONAGKiRJkiRVz2qBkiRJklQDJleSJEmSVAMmV5IkSZJUAyZXkiRJklQDJleSJEmSVAMmV5IkSZJUAyZXkiRJklQDJleSJEmSVAMmV5Ik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FjwbW8TriIhUnd6xGG1Bb8GYuqiJiIjIXBZKimautZpuD/BJQGuuRGRFUhc1ERERWYx5k6vZ1loZY24G/guwG/gr4I+XJjQRkfLa09XKvsM9QK5iNR5PE4ql+Mit68scmYiIiFSiojcRNsZsNsb8H+BZYATYYa39HWvt4JJFJyJSRpNd1II+N/2hOEGfW80sREREZE4LrpUyxjQB/x74l8BPgV3W2qNLHZiISCVQFzUREREp1ryVK2PM7wOvA28D3mutfacSKxERERERkcstVLn6EyAGnAc+YYz5xGwHWWvfU+rAREREREREqslCydWXWbgVu4iIiIiIyKq3ULfA31imOERERERERKpa0d0CRUREREREZG5KrkREREREREpAyZWIiIiIiEgJKLkSEREREREpASVXIiIiIiIiJaDkSkREREREpASUXImIiIiIiJSAkisREREREZESUHIlIiIiIiJSAkquRERERERESsBV7gBEZOXr7g9x4PgAvWMxOhp87OlqpbMtWO6wREREREpq2SpXxpgNxpgfGmO6jTEvG2M+mR9vNMYcNMa8lr9dkx83xpi/MMacMsa8ZIy5edprPZA//jVjzAPTxm8xxvwif85fGGPMcl2fiMyuuz/EvsM9hGIp2oJeQrEU+w730N0fKndoIiIiIiW1nNMC08C/ttZ2Am8B/pUxZgfwb4FD1trrgEP5xwDvAq7L/+wF/hJyyRjwWeB24Dbgs5MJWf6YvdPO27MM1yUi8zhwfICgz03Q58ZhzNT9A8cHyh2aiIiISEktW3Jlre231r6Qvz8OdAMdwHuB/fnD9gPvy99/L/Blm/MM0GCMaQN+BThorR2x1o4CB4E9+ecC1toj1loLfHnaa4lImfSOxaj3Fs5Arve66B2LlSkiERERkaVRloYWxphrgDcDzwKt1tp+yCVgwNr8YR3AuWmnnc+PzTd+fpbx2d5/rzHmqDHm6ODg4NVejojMo6PBx3g8XTA2Hk/T0eArU0QiIiIiS2PZkytjjB/4OvC71trwfIfOMmavYPzyQWv3WWt3Wmt3trS0LBSyiFyFPV2thGIpQrEUWWun7u/pai13aCIiIiIltazJlTHGTS6x+jtr7TfywwP5KX3kby/mx88DG6advh7oW2B8/SzjIlJGnW1B9u7eTNDnpj8UJ+hzs3f3ZnULFBERkRVn2Vqx5zv3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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Copying the original data frame for a pontual analysis.\n", "df_dog_viz = df_viz.copy()\n", "\n", "# Filling the NaN values with None.\n", "df_dog_viz.dogtionary = df_dog_viz.dogtionary.fillna('None')\n", "\n", "# List of term in dogtionary.\n", "dog_terms = ['None', 'pupper', 'doggo', 'puppo', 'floofer', 'multiclass'] # The order is ascending.\n", "\n", "# Graphic Size.\n", "plt.figure(figsize = [14, 10]) \n", "\n", "# Loop to construct the graphic \"layers\".\n", "for index in dog_terms:\n", " # Provisory data frame to subset the specific \"index\" dogtionary term.\n", " prov = df_dog_viz[df_dog_viz['dogtionary'] == index][['favorite_count','retweet_count']]\n", " # Plotting\n", " plt.scatter(x = prov['favorite_count'], # X axis data.\n", " y = prov['retweet_count'] , # Y axis data.\n", " alpha = transparency) # Points transparency.\n", "plt.xlabel('Number of Retweets', # X label.\n", " fontsize = font) # X axis fontsize.\n", "plt.ylabel('Number of Favorite', # Y label.\n", " fontsize = font) # Y axis fontsize.\n", "plt.title('Graphic 5 - Correlation between retweets and favorite tweets by Dogtionary terms.', # Graphic title.\n", " fontsize = font_title) # Graphic Title.\n", "plt.legend(dog_terms) # Add legend.\n", "plt.show() # Plot the graphic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Conclusion:** It is not possible to identify (visually) any pattern or relationship, using the dogtionary variable, although there is a strong and positive correlation between Retweets and Favorite.\n", "\n", "### 5.4. Tweet's Profile over the time\n", "\n", ">How is the behaviour of tweets along the week? Do they have the same average?\n", "\n", "Founded on the `rating_numerator` and `timestamp`, I will plot how the average rating will vary over the time." ] }, { "cell_type": "code", "execution_count": 88, "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", "
Avg RatingTweets Number
Monday10.342593324
Tuesday10.602302291
Wednesday10.453925293
Thurday10.706250280
Friday10.692688279
Saturday10.586694248
Sunday10.454545253
\n", "
" ], "text/plain": [ " Avg Rating Tweets Number\n", "Monday 10.342593 324\n", "Tuesday 10.602302 291\n", "Wednesday 10.453925 293\n", "Thurday 10.706250 280\n", "Friday 10.692688 279\n", "Saturday 10.586694 248\n", "Sunday 10.454545 253" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Copying the data frame to a pontual study.\n", "df_time = df_viz.copy()\n", "\n", "# Subsetting.\n", "df_time = df_time[['timestamp','rating_numerator']]\n", "\n", "# Converting full date to weekdays. 1 = Monday, 2 = Tuesday, ... , 7 = Sunday\n", "df_time.timestamp = list(map(lambda x : x.isoweekday(), df_time.timestamp))\n", "\n", "# Calculating the mean of ratings.\n", "df_time_mean = df_time.groupby(['timestamp']).mean()\n", "\n", "# Adding a new columns: number of occurencies.\n", "df_time_mean = df_time_mean.join(pd.DataFrame(df_time.timestamp.value_counts()))\n", "\n", "# Setting strings as index (preparing to the plot).\n", "df_time_mean.index = ['Monday','Tuesday','Wednesday','Thurday','Friday','Saturday','Sunday']\n", "\n", "# Editing the variable name.\n", "df_time_mean.columns = ['Avg Rating','Tweets Number']\n", "\n", "# Summary of Average Rating over the weekdays and grouped by the tweets's number.\n", "df_time_mean" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Analysing the above chunk output, it is not clear the behaviour. For this reason, I have written a function to encapsulate a couple of code lines. This will save code lines in the future." ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "# Function to plot a barplot and line.\n", "def gp_bar_line(df_x, df_y1, df_y2, gp_title, xlabel, ylabel, font = font, font_title = font_title):\n", " \"\"\"\n", " +----------------------------------------------------------------------------------------------------+\n", " |DESCRIPTION: |\n", " | |\n", " | This function aims to plot a graphic using barchart and lines. Both side of the Y axis will be |\n", " | used. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |INPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_x data frame The entire data frame. |\n", " | |\n", " | df_y1 data frame The variable to be displayed as bar. |\n", " | |\n", " | df_y2 data frame The variable to be displayed as line. |\n", " | |\n", " | gp_title str Graphic title. |\n", " | |\n", " | xlabel str X axis label. |\n", " | |\n", " | ylabel str Y axis label. |\n", " | |\n", " | font str Axis labels font size. |\n", " | |\n", " | font_title str Graphic Title font size. | \n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |OUTUPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | graphic - Returns a matplotlib graphic. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " \"\"\"\n", " # Graphic Settings.\n", " fig, ax1 = plt.subplots(figsize = [14,6])\n", "\n", " # First Element: Blue bars.\n", " color = 'tab:blue'\n", " ax1.set_xlabel(xlabel, fontsize = font)\n", " ax1.set_ylabel('Avg Rating', color = color, fontsize = font)\n", " ax1.bar(df_x.index, df_y1, color = color)\n", " ax1.tick_params(axis = 'y', labelcolor = color)\n", "\n", " # Second Element: Red line.\n", " ax2 = ax1.twinx() # share axis with ax1 element.\n", " color = 'indianred'\n", " ax2.set_ylabel(ylabel, color = color, fontsize = font) # we already handled the x-label with ax1\n", " ax2.plot(df_x.index, df_y2, color = color, linewidth = 5)\n", " ax2.tick_params(axis = 'y', labelcolor = color)\n", "\n", " fig.tight_layout() # otherwise the right y-label is slightly clipped\n", " plt.title(gp_title, # Graphic title.\n", " fontsize = font_title) # Graphic font title.\n", " return plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After defining the function, I will apply this function in the Average Rating over the weekdays." ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "data": { "image/png": "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1yWBmV2OP2mwj0vqHSEi3cPMbsaP9x7uEi59KL2fme2EbyH/jXOuq+bdEZF2aAy6iEgfYeuuFZ1YdgK+tWRDJvDrt8KxtblJZaX4LrXLgP9mJTARkb7lfPwwhEzd20Wki2kMuohI33G1me2KH1axGt818Ux8wpk8u+9Atx3wpJn9FT8udAx+uMdWwLku9frdIiLCl5MmnoTfj54LPOgSLisrIt1LCbqISN/xEn788E/wk0dV4ceg/sI5lzwh0EC3FD/G9nRgU/wYyXeBy5yfyV9ERNIbgh/XXocfn35hdsMRGVg0Bl1ERERERESkF9AYdBEREREREZFeoE92cc/JyXGDBm3wZVBFRERERESkH6mrq3POuT7fAN0nE/RBgwaxZs2abIchIiIiIiIivYCZrc12DF2hz59hEBEREREREekPlKCLiIiIiIiI9AJK0EVERERERER6ASXoIiIiIiIiIr2AEnQRERERERGRXkAJuoiIiIiIiEgvoARdREREREREpBdQgi4iIiIiIiLSCyhBFxEREREREekFlKCLiIiIiIiI9AJK0EVERERERER6ASXoksI1N7Pkqadoqa/PdigiIiIiIiIDRl62A5Depbm2lvm/+x01779P3bx5jDv/fCxH53FERERERES6mzIv+dLaRYuYc9VV1Lz/PgDVb77J548/nuWoREREREREBgYl6AJAa2MjH0+ZQsPSpW3Klzz2GCtnzsxSVCIiIiIiIgOHEnQBIKeggC1PPz1tXeVdd1FXWdmzAYmIiIiIiAww5pzLdgydVlxc7NasWZPtMPqlxY88wpInnkgpzx85kh2uvpr8oUOzEJWISPcoK6/IdggDXuXUyd26fn3H2dfd37GICICZ1TnnirMdx8ZSC7q0scVJJzF0771TyptWrGDezTfT2tSUhahERERERET6PyXo0obl5FD2ve8xaOzYlLo1c+fy2b330hd7XYiIiIiIiPR2usyapMgtKmL8xRcz58oraa6paVNXNWMGg8aOZbNjjslSdL2Huk1mn7pNioiIiEh/ogRd0iocNYrxP/oRH0+ZgmtpaVO36MEHKRo9mqG7756l6EREREQ8nTDPPp0wF+k66uIuGZVsvz1jzzgjtcI55v/+99QvXtzjMYmIiIiIiPRXStClXZtMmsSoo45KKW9du5ZPbrqJZs2mLyIiIiIi0iWUoMt6bfn//h+lu+ySUt6wZAnzf/e7lC7wIiIiIiIi0nkagy7rZbm5jDv/fOZcdRUNS5a0qauZNYuFDz7I2NNPz1J0It1H4xqzT+MaRURE/4+zS/+Le5Za0KVD8oqL2ebii8kdPDilbtm//sXy6dN7PigREREREZF+RAm6dFjR6NGU/fCHYJZSt+BPf6J2zpwsRCUiIiIiItI/KEGXThm6226M+da3UspdSwvzbrmFhuXLsxCViIiIiIhI36cx6N2kX4+VcY7zB4/jsLr5bYqba2qo+PHV/HTU4dTn5GcpuHU0XkZERERERPoSJejSeWbcOWyS680VAAAgAElEQVRvRjevZofGFW2qypqruXDlTK4fcRAuTVd4ERERERGRnhQLgiLgJaAQnwM/EolGr4wFwZ+BvYEm4A3ge5FotCkWBAbcAhwL1AFnRKLRWE/Eqi7uskGaLZfrRhzM8txBKXX71y/k1JpZWYhKREREREQkRQNwWCQa3R3YA/hqLAj2B/4M7ADsCgwCzgmXPwbYNrydC9zRU4EqQZcNVp07iCkjDqHBclPqvlnzPgfWfZaFqERERERERNaJRKMuEo3Whg/zw5uLRKNPh3UO34K+ZbjMCcD9Yd3rwLBYEGzRE7EqQZeNMr9gOLcO3y9t3QXVMxnfWNXDEYmIiIiIiLQVC4LcWBC8A3wBPBeJRmcm1OUDAfBMWDQGWJDw9IVhWbdTgi4b7bVBW/G30p1TygtdC+VVMxjWsjYLUYmIiIiIyACSZ2ZvJdzOTayMRKMtkWh0D3wr+b6xINglofp24KVINDojfJxuMi3XPWG3pQRdusRDpbvwWtGWKeWbtKzl8hUvk+9ashCViIiIiIgMEM3Oub0TbnelWygSjVYD04GvAsSC4EpgFHBJwmILgbEJj7cEFndL1El6bBb3svKKPwJfA76onDp5l7BsBPA3oAyoBL5ZOXXyyp6KSbqOM+PW4fuz+fLnGddU3aZu+6YVfH/lm9w2fD/QzO4iIiIiItKDYkEwCmiKRKPVsSAYBBwBXBsLgnOAo4HDI9Foa8JTngTOjwXBX4H9gFWRaPTznoi1J1vQ/0R4liJBOfBC5dTJ2wIvhI+lj2rIyWPqiImsyilMqTt0bSUn1M7JQlQiIiIiIjLAbQFMiwXBu8Cb+DHoTwF3ApsBr8WC4J1YEPwyXP5pYB4wF/gD8IOeCrTHWtArp05+qay8oiyp+ARgUnj/PnxXg8t7Kibpesvyirl2xMFcvXwa+bS2qQtWv8OC/CHEikZnKToRERERERloItHou8CeacrT5sPhrO4/7O640sn2GPTNKqdO/hwg/LtpluORLvBh4Sj+b9jeKeU5wMVVrzGmaVXPByUiIiIiItLLZTtB7zAzOzc+I19zc3O2w5H1eLF4PP8o3i6lvNg1ccWKGZS0NmQhKhERERERkd4r2wn60rLyii0Awr9fZFrQOXdXfEa+vLwe65kvG+G+oXvwn8LNU8pHt9RyadWr5LjWNM8SEREREREZmLKdoD8JfDe8/13giSzGIl2s1XK4YcSBLMorTanbvWEpZ676TxaiEhERERER6Z16LEEvK694EHgN2L6svGJhWXnF2cBU4Miy8oqPgSPDx9KP1OUUMGXERNZYfkrd5DUfc8SaT7IQlYiIiIiISO/Tk7O4fytD1eE9FYNkx+L8Idww4kB+tuIlcnFt6s6tfovFeaXMLtT8gCIiIiIiMrBlu4u7DBDvFG3BfUP3SCnPw/HjqlcY1VybhahERERERER6DyXo0mOeKt6OFwaPSykf2trAFStmUNTalIWoREREREREegcl6NJzzPi/YXvzYcEmKVVlzav40crXMefSPFFERERERKT/U4IuParZcrl2xMEsyx2cUrdf/SJOq3kvC1GJiIiIiIhknxJ06XGrcouYMmIi9ZabUndKzWwOqvs0C1GJiIiIiIhklxJ0yYrKguHcOnz/tHXnr3yDbRqrejgiERERERGR7FKCLlnz+qCx/LV0l5TyQlooXzGD4S1rsxCViIiIiIhIdihBl6x6uHRnXi0am1I+snUtl6+YQb5ryUJUIiIiIiIiPU8JumSVM+O24fsxL39YSt12TVWct/IN0MzuIiIiIiIyAChBl6xryMlj6oiJVOcUptRNWvspJ9R+mIWoREREREREepYSdOkVlucVc+2IiTSl2SSD1f9lr/rFWYhKRERERESk5yhBl15jTuEm3Dls75TyHODiqlfZsmlVzwclIiIiIiLSQ5SgS68yrXg8T5Zsn1I+2DVzxYoZlLQ0ZCEqERERERGR7qcEXXqd+4fsTqxwi5TyLVpquWzlK+S61ixEJSIiIiIi0r2UoEuv02o53DjiABbmlabU7dbwBWeu+k8WohIREREREeleStClV6rLKWDKiInUWn5K3bFrPuaoNXOzEJWIiIiIiEj3UYIuvdbn+UO4YcSBtGApdedUv83ODUuzEJWIiIiIiEj3UIIuvdp/i7bgT0P3SCnPw/HjqlfYrLk2C1GJiIiIiIh0PSXo0utVFG/H84PHp5QPaW2kfMUMilqbshCViIiIiIhI11KCLr2fGXcN24vZBZukVG3dvIqLVr6OOZeFwERERERERLqOEnTpE5otl+tHHMyy3MEpdfvWL+L/rX43C1GJiIiIiIh0HSXo0mesyi1iysiJrLW8lLpv1H7AxLrKng9KRERERESkiyhBlz6lMn84tw7fP23dD1a+yYTGFT0ckYiIiIiISNdQgi59zsxBW/Jg6S4p5YW0UL5iBsNb1mYhKhERERERkY2jBF36pIdLd+aVQWNTyke01lO+YgYFrjkLUYmIiIiIiGw4JejSN5lx27D9+CR/eErVtk1VnLfyTZxmdhcRERERkT5ECbr0WY05eUwdcTArc4pS6r6y9lOWVlRkISoREREREZENowRd+rQVecVcO+JgmtJsyosfeojqWCwLUYmIiIiIiHSeEnTp8z4q3IQ7hu2TWuEclXfcwdqFC3s+KBERERERkU5KvaC0SB80vXgcWzdXc0LtnDblrfX1fHLTTexw1VXklZZmKToREREREcmWWBAUAS8Bhfgc+JFINHplLAjOBy4CtgFGRaLR5eHyBtwCHAvUAWdEotEe6ZqrFnTpN6JDduftwi1Syhu/+IJ5t92Ga9bM7iIiIiIiA1ADcFgkGt0d2AP4aiwI9gdeAY4APk1a/hhg2/B2LnBHTwWqBF36jVbL4aYRB7Awb0hKXe0HH7DggQeyEJWIiIiIiGRTJBp1kWi0NnyYH95cJBr9TyQarUzzlBOA+8PnvQ4MiwVBaktgN1CCLv1KXU4BU0ZOpMYKUuqWv/ACy55/PgtRiYiIiIhINsWCIDcWBO8AXwDPRaLRme0sPgZYkPB4YVjW7ZSgS7/zeV4pN4w4EHJSN+8F0Sg1s2dnISoREREREelGeWb2VsLt3MTKSDTaEolG9wC2BPaNBcEu7azL0pS5rgw2EyXo0i+9W7Q5W37726kVra3Mu+02GpYu7fmgRERERESkuzQ75/ZOuN2VbqFINFoNTAe+2s66FgJjEx5vCSzuskjboQRd+q1RRx7JyEmTUspbamv55KabaFm7tueDEhERERGRHhULglGxIBgW3h+Enxjuw3ae8iTwnVgQWDiZ3KpINPp5D4SqBF36LzNj7He/S8n226fU1S9axPzbb8e1tmYhMhERERER6UFbANNiQfAu8CZ+DPpTsSC4MBYEC/Et5O/GguDucPmngXnAXOAPwA96KlBdB136tZy8PMZdeCFzrrySxuXL29StfucdFj/8MGNOPTVL0YmIiIiISHeLRKPvAnumKb8VuDVNuQN+2AOhpVALuvR7+UOGMP7ii8kpLEypW/rUU6x45ZUsRCUiIiIiItKWEnQZEAZvtRVl3/9+2rrP7rmHNZ980sMRiYiIiIiItKUEXQaMYXvvzRYnn5xS7pqamHfzzTRWVWUhKhEREREREU8Jugwomx9/PMP33z+lvKm6mnk330xrY2MWohIREREREVGCLgOMmbH1OecweNy4lLq6+fP59O67cc5lITIRERERERnolKDLgJNTWMj4iy4ib+jQlLqVr73G0n/8IwtRiYiIiIjIQKcEXQakghEj2Oaii7D8/JS6xY88QnUsloWoRERERERkIFOCLgNW8YQJbHXWWakVzlF5xx2sXbCg54MSEREREZEBSwm6DGgjDz6YTY89NqW8tb6eT268keaamixEJSIiIiIiA5ESdBnwxpx6KkP22COlvHH5cubdeiutzc1ZiEpERERERAYaJegy4FlODuN+8AOKRo9Oqav98EMWRqOa2V1ERERERLqdEnQRIHfQIMZfcgm5xcUpdctffJHlzz+fhahERERERGQgUYIuEirabDPGX3AB5KT+LBY88ACr338/C1GJiIiIiMhAoQRdJEHpzjsz9vTTUytaW5l/223UL13a80GJiIiIiMiAoARdJMkmRxzBJocdllLesmYN8268kZa6uixEJSIiIiIi/Z0SdJEkZsbYIKBkhx1S6uoXL2b+HXfgWluzEJmIiIiIiPRnStBF0rC8PMZfeCEFo0al1K1+5x0WP/RQFqISEREREZH+TAm6SAZ5paVsc/HF5BQVpdQtrajgK3XzsxCViIiIiIj0V0rQRdoxaOxYys47D8xS6s5b+SbbNq7IQlQiIiIiItIf5WU7AICy8oqLgXMAB7wHnFk5dXJ9dqMS8YZFIow++WQWP/xwm/ICWilfMYOfbHoUK3IHZyk6ERERERHpL7Legl5WXjEGuBDYu3Lq5F2AXOC07EYl0tZm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plotting Average Rating over the weekdays.\n", "gp_bar_line(df_x = df_time_mean,\n", " df_y1 = df_time_mean['Avg Rating'],\n", " df_y2 = df_time_mean['Tweets Number'],\n", " gp_title = 'Graphic 6 - Average Rating and Number of Tweets per Weekday.',\n", " xlabel = 'Weekday',\n", " ylabel = 'Number of Tweets')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Conclusion:** Although the number of tweets decreases along the weekend, the average stay (almost) steadily. In average, Monday is the weekday with highest tweets average." ] }, { "cell_type": "code", "execution_count": 91, "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", "
Avg RatingTweets Number
Jan10.711207232
Feb10.889535172
Mar10.939394165
Apr11.28723494
May11.68367398
Jun11.073171123
Jul11.533088136
Aug11.00000061
Sep11.19476263
Oct11.67307765
Nov9.355491346
Dec9.877143413
\n", "
" ], "text/plain": [ " Avg Rating Tweets Number\n", "Jan 10.711207 232\n", "Feb 10.889535 172\n", "Mar 10.939394 165\n", "Apr 11.287234 94\n", "May 11.683673 98\n", "Jun 11.073171 123\n", "Jul 11.533088 136\n", "Aug 11.000000 61\n", "Sep 11.194762 63\n", "Oct 11.673077 65\n", "Nov 9.355491 346\n", "Dec 9.877143 413" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Copying the data frame to a pontual study.\n", "df_month = df_viz.copy()\n", "\n", "# Subsetting\n", "df_month = df_month[['timestamp','rating_numerator']]\n", "\n", "# Converting full date to month.\n", "df_month.timestamp = list(map(lambda x : x.month, df_month.timestamp))\n", "\n", "# Calculating the mean of ratings.\n", "df_month_mean = df_month.groupby(['timestamp']).mean()\n", "\n", "# Adding a columns with value counts.\n", "df_month_mean = df_month_mean.join(pd.DataFrame(df_month.timestamp.value_counts()))\n", "\n", "# Renaming the index.\n", "df_month_mean.index = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']\n", "\n", "# Editing the variable name.\n", "df_month_mean.columns = ['Avg Rating','Tweets Number']\n", "\n", "# Printing the summary.\n", "df_month_mean" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case, it is much clear to see a behaviour when the number of tweet increases the average rating goes down.\n", "\n", "Let's print a graphic using the function `gp_bar_line`." ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "image/png": "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et99yxCZpOL4HuCecH05cGTCNluAU0saWKAEXUREREREpJes+ec/yfziF9DWVlBXNWkS+110ESN2370MkclAoARdREQGPI2fFRGR/mDVHXewMo4T64bvvjv7XXQR1ZNKslqXDFBK0EVERERERHaAc46Xbr2Vl2+9NbF+1NSpTL/wQirHji1xZDLQKEEXERGRIWMw97YA9bgQKQfX3s7KG29k9fz5ifVjZ85k33PPpWLkyBJHJgOREnQREREREZHt0N7aynPz5rH2wQcT63c6/HCmfu5zDKuuLnFkMlApQRcpM7XmiIiIiAw87c3NLP/aP5quAAAgAElEQVThD9mwcGFi/aRjjmHvT38aq6gocWQykClBFxERERER6YHWxkaWXXkljc88k1i/S20tu592GmZW4shkoFOCLiWl1mIRERERGci2rlvHM3PmsGXFisT63U87jV1PPrnEUclgoQRdRERERESkCM2vvMIzc+bQsmpVYaUZe8+ezeRjjy15XDJ4KEEXERERERHpRtPzz7N0zhxa168vqLPKSmrOOYcJRxxRhshkMFGCLiIiIiIi0oVNS5aw7MoraWtqKqgbNmIE0849l7EHHliGyGSwUYIuIiIiIiLSifULFrD8Rz/CtbQU1FWMGcP0Cy9k9L77liEyGYyUoPcRTYYmIiIiIjKwrXngATLz5kFbW0Fd1cSJ7HfxxYzYffcyRCaDlRJ0ERERERGRPKvmz2flDTck1g3fbTf2u+giqidPLnFUMtgpQRcREREREQmcc7x86628dOutifWjpk5l2gUXUDVuXIkjk6FACbqIiIiIiAjg2ttZeeONrJ4/P7F+zIwZTDvvPCpGjixxZDJUKEEXEREREZEhz7W2kpk3j7UPPphYv9NhhzH1nHMYVl1d4shkKFGCLiIiIiIiQ1p7czPLf/hDNixcmFg/6eij2Xv2bKyiosSRyVCjBF1ERERERIas1sZGll11FY1LliTWT3n3u9nj9NMxsxJHJkOREnQRERERERmStq5bx9I5c9i8YkVi/e6nncauJ59c4qhkKFOCLiIiIiIiQ07zqlU8c/nltKxaVVhpxt6zZzP52GNLHpcMbUrQRURERERkSGl6/nmWzplD6/r1BXVWWUnNOecw4YgjyhCZDHVK0EVEREREZMjYtGQJy668krampoK6YSNGsO+55zLuwAPLEJmI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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plotting Average Rating over the weekdays.\n", "gp_bar_line(df_x = df_month_mean,\n", " df_y1 = df_month_mean['Avg Rating'],\n", " df_y2 = df_month_mean['Tweets Number'],\n", " gp_title = 'Graphic 7 - Average Rating and Number of Tweets per Month.',\n", " xlabel = 'Month',\n", " ylabel = 'Number of Tweets')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> **Conclusion:** Although December and November have the highest number of tweets, the average rating goes in the opposite way. These two months have the lowest number of average ratings. There is strong evidence of seasonality.\n", "\n", "### 5.5. Dog Breeds Appeal\n", "\n", ">What is the Breed with more reaction?\n", "\n", "Due to the use of an algorithm to determine (automatically) the dog's breed, It is necessary to subset the `df_viz`, based on the `p1_dog`, for doing so, I have written the `df_gp_triple` function to encapsulate this lines codes." ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [], "source": [ "# This functions is to wrap code lines. The result of this function is the input of gp_triple function.\n", "def df_gp_triple(df_viz, algorithm, threshold = 20, sorting = False):\n", " \"\"\"\n", " +----------------------------------------------------------------------------------------------------+\n", " |DESCRIPTION: |\n", " | |\n", " | This function aims to plot a graphic using barchart and lines. Both side of the Y axis will be |\n", " | used. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |INPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_viz data frame The entire data frame (imported from twitter_archive_master.csv). |\n", " | |\n", " | algorithm str Could be p1, p2 or p3. |\n", " | |\n", " | threshold int Breed's number to be displayed in the graphic. |\n", " | |\n", " | sorting bool True: ascending, False: descending. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |OUTUPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_alg data frame Data frame with 'threshold' rows and 3 columns (favorite_count, |\n", " | retweet_count, and rate). It is indexed by dog's breed. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " \"\"\"\n", " # According to the algorithm I will subset the df_viz using differents rows.\n", " if algorithm == 'p1':\n", " df_alg = df_viz[['rating_numerator','p1','p1_dog','retweet_count','favorite_count']]\n", " df_alg = df_alg[df_alg.p1_dog]\n", " df_alg = df_alg.groupby(['p1']).sum()\n", " elif algorithm == 'p2':\n", " df_alg = df_viz[['rating_numerator','p2','p2_dog','retweet_count','favorite_count']]\n", " df_alg = df_alg[df_alg.p2_dog]\n", " df_alg = df_alg.groupby(['p2']).sum()\n", " else:\n", " df_alg = df_viz[['rating_numerator','p3','p3_dog','retweet_count','favorite_count']]\n", " df_alg = df_alg[df_alg.p3_dog]\n", " df_alg = df_alg.groupby(['p3']).sum()\n", "\n", " # Removing the 'p#', 'p#_dog', and 'rating_numerator' columns.\n", " df_alg = df_alg[['favorite_count','retweet_count']]\n", "\n", " # Adding a new columns with the rate (favorite divided by retweet)\n", " df_alg = df_alg.join(pd.DataFrame(df_alg['favorite_count']/df_alg['retweet_count']))\n", "\n", " # Renaming columns.\n", " df_alg.columns = ['favorite_count','retweet_count','rate']\n", "\n", " # Sorting by favorite_count.\n", " df_alg = df_alg.sort_values(by = 'rate', ascending = sorting)[:threshold]\n", " \n", " # return df_alg.\n", " return df_alg" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have a try calculating the subsetted data frame to algorithm `p1`. The expected output is a table containing all dog's breed with rate and summation of favourite and retweet." ] }, { "cell_type": "code", "execution_count": 94, "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", "
favorite_countretweet_countrate
p1
german_short_haired_pointer27523.04455.06.178002
basset122353.023171.05.280437
irish_terrier34710.06583.05.272672
rhodesian_ridgeback12956.02479.05.226301
bloodhound25891.05080.05.096654
\n", "
" ], "text/plain": [ " favorite_count retweet_count rate\n", "p1 \n", "german_short_haired_pointer 27523.0 4455.0 6.178002\n", "basset 122353.0 23171.0 5.280437\n", "irish_terrier 34710.0 6583.0 5.272672\n", "rhodesian_ridgeback 12956.0 2479.0 5.226301\n", "bloodhound 25891.0 5080.0 5.096654" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Subsetting the df_viz using the function df_gp_triple.\n", "df_p1 = df_gp_triple(df_viz,\n", " algorithm = 'p1')\n", "\n", "# Printing the first 5 rows.\n", "df_p1.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, I want to plot this table in a graphic with two bars and one line." ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [], "source": [ "# Function to plot the df_gp_triple data frame.\n", "def gp_triple(df_x, df_y1, df_y2, df_y3, algorithm, gp_title, xlabel, ylabel,\n", " font = font, font_title = font_title, width = width):\n", " \"\"\"\n", " +----------------------------------------------------------------------------------------------------+\n", " |DESCRIPTION: |\n", " | |\n", " | This function aims to plot a graphic using barchart and lines. Both side of the Y axis will be |\n", " | used. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |INPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_x data frame The entire data frame (imported from twitter_archive_master.csv). |\n", " | |\n", " | df_y1 data frame The variable to be displayed as blue bar 1. |\n", " | |\n", " | df_y2 data frame The variable to be displayed as orange bar 2. |\n", " | |\n", " | df_y3 data frame The variable to be displayed as line. |\n", " | |\n", " | algorithm str Could be 'p1', 'p2' or 'p3'. |\n", " | |\n", " | gp_title str Graphic title. |\n", " | |\n", " | xlabel str X axis label. |\n", " | |\n", " | ylabel str Y axis label. |\n", " | |\n", " | font str Axis labels font size. |\n", " | |\n", " | font_title str Graphic Title font size. | \n", " | |\n", " | width str Barchart width. | \n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |OUTUPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | graphic - Returns a matplotlib graphic. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " \"\"\"\n", " # Defining the subplot and Graphic size.\n", " fig, ax1 = plt.subplots(figsize = [14,8])\n", "\n", " # First element: Blue Barchart\n", " color = 'tab:blue'\n", " ax1.set_xlabel('Dog\\'s Breed', fontsize = font)\n", " ax1.set_ylabel('Number of Retweets\\nNumber of Favorite', color=color, fontsize = font)\n", " ax1.bar(df_x.index, df_y1, width, color=color)\n", " ax1.tick_params(axis='y', labelcolor=color)\n", " ax1.tick_params(axis='x', rotation = 90)\n", "\n", " # Second element: Orange Barchart\n", " ax3 = ax1.twiny() \n", " color = 'tab:orange'\n", " ax3.bar(df_x.index, df_y2, width, color=color)\n", " ax3.tick_params(axis='x', labelcolor=color, top = False)\n", " ax3.set_xticklabels(labels = [], axis='x', labelcolor = color, top = False)\n", "\n", " # Third element: Red Line\n", " ax2 = ax1.twinx() # instantiate a second axes that shares the same x-axis\n", " color = 'indianred'\n", " ax2.set_ylabel('Favorite/Retweet', color=color, fontsize = font) # we already handled the x-label with ax1\n", " ax2.plot(df_x.index, df_y3, color=color, linewidth = 3)\n", " ax2.tick_params(axis='y', labelcolor=color)\n", "\n", " # Avoid right y-label to be slightly clipped\n", " fig.tight_layout() \n", " \n", " # According to the algorithm the average is different because the subsetting differents rows. \n", " if algorithm == 'p1':\n", " df_alg = df_viz[df_viz.p1_dog]\n", " elif algorithm == 'p2':\n", " df_alg = df_viz[df_viz.p2_dog]\n", " else:\n", " df_alg = df_viz[df_viz.p3_dog]\n", " \n", " # Subsetting: removing any NaN or Null rows.\n", " df_alg_fav = df_alg[np.logical_not(df_alg.retweet_count.isnull())].favorite_count\n", " df_alg_ret = df_alg[np.logical_not(df_alg.retweet_count.isnull())].retweet_count\n", " \n", " # Calculating the rate = favorites/tweets, this is a vector.\n", " df_alg_rate = df_alg_fav/df_alg_ret\n", " \n", " # Calculating the mean, this is a single value.\n", " df_alg_rat_fav_ret = df_alg_rate.mean()\n", " \n", " # Plotting a dotted green line as average.\n", " plt.axhline(y = df_alg_rat_fav_ret, color='green', linestyle='--')\n", "\n", " # Defining the Graphic Title.\n", " plt.title(gp_title, fontsize = font_title)\n", " \n", " # Plot.\n", " return plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result of this function will be shown below." ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "image/png": "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RERE5BCTM3IkI/3+VIchHWgsg4iIiIiIiEgaUIIuIiIiIiIikgaUoIuIiIiIiIikASXoIiIiIiIiImlAi8SJiIiIiEhKRXKv7uc71vTz/STdhE0zA1gNbPNZ1vkd6nKA+4GTgArgCp9lRfojLvWgi4iIiIiIyKHmRuD9Lur+GajyWdbRwB+AX/dXUErQRURERERE5JARNs2xgB+4u4tTLgLucx//H3B22DSN/ohNCbqIiIiIiIgMJoZhGKtjvhZ0qL8d+AHQ0sX1Y4AtAD7LasaZE1HaZ9HGUIIuIiIiIiIig4lt2/a0mK87WyvCpnk+UO6zrDUHuD5eb7nd61HGoQRdREREREREDhWnAheGTTMCPAycFTbNv3c4ZyswDiBsmplAIVDZH8FpFXcREek13kCoX+8XCfr79X4iydDvh4hI6vks6ybgJoCwac4BvuezrK90OO1p4FpgBfBl4GWfZfVLD7oSdBERERERETmkhU3zNmC1z7KeBv4GWGHT3ITTc35lf8WhBF1EREREREQOOT7LWgIscR//NKZ8L3BZKmLSHHQRERERERGRNKAEXURERERERCQNKEEXERERERERSQNK0EVERERERETSgBJ0ERERERERkTSgBF1EREREREQkDShBFxEREREREUkDStBFRERERERE0oASdBEREREREZE0kJnqAHqLNxCKAHVAFGiOBP3TvIFQCfAI4AUiwOWRoL/KGwgZwB+BLwL1wHWRoD/stnMt8GO32Z9Hgv773PKTgHuBPOA54MZI0G/3yw8nIiIiIiIig95g60E/MxL0T4kE/dPc4wDwUiTonwC85B4DnAdMcL8WAH8BcBP6W4AZwMnALd5AqNi95i/uua3Xze/7H0dEREREREQOFYMtQe/oIuA+9/F9wMUx5fdHgn47EvSvBIq8gdBo4FxgcSTor4wE/VXAYmC+WzcsEvSvcHvN749pS0RERERERCRpgylBt4FF3kBojTcQWuCWjYwE/dsB3O9lbvkYYEvMtVvdsgOVb41TLiIiIiIiItIrBlOCfmok6PfhDF//ljcQmn2Ac404ZXYPyts3ahgLDMNYbRjGatvW9HQRERERERFJ3KBJ0CNB/2fu93LgSZw55J+7w9Nxv5e7p28FxsVcPhb4rJvysXHK27Ft+07btqfZtj3NMOLl9CIiIiIiIiLxDYoE3RsIDfEG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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plotting a graphic using the output of df_gp_triple as input of gp_triple.\n", "gp_triple(df_x = df_p1,\n", " df_y1 = df_p1['favorite_count'],\n", " df_y2 = df_p1['retweet_count'],\n", " df_y3 = df_p1['rate'],\n", " algorithm = 'p2',\n", " gp_title = 'Graphic 8 - Algortihm 1 - Favorite/Retweets rate for each Dog\\'s Breed.',\n", " xlabel = 'Dog\\'s Breed',\n", " ylabel = 'Number of Retweets\\nNumber of Favorite')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The blue bar means the number of favourites, the orange bar the number of retweets, dotted green line the average of Favorite/Retweets for all dog breeds, and the red line the value of the Favorite/Retweet for each dog breed.\n", "\n", "\n", "Going a step further, I will bundle these two functions into one." ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [], "source": [ "# This function wrap the df_gp_triple and gp_triple functions.\n", "def wrapper_triple(algorithm, gp_title, xlabel, ylabel,\n", " df_viz = df_viz, font = font, font_title = font_title, threshold = 20, sorting = False):\n", " \"\"\"\n", " +----------------------------------------------------------------------------------------------------+\n", " |DESCRIPTION: |\n", " | |\n", " | This function aims to plot a graphic using barchart and lines. Both side of the Y axis will be |\n", " | used. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |INPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_viz data frame The entire data frame (imported from twitter_archive_master.csv). |\n", " | |\n", " | df_x data frame The entire data frame (imported from twitter_archive_master.csv). |\n", " | |\n", " | df_y1 data frame The variable to be displayed as blue bar 1. |\n", " | |\n", " | df_y2 data frame The variable to be displayed as orange bar 2. |\n", " | |\n", " | df_y3 data frame The variable to be displayed as line. |\n", " | |\n", " | algorithm str Could be 'p1', 'p2' or 'p3'. |\n", " | |\n", " | gp_title str Graphic title. |\n", " | |\n", " | xlabel str X axis label. |\n", " | |\n", " | ylabel str Y axis label. |\n", " | |\n", " | font str Axis labels font size. |\n", " | |\n", " | font_title str Graphic Title font size. |\n", " | |\n", " | threshold int Breed's number to be displayed in the graphic. |\n", " | |\n", " | sorting bool True: ascending, False: descending. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |OUTUPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | graphic - Returns a matplotlib graphic. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |DEPENDENCIES: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_gp_triple function Generates a Data Frame which is used as input of gp_triple. |\n", " | |\n", " | gp_triple function Create the graphic using the output of df_gp_triple as input. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " \"\"\"\n", " # Subset the df_viz according to the algorthm.\n", " df_alg = df_gp_triple(df_viz,\n", " algorithm = algorithm,\n", " threshold = threshold,\n", " sorting = sorting)\n", " \n", " # Plot a graphic according to the df_alg.\n", " gp_triple(df_x = df_alg,\n", " df_y1 = df_alg['favorite_count'],\n", " df_y2 = df_alg['retweet_count'],\n", " df_y3 = df_alg['rate'],\n", " algorithm = algorithm,\n", " gp_title = gp_title,\n", " xlabel = xlabel,\n", " ylabel = ylabel)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's test this wrapper on P2 algorithm." ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "image/png": "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REREREREOi8l4tImBuyzD7123RWA2nXrWPHccyWOSEREREREpHNSIi5twrp1Y1ikVnzp1KnotgcREREREZGtKRGXNjP0qKOwHj0AWD93Luvee6/EEYmIiIiIiHQ+SsSlzXTv35/Bhx5a/3qphjITERERERHZihJxaVM7nXBC/fMVzz9PTXV1CaMRERERERHpfJSIS5vqN24cfceOBcBt3syy//ynxBGJiIiIiIh0LkrEpc0NO/74+udV06bh6upKGI2IiIiIiEjnokRc2tyQQw+lrG9fADYuWUL1G2+UOCIREREREZHOQ4m4tLluvXox9Kij6l+r0zYREREREZEtlIhLu4g2T1/18stsqqoqYTQiIiIiIiKdhxJxaRe9hw9nwD77+BfOUfXEEyWNR0REREREpLNQIi7tpkGnbU88QV1NTQmjERERERER6RyUiEu7Ka+ooMfgwQDUrFrFqpdeKnFEIiIiIiIipadEXNqNlZUx7Nhj618vnTq1dMGIiIiIiIh0EkrEpV0NPfZY6OYPszVvvcX6BQtKG5CIiIiIiEiJKRGXdtVzyBDKDzqo/nWVhjITEREREZEdnBJxaXc7RTptW/bUU9Ru2FDCaEREREREREpLibi0u/4TJtBr+HAA6tavZ8Uzz5Q4IhERERERkdJRIi7tzswa1IovnTYN51wJIxIRERERESkdJeLSIYYceSTWsycA6z/8kLVz5pQ4IhERERERkdJQIi4donu/fgw57LD61+q0TUREREREdlRKxKXDRJunr3j+eWqqq0sYjYiIiIiISGkoEZcO03fsWPqOGweAq6mh6sknSxyRiIiIiIhIx1MiLh0qWiteNX06rq6uhNGIiIiIiIh0PCXi0qEGH3ooZf36AbBp6VJWv/56iSMSERERERHpWErEpUN169mToUcfXf9anbaJiIiIiMiORom4dLhhkyfXP1/1yitsXLq0hNGIiIiIiIh0LCXi0uF677orAz7+cf/COaoef7y0AYmIiIiIiHQgJeJSEjtFasWXPfkkdZs3lzAaERERERGRjqNEXEpi0IEH0mPIEABqVq9m5cyZJY5IRERERESkYygRl5KwsjKGHXdc/Wt12iYiIiIiIjsKJeJSMsOOPRbKygBY8/bbrJ83r7QBiYiIiIiIdAAl4lIyPcrLKT/ooPrXS1UrLiIiIiIiOwAl4lJSO51w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GfhAF+UVwPwuyh3gy920dT9wfxflK4AT+91ZEREROWLYGZcP4tOqBvFZIiLSHyNiarqIiIiIiIjI4WJEjIiLiIgczrzUqkFhR0KD9iwRERHpmkbERURERERERAaRRsRFRpDBHFUDjayJiIiIiPSFRsRFREREREREBpECcREREREREZFBpKnpIiIiIiIiHi2gKYNBI+IiIiIiIiIig0iBuIiIiIiIiMggUiAuIiIiIiIiMogUiIuIiIiIiIgMIgXiIiIiIiIiIoNIgbiIiIiIiIjIIFIgLiIiIiIiIjKIFIiLiIiIiIiIDCIF4iIiIiIiIiKDSIG4iIiIiIiIyCBKGeoOiMiRIxCODurz7EhoUJ8nIiIiIpIMjYiLiIiIiIiIDCIF4iIiIiIiIiKDSFPTRURE5LCllBcRETkcaURcREREREREZBApEBcREREREREZRArERURERERERAaRAnERERERERGRQaRAXERERERERGQQKRAXERERERERGUTavkykl7RVjoiIiIiI9IcCcRERERGREcTOuHyQn1g1yM8TOfwpEJdhRyPOIiIiIiIykilHXERERERERGQQKRAXERERERERGUQKxEVEREREREQGkQJxERERERERkUGkQFxERERERERkECkQFxERERERERlE2r5MRERE5AikvaZlqGirWpEREogHwtHJwEPAOCAO3GNHQncFwtFbgWuB3d6l37EjocXePTcBnwMt4+D1AAAgAElEQVRaga/akdBzXvlC4C7AD9xnR0IRr/xo4FGgEIgB5v9n787D5Kqq9Y9/34RgmCdRUYYAMggIGEBAuCKTFwiIIoMoQZALKA4gTsHhgoAaUbwgKsggYARkliGIiDLPJEwi8lMhCggqyhAhEJK8vz/2rvTp7uruDNB7V2d9nidPus7ppheVqlNn7732WlPGj5k+OP+HIYQQQggLlpgoCCEMZUMlNX0G8Lkp48e8DdgM+OSocRPXyef+b8r4MRvmP61B+DrAh4B1gR2AH40aN3H4qHEThwM/BHYE1gH2bvx3vp3/W2sAz5AG8SGEEEIIIYQQwlwZEgPxKePHPDll/JjJ+eupwEPAW/r5kV2Bn08ZP+blKePHPAr8CXhn/vOnKePHPJJXu38O7Dpq3EQB2wAX5Z8/G3j/a/N/E0IIIYQQQghhKBsSqelNo8ZNHAW8A7gD2AL4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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "wrapper_triple(algorithm = 'p2',\n", " gp_title = 'Graphic 9 - Algortihm 2 - Favorite/Retweets rate for each Dog\\'s Breed.',\n", " xlabel = 'Dog\\'s Breed',\n", " ylabel = 'Number of Retweets\\nNumber of Favorite')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, I also will plot the same graphic to the P3 algorithm." ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "data": { "image/png": "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1L8PPA5MAR4IlpX11HOzzeg3apR/sXo1NS++WNqAREREREREOjFTG+oNU15e7hoaGkodRqc177nn+GjcOAB6DR/OTlddpTHRRUQ2IrFkpkP3l0vFO3R/IiIt6ejzIOhcuKHMbLVzrrzUcayPjaYEXTZOg/fZh7IePQBYOWsWK2bMKHFEIiIiIiIinZMSdGlX5b17M+jzn298rc7iREREREREilOCLu2uKjQmes2LL7K6vr6ZpUVERERERLonJejS7vrvtBOVQ4YA0LB0KYvffLPEEYmIiIiIiHQ+StCl3VlZGUNGj258rWruIiIiIiIi61KCLh0iXM190X//S93ixSWMRkREREREpPNRgi4dotfmm9N3++39i4YGFrz0UmkDEhERERER6WSUoEuHGRIqRVc1dxERERERkbVVlDoA6T4G77svM9NpXF0dK2bMYPmMGfQZMaLUYYmIiEgnFktmOnyfuVS8w/cpIgIqQZcOVN6nD4P23rvxdc3EiSWMRkREREREpHNRgi4dasiBBzY+r3nhBZzGRBcREREREQGUoEsH67/rrlQOHgxA/ZIlLJo8ucQRiYiIiIiIdA5K0KVDWVkZVaEx0WvUWZyIiIiIiAigBF1KINyb+6I33qB+yZISRiMiIiIiItI5KEGXDtdryy3ps+22ALiGBmpefrnEEYmIiIiIiJSeEnQpibU6i1M1dxERERERESXoUhqD998fq6gAYPmHH7Ji5swSRyQiIiIiIlJaStClJCr69mXg5z7X+Hq+xkQXEREREZFuTgm6lMw6Y6I3NJQwGhERERERkdJSgi4lM2C33agYOBCA+kWLWPzWWyWOSEREREREpHSUoEvJWHn5WmOiq5q7iIiIiIh0Z0rQpaTC1dwXvf469cuWlTAaERERERGR0lGCLiXVe6ut6DNyJACuvp4FL71U4ohERERERERKo6LUAYhUjRnD8g8/BHw196GHHVbiiEREREREpKvKJhKDgHHAroADzqhOp18KzTfgBuBoYDlwenU6ne2I2FSCLiVXtd9+WHk5AMunT2fl7NkljkhERERERLqwG4DHqtPpHYE9gCkF848Ctg8eZwJ/6qjAlKBLyVX078/AvfZqfD1/woQSRiMiIiIiIl1VNpEYABwE3AZQnU7XVqfTCwsWOxa4uzqddtXp9MvAoGwisUVHxKcEXTqFqjFjGp/X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NN8AfAZ4fTmCmlGTxImIiIiIiIhMRtw0FwNh4DtjHHI1cHt++2fA5XHTLMvs4ErQRUREREREZDYxBpfFzj+uG1H/ZeBDQG6M8xcBewBClpXBmRRg/pRFW0AJuoiIiIiIiMwm9uCy2PnHrYMVcdO8CjgYsqzHxzm/WG+5fcKjLEIJuoiIiIiIiJws1gOvjJtmArgDuCxumj8YcUwrsAQgbpoeoB5opww0SZyIiIiIiIicFEKWdQNwA0DcNDcAHwxZ1ptHHPYr4C3Ao8BrgQdCllWWHnQl6CIiIiJSsbQGtYiUQ9w0Pw5sDFnWr4DvAlbcNLfj9Jy/oVxxKEEXERERERGRk07Ish4CHspvf6ygfAB43XTEpDHoIiIiIiIiIhVACbqIiIiIiIhIBVCCLiIiIiIiIlIBlKCLiIiIiIiIVAAl6CIiIiIiIiIVQLO4z2LBSKzs10xEw2W/poiIiIiIyGygHnQRERERERGRCqAEXURERERERKQCKEEXERERERERqQBK0EVEREREREQqgCaJExGRWS0ReGOZr9hV5uuJiIjIbKEEXURERERkEvRDoIicKLrFXURERERERKQCKEEXERERERERqQBK0EVEREREREQqgBJ0ERERERERkQqgSeJEREREppAmEBMRkVKpB11ERERERESkAqgHXUROaurZEhEREZFKoQRdREREZrRgJFbW6yWi4bJeT0RETh66xV1ERERERESkAihBFxEREREREakAStBFREREREREKoASdBEREREREZEKoARdREREREREpAIoQRcRERERERGpAFpmTUREZBppiTAREREZpB50ERERERERkQqgBF1ERERERESkAihBFxEREREREakAStBFREREREREKoAmiRMRERERmcUSgTeW+YpdZb6eyOyhBF1ERETkJKbkTUSkcugWdxEREREREZEKoARdREREREREpAIoQRcRERERERGpAErQRURERERERCqAJokTEZHjVv7JpUATTImIiMhspQRdZAYLRmJlvV4iGi7r9URERERETiZK0EXGoaVnRERERESkXJSgi4hUMP1IJCIiInLy0CRxIiIiIiIiIhVAPegiMqXUAywiIiIiUhol6CIiIiIiMm30Y76UU9w0A8DDgB8nH/5ZyLJuGnHMtcDngL35oq+FLOs75YhPCbqIiIiIiIicLJLAZSHL6omb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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "wrapper_triple(algorithm = 'p3',\n", " gp_title = 'Graphic 10 - Algortihm 3 - Favorite/Retweets rate for each Dog\\'s Breed.',\n", " xlabel = 'Dog\\'s Breed',\n", " ylabel = 'Number of Retweets\\nNumber of Favorite')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comparing the three graphics I have realized there is no dog breed which appears in the three graphics (8, 9, and 10), which I can interpret it as a very distinct algorithms calibration.\n", "\n", "Something important to point out is to know the procedency of the algorithm and the possible breeds for each algorithm. I assume the list of breeds used to all algorithm is the same, allowing me the comparison.\n", "\n", ">**Conclusion:** Unfortunately, it is not possible to determinate which dog breed has the highest impact in respect to the number of retweets and favourite. because for each algorithm a different breed has performed the highest impact. There is no consensus.\n", "\n", "### 5.6. Algorithm Correlation\n", "\n", "In accordance with the _Dog Breeds Appeal_, let's investigate the output of the algorithm in respect to the Favorite/Retweet rate.\n", "\n", "Let's increase the number of breeds analysed by the algorithm to 40 because 20 there are no breeds which appear in the three algorithms." ] }, { "cell_type": "code", "execution_count": 100, "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", "
rate_p1rate_p2rate_p3
newfoundland3.7007815.2115975.745550
yorkshire_terrier4.2043343.7843073.932011
kuvasz3.6756784.2555753.885262
staffordshire_bullterrier4.0825644.1822753.841623
\n", "
" ], "text/plain": [ " rate_p1 rate_p2 rate_p3\n", "newfoundland 3.700781 5.211597 5.745550\n", "yorkshire_terrier 4.204334 3.784307 3.932011\n", "kuvasz 3.675678 4.255575 3.885262\n", "staffordshire_bullterrier 4.082564 4.182275 3.841623" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Defininf a function to calculate the rate dataframe.\n", "def df_rate(threshold,sorting = False, df_viz = df_viz):\n", " \"\"\"\n", " +----------------------------------------------------------------------------------------------------+\n", " |DESCRIPTION: |\n", " | |\n", " | This function creates a data frame with rate (favorit/retweet) of all algorthms, each row is a |\n", " | dog's breed. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |INPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_viz data frame The entire data frame (imported from twitter_archive_master.csv). |\n", " | |\n", " | threshold int Breed's number to be displayed in the graphic. |\n", " | |\n", " | sorting bool True: ascending, False: descending. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |OUTUPUTS: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_thr data frame Returns a data frame with rate calculated of all algorithms. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " |DEPENDENCIES: |\n", " | |\n", " | VARIABLE TYPE DESCRIPTION |\n", " | |\n", " | df_gp_triple function Generates a Data Frame which is used as input of gp_triple. |\n", " | |\n", " +----------------------------------------------------------------------------------------------------+\n", " \"\"\"\n", " # Calculating the new Data Frame for each algorithm.\n", " df_p1_thr = df_gp_triple(df_viz, 'p1', threshold = threshold, sorting = sorting)\n", " df_p2_thr = df_gp_triple(df_viz, 'p2', threshold = threshold, sorting = sorting)\n", " df_p3_thr = df_gp_triple(df_viz, 'p3', threshold = threshold, sorting = sorting)\n", "\n", " # Creating df_thr Data Frame to merge df_p1_thr and df_p2_thr.\n", " df_thr = pd.merge(df_p1_thr, df_p2_thr, left_index=True, right_index=True, how='outer')\n", "\n", " # Renaming columns.\n", " df_thr.columns = ['favorite_count_p1','retweet_count_p1','rate_p1',\n", " 'favorite_count_p2','retweet_count_p2','rate_p2']\n", "\n", " # Updating df_thr Data Frame to merging with df_p3_thr.\n", " df_thr = pd.merge(df_thr, df_p3_thr, left_index=True, right_index=True, how='outer')\n", "\n", " # Renaming columns.\n", " df_thr.columns = ['favorite_count_p1','retweet_count_p1','rate_p1',\n", " 'favorite_count_p2','retweet_count_p2','rate_p2',\n", " 'favorite_count_p3','retweet_count_p3','rate_p3']\n", "\n", " # Data Cleaning.\n", " # Removing NaN values.\n", " df_thr = df_thr[np.logical_not(df_thr.favorite_count_p1.isnull())]\n", " df_thr = df_thr[np.logical_not(df_thr.favorite_count_p2.isnull())]\n", " df_thr = df_thr[np.logical_not(df_thr.favorite_count_p3.isnull())]\n", "\n", " # Subsetting to gather only rates\n", " df_thr = df_thr[['rate_p1', 'rate_p2', 'rate_p3']].sort_values(by = ['rate_p3', 'rate_p2', 'rate_p1'], ascending = False)\n", " \n", " return df_thr # Return the df_thr data frame.\n", "\n", "\n", "# Calculating the rates to threshold equal to 40.\n", "df_rate(threshold = 40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Only increasing the threshold (initially defined as 20) to 40 I have found four (4) dog breed.\n", "\n", "* New found land;\n", "* Yorkshire Terries;\n", "* Kuvasz, and;\n", "* Staffordshire Bullterrier.\n", "\n", "Based on these results I want to know the correlation between the results of each algorithm in respect to the rate (favorite/retweet)." ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAFNCAYAAAD4hQvFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XmcFNW5//HPMzMgKIuggLIoi6iguAJqVMQoiokiMSauUVwu5iaYRBON92eCXDVxvde4RnGJcUVNoqKSoCDg1WgEMVHBiIjs6qjsi8DMPL8/qgZrmuqZ6pmenu7p7/v1qtdMVZ2qOlXVXaefOnVOmbsjIiIiIiKSCyVNnQERERERESkeCkBERERERCRnFICIiIiIiEjOKAAREREREZGcUQAiIiIiIiI5owBERERERERypuACEDObbmZ3NDSNNA4zczM7NQvrWWhmv8hGnopJto5/PbY7yszWZWE9dZ53M1tnZqMaui2RplZI5VlTXVuaUraOvZk9aGbPZyNPxSb12BXqsTSzO8xselPnI59kFICYWRczu8XMPjSzr8ys3Mz+bmYXm1mbxspkPZwC/Fd9FzazIWY20cyWhRfdUTFpTjGzyWb2eZhmaAPyW588tjSzy8zsbTNbb2YrzOwNM7vIzLbLZV4awszGmdl7MbMGAXflYPseDkekTC81s+X5UuiGP8y9lmF6U+cxH5nZGeHx2abAMrMfmdnH4bXsLTM7sinyKE1D5VmNNE1ankXy8LKZrQrLtHfN7Ddm1jnXeakvMxsaHr+dU2b9FDg7B9ufHm7/VzHzngznNXkwm8rM3jGzCjPbMwvr6plSNm4ys3m6oZl/EgcgZtYTmA0MB34NHAR8E7gZOAYYUcuyLRuSyUy5+wp3X9uAVbQB3iO4aGxMk2YH4O/ApQ3YTr2Ex3MycCXwB+AI4GDgf4HzgMMasO4WMdPKzMzqu876cPfP3X1Djja3BLggZdoJQEWOtp/EIGDXcBgeThscmXZKfVccd86bAzPrDdwE/F/MvNOAW4HfAgcSfJf/ama75TST0iRUnm2jycozADP7DfAU8E/gRKA/QX57Av/ZgPXGnqtcX/PcfbW7r8rR5pYA50XLbDPbieAzvSRHeUjMzAYDnYCH2LYcbojhBGXjnsB1wHXhdT9dPnL6vRbA3RMNwF8JPrw7pJlvkf8d+DHwF2A9wUW9FLgf+JjgIvghcDlQElnuQeB54FfAZ8A6gh/YrSNpphPcGf8t8AVQHq6/JCXNHZHxlmH6RcAmYAHwk4T7vQ4YVcv8ncP9HRoz71LgnfAYLAPuA3ZMesxr2eblQBUwMGZeCdAu/H874HfhsfwKeAM4IpJ2aJj3bwFvApsJLv7jCAqsUcBHQCVBIWbhtj8Kz+G7wNkp23fg1Mj49cAHYfqFwI1Aq3DeqDB9dBgVzlsI/CKynt2Ap4G14fAXoHtkfnWeTw/ztxZ4Bti5jmPpwNXheW4Tmf408N8x+1PrOQ33aR1wEjAvPO7TgN4NPe+RbQwM89Uzzf6MJijM14ef9bMj83uGac4AXg7Py5hw3jeAGcCGcN9+X/1ZCucPCT9D64DVwD+AfVP2+5jwPKwP97tXSv4uAuaHn7X5wH+kzE8973sQfJ+/Cj9HJ1LHdzJcrkWYv3MJrysp8/8B3Jsy7UPgumydJw35O6DyLN382sozB8YAL4TXiEWkXP/reS4Gh+u+NM386PW1rutH3LkaSkw5F6Y/CXgrvL58DPwGaFnLsT8bmElQvpQTXGe7hfN6sm159mD0sxBZT9Ky+RiCa9UGYBZwUB3HcjpwT7jeoyPTf0pwbU/dn+EEN2hWAisIbmz2i8yv3qczgVfDvP4bOC6L38V7gP8BjgQ+BcpS5qceuxrjMeurzvPAlOmzgBtivp+/BJYC5ZHv1w3htPXh+T4+ZV39Cb4H1Z+Dx4FdIvNLw8/eynD4HUF5Oj2SJm15WixD0g9IR4IfvFckTO/hSbkQ6A30IvhBcDXBndyewPeBVcAFKR+ItQRf6n2B4wl+CN0WSTM9PFlXE0S23ye4U31GSprol+zx8MP03TA/RwPnJNyXhlywf0ZwV60ncBTBD9eHG3zS4F/AiwnS3Qp8Anwb6AfcG+7PruH8oWHe3wWOC49NJ4If8+uBFwnuDO4LlBFcnD8guGj1IrgorQe+nXLuoz/Yfw0cHh6DbwGLgWvCea3DL+m/gV3CoXU4byHhD1GCwGc2wR26QQQ/wN8guKBYmGZcuG9PA/sR1AItAu5J8Fk9leAic0E4rTNBwd4zZn9qPacEP8S3hHk7nODu+ivhObO6zlnC819XALKUoKDcg+DOz2Zg93B+9T4tDPe7F9AdGBAev58DfYFDgNeBP4XLlRFcSG8G+gB7h+e/X8p+TyH4QbEf8DYwOZK374RpxhB8dy8Ox0+KpIme9xKCz+Yr4XE8PDyuW6g7ALkReCJyXYkWYC0JrhnfS1nmTmBGNs6RhvwdUHk2qpb5dQUgXxIEAXsS1MDH3gjL8HzcGuarRR3pklw/4s7VUOLLueOBNQRPDfQJj+MHwM21HPvzCcqx3gTXuWnAK+G8UoKaaCf4gboL0D7yWXg+ZZ+TlM1vhvnamyA4eJ9aypHq/BLU/EbLpX8B58Tsz3fDoS/BNftJgsCuZTi/J1+XKd8P83E7QdDdLQvfxe0JPv8HEpTzC4CRKWlSj12N8Zh1Vud5YDhuBGXHeuCUmO/nowTfzwHh9EcJfl8MCc/zGIIydP9w/q4ENwtuCM/dfsBz4bkqCdNcHu5X9JitIQxAqKM8LZYh6YfkkPCEfidl+tLwS7MOuDvlInB7gvVeD0xJ+UCsouad6LMJfgzuEPmCvZ6ynpeA+yLjW79k4RfLgeH1/ILU+4Idk3Z4uC8l9clLZD0bgFvrSLND+KU5JzKtlKB24NpwfGiY9++mLDuO4MLeJWV9G4EjU9L+DpiUcu5PrSVfPwTmp2zrvZh0C/n6h+gwglqYnpH5vQkKv2Mj6/mK8IIfTrsyuq00+akOQP4TeC2c9ovqz2WC/alxTvm6VufwSJrdw/wf25DzHllfXQHIdZHxsvDzcnY43jNM8/OU5R4C7k+ZdkCYtjPBjzYHjkqTp+r93isy7azwM1h9bF4DHkhZ7kHg1TTn/bjwuO0WmX8EkZqyNHk5jiD47BDZRrQA6xquY0jKcmOBD7JxjjTk74DKs1G1zK8rAEmtNZwCPNLA8zEJ+FeCdEmuH9ucK9KXc68Av06ZNjI8RtU3trYe+zR52jtcd/eUbe0ck8/nw/8zKZuPj6Q5PLqtNPmZThCA9CP4wd2OoLxYTfBjv6792YHgmntEON4z3OaVkTQlBLX71zbkvIfrOo9I+U8QiD+X7tjFjcesszrPG8JzuTkcvyVmvZ8D20Wm9SH4XbFbStpngLsieZyaMr9DuI3B4fjyNMdsejhea3laLENDe8E6kuBHyptAq5R5s1ITm9kPzWxW2NBtHXAJwaM1Ue+4e7Q3ndcJ7lj2iaZJWWY5wY+kOAcSfKCm1bYjjcHMvmlmL5nZUjOrfmyoJcGdkbj0/8+CHn6qh3TPoydpj9GH4C7da9UT3L2S4Hj2T0m7zbkClrr7Z5Hx/gTn+G/RPBL8cO8Ts3yQUbNTzexVM/s0TH8L257zuvQDlrv7wsi+LCA479F9WeTuqyPjtX0uUj0GHGhmexHc5bo/LlHCc1pF8J2ozuuimLxG13l3yjFtqK3fD3evILjIph6H1HN+MHB2Sj6qPzt93H0FwQV7spm9YGaXmlmPlHVscvcPIuPLCT6DO4bj/SLrrPYqaY5LmH6Zuy+OTPsHwfGNFTb+fBA4191XpksX8tTFY6ZJ8VB5VrfXY8bTXdeOTCnPzkqzzqTtC5NeP+LKs7jpBwNXplzzHiP4EZ6ujD7IzJ41s0Xh9b96nZmUaZmUzdHPxvLwb51lmru/T1DrcQZBu4oJHtOm0sz6mNljZvaRma0heHSrhG33Z+t5d/cqgutwuvN+Vsp5r61zjwuAhyPjDwPDzaxrXfuYwJkE3+f9gdOAM8zs2pQ077n7psj4QQSfx7kpn4tv8/V39mBgSMr86rY1fcysPUEtSdwxqx5PUp42e2UJ080nKJj3jk50948BzCyusfD66EjY+Od3BHeX/05QHfVjgmrVTG1JGXfSN6jPaePprRs1253gGcF7Ce6sfknw4X6coACKczdBFWi15WnSzSO4GNeahfBv3A+q1GnrY9KkTqs+vicRPEYVlXo+ggyYHQpMIGhLcQnB3cARBNWOmajth2F0eiafi5oJ3Veb2V8IzsGuBI9y1cxE/c5pEmPJ/JjUJslxiDu/9xEEiKmWAbj7eWb2O4JanxHAb8xspLtPDtOlNtqvPjclMdPi0qWqz3d3X4LzNyXSBrMEwMwqgH0InvWuZNsfGZ0JCmBp3lSe5cYsgh+A1dJ9t+YBR5pZS3ffXMc661uexU0vISibnopJ+3nqBDPbgeAxqCnADwge9dqZoA1FJtf/TMrmLTHzkt44fgD4EcHTAsenSfMcwfX9ovBvBTCXhpVnE4n82A7Xuw0z25ugVuewsBOCaqUENSO/iVsuA0vdfX74//thpyTXmNm17v5VOD3uM+EEj1amfi83RtK8QPDdT1UdwNUpQXna7CU9UF8StAcYY/XvnvAI4B/ufoe7zw4/GHF3zgeEX/RqhxJUoX1Uz+3OJtjPo+u5fH0NJPgSX+Lur7v7PIJHP9LyoLeT+ZEhXS9MjwHHmtnA1BlmVmJm7fi6od4RkXmlBG0j5tZjf+YSPDqwe0oe54d3+OMcTnAH+xp3n+nuHxI8jhS1meCCU9e2u4U911TvS2+C41mffUnnfoKq70cjF6iopOe0hOACVp3X3cJ078dt1N3Lo8ezgftQX7OBfWLO7Xx339pzjrv/y91vcPehBNX552awjfeJfB5DR5D+HFaf9+idocHUft2aSdCe5YDIMJHgR8IBwMfhj5y3CB7tixpG8GNSmjGVZw1yaMx4uuvaxpTrSLqevKprHcbEzTSz6hrUTK8fdZkN7J3mmhdX9u5NEHD8P3d/xd3/zba1EdUBVG1lWrbL5nSeIGgrs9Td/5E6M+wZqx/wW3efEtaatCX+xvShkeWM4Dqc7ryvTVd+pLiAIFDZn5rX63HA+dFevLKkkmDfaguu3iYIEHeJ+UxUB1KzCW5kLYpJszZ8CuMT4o9ZDQ0sTwte0hoQCCLp14C3zGwcQfVeBUF11P4EF/TazANGmdkJBF/A0wka8aY+JlEGPGBmVxP8aLue4LnTdHc1auXuH5rZk8B9ZvZTgg9Pd4Ln5x+OWyYslPYIR0uA3czsAGBF9eMgZtaRoJqy+uK4h5mtAj51908JekUpAX4W3lk/lKABczb8jqAh3EtmdhXBs6zVDbl+QXCBnG5mvweuN7MvCO76XgJ0oR7v13D3tWZ2M3Bz+GV6haBnrEOBKncfH7PYPIIfkGcRVEceT1AlHLUQ2N3MDiKoWVmbUiUKwR2nfwGPmtlPCC4QtxOcy5cz3Zd03H2amXUiaJgWJ+k5rQB+F37eNhLUKswJ9yNf3QC8YWZ3E/RKspagwD3J3S8ys14Ed8kmEtzR6k3Q+O73GWzjJuApM3uL4HoxnKCdSLouhKcQdFDwkJldQtBpwS3U0j1yeJ2o8V6Z8HtZ5u7R6f8LPGxmbxJc135IcL25O4P9kcKl8iyz8qzaKWY2k+DH0qkEvTQdUp99iezTP8zsRuAmM+sO/JmgPU4vgh+p8wlqKjK9ftTlauB5M1tE8ORBBUEN6mB3vzwm/WKCm3BjzOxOgh/v16SkWURwB/3bZvYcsDHlETzcfX02y+Z0wjK7G8EP7zgrCRpT/4eZLQG6ERzjuOvrf5rZPIKG/D8iuJGYybW/Bgu6QT4H+E3KdRkz+5LgqYCjaVj5vpOZ7ULwHRxA0BPYNHdfk24Bd59nZo8CD5rZzwm+Xx0JbkwucPe/EHRW8h/AE2Z2A0FtWW+CBuc/DwPtW4H/SjlmuxIEJmSpPC18nlmDoV0IDux8gi/iOoI7jv8FtI2kc1Ia7hJEnfcTfOhXhf+PBRZG0jxI0C3aWILqzXXAH4HtI2mmk9KIim0bKdVIQ9Dl3Y0EJ3oTwd2nMbXs51C27U7PCbvUC9OMSpNmXCTNT8JtbgSmEnxAnZjGw5kO4T79kqDg3Bge1zcIPtQtI2mqu/rbRPqu/lIbzI0jvmG4EfQ8Ul0b8jlBg8lh6c49QS9Mn4fn8i8EbUY8ZT/+FObfqb0b3mf4uhvep4nphjclv6OAdXUcx20+q7XNr+uc8nV3tCcTBCybCLo/3KOh5zySh7oaoad+97YeS9J0URhZ798IHidZT3DhvDqc1yU8f9XfocUE36kW6Y513OeLsBMCgurtJN3w7hkev03h8RxBgm54a7s+RKb/KNzeJoIakSFJ16mh8AdUnj0YSTMqTZpxKcdhTHiN2BheA87N4vn4Hl/3ClZ9I+E3QKdImrquH3HnapvrUGTecQS1oxsIrnuzoscy5tifFh7vrwjaCh1PSqN9gp4fPyFoq/NgmnOacdlMLdfu2j5Ptc0n6NHxvXB/3gv3Z+v1NbLNswhqh6u7Qz+hgef6lPD4xPakRXCD87E0x67GeMyy1XmuHioI2miMT/ksxa6HoH3OOIIeuTYTdA08ETg4kqYvX/9u2Rgek9v5+rdXGcHNslXhcDuRbnipozwtlqG6p4e8YGYPEnzhTmzqvIjUhwVvGb7D3fPpTcoikmMqz6TQhY89fwwMcvd0jftF6qWhvWCJiIiIiIgkpgBERERERERyJq8ewRIRERERkeZNNSAiIiIiIpIzCkBERERERCRnMnkPSEPoOS8RyZVCelu05A+VUyKSK0VfTqkGREREREREckYBiIiIiIiI5IwCEBERERERyRkFICIiIiIikjMKQEREREREJGcUgIiIiIiISM4oABERERERkZxRACIiIiIiIjmjAERERERERHJGAYiIiIiIiOSMAhAREREREckZBSAiIiIiIpIzCkBERERERCRnFICIiIiIiEjOKAAREREREZGcUQAiIiIiIiI5owBERERERERyRgGIiIiIiIjkjAIQERERERHJGQUgIiIiIiKSMwpAREREREQkZxSAiIiIiIhIzigAERERERGRnFEAIiIiIiIiOaMAREREREREckYBiIiIiIiI5IwCEBERERERyRkFICIiIiIikjMKQEREREREJGcUgIiIiIiIFDkzG25mH5jZfDO7Imb+D83sXTP7p5m9amb9I/P+K1zuAzM7vs5tuXu28x8nJxsREQGsqTMgBUnllIjkSt6VU2ZWCswDhgFLgZnAGe4+N5KmnbuvCf8fAfzI3YeHgcjjwGCgKzAF2NPdK9NtTzUgIiIiIiLFbTAw390XuPtmYAJwcjRBdfAR2oGvb9ycDExw903u/jEwP1xfWmVZy7aISDOy8vE/J74j3uGM7+bd3SwREWnePjzi+MTl1J6vvXgRMDoyaby7j4+MdwOWRMaXAoekrsfMfgxcCrQEvhlZ9o2UZbvVlh8FICIiIiIizVgYbIyvJUncjbRtAhx3vxO408zOBH4FnJt02SgFICIiMaxElRoiIlI0lgI9IuPdgeW1pJ8A/L6ey6oNiIhILLPkg4iISK5ZSfKhbjOBvmbWy8xaAqcDE2tszqxvZPTbwIfh/xOB081sOzPrBfQF3qxtY6oBERGJk+yCLSIiUvDcvcLMxgCTgVLgAXefY2ZXA7PcfSIwxsyOBbYAKwkevyJM9yQwF6gAflxbD1igAEREREREpPBkuQbe3ScBk1KmjY38/9Nalv0N8Juk21IAIiISR21AREREGoUCEBGRGKa2HSIikscKubMUBSAiInEK+MIuIiJFoIDbKioAERGJU1K4F3YREZF8pgBERCROAd9ZEhGRIlDAjwqrhBURERERkZxRDYiISAw1QhcRkbxWwG0VG1QDYmbvZisjIiJ5pcSSD5K3VE6JSHNlZomHfFNnDYiZnZJuFrBLLcuNBkYD3HPPPYwePbpeGRQRaRJ5eMGWeCqnREQKS5JHsJ4AHgU8Zl6rdAu5+3hgfPVo5lkTEWlCaoReSFROiUjxKeDeGpMEIO8AN7v7e6kzzOzY7GdJRKTpFfILnoqQyikRkQKSJAD5GbAmzbzvZDEvIiIi9aFySkSKTwE/Klxn3Y27/5+7L04zb1b2syQikgdKS5MPdTCz4Wb2gZnNN7MrYuZfamZzzewdM5tqZrs3yj41UyqnRKQomSUf8kzih8fMrLeZPWdmX5hZuZk9a2a9GzNzIiKFzsxKgTuBE4D+wBlm1j8l2dvAQHffD/gTcGNuc9k8qJwSESkMmbReeQx4kqBHka7AU8DjjZEpEZGmlsXuDQcD8919gbtvBiYAJ0cTuPs0d98Qjr4BdM/6DhUHlVMiUjSspCTxkG8yyZG5+8PuXhEOj6BeQ0SkuSopSTyY2WgzmxUZov25dgOWRMaXhtPSuQD4a2PsUhFQOSUiUgAyeRP6tPDZ5QkEF/TTgBfMrCOAu69ohPyJiOS9lO5cU8VVkcT+KDazs4GBwFFZylqxUTklIsUjD2s2ksokADkt/HtRyvTzCS70es5WRJqP7DXaWwr0iIx3B5Zvuzk7FrgSOMrdN2Vr40VG5ZSISAFIHIC4e6/a5pvZMHd/qeFZEhFpepagd6uEZgJ9zawXsAw4HTizxrbMDgTuAYa7e3m2NlxsVE6JSFHJw96tkspm3c0NWVyXiEiz4O4VwBhgMvA+8KS7zzGzq81sRJjsJqAN8JSZ/dPMJjZRdps7lVMi0mxksbOUnMvkEay65N/eiYjUVxYv2O4+CZiUMm1s5H+9rTs3VE6JiOSBbAYg6mlERJqPEv1WbYZUTolI81HA5VThNp8XEREREZGCk80akIVZXJeISNMy3Z9phhY2dQZERLKmgMupxDk3s+3N7Ndmdm843tfMTqye7+6nNEYGRUSagpWWJB4kP6icEhEpDJmUnH8ANgGHheNLgWuzniMREZH6UTklIsWjxJIPeSaTAKSPu98IbAFw942oRxERaa7Mkg+SL1ROiYgUgEzagGw2s9aEvYiYWR+CO00iIs2OlejRqgKkckpEikY+vt8jqUxK2HHA34AeZvYoMBX4ZWNkSkREpB7GoXJKRKRezGy4mX1gZvPN7IqY+Zea2Vwze8fMpprZ7pF5leGLdBO9TDdxDYi7v2hmbwGHElRp/9Tdv0i6vIhIQSktbeocSIZUTolIUcliL1hmVgrcCQwjaD8308wmuvvcSLK3gYHuvsHM/hO4ETgtnLfR3Q9Iur1MesGa6u5fuvsL7v68u39hZlOTLi8iUlAKuHFfsVI5JSJFJbvl1GBgvrsvcPfNwATg5GgCd5/m7hvC0TeA7vXNep01IGbWCtge2NnMOvB1g752QNf6blhERCQbVE6JiDRYN2BJZHwpcEgt6S8A/hoZb2Vms4AK4Hp3f6a2jSV5BOsi4GcEF/G3+PrCvoagqkZEpNmxAn7BUxFSOSUiRSeTzlLMbDQwOjJpvLuPjyaJWczTrOtsYCBwVGTybu6+3Mx6Ay+b2bvu/lG6/NQZgLj7rcCtZnaxu99eV3oRkWahgHsXKTYqp0REahcGG+NrSbIU6BEZ7w4sT01kZscCVwJHufvWXgbdfXn4d4GZTQcOBOofgERWfLuZ7Qv0B1pFpj+UdB0iIiKNReWUiBSV7N4omwn0NbNewDLgdODMmpuzA4F7gOHuXh6Z3gHY4O6bzGxn4HCCBuppJQ5AzOwqYCjBhX0ScALwKqALu4g0P6V6BKvQqJwSkaKSxQDE3SvMbAwwGSgFHnD3OWZ2NTDL3ScCNwFtgKfCd5AsdvcRQD/gHjOrIujg6vqU3rO2kcmLCE8F9gfedvfzzKwLcF+G+yciItJYVE6JiNSTu08iuHkTnTY28v+xaZb7OzAgk21lEoB85e5VZlZhZu2AcqB3JhsTESkUaoRekFROiUjxyKARer5JFIBYUM/yjpntCNxL0MvIOuDNRsybiEjT0fs9CorKKRGRwpEoAHF3N7MD3H0VcLeZ/Q1o5+7vNG72RESaSAHfWSpGKqdEpNhYAffWmEkJ+4aZDQJw94W6qIuISJ5ROSUiUgAyaQNyNHCRmS0C1hO8sMTdfb9GyZmISBOy0tKmzoJkTuWUiBSPAn5UOJMA5IRGy4WIiEjDqZwSkeJRwJ2lZPIiwkWNmRERkbxSwM/WFiuVUyIihSGTGhARkeKhAERERPJZAZdTCkBERGJYAT9bKyIiks8UgIiIxCngZ2tFRKT5K+QbZQpARETiFHDVtoiIFIECLqd0i09ERERERHJGNSAiInEKuGpbRESKQEnh1iMoABERiWFqAyIiItIoFICIiMRRDYiIiOQxUw2IiEjzsrHVdonTtm3EfIiIiMRSI3QREREREZG6KQAREWlkZjbczD4ws/lmdkXM/O3M7Ilw/j/MrGfucykiIpIbCkBERBqRmZUCdwInAP2BM8ysf0qyC4CV7r4HcAtwQ25zKSIiBccs+ZBnctYGZOi4O3K1KQlNHzemqbMgIjAYmO/uCwDMbAJwMjA3kuZkYFz4/5+AO8zM3N1zmdFit3bt2qbOQtFp21YtqESKkWpAREQaVzdgSWR8aTgtNo27VwCrgZ1ykjsRESlMJSXJhzyTfzkSESkwZjbazGZFhtHR2TGLpNZsJEkjIiKylZklHvKNuuEVEWkgdx8PjE8zeynQIzLeHVieJs1SMysD2gMrsp1PERGRfKAaEBGRxjUT6GtmvcysJXA6MDElzUTg3PD/U4GX1f5DRERqpUboIiISx90rzGwMMBkoBR5w9zlmdjUwy90nAvcDD5vZfIKaj9ObLsciIiKNSwGIiEgjc/dJwKSUaWMj/38FfC/X+RIRkQJWkn81G0kpABERERERKTRWuC0pFICIiMTYUtqiqbMgIiLSLBVu6CQi0ojckw8iIiK5ZiWWeEi0PrPhZvaBmc03syti5l9qZnPN7B0zm2pmu0fmnWtmH4bDuanLplIAIiIiIiJSxMysFLgTOAHoD5xhZv1Tkr0NDHT3/YA/ATeGy3YErgIOAQYDV5lZh9oydX3OAAAgAElEQVS2pwBERCRGlXviQUREJOey+yb0wcB8d1/g7puBCcDJ0QTuPs3dN4SjbxC81wrgeOAld1/h7iuBl4DhtW1MbUBERGLoNRwiIlJEugFLIuNLCWo00rkA+Gsty3arbWMKQEREYigAERGRvJbBCwbNbDQwOjJpvLuPjyaJWSy2IDSzs4GBwFGZLltNAYiISAw9WiUiIvnMMghAwmBjfC1JlgI9IuPdgeUx2zwWuBI4yt03RZYdmrLs9NryozYgIiIx1AuWiIgUkZlAXzPrZWYtgdOBidEEZnYgcA8wwt3LI7MmA8eZWYew8flx4bS0VAMiIiIiIlJokjUuT8TdK8xsDEHgUAo84O5zzOxqYJa7TwRuAtoAT4W1L4vdfYS7rzCzawiCGICr3X1FbdtTACIiEkNtQEREpJi4+yRgUsq0sZH/j61l2QeAB5JuSwGIiEiMqtrbz4mIiDStDNqA5BsFICIiMVQDIiIieU0BiIhI86JesERERBqHAhARkRhVVQpAREQkf1kWG6HnWuHmXERERERECo5qQEREYugJLBERyWtqAyIi0ryoEbqIiOS1EgUgIiLNirrhFRERaRwKQEREYqgGREREpHEoABERERERKTRqAyIi0ryoBkRERKRxKAAREYmh14CIiEg+K+T3gCgAERGJoRoQERHJa6YARESkWVEAIiIi0jgUgIiIxKhSACIiIvmsgN8DUrh1NyIiIiIiUnBUAyIiEkM1ICIiks9M3fCKiDQvlVVVTZ0FERGR9Aq4EXrh5lxERERERAqOakBERGLoCSwREclrBdwIXQGIiEgMdcMrIiLSOBSAiIiIiIgUmgJuhK42ICIiMarcEw8NYWYdzewlM/sw/NshJs0BZva6mc0xs3fM7LQGbVRERKQJKQAREYlRVeWJhwa6Apjq7n2BqeF4qg3AOe6+DzAc+J2Z7djQDYuISOGyEks85JuifwTr4hOO5NC+u/PVlgquf2YqH37yeY35rVu24PbzT9k63qldG1565wPu+NurjBi4DyMH7UeVV7Fx8xZufm4aiz5fmetdEJHCdjIwNPz/j8B04JfRBO4+L/L/cjMrBzoBq3KTRWlsf//737n55pupqqpi5MiRjBo1qsb8zZs3c9VVV/H+++/Tvn17rrvuOrp27QrAH/7wB5599llKSkq47LLLOOywwwB4/PHHefrppwEYOXIkZ555JgDz5s3juuuuY8OGDXTt2pVrrrmGNm3a5G5nRSQ71A1vYTqk7+5077gjZ932CP/z3DQu+fZR26TZuHkLF979xNbh01VreeX9BQBMeXce5//+cS68+wkef202Pz7+iFzvgog0klw9ggV0cfdPAMK/nWtLbGaDgZbARw3dsOSHyspKbrjhBm677TaeeuopJk+ezIIFC2qkefbZZ2nbti3PPPMMZ555JrfffjsACxYs4MUXX+TJJ5/k9ttv5/rrr6eyspL58+fz9NNP89BDD/HYY4/x6quvsnjxYgCuvfZaxowZwxNPPMHQoUN5+OGHc77PIlLcijoAOXyvXkz+178BmLv0M9q02o6ObbZPm75bx/Z02KE17yxaDsCGTVu2zmvVooW67RRpRtw98WBmo81sVmQYHV2XmU0xs/dihpMzyZOZ7Qo8DJzn7npTYjMxZ84cevToQffu3WnRogXHHXccM2bMqJFmxowZnHjiiQAcc8wxvPnmm7g7M2bM4LjjjqNly5Z069aNHj16MGfOHBYuXMiAAQNo1aoVZWVlHHTQQUybNg2ARYsWcdBBBwFwyCGH8PLLL+d2h0UkO8ySD3mmqB/B6tSuDZ+vWbd1/PM16+jUrg0r1m2ITX/MgD2ZNmd+jWkjBw3ge4cdQIvSEi754zONml8RyU/uPh4YX8v8Y9PNM7PPzGxXd/8kDDDK06RrB7wA/Mrd32honiV/lJeX06VLl63jnTt35r333kubpqysjDZt2rB69WrKy8sZMGBAjWXLy8vp06cPd911F6tWraJVq1a89tpr9OvXD4A+ffowY8YMhg4dypQpU/jss89ysJciIl+rswbEzHqY2QQz+z8z+39m1iIyr9n94q6t7/9v7tuXqe/OqzHtmZnvctZtD3PPlNf5wZBBjZ09EcmRHD6CNRE4N/z/XODZ1ARm1hJ4GnjI3Z9q6Aabm+ZYTlkD7liaGb169eKcc87hxz/+MRdffDF9+/altLQUgLFjx/LUU09x9tlns2HDBlq0aFHHGkUkL5VY8iHPJHkE6wGCRpEXA7sCM8xsp3De7ukWij6SMH582huDOTdy0ADu++Fp3PfD0/hy7Xo6tfu64V2ndm34Yu362OX6dNmJ0pIS5qU0Uq/28nvzOGLvXo2SZxHJvRwGINcDw8zsQ2BYOI6ZDTSz+8I03weGAKPM7J/hcEBDN9yMFHQ51blz5xq1EOXl5XTq1CltmoqKCtatW0f79u1rXXbkyJE8+uij3HvvvbRv357ddtsNgJ49e3LnnXfyyCOPcPzxx9OtW7fG3kURaQRWUpJ4SLQ+s+Fm9oGZzTezbXpkNLMhZjbbzCrM7NSUeZWR8mliXdtKkqNO7n63u//T3S8G7gJeMbM+QNqS193Hu/tAdx84evTodMly7pmZ725tUP7qvxdw/P57A9C/exfWb9pc6+NXqbUf3Tq23/r/oX17smzF6sbLuIjkVCZtQBq4nS/d/Rh37xv+XRFOn+XuF4b/P+LuLdz9gMjwzyzsZnNR0OVU//79WbJkCcuWLWPLli28+OKLDBkypEaaIUOG8PzzzwMwdepUBg0ahJkxZMgQXnzxRTZv3syyZctYsmQJ++yzDwArVqwA4NNPP+Xll1/m+OOPrzG9qqqK+++/n+9+97u52lURyVNmVgrcCZwA9AfOMLP+KckWA6OAx2JWsTFSPo2oa3tJ2oC0MLNW7v4VBAWhmX0KTAZ2SLB83nrjw0Uc0nd3Hv3JD9i0pYIbnp26dd59PzyNC+9+Yuv40H324IpHn6ux/HcG78fBvbtTWVXF2o2buO7pKTnLu4g0roYGFpJTBV1OlZWVcdlll3HxxRdTWVnJiBEj6NOnD3fffTf9+vXjqKOO4uSTT2bs2LGMHDmSdu3a8dvf/hYI2nMce+yxfO9736O0tJTLL79866NWl19+OatXr6asrIxf/vKXtGvXDoDJkyfz1FPBk3xHH300I0bU+VtBRPJRdrvhHQzMd/cFAGY2gaCb+LnVCdx9YTivwZ2gWF2FrJldAsx29xkp0w8EbnT3YQm240PH3VH/XEq9TB83pqmzINIUsvKw65T35ieOQI7dd4/8e8C2iGSrnFq7dm2j5E/Sa9u2bVNnQaQpZKXM+OKu+xOXUzv/6IJatxk+UjW8uubdzH4AHOLu2/yYNLMHgefd/U+RaRXAP4EK4Hp3r7X9XZ01IO5+S5rpbxM8rywiItJkVE6JSFHKoHF52D189FnT8WEPjluTxCyWyaMAu4Uvyu0NvGxm77p72vdVJa67MbPeZvacmX1hZuVm9qyZqdW1iDRLVVVViQfJDyqnRKSYmFniIdrmLRxSe95YCvSIjHcHlifNi7svD/8uIOgU5MDa0mfy8NhjwJPALkBX4ClgQgbLi4iINCaVUyIi9TMT6GtmvcKu308n6Ca+TmbWwcy2C//fGTicSNuROJkEIObuD7t7RTg8QmZVMyIiBaMKTzxI3lA5JSLFI4tvQnf3CmAMQecd7wNPuvscM7vazEYEm7NBZrYU+B5wj5nNCRfvB8wys38B0wjagNQagGTyJvRpYZ/AEwgu6KcBL5hZxzDjKzJYl4hIXlMvWAVJ5ZSISD25+yRgUsq0sZH/ZxI8mpW63N+BAZlsK5MA5LTw70Up088nuND3zmTDIiL5rErxRyFSOSUiUgASByDuXmtDPjMb5u4vNTxLIiIimVM5JSJFJeEbzvNRNnN+QxbXJSLSpCorqxIPUjBUTolI85HFNiC5ls0AJP/2TkRE5Gsqp0RE8kAmbUDqoiemRaTZUCP0ZkknVUSaDcvDmo2kshmAiIg0G+peV0REpHFkMwBZmMV1iYg0KdWANEsLmzoDIiJZUwyN0M1sezP7tZndG473NbMTq+e7+ymNkUERkabgnnyQ/KBySkSKSpE0Qv8DsAk4LBxfClyb9RyJiOSBKvfEg+QNlVMiIgUgkwCkj7vfCGwBcPeNqEcRERHJHyqnRKR4lJQkH/JMJm1ANptZa8JeRMysD8GdJhGRZkdtQAqSyikRkQKQSQAyDvgb0MPMHgUOB85rjEyJiDQ1BSAFaRwqp0SkSFhJ4VbwJg5A3P1FM3sLOJSgSvun7v5Fo+VMREQkAyqnREQKQ+IAxMymuvsxwAsx00REmpWKqqqmzoJkSOWUiBSVPOzdKqk6AxAzawVsD+xsZh34ukFfO6BrI+ZNRKTJ6BGswqFySkSKkuVf4/KkktSAXAT8jOAi/hZfX9jXAHc2Ur5ERESSUjklIlJA6gxA3P1W4FYzu9jdb89BnkREmlyVKkAKhsopESlGxdII/XYz2xfoD7SKTH+oMTImItKU9AhW4VE5JSJSGDJphH4VMJTgwj4JOAF4FdCFXUREmpzKKREpKgXcCD2T1iunAscAn7r7ecD+wHaNkisRkSZWWVWVeJC8oXJKRIqHlSQf8kwmLyL8yt2rzKzCzNoB5UDvRsqXiEiT0hNYBUnllIhIAUgUgJiZAe+Y2Y7AvQS9jKwD3mzEvImIiCSickpEik5zb4Tu7m5mB7j7KuBuM/sb0M7d32nc7ImINA01Qi8sKqdERApHJo9gvWFmg9x9prsvbKwMiYjkgyoFIIVI5ZSIFA0r4EbomQQgRwMXmdkiYD3Bi57c3fdrlJyJiDQh1YAUJJVTIlI8mvsjWKETGi0XIiJ5RjUgBUnllIhIAcjkRYSLGjMjIiL5RAFI4VE5JSJFpST/utdNqnBzLiLSDJhZRzN7ycw+DP92qCVtOzNbZmZ35DKPIiIi2aQAREQkhrsnHhroCmCqu/cFpobj6VwDzGjoBkVERFKZ2XAz+8DM5pvZNmWRmQ0xs9nhu5ZOTZl3bngj7UMzO7eubSkAERGJ4Z58aKCTgT+G//8RGBmXyMwOBroALzZ4iyIiUviy+CZ0MysF7iRoS9cfOMPM+qckWwyMAh5LWbYjcBVwCDAYuKq22nxQACIiEqvKPfFgZqPNbFZkGJ3Bprq4+ycA4d/OqQnMrAT4H+Cy7OydiIgUOjNLPCQwGJjv7gvcfTMwgeAG2VbuvjB8t1JVyrLHAy+5+wp3Xwm8BAyvbWOZ9IIlIlI0Mnm0yt3HA+PTzTezKcAuMbOuTLiJHwGT3H1JIff7LiIieasbsCQyvpSgRqO+y3arbQEFICIiMbL5HhB3PzbdPDP7zMx2dfdPzGxXoDwm2WHAkWb2I6AN0NLM1rl7be1FRESkOcvgPSBhzXy0dn58ePNsa5KYxZIWhBkvqwBERKRpTQTOBa4P/z6bmsDdz6r+38xGAQMVfIiISFJ11dQT1Fr0iIx3B5YnXP1SYGjKstNrW0BtQEREYmTSBqSBrgeGmdmHwLBwHDMbaGb3NXTlIiLSTJklH+o2E+hrZr3MrCVwOsENsiQmA8eZWYew8flx4bS0VAMiIhIjV68hdPcvgWNips8CLoyZ/iDwYKNnTEREioa7V5jZGILAoRR4wN3nmNnVwCx3n2hmg4CngQ7ASWb23+6+j7uvMLNrCIIYgKvdfUVt21MAIiISQ29CFxGRvJage91MuPskYFLKtLGR/2cSPF4Vt+wDwANJt5WzAGT6uDG52pSISINlsxG6FIa2bds2dRZERBKzDBqh5xu1ARERERERkZzJWQ3IJX98JlebktAt5wYvVF75+J+bOCfFp8MZ323qLEgDVVWpBqTYbHx3TlNnoei0HrAPAGtfmtbEOSk+bYcd3dRZkIYq4PdCqQ2IiEgMPYIlIiLSOBSAiIjEUCN0ERHJayWF25JCAYiISAyFHyIiks9Mj2CJiDQvegRLRESkcSgAEREREREpNHoES0SkeVEbEBERkcahAEREJIYewRIRkbymNiAiIs2LakBERCSvFfCb0BWAiIjEUPwhIiLSOBSAiIjE0CNYIiKSz8wKtxF64eZcREREREQKjmpARERiqA2IiIjkNTVCFxFpXhSAiIiINA4FICIiMdQGRERE8pp6wRIRaV4UgIiISF4r4EboCkBERGJUKf4QERFpFApAREREREQKjOkRLBGR5kWPYImIiDQOBSAiIjEUgIiISF5TN7wiIs2LuuEVERFpHApARERiqAZERETymmpARESaF/WCJSIi0jgUgIiIiIiIFBgr0XtARESalSqvauosiIiINEsKQEREYqgJiIiI5DXVgIiINC9qhC4iInmtgBuhF27oJCLSiKrcEw8iIiKFzsyGm9kHZjbfzK6Imb+dmT0Rzv+HmfUMp/c0s41m9s9wuLuubakGREQkhmpAREQkr5VkrwbEzEqBO4FhwFJgpplNdPe5kWQXACvdfQ8zOx24ATgtnPeRux+QdHuqARERERERKW6DgfnuvsDdNwMTgJNT0pwM/DH8/0/AMWb1ew5MAYiISIzKKk88NISZdTSzl8zsw/BvhzTpdjOzF83sfTObW131LSIixcmsJPGQQDdgSWR8aTgtNo27VwCrgZ3Ceb3M7G0zm2FmR9a1MQUgIiJN6wpgqrv3BaaG43EeAm5y934Ed6rKc5Q/ERHJR2aJBzMbbWazIsPo1LXFbCH1Dlu6NJ8Au7n7gcClwGNm1q62rKsNiIhIjBy2ATkZGBr+/0dgOvDLaAIz6w+UuftLYd7W5SpzIiJS+Nx9PDC+liRLgR6R8e7A8jRplppZGdAeWOFBgbkp3M5bZvYRsCcwK93GVAMiIhKjCk88NFAXd/8EIPzbOSbNnsAqM/tLWMV9U9hgUEREilWJJR/qNhPoa2a9zKwlcDowMSXNRODc8P9TgZfd3c2sU3WZZGa9gb7Agto2phoQEZEYmdSAhFXZ0ers8eHdpur5U4BdYha9MuEmyoAjgQOBxcATwCjg/sSZFBERScPdK8xsDDAZKAUecPc5ZnY1MMvdJxKUOQ+b2XxgBUGQAjAEuNrMKoBK4IfuvqK27SkAERFpoLqqtt392HTzzOwzM9vV3T8xs12Jb9uxFHjb3ReEyzwDHIoCEBGR4pXlFxG6+yRgUsq0sZH/vwK+F7Pcn4E/Z7ItPYIlIhKjsrIq8dBA0Srtc4FnY9LMBDqYWadw/JvA3Jh0IiJSJLLcC1ZO5V+ORESKy/XAMDP7kOAFUNcDmNlAM7sPwN0rgV8AU83sXYKeSO5tovyKiIg0iB7BEhGJ0cDXeyTm7l8Cx8RMnwVcGBl/CdgvN7kSEZG8l8U3oeeaAhARkRg57IZXRESkqCgAEREREREpNCWF25JCAYiISAxv+Ps9REREJEbRByDfGTyAft26sKWiksdfm83SFau3SfPj44+gXevt2BL2dnP3S6+x7qvNfGPPnhy+dy/cYdOWCp58/Z98tnptrnehIL3+4Txu+dvzVFVVMeKgQZxz5FE15n+yaiW/efbPrFy/gXatW/Pfp3yfzu3b88mqlVzxxKNUVTkVVZV8b/BhnDLokCbaC2nOKqsa3LuVSL289vZsbvzDA1RVVfGdY47l/O+cUmP+5i1b+NXtt/L+ggW0b9OWGy79Od06d2ZZeTmn/Own7N61KwD79d2TX130QzZu2sRl/3MTSz/9jJKSEo4aOJCfnv2Dpti1gvL3uXO4+U9PUlVVxchvHM6o44bXmL95yxauevhB3l+8mPY77MB1519I1512ZktFBb99/FHmLl5ESYnx8+9+n4F77tVEeyHNmWW5G95cKuoApF+3LnRq24bfPj2F3XfuwKmH7s/vJr0Sm/aR/3uLJV+uqjHtrY+X8vd5CwHYp8cunDxoX8ZPeb2xs13wKququHnSRG77wfl0bteO8+69iyP32ptenbtsTXP7i3/lhP0P4tsHHMSsBR9x19TJjDvl++zcpi33XvBDWpaVsWHTJs6861aO3Ksfndq1a8I9EhHJjsrKSq67717uHnsVXTruxFlXXM5RAwfRp0ePrWmenjqFdju04bk77uJvr77KrY88xI2X/gKA7l268OTN/7vNes8dcTKD9h3Ali1bGP3f43h19myOOOignO1XoamsquKGJx/nzjE/pcuOHTjnpusYMmA/eu/adWuaZ19/jbatt+eZcdcwedZMbn/2aa47/z94+rVXAXjiyrGsWLuGn9x1Bw9ddgUlBfy4jOSpAv5MFW7Os2DfHrswc8FiABZ9sZLWLVvQrvV2iZfftKVi6/8ty0rRExvJzF22lO4dd6Jbx460KCtj2L778coH79dI8/Hn5Qzq1QeAg3v15pV/B/NblJXRsiyIm7dUVqqhsDSaKk8+iGTLe/Pn02OXXeneZRdatGjB8YcfwfSZb9ZIM33mTE4aejQAxx52GG+++26t18LW223HoH0HANCiRQv27t2bz778svF2ohmYs3AhPXbuTPedO9GirIzjDhrEjHfeqZFmxjvvcOIhhwFwzIEH8eYH/8bd+fjTTxi0194AdGzbjratWzN38aKc74NIPivqAKT99q1ZtX7j1vFVG76i/fatY9OefviB/OKkoxm2X81q1MP36sWVpwzjpIP34S9vvhO7rNT0+ZrVdG7Xfut453bt+XzNmhpp+nbZhWnvvwfA9PfnsGHzJlZv2ADAZ6tXcdZdtzHif2/gB0cMUe2HNAp3TzyIZEv5ii/ZZeedto532WknylesSJumrLSUNttvz6q1weO/y8rLOe0XP+eCsb9i9txt31W5Zv16Xpk1i0P2G9CIe1H4ylevpEuHDlvHO3fYkfLVK1PSrNqapqy0lDatW7N6/Xr6duvOjHf/RUVlJcu++IL3lyzms5U1lxXJCrPkQ56p8xEsM9sbuAWoAn4C/BoYCcwDznX392tZPK/FnY+4HxOP/N8sVm/4iu3Kyjjv6MGs7N2DWQuWAPDaBx/z2gcfc1Cv7hy331489trsxs52wYv9uZZyLi4+7lvcPGkiL/xzNgfs3pNObdtRGlY1dmm/I4/+6Cd8vmYNv5zwCEf335ed2rRt9HyLSH5qTuVUXDybWlbFpzE6dejA3+4ez45t2zL3o4+45Mbr+fMtt9Jm++0BqKis5L9u+V/O+Na36N5ll0bIfTMSd4xTC6o0Nx9GHPYNPv7sE8658Tp26diR/Xr1prS0qO/3imwjSRuQ8cBNQBvgZeCXwHnAicAdxLxAC8DMRgOjAe655x7YrnM28ttgh+/Vi8P27AnA4i9WsuMOX9d47Lh9K9Zs/GqbZVZvCKZtqqjgrQVL2a1Th60BSLW3P17KqYfuD681Xt6bi87t2lO+5uvG/uVrVtOpbc1ajE7t2nHD6WcDsGHTJqbNnUObVq22SdOrc2f+tWgh39xHd/Mku9QIvaBkpZz6wWGH5ySztemy0058+sXXj0d99uWXdOrQMTZNl512pqKyknUbNtC+TRvMjJYtWgDQv08funfZhUXLl7PPHnsAcM3dv2e3XXfl7BNPyt0OFajOO3aoUWtRvnIVndrvGJumS4cOwXnYuJH2O+yAWdDwvNr5/3Mju3XKj99A0szkYc1GUklC8rbu/py7Pw5scfcJHngO6JBuIXcf7+4D3X3g6NGjs5bhhnrtg4+5+blp3PzcNN5b/AmDeu8GwO47d2DjlgrWbNxUI32JGTts13Lr//t078KnK4PHhXZuu8PWdP2778IXa9blaC8KW7+u3Vjy5RcsX7mCLRUVvPTeOxy5V78aaVatX09V+APwj6/O4KQDDwagfPVqvtqyBYA1GzfyzuJF7LZzp9zugBSFKvfEgzS5ZlNO7bPHHiz+5BOWffYZW7ZsYfJrr3LUoEE10hw1cBDPTZ8GwJTXX2fQvgMwM1asXk1lZSUASz/7lMWffkL3LkHnHnc8/hjrNmzgsvPOz+0OFaj+u+/Oks/LWfbFF2ypqODF2TMZst9+NdIMGbAfz/8j6Hhm6tuzGbTnXpgZX23ezMZNwW+JN96fS2lJSY3G6yKSrAakNPJ/atcaLbOYl5ybu+wz+nXvwpWnDGNzRQUTXnt767xfnHQ0Nz83jbLSEi4a9g1KzSgpMeYt/5zXP1wIwJF792bPrp2orHI2bNqsx68SKist5RffGsFPH/4DVe6ceODB9O7chfEvv8TeXbszZO9+zF64gLumvogBB+zei8u+PQKAj78o57bJf8UsqP0+6xtHsoceJRApds2mnCorLeWKCy/kP6+9mqqqKk7+5jHs0WM37prwOP379GHooMF855hjuPK2WzlpzI9o16YNN1xyKQCz35/LXRMmUFZaQklJCb8afRHt27blsy+/4L4//4le3bpx+uVBb1mnDz+BU44d1pS7mtfKSku57PuncfGdt1HpVYw49Bv02bUrdz8/kX677c5R++3Pyd84nLEP/YGR435Nux2257fnXQjAirVrGHPn7ZSY0XnHHbn63POaeG+kubKSwq0BsboaUJrZRcCj7r4uZfoewBh3/1mC7fglf3ym/rmUernl3JEArHz8z02ck+LT4YzvNnUWillWrsjfvn584qqNF64YXbilQDOQrXJq47tzGiV/kl7rAfsAsPalaU2ck+LTdtjRTZ2FYpaVMmPL0mWJy6kW3bvlVTlVZw2Iu9+TZvp8IMlFXUSk4OjJqsKhckpEipIVbucGiXNuZr3N7Dkz+8LMys3sWTPr3ZiZExERSUrllIhIYcgkdHoMeBLYBegKPAU83hiZEhFpapVVVYkHyRsqp0SkeBTwe0AyCUDM3R9294pweAS9+1tEmin1glWQVE6JSPEoseRDnknSC1a1aWZ2BTCB4IJ+GvCCmXUEcPcVtS0sIiLSyFROiYgUgEwCkNPCvxelTD+f4EKv52xFpNmoq4dAyUsqp85t17MAAAcxSURBVESkaFgBN0JPHIC4e6/a5pvZMHd/qeFZEhFpeoo/Co/KKRGRwpDN0OmGLK5LREQk21ROiUjzUSRtQOqSf3snIlJP6t2qWVI5JSLNxsZW2yVO27YR81Ef2awB0QMLIiKSz1ROiYjkgWzWgIiINBvTx43R3XIREclbbdu2LdhyKps1IAuzuC4REZFsW9jUGRARkQwCEDPb3sx+bWb3huN9zezE6vnufkpjZFBERCQJlVMiIoUhkxqQPwCbgMPC8aXAtVnPkYiISP2onBIRKQCZBCB93P1GYAuAu29EPYqIiEj+UDklIlIAMglANptZa8JeRMysD8GdJhH5/+3dX8hkdR3H8feHgl1WWzIWAilaK7vQ2gxc2BAqKYIl8mophCi9aYP+LRF44VJ6WUEgZn+MQII0MPDGSoplIxQ3ydU2NEiMZ+2ikA3LMorEbxdzxAfRfWaeZ875zZnzfsGPmTkznPmeL3POl+/8zpyRtAqsU5I0AotcBesm4D7gzUl+BFwFXN9HUJIkbcNNWKckaeXN3YBU1S+SPAwcYjal/cWqOtdbZJIkLcA6JUnjsMhVsE5U1d+q6qdVdW9VnUtyos/gJEmal3VKksZhyxmQJLuBPcC+JBfx0g/69gIX9xibJElbsk5J0rjMcwrWUeAYs4P4w7x0YH8WuK2nuCRJmpd1SpJGZMsGpKpuAW5J8vmqunWAmCRJmpt1SpLGZZEfod+a5J3AZcDuTct/2EdgkiQtwjolSeMwdwOS5KvAB5gd2H8GHAbuBzywS5Kas05J0jgs8keER4APAn+tquuBdwO7eolKkqTFWackaQQWaUD+U1UvAM8n2Qs8Dby1n7AkSVqYdUqSRmCuU7CSBDiT5PXA95ldZeRfwEM9xiZJ0lysU5I0HnM1IFVVSa6oqr8D301yH7C3qs70G54kSVuzTknSeCxyCtapJAcBqmrDg7okacVYpyRpBOa+ChZwNXA0yVngOWZ/9FRVdaCXyCRJWox1SpJGYJEG5HBvUUiStHPWKUkagUX+iPBsn4FIkrQT1ilJGodFfgMiSZIkSTtiAyJJkiRpMDYgkiRJkgZjAyJJkiRpMDYgkiRJkgZjAyJJkiRpMDYgkiRJkgZjAyJJkiRpMDYgkiRJkgZjAyJJkiRpMKmqId5nkDeRJCCtA9AoWackDWXydWqoGZCMdSQ52jqGqQ5zb+63OaTtaP25nfI+O9ph3s39NsfkeQrW1j7dOoAJM/ftmHtpXNxn2zDv7Zj7EbMBkSRJkjQYGxBJkiRJg7EB2drtrQOYMHPfjrmXxsV9tg3z3o65H7GhroIlSZIkSc6ASJIkSRqODYgkSZKkwUy+AUlyLMmeJa/zfUlOJ3k+yZFlrnud9JT7LyV5PMmZJCeSvGWZ618XPeX+M0l+n+TRJPcnuWyZ65emyjrVjnWqHevUeptEA5KZV9vWY8BSP+DAU8B1wJ1LXu/oNMj9I8CVVXUA+Anw9SWvfzQa5P7OqnpXVV3BLO/fXPL6pbVlnWrHOtWOdWq61rYBSbI/yR+SfBs4DfwgyW+TPJbk5u41XwAuBk4mOdkt+3CSB7tvhu5OcuF53mMjydeSPNSNtwNU1UZVnQFe6H1DV1Dj3J+sqn93LzsFvKnPbV01jXP/7KaXXQB4hQvpPKxT7Vin2rFOCYCqWssB7Gd2YD3UPX5Dd/sa4FfAge7xBrCvu78P+DVwQff4BuAr53mPDeDG7v4ngXtf9vwdwJHWuZhi7rvl3wKOt87HlHIPfBZ4EvgzcGnrfDgcqzxa76/dMutUo9x3y61T1qlJjrWdAemcrapT3f2PJTnNbOrzcuCVzvs71C1/IMmjwKeArc7NvGvT7Xt3HvLaaJr7JJ8ArgS+sb3wR61Z7qvqtqp6G7PicHz7myBNhnWqHetUO9apiXtt6wB69hxAkkuALwMHq+qZJHcAu1/h9QF+WVXXLvAe9Sr3p65Z7pN8CLgReH9V/XfRwNfAKnzufwx8Z4H1SVO1CvvrVFmn2lmFz711qqF1nwF50V5mH/Z/JHkjcHjTc/8EXtfdPwVc9eK5gkn2JHnHFuv++KbbB5cX8toYNPdJ3gN8D7imqp5eziaM1tC5v3TT8x8BnthZ+NKkWKfasU61Y52aqHWfAQGgqn6X5BHgMeBPwAObnr4d+HmSv1TV1UmuA+5Ksqt7/jjwx/OsfleS3zBr5q4FSHIQuAe4CPhokpur6vKlbtRIDJ17ZlPZFwJ3JwF4qqquWdoGjUiD3H+u+1bvf8AzzKbIJc3BOtWOdaod69R0pcrZ2O1KssHsUnrnWscyNea+HXMvjYf7azvmvh1zv/qmcgqWJEmSpBUwiVOwdirJPcAlL1t8Q1XtbxDOpJj7dsy9NB7ur+2Y+3bM/Xh5CpYkSZKkwXgKliRJkqTB2IBIkiRJGowNiCRJkqTB2IBIkiRJGowNiCRJkqTB/B+Ytp00LRBs8wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Setting: Two graphics side-by-side. Size: [14,8]\n", "fig, [ax1, ax2] = plt.subplots(1, 2, figsize=(14, 8))\n", "\n", "# Compute the correlation matrix\n", "corr = df_rate(threshold = 40).corr()\n", "\n", "# Generate a mask for the upper triangle\n", "mask = np.zeros_like(corr, dtype=np.bool)\n", "mask[np.triu_indices_from(mask)] = True\n", "\n", "# Generate a custom diverging colormap\n", "cmap = sns.diverging_palette(220, 10, as_cmap=True)\n", "\n", "# Draw the heatmap with the mask and correct aspect ratio\n", "sns.heatmap(corr, mask=mask, cmap=cmap, vmax=.3, center=0, annot = True,\n", " square=True, linewidths=.5, ax = ax1,cbar_kws={\"shrink\": .5})\n", "\n", "# Graphic Title to threshold 40\n", "ax1.set_title('Graphic 11a - Correlation Map - Threshold 40', fontsize = font)\n", "\n", "# Compute the correlation matrix\n", "corr = df_rate(threshold = 120).corr()\n", "\n", "# Generate a mask for the upper triangle\n", "mask = np.zeros_like(corr, dtype=np.bool)\n", "mask[np.triu_indices_from(mask)] = True\n", "\n", "# Generate a custom diverging colormap\n", "cmap = sns.diverging_palette(220, 10, as_cmap=True)\n", "\n", "# Draw the heatmap with the mask and correct aspect ratio\n", "sns.heatmap(corr, mask=mask, cmap=cmap, vmax=.3, center=0, annot = True,\n", " square=True, linewidths=.5, ax = ax2,cbar_kws={\"shrink\": .5})\n", "\n", "# Graphic Title to threshold 100\n", "ax2.set_title('Graphic 11b - Correlation Map - All Breeds', fontsize = font);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ ">**Conclusion:** There is no correlation between the results of the three algorithms. An analysis oblique using only the 40 breeds with the highest rate could lead us an erroneous conclusion. The Correlation Map using all breeds gave a good measure of (un)similarities between these algorithms.\n", "\n", "This interpretation could be biased due to the lack of information about the algorithms.\n", "\n", "* All algorithm has the same list of breeds?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 5.7. Further Analysis\n", "\n", "There are many other questions to be answered:\n", "\n", "* What lead some Breed has better performance than other?\n", "\n", "Subset the df_viz taking only the breed with a rate above of the mean.\n", "\n", "* When the babies arrive? Is there any correlation between dogtionary term over the year?\n", "\n", "Identify the seasons of dog's reproducibility.\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Conclusions \n", "\n", "This project aims to perform the Data Wrangling and the Exploratory Data Analysis in the WeRateDogs™ Twitter account.\n", "\n", "The Data Gathering process englobed three different tasks, the first one download file from URL and later loading to the Jupyter Notebook, which requires a manual step, the second downloading a file programmatically, and the third gathering data from the Twitter API.\n", "\n", "Based on the data gathered, I have assessed the most evident issues (17 issues in total) and documented it to create a record of modifications. Later, in Data Cleaning process I have fixed all identified issues to complete, and I have also merged separated data frame into one and added some missing values. The final data frame was stored as twitter_archive_master.csv.\n", "\n", "In the Data Analysis and Visualization, which I have interpreted as Exploratory Analysis, I have posed few questions to guide my analysis. I have found strong evidence of:\n", "\n", "* Seasonality in the number of tweets along the week and along the year;\n", "* A positive correlation between the number of retweets and the number of favourites, and;\n", "* No correlation between the algorithms output used to predict the dog breed.\n", "\n", "***\n", "\n", "#### Additional Information\n", "\n", "The Project also has other deliverables, which could be accessed by the following links:\n", "\n", "* [Act Report][act_report], and;\n", "* [Wrangle Report][wrangle_report].\n", "\n", "[dog_rate]: https://twitter.com/dog_rates\n", "[act_report]: http://rpubs.com/AndersonUyekita/nd111_project_02_act_report\n", "[wrangle_report]: http://rpubs.com/AndersonUyekita/nd111_project_02_wrangle_report" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 7. References \n", "\n", "I have consulted this websites to perform this project. Have in mind, the list is not in appearance order.\n", "\n", "* ND111 - Data Science Foundations II, Udacity, Nano degree, [website][ref_1];\n", "* Roesslein, J.; tweepy, Version 3.7.0, [website][ref_2];\n", "* Wickham, H.; Tidy Data, The Journal of Statistical Software, [article][ref_3];\n", "* Twitter API, Documentation, [website][ref_4];\n", "* Merging Tables, Pandas Package, [website][ref_5];\n", "* logical_not, Numpy Package, Stack Overflow, [thread][ref_6];\n", "* Reason to use zip code as string, Stack Overflow, [thread][ref_7];\n", "* Data frames Concatenation, Pandas Package, Stack Overflow, [thread][ref_8];\n", "* `.isin()`, Stack Overflow, [thread][ref_9];\n", "* Indexing View vs Copy, Pandas Documentation, [website][ref_10];\n", "* Regular Expression in Python, Guru99, [website][ref_11];\n", "* Concise Vector Adding, Stack Overflow, [thread][ref_12];\n", "* How to fill NaN, Pandas Documentation, [website][ref_13];\n", "* Get weekday in Timestamp, Pandas Documentation, [website][ref_14];\n", "* Correlation Map, Seaborn Documentation, [website][ref_15];\n", "* SettingWithCopyWarning, Pandas Documentation, [website][ref_16].\n", "\n", "\n", "[ref_1]: https://br.udacity.com/course/fundamentos-data-science-ii--nd111\n", "[ref_2]: https://tweepy.readthedocs.io/en/3.7.0/index.html\n", "[ref_3]: http://www.jstatsoft.org/v59/i10/\n", "[ref_4]: https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline\n", "[ref_5]: https://pandas.pydata.org/pandas-docs/stable/merging.html\n", "[ref_6]: https://stackoverflow.com/questions/7030831/how-do-i-get-the-opposite-negation-of-a-boolean-in-python/7030846\n", "[ref_7]: https://stackoverflow.com/questions/893454/is-it-a-good-idea-to-use-an-integer-column-for-storing-us-zip-codes-in-a-databas\n", "[ref_8]: https://stackoverflow.com/questions/20602947/append-column-to-pandas-dataframe\n", "[ref_9]: https://stackoverflow.com/questions/12065885/filter-dataframe-rows-if-value-in-column-is-in-a-set-list-of-values\n", "[ref_10]: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", "[ref_11]: https://www.guru99.com/python-regular-expressions-complete-tutorial.html\n", "[ref_12]: https://stackoverflow.com/questions/845112/concise-vector-adding-in-python\n", "[ref_13]: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html\n", "[ref_14]: https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.Timestamp.isoweekday.html#pandas.Timestamp.isoweekday\n", "[ref_15]: https://seaborn.pydata.org/examples/many_pairwise_correlations.html\n", "[ref_16]: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", "\n", "\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Appendix \n", "\n", "### A.1. JSON file\n", "\n", "I have indented this fragment of JSON file, just to understand what is the components. Later it will help me to subset/indexing my needs.\n", "\n", "See more in [Twitter Dev Website][twt_dev_wb].\n", "\n", "[twt_dev_wb]: https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline\n", "\n", "The object from the tweepy has an outcome a dictionary called `_json`, which is what I am looking for.\n", "\n", "```JSON\n", "Status(_api=,\n", "_json={'created_at': 'Wed Dec 26 19:18:12 +0000 2018',\n", " 'id': 1078007085848240129,\n", " 'id_str': '1078007085848240129',\n", " 'text': '@brandimotamedi i hope you love it ☺️',\n", " 'truncated': False,\n", " 'entities': {'hashtags': [],\n", " 'symbols': [],\n", " 'user_mentions': [{'screen_name':\n", " 'brandimotamedi',\n", " 'name': 'Brandi Motamedi',\n", " 'id': 344164849,\n", " 'id_str': '344164849',\n", " 'indices': [0, 15]}],\n", " 'urls': []},\n", " 'source': 'Twitter for iPhone',\n", " 'in_reply_to_status_id': 1078006885935067136,\n", " 'in_reply_to_status_id_str': '1078006885935067136',\n", " 'in_reply_to_user_id': 344164849,\n", " 'in_reply_to_user_id_str': '344164849',\n", " 'in_reply_to_screen_name': 'brandimotamedi',\n", " 'user': {'id': 4196983835,\n", " 'id_str': '4196983835',\n", " 'name': 'WeRateDogs™',\n", " 'screen_name': 'dog_rates',\n", " 'location': 'merch ⇨',\n", " 'description': 'Your Only Source For Professional Dog Ratings ⠀ ⠀IG, FB, Snapchat ⇨ WeRateDogs ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Business: dogratingtwitter@gmail.com',\n", " 'url': 'https://t.co/N7sNNHAEXS',\n", " 'entities': {'url': {'urls': [{'url': 'https://t.co/N7sNNHAEXS',\n", " 'expanded_url': 'http://weratedogs.com',\n", " 'display_url': 'weratedogs.com',\n", " 'indices': [0, 23]}]},\n", " 'description': {'urls': []}},\n", " 'protected': False,\n", " 'followers_count': 7549717,\n", " 'friends_count': 12,\n", " 'listed_count': 5661,\n", " 'created_at': 'Sun Nov 15 21:41:29 +0000 2015',\n", " 'favourites_count': 140650,\n", " 'utc_offset': None,\n", " 'time_zone': None,\n", " 'geo_enabled': True,\n", " 'verified': True,\n", " 'statuses_count': 9467,\n", " 'lang': 'en',\n", " 'contributors_enabled': False,\n", " 'is_translator': False,\n", " 'is_translation_enabled': False,\n", " 'profile_background_color': '000000',\n", " 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png',\n", " 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png',\n", " 'profile_background_tile': False,\n", " 'profile_image_url': 'http://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4196983835/1544368760',\n", " 'profile_link_color': 'F5ABB5',\n", " 'profile_sidebar_border_color': '000000',\n", " 'profile_sidebar_fill_color': '000000',\n", " 'profile_text_color': '000000',\n", " 'profile_use_background_image': False,\n", " 'has_extended_profile': False,\n", " 'default_profile': False,\n", " 'default_profile_image': False,\n", " 'following': False,\n", " 'follow_request_sent': False,\n", " 'notifications': False,\n", " 'translator_type': 'none'},\n", " 'geo': None,\n", " 'coordinates': None,\n", " 'place': None,\n", " 'contributors': None,\n", " 'is_quote_status': False,\n", " 'retweet_count': 0,\n", " 'favorite_count': 115,\n", " 'favorited': False,\n", " 'retweeted': False,\n", " 'lang': 'en'},\n", "created_at=datetime.datetime(2018, 12, 26, 19, 18, 12),\n", "id=1078007085848240129,\n", "id_str='1078007085848240129',\n", "text='@brandimotamedi i hope you love it ☺️',\n", "truncated=False,\n", "entities={'hashtags': [],\n", " 'symbols': [],\n", " 'user_mentions': [{'screen_name': 'brandimotamedi',\n", " 'name': 'Brandi Motamedi',\n", " 'id': 344164849,\n", " 'id_str': '344164849',\n", " 'indices': [0, 15]}],\n", " 'urls': []},\n", "source='Twitter for iPhone',\n", "source_url='http://twitter.com/download/iphone',\n", "in_reply_to_status_id=1078006885935067136,\n", "in_reply_to_status_id_str='1078006885935067136',\n", "in_reply_to_user_id=344164849,\n", "in_reply_to_user_id_str='344164849',\n", "in_reply_to_screen_name='brandimotamedi',\n", "author=User(_api=,\n", " _json={'id': 4196983835,\n", " 'id_str': '4196983835',\n", " 'name': 'WeRateDogs™',\n", " 'screen_name': 'dog_rates',\n", " 'location': 'merch ⇨', 'description': 'Your Only Source For Professional Dog Ratings ⠀ ⠀IG, FB, Snapchat ⇨ WeRateDogs ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Business: dogratingtwitter@gmail.com',\n", " 'url': 'https://t.co/N7sNNHAEXS',\n", " 'entities': {'url': {'urls': [{'url': 'https://t.co/N7sNNHAEXS',\n", " 'expanded_url': 'http://weratedogs.com',\n", " 'display_url': 'weratedogs.com',\n", " 'indices': [0, 23]}]},\n", " 'description': {'urls': []}},\n", " 'protected': False,\n", " 'followers_count': 7549717,\n", " 'friends_count': 12,\n", " 'listed_count': 5661,\n", " 'created_at': 'Sun Nov 15 21:41:29 +0000 2015',\n", " 'favourites_count': 140650,\n", " 'utc_offset': None,\n", " 'time_zone': None,\n", " 'geo_enabled': True,\n", " 'verified': True,\n", " 'statuses_count': 9467,\n", " 'lang': 'en',\n", " 'contributors_enabled': False,\n", " 'is_translator': False,\n", " 'is_translation_enabled': False,\n", " 'profile_background_color': '000000',\n", " 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png',\n", " 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png',\n", " 'profile_background_tile': False,\n", " 'profile_image_url': 'http://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4196983835/1544368760',\n", " 'profile_link_color': 'F5ABB5',\n", " 'profile_sidebar_border_color': '000000',\n", " 'profile_sidebar_fill_color': '000000',\n", " 'profile_text_color': '000000',\n", " 'profile_use_background_image': False,\n", " 'has_extended_profile': False,\n", " 'default_profile': False,\n", " 'default_profile_image': False,\n", " 'following': False,\n", " 'follow_request_sent': False,\n", " 'notifications': False,\n", " 'translator_type': 'none'},\n", " id=4196983835,\n", " id_str='4196983835',\n", " name='WeRateDogs™',\n", " screen_name='dog_rates',\n", " location='merch ⇨',\n", " description='Your Only Source For Professional Dog Ratings ⠀ ⠀IG, FB, Snapchat ⇨ WeRateDogs ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Business: dogratingtwitter@gmail.com',\n", " url='https://t.co/N7sNNHAEXS',\n", " entities={'url': {'urls': [{'url': 'https://t.co/N7sNNHAEXS',\n", " 'expanded_url': 'http://weratedogs.com',\n", " 'display_url': 'weratedogs.com',\n", " 'indices': [0, 23]}]},\n", " 'description': {'urls': []}},\n", " protected=False,\n", " followers_count=7549717,\n", " friends_count=12,\n", " listed_count=5661,\n", " created_at=datetime.datetime(2015, 11, 15, 21, 41, 29),\n", " favourites_count=140650,\n", " utc_offset=None,\n", " time_zone=None,\n", " geo_enabled=True,\n", " verified=True,\n", " statuses_count=9467,\n", " lang='en',\n", " contributors_enabled=False,\n", " is_translator=False,\n", " is_translation_enabled=False,\n", " profile_background_color='000000',\n", " profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png',\n", " profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png',\n", " profile_background_tile=False,\n", " profile_image_url='http://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " profile_image_url_https='https://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " profile_banner_url='https://pbs.twimg.com/profile_banners/4196983835/1544368760',\n", " profile_link_color='F5ABB5',\n", " profile_sidebar_border_color='000000',\n", " profile_sidebar_fill_color='000000',\n", " profile_text_color='000000',\n", " profile_use_background_image=False,\n", " has_extended_profile=False,\n", " default_profile=False,\n", " default_profile_image=False,\n", " following=False,\n", " follow_request_sent=False,\n", " notifications=False, translator_type='none'),\n", "user=User(_api=,\n", " _json={'id': 4196983835,\n", " 'id_str': '4196983835',\n", " 'name': 'WeRateDogs™',\n", " 'screen_name': 'dog_rates',\n", " 'location': 'merch ⇨',\n", " 'description': 'Your Only Source For Professional Dog Ratings ⠀ ⠀IG, FB, Snapchat ⇨ WeRateDogs ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Business: dogratingtwitter@gmail.com',\n", " 'url': 'https://t.co/N7sNNHAEXS',\n", " 'entities': {'url': {'urls': [{'url': 'https://t.co/N7sNNHAEXS',\n", " 'expanded_url': 'http://weratedogs.com',\n", " 'display_url': 'weratedogs.com',\n", " 'indices': [0, 23]}]},\n", " 'description': {'urls': []}},\n", " 'protected': False,\n", " 'followers_count': 7549717,\n", " 'friends_count': 12,\n", " 'listed_count': 5661,\n", " 'created_at': 'Sun Nov 15 21:41:29 +0000 2015',\n", " 'favourites_count': 140650,\n", " 'utc_offset': None,\n", " 'time_zone': None,\n", " 'geo_enabled': True,\n", " 'verified': True,\n", " 'statuses_count': 9467,\n", " 'lang': 'en',\n", " 'contributors_enabled': False,\n", " 'is_translator': False,\n", " 'is_translation_enabled': False,\n", " 'profile_background_color': '000000',\n", " 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png',\n", " 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png',\n", " 'profile_background_tile': False,\n", " 'profile_image_url': 'http://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4196983835/1544368760',\n", " 'profile_link_color': 'F5ABB5',\n", " 'profile_sidebar_border_color': '000000',\n", " 'profile_sidebar_fill_color': '000000',\n", " 'profile_text_color': '000000',\n", " 'profile_use_background_image': False,\n", " 'has_extended_profile': False,\n", " 'default_profile': False,\n", " 'default_profile_image': False,\n", " 'following': False,\n", " 'follow_request_sent': False,\n", " 'notifications': False,\n", " 'translator_type': 'none'},\n", " id=4196983835,\n", " id_str='4196983835',\n", " name='WeRateDogs™',\n", " screen_name='dog_rates',\n", " location='merch ⇨',\n", " description='Your Only Source For Professional Dog Ratings ⠀ ⠀IG, FB, Snapchat ⇨ WeRateDogs ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Business: dogratingtwitter@gmail.com',\n", " url='https://t.co/N7sNNHAEXS',\n", " entities={'url': {'urls': [{'url': 'https://t.co/N7sNNHAEXS',\n", " 'expanded_url': 'http://weratedogs.com',\n", " 'display_url': 'weratedogs.com',\n", " 'indices': [0, 23]}]},\n", " 'description': {'urls': []}},\n", " protected=False,\n", " followers_count=7549717,\n", " friends_count=12,\n", " listed_count=5661,\n", " created_at=datetime.datetime(2015, 11, 15, 21, 41, 29),\n", " favourites_count=140650,\n", " utc_offset=None,\n", " time_zone=None,\n", " geo_enabled=True,\n", " verified=True,\n", " statuses_count=9467,\n", " lang='en',\n", " contributors_enabled=False,\n", " is_translator=False,\n", " is_translation_enabled=False,\n", " profile_background_color='000000',\n", " profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png',\n", " profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png',\n", " profile_background_tile=False,\n", " profile_image_url='http://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " profile_image_url_https='https://pbs.twimg.com/profile_images/1072659905235042304/nm3HWlPG_normal.jpg',\n", " profile_banner_url='https://pbs.twimg.com/profile_banners/4196983835/1544368760',\n", " profile_link_color='F5ABB5',\n", " profile_sidebar_border_color='000000',\n", " profile_sidebar_fill_color='000000',\n", " profile_text_color='000000',\n", " profile_use_background_image=False,\n", " has_extended_profile=False,\n", " default_profile=False,\n", " default_profile_image=False,\n", " following=False,\n", " follow_request_sent=False,\n", " notifications=False,\n", " translator_type='none'),\n", "geo=None,\n", "coordinates=None,\n", "place=None,\n", "contributors=None,\n", "is_quote_status=False,\n", "retweet_count=0,\n", "favorite_count=115,\n", "favorited=False,\n", "retweeted=False,\n", "lang='en')\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.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }