Created
December 13, 2019 16:24
-
-
Save kshirsagarsiddharth/f47800d81c0ed832583730f32109c96f to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "<a href=\"https://cognitiveclass.ai\"><img src = \"https://ibm.box.com/shared/static/9gegpsmnsoo25ikkbl4qzlvlyjbgxs5x.png\" width = 400> </a>\n", | |
| "\n", | |
| "<h1 align=center><font size = 5>Introduction to Matplotlib and Line Plots</font></h1>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "## Introduction\n", | |
| "\n", | |
| "The aim of these labs is to introduce you to data visualization with Python as concrete and as consistent as possible. \n", | |
| "Speaking of consistency, because there is no *best* data visualization library avaiblable for Python - up to creating these labs - we have to introduce different libraries and show their benefits when we are discussing new visualization concepts. Doing so, we hope to make students well-rounded with visualization libraries and concepts so that they are able to judge and decide on the best visualitzation technique and tool for a given problem _and_ audience.\n", | |
| "\n", | |
| "Please make sure that you have completed the prerequisites for this course, namely <a href='http://cocl.us/PY0101EN_DV0101EN_LAB1_Coursera'>**Python for Data Science**</a> and <a href='http://cocl.us/DA0101EN_DV0101EN_LAB1_Coursera'>**Data Analysis with Python**</a>, which are part of this specialization. \n", | |
| "\n", | |
| "**Note**: The majority of the plots and visualizations will be generated using data stored in *pandas* dataframes. Therefore, in this lab, we provide a brief crash course on *pandas*. However, if you are interested in learning more about the *pandas* library, detailed description and explanation of how to use it and how to clean, munge, and process data stored in a *pandas* dataframe are provided in our course <a href='http://cocl.us/DA0101EN_DV0101EN_LAB1_Coursera'>**Data Analysis with Python**</a>, which is also part of this specialization. \n", | |
| "\n", | |
| "------------" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "## Table of Contents\n", | |
| "\n", | |
| "<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n", | |
| "\n", | |
| "1. [Exploring Datasets with *pandas*](#0)<br>\n", | |
| "1.1 [The Dataset: Immigration to Canada from 1980 to 2013](#2)<br>\n", | |
| "1.2 [*pandas* Basics](#4) <br>\n", | |
| "1.3 [*pandas* Intermediate: Indexing and Selection](#6) <br>\n", | |
| "2. [Visualizing Data using Matplotlib](#8) <br>\n", | |
| "2.1 [Matplotlib: Standard Python Visualization Library](#10) <br>\n", | |
| "3. [Line Plots](#12)\n", | |
| "</div>\n", | |
| "<hr>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "# Exploring Datasets with *pandas* <a id=\"0\"></a>\n", | |
| "\n", | |
| "*pandas* is an essential data analysis toolkit for Python. From their [website](http://pandas.pydata.org/):\n", | |
| ">*pandas* is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, **real world** data analysis in Python.\n", | |
| "\n", | |
| "The course heavily relies on *pandas* for data wrangling, analysis, and visualization. We encourage you to spend some time and familizare yourself with the *pandas* API Reference: http://pandas.pydata.org/pandas-docs/stable/api.html." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "## The Dataset: Immigration to Canada from 1980 to 2013 <a id=\"2\"></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Dataset Source: [International migration flows to and from selected countries - The 2015 revision](http://www.un.org/en/development/desa/population/migration/data/empirical2/migrationflows.shtml).\n", | |
| "\n", | |
| "The dataset contains annual data on the flows of international immigrants as recorded by the countries of destination. The data presents both inflows and outflows according to the place of birth, citizenship or place of previous / next residence both for foreigners and nationals. The current version presents data pertaining to 45 countries.\n", | |
| "\n", | |
| "In this lab, we will focus on the Canadian immigration data.\n", | |
| "\n", | |
| "<img src = \"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Images/Mod1Fig1-Dataset.png\" align=\"center\" width=900>\n", | |
| "\n", | |
| "For sake of simplicity, Canada's immigration data has been extracted and uploaded to one of IBM servers. You can fetch the data from [here](https://ibm.box.com/shared/static/lw190pt9zpy5bd1ptyg2aw15awomz9pu.xlsx).\n", | |
| "\n", | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "## *pandas* Basics<a id=\"4\"></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "The first thing we'll do is import two key data analysis modules: *pandas* and **Numpy**." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import numpy as np # useful for many scientific computing in Python\n", | |
| "import pandas as pd # primary data structure library" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Let's download and import our primary Canadian Immigration dataset using *pandas* `read_excel()` method. Normally, before we can do that, we would need to download a module which *pandas* requires to read in excel files. This module is **xlrd**. For your convenience, we have pre-installed this module, so you would not have to worry about that. Otherwise, you would need to run the following line of code to install the **xlrd** module:\n", | |
| "```\n", | |
| "!conda install -c anaconda xlrd --yes\n", | |
| "```" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Requirement already satisfied: xlrd in /home/jupyterlab/conda/envs/python/lib/python3.6/site-packages (1.2.0)\n", | |
| "Note: you may need to restart the kernel to use updated packages.\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pip install xlrd\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Now we are ready to read in our data." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Data read into a pandas dataframe!\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "df_can = pd.read_excel('https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx',\n", | |
| " sheet_name='Canada by Citizenship',\n", | |
| " skiprows=range(20),\n", | |
| " skipfooter=2)\n", | |
| "\n", | |
| "print ('Data read into a pandas dataframe!')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Let's view the top 5 rows of the dataset using the `head()` function." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Type</th>\n", | |
| " <th>Coverage</th>\n", | |
| " <th>OdName</th>\n", | |
| " <th>AREA</th>\n", | |
| " <th>AreaName</th>\n", | |
| " <th>REG</th>\n", | |
| " <th>RegName</th>\n", | |
| " <th>DEV</th>\n", | |
| " <th>DevName</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2004</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Afghanistan</td>\n", | |
| " <td>935</td>\n", | |
| " <td>Asia</td>\n", | |
| " <td>5501</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>16</td>\n", | |
| " <td>...</td>\n", | |
| " <td>2978</td>\n", | |
| " <td>3436</td>\n", | |
| " <td>3009</td>\n", | |
| " <td>2652</td>\n", | |
| " <td>2111</td>\n", | |
| " <td>1746</td>\n", | |
| " <td>1758</td>\n", | |
| " <td>2203</td>\n", | |
| " <td>2635</td>\n", | |
| " <td>2004</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Albania</td>\n", | |
| " <td>908</td>\n", | |
| " <td>Europe</td>\n", | |
| " <td>925</td>\n", | |
| " <td>Southern Europe</td>\n", | |
| " <td>901</td>\n", | |
| " <td>Developed regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1450</td>\n", | |
| " <td>1223</td>\n", | |
| " <td>856</td>\n", | |
| " <td>702</td>\n", | |
| " <td>560</td>\n", | |
| " <td>716</td>\n", | |
| " <td>561</td>\n", | |
| " <td>539</td>\n", | |
| " <td>620</td>\n", | |
| " <td>603</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Algeria</td>\n", | |
| " <td>903</td>\n", | |
| " <td>Africa</td>\n", | |
| " <td>912</td>\n", | |
| " <td>Northern Africa</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>80</td>\n", | |
| " <td>...</td>\n", | |
| " <td>3616</td>\n", | |
| " <td>3626</td>\n", | |
| " <td>4807</td>\n", | |
| " <td>3623</td>\n", | |
| " <td>4005</td>\n", | |
| " <td>5393</td>\n", | |
| " <td>4752</td>\n", | |
| " <td>4325</td>\n", | |
| " <td>3774</td>\n", | |
| " <td>4331</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>American Samoa</td>\n", | |
| " <td>909</td>\n", | |
| " <td>Oceania</td>\n", | |
| " <td>957</td>\n", | |
| " <td>Polynesia</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Andorra</td>\n", | |
| " <td>908</td>\n", | |
| " <td>Europe</td>\n", | |
| " <td>925</td>\n", | |
| " <td>Southern Europe</td>\n", | |
| " <td>901</td>\n", | |
| " <td>Developed regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>5 rows × 43 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Type Coverage OdName AREA AreaName REG \\\n", | |
| "0 Immigrants Foreigners Afghanistan 935 Asia 5501 \n", | |
| "1 Immigrants Foreigners Albania 908 Europe 925 \n", | |
| "2 Immigrants Foreigners Algeria 903 Africa 912 \n", | |
| "3 Immigrants Foreigners American Samoa 909 Oceania 957 \n", | |
| "4 Immigrants Foreigners Andorra 908 Europe 925 \n", | |
| "\n", | |
| " RegName DEV DevName 1980 ... 2004 2005 2006 \\\n", | |
| "0 Southern Asia 902 Developing regions 16 ... 2978 3436 3009 \n", | |
| "1 Southern Europe 901 Developed regions 1 ... 1450 1223 856 \n", | |
| "2 Northern Africa 902 Developing regions 80 ... 3616 3626 4807 \n", | |
| "3 Polynesia 902 Developing regions 0 ... 0 0 1 \n", | |
| "4 Southern Europe 901 Developed regions 0 ... 0 0 1 \n", | |
| "\n", | |
| " 2007 2008 2009 2010 2011 2012 2013 \n", | |
| "0 2652 2111 1746 1758 2203 2635 2004 \n", | |
| "1 702 560 716 561 539 620 603 \n", | |
| "2 3623 4005 5393 4752 4325 3774 4331 \n", | |
| "3 0 0 0 0 0 0 0 \n", | |
| "4 1 0 0 0 0 1 1 \n", | |
| "\n", | |
| "[5 rows x 43 columns]" | |
| ] | |
| }, | |
| "execution_count": 30, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.head()\n", | |
| "# tip: You can specify the number of rows you'd like to see as follows: df_can.head(10) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "We can also veiw the bottom 5 rows of the dataset using the `tail()` function." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 31, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Type</th>\n", | |
| " <th>Coverage</th>\n", | |
| " <th>OdName</th>\n", | |
| " <th>AREA</th>\n", | |
| " <th>AreaName</th>\n", | |
| " <th>REG</th>\n", | |
| " <th>RegName</th>\n", | |
| " <th>DEV</th>\n", | |
| " <th>DevName</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2004</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>190</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Viet Nam</td>\n", | |
| " <td>935</td>\n", | |
| " <td>Asia</td>\n", | |
| " <td>920</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1191</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1816</td>\n", | |
| " <td>1852</td>\n", | |
| " <td>3153</td>\n", | |
| " <td>2574</td>\n", | |
| " <td>1784</td>\n", | |
| " <td>2171</td>\n", | |
| " <td>1942</td>\n", | |
| " <td>1723</td>\n", | |
| " <td>1731</td>\n", | |
| " <td>2112</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>191</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Western Sahara</td>\n", | |
| " <td>903</td>\n", | |
| " <td>Africa</td>\n", | |
| " <td>912</td>\n", | |
| " <td>Northern Africa</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>192</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Yemen</td>\n", | |
| " <td>935</td>\n", | |
| " <td>Asia</td>\n", | |
| " <td>922</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>...</td>\n", | |
| " <td>124</td>\n", | |
| " <td>161</td>\n", | |
| " <td>140</td>\n", | |
| " <td>122</td>\n", | |
| " <td>133</td>\n", | |
| " <td>128</td>\n", | |
| " <td>211</td>\n", | |
| " <td>160</td>\n", | |
| " <td>174</td>\n", | |
| " <td>217</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>193</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Zambia</td>\n", | |
| " <td>903</td>\n", | |
| " <td>Africa</td>\n", | |
| " <td>910</td>\n", | |
| " <td>Eastern Africa</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>11</td>\n", | |
| " <td>...</td>\n", | |
| " <td>56</td>\n", | |
| " <td>91</td>\n", | |
| " <td>77</td>\n", | |
| " <td>71</td>\n", | |
| " <td>64</td>\n", | |
| " <td>60</td>\n", | |
| " <td>102</td>\n", | |
| " <td>69</td>\n", | |
| " <td>46</td>\n", | |
| " <td>59</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>194</th>\n", | |
| " <td>Immigrants</td>\n", | |
| " <td>Foreigners</td>\n", | |
| " <td>Zimbabwe</td>\n", | |
| " <td>903</td>\n", | |
| " <td>Africa</td>\n", | |
| " <td>910</td>\n", | |
| " <td>Eastern Africa</td>\n", | |
| " <td>902</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>72</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1450</td>\n", | |
| " <td>615</td>\n", | |
| " <td>454</td>\n", | |
| " <td>663</td>\n", | |
| " <td>611</td>\n", | |
| " <td>508</td>\n", | |
| " <td>494</td>\n", | |
| " <td>434</td>\n", | |
| " <td>437</td>\n", | |
| " <td>407</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>5 rows × 43 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Type Coverage OdName AREA AreaName REG \\\n", | |
| "190 Immigrants Foreigners Viet Nam 935 Asia 920 \n", | |
| "191 Immigrants Foreigners Western Sahara 903 Africa 912 \n", | |
| "192 Immigrants Foreigners Yemen 935 Asia 922 \n", | |
| "193 Immigrants Foreigners Zambia 903 Africa 910 \n", | |
| "194 Immigrants Foreigners Zimbabwe 903 Africa 910 \n", | |
| "\n", | |
| " RegName DEV DevName 1980 ... 2004 2005 2006 \\\n", | |
| "190 South-Eastern Asia 902 Developing regions 1191 ... 1816 1852 3153 \n", | |
| "191 Northern Africa 902 Developing regions 0 ... 0 0 1 \n", | |
| "192 Western Asia 902 Developing regions 1 ... 124 161 140 \n", | |
| "193 Eastern Africa 902 Developing regions 11 ... 56 91 77 \n", | |
| "194 Eastern Africa 902 Developing regions 72 ... 1450 615 454 \n", | |
| "\n", | |
| " 2007 2008 2009 2010 2011 2012 2013 \n", | |
| "190 2574 1784 2171 1942 1723 1731 2112 \n", | |
| "191 0 0 0 0 0 0 0 \n", | |
| "192 122 133 128 211 160 174 217 \n", | |
| "193 71 64 60 102 69 46 59 \n", | |
| "194 663 611 508 494 434 437 407 \n", | |
| "\n", | |
| "[5 rows x 43 columns]" | |
| ] | |
| }, | |
| "execution_count": 31, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "\n", | |
| "df_can.tail()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "When analyzing a dataset, it's always a good idea to start by getting basic information about your dataframe. We can do this by using the `info()` method." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 32, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "<class 'pandas.core.frame.DataFrame'>\n", | |
| "RangeIndex: 195 entries, 0 to 194\n", | |
| "Data columns (total 43 columns):\n", | |
| "Type 195 non-null object\n", | |
| "Coverage 195 non-null object\n", | |
| "OdName 195 non-null object\n", | |
| "AREA 195 non-null int64\n", | |
| "AreaName 195 non-null object\n", | |
| "REG 195 non-null int64\n", | |
| "RegName 195 non-null object\n", | |
| "DEV 195 non-null int64\n", | |
| "DevName 195 non-null object\n", | |
| "1980 195 non-null int64\n", | |
| "1981 195 non-null int64\n", | |
| "1982 195 non-null int64\n", | |
| "1983 195 non-null int64\n", | |
| "1984 195 non-null int64\n", | |
| "1985 195 non-null int64\n", | |
| "1986 195 non-null int64\n", | |
| "1987 195 non-null int64\n", | |
| "1988 195 non-null int64\n", | |
| "1989 195 non-null int64\n", | |
| "1990 195 non-null int64\n", | |
| "1991 195 non-null int64\n", | |
| "1992 195 non-null int64\n", | |
| "1993 195 non-null int64\n", | |
| "1994 195 non-null int64\n", | |
| "1995 195 non-null int64\n", | |
| "1996 195 non-null int64\n", | |
| "1997 195 non-null int64\n", | |
| "1998 195 non-null int64\n", | |
| "1999 195 non-null int64\n", | |
| "2000 195 non-null int64\n", | |
| "2001 195 non-null int64\n", | |
| "2002 195 non-null int64\n", | |
| "2003 195 non-null int64\n", | |
| "2004 195 non-null int64\n", | |
| "2005 195 non-null int64\n", | |
| "2006 195 non-null int64\n", | |
| "2007 195 non-null int64\n", | |
| "2008 195 non-null int64\n", | |
| "2009 195 non-null int64\n", | |
| "2010 195 non-null int64\n", | |
| "2011 195 non-null int64\n", | |
| "2012 195 non-null int64\n", | |
| "2013 195 non-null int64\n", | |
| "dtypes: int64(37), object(6)\n", | |
| "memory usage: 65.6+ KB\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "df_can.info()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "To get the list of column headers we can call upon the dataframe's `.columns` parameter." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 33, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array(['Type', 'Coverage', 'OdName', 'AREA', 'AreaName', 'REG', 'RegName',\n", | |
| " 'DEV', 'DevName', 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987,\n", | |
| " 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,\n", | |
| " 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,\n", | |
| " 2010, 2011, 2012, 2013], dtype=object)" | |
| ] | |
| }, | |
| "execution_count": 33, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.columns.values " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Similarly, to get the list of indicies we use the `.index` parameter." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 34, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n", | |
| " 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,\n", | |
| " 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,\n", | |
| " 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,\n", | |
| " 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,\n", | |
| " 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,\n", | |
| " 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,\n", | |
| " 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,\n", | |
| " 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,\n", | |
| " 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,\n", | |
| " 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,\n", | |
| " 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,\n", | |
| " 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,\n", | |
| " 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,\n", | |
| " 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194])" | |
| ] | |
| }, | |
| "execution_count": 34, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.index.values" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Note: The default type of index and columns is NOT list." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 35, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "<class 'pandas.core.indexes.base.Index'>\n", | |
| "<class 'pandas.core.indexes.range.RangeIndex'>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(type(df_can.columns))\n", | |
| "print(type(df_can.index))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "To get the index and columns as lists, we can use the `tolist()` method." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 36, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "<class 'list'>\n", | |
| "<class 'list'>\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "df_can.columns.tolist()\n", | |
| "df_can.index.tolist()\n", | |
| "\n", | |
| "print (type(df_can.columns.tolist()))\n", | |
| "print (type(df_can.index.tolist()))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "To view the dimensions of the dataframe, we use the `.shape` parameter." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 37, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(195, 43)" | |
| ] | |
| }, | |
| "execution_count": 37, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# size of dataframe (rows, columns)\n", | |
| "df_can.shape " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Note: The main types stored in *pandas* objects are *float*, *int*, *bool*, *datetime64[ns]* and *datetime64[ns, tz] (in >= 0.17.0)*, *timedelta[ns]*, *category (in >= 0.15.0)*, and *object* (string). In addition these dtypes have item sizes, e.g. int64 and int32. " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Let's clean the data set to remove a few unnecessary columns. We can use *pandas* `drop()` method as follows:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 38, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>OdName</th>\n", | |
| " <th>AreaName</th>\n", | |
| " <th>RegName</th>\n", | |
| " <th>DevName</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2004</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>Afghanistan</td>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>16</td>\n", | |
| " <td>39</td>\n", | |
| " <td>39</td>\n", | |
| " <td>47</td>\n", | |
| " <td>71</td>\n", | |
| " <td>340</td>\n", | |
| " <td>...</td>\n", | |
| " <td>2978</td>\n", | |
| " <td>3436</td>\n", | |
| " <td>3009</td>\n", | |
| " <td>2652</td>\n", | |
| " <td>2111</td>\n", | |
| " <td>1746</td>\n", | |
| " <td>1758</td>\n", | |
| " <td>2203</td>\n", | |
| " <td>2635</td>\n", | |
| " <td>2004</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>Albania</td>\n", | |
| " <td>Europe</td>\n", | |
| " <td>Southern Europe</td>\n", | |
| " <td>Developed regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1450</td>\n", | |
| " <td>1223</td>\n", | |
| " <td>856</td>\n", | |
| " <td>702</td>\n", | |
| " <td>560</td>\n", | |
| " <td>716</td>\n", | |
| " <td>561</td>\n", | |
| " <td>539</td>\n", | |
| " <td>620</td>\n", | |
| " <td>603</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>2 rows × 38 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " OdName AreaName RegName DevName 1980 1981 \\\n", | |
| "0 Afghanistan Asia Southern Asia Developing regions 16 39 \n", | |
| "1 Albania Europe Southern Europe Developed regions 1 0 \n", | |
| "\n", | |
| " 1982 1983 1984 1985 ... 2004 2005 2006 2007 2008 2009 2010 \\\n", | |
| "0 39 47 71 340 ... 2978 3436 3009 2652 2111 1746 1758 \n", | |
| "1 0 0 0 0 ... 1450 1223 856 702 560 716 561 \n", | |
| "\n", | |
| " 2011 2012 2013 \n", | |
| "0 2203 2635 2004 \n", | |
| "1 539 620 603 \n", | |
| "\n", | |
| "[2 rows x 38 columns]" | |
| ] | |
| }, | |
| "execution_count": 38, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# in pandas axis=0 represents rows (default) and axis=1 represents columns.\n", | |
| "df_can.drop(['AREA','REG','DEV','Type','Coverage'], axis=1, inplace=True)\n", | |
| "df_can.head(2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Let's rename the columns so that they make sense. We can use `rename()` method by passing in a dictionary of old and new names as follows:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 39, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Index([ 'Country', 'Continent', 'Region', 'DevName', 1980,\n", | |
| " 1981, 1982, 1983, 1984, 1985,\n", | |
| " 1986, 1987, 1988, 1989, 1990,\n", | |
| " 1991, 1992, 1993, 1994, 1995,\n", | |
| " 1996, 1997, 1998, 1999, 2000,\n", | |
| " 2001, 2002, 2003, 2004, 2005,\n", | |
| " 2006, 2007, 2008, 2009, 2010,\n", | |
| " 2011, 2012, 2013],\n", | |
| " dtype='object')" | |
| ] | |
| }, | |
| "execution_count": 39, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.rename(columns={'OdName':'Country', 'AreaName':'Continent', 'RegName':'Region'}, inplace=True)\n", | |
| "df_can.columns" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "We will also add a 'Total' column that sums up the total immigrants by country over the entire period 1980 - 2013, as follows:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 40, | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df_can['Total'] = df_can.sum(axis=1)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "We can check to see how many null objects we have in the dataset as follows:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 41, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "Country 0\n", | |
| "Continent 0\n", | |
| "Region 0\n", | |
| "DevName 0\n", | |
| "1980 0\n", | |
| "1981 0\n", | |
| "1982 0\n", | |
| "1983 0\n", | |
| "1984 0\n", | |
| "1985 0\n", | |
| "1986 0\n", | |
| "1987 0\n", | |
| "1988 0\n", | |
| "1989 0\n", | |
| "1990 0\n", | |
| "1991 0\n", | |
| "1992 0\n", | |
| "1993 0\n", | |
| "1994 0\n", | |
| "1995 0\n", | |
| "1996 0\n", | |
| "1997 0\n", | |
| "1998 0\n", | |
| "1999 0\n", | |
| "2000 0\n", | |
| "2001 0\n", | |
| "2002 0\n", | |
| "2003 0\n", | |
| "2004 0\n", | |
| "2005 0\n", | |
| "2006 0\n", | |
| "2007 0\n", | |
| "2008 0\n", | |
| "2009 0\n", | |
| "2010 0\n", | |
| "2011 0\n", | |
| "2012 0\n", | |
| "2013 0\n", | |
| "Total 0\n", | |
| "dtype: int64" | |
| ] | |
| }, | |
| "execution_count": 41, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.isnull().sum()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Finally, let's view a quick summary of each column in our dataframe using the `describe()` method." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 42, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " <th>1986</th>\n", | |
| " <th>1987</th>\n", | |
| " <th>1988</th>\n", | |
| " <th>1989</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " <th>Total</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>count</th>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>...</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " <td>195.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>mean</th>\n", | |
| " <td>508.394872</td>\n", | |
| " <td>566.989744</td>\n", | |
| " <td>534.723077</td>\n", | |
| " <td>387.435897</td>\n", | |
| " <td>376.497436</td>\n", | |
| " <td>358.861538</td>\n", | |
| " <td>441.271795</td>\n", | |
| " <td>691.133333</td>\n", | |
| " <td>714.389744</td>\n", | |
| " <td>843.241026</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1320.292308</td>\n", | |
| " <td>1266.958974</td>\n", | |
| " <td>1191.820513</td>\n", | |
| " <td>1246.394872</td>\n", | |
| " <td>1275.733333</td>\n", | |
| " <td>1420.287179</td>\n", | |
| " <td>1262.533333</td>\n", | |
| " <td>1313.958974</td>\n", | |
| " <td>1320.702564</td>\n", | |
| " <td>32867.451282</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>std</th>\n", | |
| " <td>1949.588546</td>\n", | |
| " <td>2152.643752</td>\n", | |
| " <td>1866.997511</td>\n", | |
| " <td>1204.333597</td>\n", | |
| " <td>1198.246371</td>\n", | |
| " <td>1079.309600</td>\n", | |
| " <td>1225.576630</td>\n", | |
| " <td>2109.205607</td>\n", | |
| " <td>2443.606788</td>\n", | |
| " <td>2555.048874</td>\n", | |
| " <td>...</td>\n", | |
| " <td>4425.957828</td>\n", | |
| " <td>3926.717747</td>\n", | |
| " <td>3443.542409</td>\n", | |
| " <td>3694.573544</td>\n", | |
| " <td>3829.630424</td>\n", | |
| " <td>4462.946328</td>\n", | |
| " <td>4030.084313</td>\n", | |
| " <td>4247.555161</td>\n", | |
| " <td>4237.951988</td>\n", | |
| " <td>91785.498686</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>min</th>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>...</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25%</th>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.500000</td>\n", | |
| " <td>0.500000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>...</td>\n", | |
| " <td>28.500000</td>\n", | |
| " <td>25.000000</td>\n", | |
| " <td>31.000000</td>\n", | |
| " <td>31.000000</td>\n", | |
| " <td>36.000000</td>\n", | |
| " <td>40.500000</td>\n", | |
| " <td>37.500000</td>\n", | |
| " <td>42.500000</td>\n", | |
| " <td>45.000000</td>\n", | |
| " <td>952.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>50%</th>\n", | |
| " <td>13.000000</td>\n", | |
| " <td>10.000000</td>\n", | |
| " <td>11.000000</td>\n", | |
| " <td>12.000000</td>\n", | |
| " <td>13.000000</td>\n", | |
| " <td>17.000000</td>\n", | |
| " <td>18.000000</td>\n", | |
| " <td>26.000000</td>\n", | |
| " <td>34.000000</td>\n", | |
| " <td>44.000000</td>\n", | |
| " <td>...</td>\n", | |
| " <td>210.000000</td>\n", | |
| " <td>218.000000</td>\n", | |
| " <td>198.000000</td>\n", | |
| " <td>205.000000</td>\n", | |
| " <td>214.000000</td>\n", | |
| " <td>211.000000</td>\n", | |
| " <td>179.000000</td>\n", | |
| " <td>233.000000</td>\n", | |
| " <td>213.000000</td>\n", | |
| " <td>5018.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>75%</th>\n", | |
| " <td>251.500000</td>\n", | |
| " <td>295.500000</td>\n", | |
| " <td>275.000000</td>\n", | |
| " <td>173.000000</td>\n", | |
| " <td>181.000000</td>\n", | |
| " <td>197.000000</td>\n", | |
| " <td>254.000000</td>\n", | |
| " <td>434.000000</td>\n", | |
| " <td>409.000000</td>\n", | |
| " <td>508.500000</td>\n", | |
| " <td>...</td>\n", | |
| " <td>832.000000</td>\n", | |
| " <td>842.000000</td>\n", | |
| " <td>899.000000</td>\n", | |
| " <td>934.500000</td>\n", | |
| " <td>888.000000</td>\n", | |
| " <td>932.000000</td>\n", | |
| " <td>772.000000</td>\n", | |
| " <td>783.000000</td>\n", | |
| " <td>796.000000</td>\n", | |
| " <td>22239.500000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>max</th>\n", | |
| " <td>22045.000000</td>\n", | |
| " <td>24796.000000</td>\n", | |
| " <td>20620.000000</td>\n", | |
| " <td>10015.000000</td>\n", | |
| " <td>10170.000000</td>\n", | |
| " <td>9564.000000</td>\n", | |
| " <td>9470.000000</td>\n", | |
| " <td>21337.000000</td>\n", | |
| " <td>27359.000000</td>\n", | |
| " <td>23795.000000</td>\n", | |
| " <td>...</td>\n", | |
| " <td>42584.000000</td>\n", | |
| " <td>33848.000000</td>\n", | |
| " <td>28742.000000</td>\n", | |
| " <td>30037.000000</td>\n", | |
| " <td>29622.000000</td>\n", | |
| " <td>38617.000000</td>\n", | |
| " <td>36765.000000</td>\n", | |
| " <td>34315.000000</td>\n", | |
| " <td>34129.000000</td>\n", | |
| " <td>691904.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>8 rows × 35 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " 1980 1981 1982 1983 1984 \\\n", | |
| "count 195.000000 195.000000 195.000000 195.000000 195.000000 \n", | |
| "mean 508.394872 566.989744 534.723077 387.435897 376.497436 \n", | |
| "std 1949.588546 2152.643752 1866.997511 1204.333597 1198.246371 \n", | |
| "min 0.000000 0.000000 0.000000 0.000000 0.000000 \n", | |
| "25% 0.000000 0.000000 0.000000 0.000000 0.000000 \n", | |
| "50% 13.000000 10.000000 11.000000 12.000000 13.000000 \n", | |
| "75% 251.500000 295.500000 275.000000 173.000000 181.000000 \n", | |
| "max 22045.000000 24796.000000 20620.000000 10015.000000 10170.000000 \n", | |
| "\n", | |
| " 1985 1986 1987 1988 1989 \\\n", | |
| "count 195.000000 195.000000 195.000000 195.000000 195.000000 \n", | |
| "mean 358.861538 441.271795 691.133333 714.389744 843.241026 \n", | |
| "std 1079.309600 1225.576630 2109.205607 2443.606788 2555.048874 \n", | |
| "min 0.000000 0.000000 0.000000 0.000000 0.000000 \n", | |
| "25% 0.000000 0.500000 0.500000 1.000000 1.000000 \n", | |
| "50% 17.000000 18.000000 26.000000 34.000000 44.000000 \n", | |
| "75% 197.000000 254.000000 434.000000 409.000000 508.500000 \n", | |
| "max 9564.000000 9470.000000 21337.000000 27359.000000 23795.000000 \n", | |
| "\n", | |
| " ... 2005 2006 2007 2008 \\\n", | |
| "count ... 195.000000 195.000000 195.000000 195.000000 \n", | |
| "mean ... 1320.292308 1266.958974 1191.820513 1246.394872 \n", | |
| "std ... 4425.957828 3926.717747 3443.542409 3694.573544 \n", | |
| "min ... 0.000000 0.000000 0.000000 0.000000 \n", | |
| "25% ... 28.500000 25.000000 31.000000 31.000000 \n", | |
| "50% ... 210.000000 218.000000 198.000000 205.000000 \n", | |
| "75% ... 832.000000 842.000000 899.000000 934.500000 \n", | |
| "max ... 42584.000000 33848.000000 28742.000000 30037.000000 \n", | |
| "\n", | |
| " 2009 2010 2011 2012 2013 \\\n", | |
| "count 195.000000 195.000000 195.000000 195.000000 195.000000 \n", | |
| "mean 1275.733333 1420.287179 1262.533333 1313.958974 1320.702564 \n", | |
| "std 3829.630424 4462.946328 4030.084313 4247.555161 4237.951988 \n", | |
| "min 0.000000 0.000000 0.000000 0.000000 0.000000 \n", | |
| "25% 36.000000 40.500000 37.500000 42.500000 45.000000 \n", | |
| "50% 214.000000 211.000000 179.000000 233.000000 213.000000 \n", | |
| "75% 888.000000 932.000000 772.000000 783.000000 796.000000 \n", | |
| "max 29622.000000 38617.000000 36765.000000 34315.000000 34129.000000 \n", | |
| "\n", | |
| " Total \n", | |
| "count 195.000000 \n", | |
| "mean 32867.451282 \n", | |
| "std 91785.498686 \n", | |
| "min 1.000000 \n", | |
| "25% 952.000000 \n", | |
| "50% 5018.000000 \n", | |
| "75% 22239.500000 \n", | |
| "max 691904.000000 \n", | |
| "\n", | |
| "[8 rows x 35 columns]" | |
| ] | |
| }, | |
| "execution_count": 42, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.describe()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "---\n", | |
| "## *pandas* Intermediate: Indexing and Selection (slicing)<a id=\"6\"></a>\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "### Select Column\n", | |
| "**There are two ways to filter on a column name:**\n", | |
| "\n", | |
| "Method 1: Quick and easy, but only works if the column name does NOT have spaces or special characters.\n", | |
| "```python\n", | |
| " df.column_name \n", | |
| " (returns series)\n", | |
| "```\n", | |
| "\n", | |
| "Method 2: More robust, and can filter on multiple columns.\n", | |
| "\n", | |
| "```python\n", | |
| " df['column'] \n", | |
| " (returns series)\n", | |
| "```\n", | |
| "\n", | |
| "```python \n", | |
| " df[['column 1', 'column 2']] \n", | |
| " (returns dataframe)\n", | |
| "```\n", | |
| "---" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Example: Let's try filtering on the list of countries ('Country')." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 43, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "0 Afghanistan\n", | |
| "1 Albania\n", | |
| "2 Algeria\n", | |
| "3 American Samoa\n", | |
| "4 Andorra\n", | |
| " ... \n", | |
| "190 Viet Nam\n", | |
| "191 Western Sahara\n", | |
| "192 Yemen\n", | |
| "193 Zambia\n", | |
| "194 Zimbabwe\n", | |
| "Name: Country, Length: 195, dtype: object" | |
| ] | |
| }, | |
| "execution_count": 43, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.Country # returns a series" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Let's try filtering on the list of countries ('OdName') and the data for years: 1980 - 1985." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 44, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Country</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>Afghanistan</td>\n", | |
| " <td>16</td>\n", | |
| " <td>39</td>\n", | |
| " <td>39</td>\n", | |
| " <td>47</td>\n", | |
| " <td>71</td>\n", | |
| " <td>340</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>Albania</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>Algeria</td>\n", | |
| " <td>80</td>\n", | |
| " <td>67</td>\n", | |
| " <td>71</td>\n", | |
| " <td>69</td>\n", | |
| " <td>63</td>\n", | |
| " <td>44</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>American Samoa</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>Andorra</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>190</th>\n", | |
| " <td>Viet Nam</td>\n", | |
| " <td>1191</td>\n", | |
| " <td>1829</td>\n", | |
| " <td>2162</td>\n", | |
| " <td>3404</td>\n", | |
| " <td>7583</td>\n", | |
| " <td>5907</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>191</th>\n", | |
| " <td>Western Sahara</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>192</th>\n", | |
| " <td>Yemen</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>1</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " <td>18</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>193</th>\n", | |
| " <td>Zambia</td>\n", | |
| " <td>11</td>\n", | |
| " <td>17</td>\n", | |
| " <td>11</td>\n", | |
| " <td>7</td>\n", | |
| " <td>16</td>\n", | |
| " <td>9</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>194</th>\n", | |
| " <td>Zimbabwe</td>\n", | |
| " <td>72</td>\n", | |
| " <td>114</td>\n", | |
| " <td>102</td>\n", | |
| " <td>44</td>\n", | |
| " <td>32</td>\n", | |
| " <td>29</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>195 rows × 7 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Country 1980 1981 1982 1983 1984 1985\n", | |
| "0 Afghanistan 16 39 39 47 71 340\n", | |
| "1 Albania 1 0 0 0 0 0\n", | |
| "2 Algeria 80 67 71 69 63 44\n", | |
| "3 American Samoa 0 1 0 0 0 0\n", | |
| "4 Andorra 0 0 0 0 0 0\n", | |
| ".. ... ... ... ... ... ... ...\n", | |
| "190 Viet Nam 1191 1829 2162 3404 7583 5907\n", | |
| "191 Western Sahara 0 0 0 0 0 0\n", | |
| "192 Yemen 1 2 1 6 0 18\n", | |
| "193 Zambia 11 17 11 7 16 9\n", | |
| "194 Zimbabwe 72 114 102 44 32 29\n", | |
| "\n", | |
| "[195 rows x 7 columns]" | |
| ] | |
| }, | |
| "execution_count": 44, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can[['Country', 1980, 1981, 1982, 1983, 1984, 1985]] # returns a dataframe\n", | |
| "# notice that 'Country' is string, and the years are integers. \n", | |
| "# for the sake of consistency, we will convert all column names to string later on." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "### Select Row\n", | |
| "\n", | |
| "There are main 3 ways to select rows:\n", | |
| "\n", | |
| "```python\n", | |
| " df.loc[label] \n", | |
| " #filters by the labels of the index/column\n", | |
| " df.iloc[index] \n", | |
| " #filters by the positions of the index/column\n", | |
| "```" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Before we proceed, notice that the defaul index of the dataset is a numeric range from 0 to 194. This makes it very difficult to do a query by a specific country. For example to search for data on Japan, we need to know the corressponding index value.\n", | |
| "\n", | |
| "This can be fixed very easily by setting the 'Country' column as the index using `set_index()` method." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 45, | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df_can.set_index('Country', inplace=True)\n", | |
| "# tip: The opposite of set is reset. So to reset the index, we can use df_can.reset_index()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 46, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Continent</th>\n", | |
| " <th>Region</th>\n", | |
| " <th>DevName</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " <th>1986</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " <th>Total</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Country</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>Afghanistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>16</td>\n", | |
| " <td>39</td>\n", | |
| " <td>39</td>\n", | |
| " <td>47</td>\n", | |
| " <td>71</td>\n", | |
| " <td>340</td>\n", | |
| " <td>496</td>\n", | |
| " <td>...</td>\n", | |
| " <td>3436</td>\n", | |
| " <td>3009</td>\n", | |
| " <td>2652</td>\n", | |
| " <td>2111</td>\n", | |
| " <td>1746</td>\n", | |
| " <td>1758</td>\n", | |
| " <td>2203</td>\n", | |
| " <td>2635</td>\n", | |
| " <td>2004</td>\n", | |
| " <td>58639</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Albania</th>\n", | |
| " <td>Europe</td>\n", | |
| " <td>Southern Europe</td>\n", | |
| " <td>Developed regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1223</td>\n", | |
| " <td>856</td>\n", | |
| " <td>702</td>\n", | |
| " <td>560</td>\n", | |
| " <td>716</td>\n", | |
| " <td>561</td>\n", | |
| " <td>539</td>\n", | |
| " <td>620</td>\n", | |
| " <td>603</td>\n", | |
| " <td>15699</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Algeria</th>\n", | |
| " <td>Africa</td>\n", | |
| " <td>Northern Africa</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>80</td>\n", | |
| " <td>67</td>\n", | |
| " <td>71</td>\n", | |
| " <td>69</td>\n", | |
| " <td>63</td>\n", | |
| " <td>44</td>\n", | |
| " <td>69</td>\n", | |
| " <td>...</td>\n", | |
| " <td>3626</td>\n", | |
| " <td>4807</td>\n", | |
| " <td>3623</td>\n", | |
| " <td>4005</td>\n", | |
| " <td>5393</td>\n", | |
| " <td>4752</td>\n", | |
| " <td>4325</td>\n", | |
| " <td>3774</td>\n", | |
| " <td>4331</td>\n", | |
| " <td>69439</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>3 rows × 38 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Continent Region DevName 1980 1981 1982 \\\n", | |
| "Country \n", | |
| "Afghanistan Asia Southern Asia Developing regions 16 39 39 \n", | |
| "Albania Europe Southern Europe Developed regions 1 0 0 \n", | |
| "Algeria Africa Northern Africa Developing regions 80 67 71 \n", | |
| "\n", | |
| " 1983 1984 1985 1986 ... 2005 2006 2007 2008 2009 2010 \\\n", | |
| "Country ... \n", | |
| "Afghanistan 47 71 340 496 ... 3436 3009 2652 2111 1746 1758 \n", | |
| "Albania 0 0 0 1 ... 1223 856 702 560 716 561 \n", | |
| "Algeria 69 63 44 69 ... 3626 4807 3623 4005 5393 4752 \n", | |
| "\n", | |
| " 2011 2012 2013 Total \n", | |
| "Country \n", | |
| "Afghanistan 2203 2635 2004 58639 \n", | |
| "Albania 539 620 603 15699 \n", | |
| "Algeria 4325 3774 4331 69439 \n", | |
| "\n", | |
| "[3 rows x 38 columns]" | |
| ] | |
| }, | |
| "execution_count": 46, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_can.head(3)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 47, | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "# optional: to remove the name of the index\n", | |
| "df_can.index.name = None" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Example: Let's view the number of immigrants from Japan (row 87) for the following scenarios:\n", | |
| " 1. The full row data (all columns)\n", | |
| " 2. For year 2013\n", | |
| " 3. For years 1980 to 1985" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 48, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Continent Asia\n", | |
| "Region Eastern Asia\n", | |
| "DevName Developed regions\n", | |
| "1980 701\n", | |
| "1981 756\n", | |
| "1982 598\n", | |
| "1983 309\n", | |
| "1984 246\n", | |
| "1985 198\n", | |
| "1986 248\n", | |
| "1987 422\n", | |
| "1988 324\n", | |
| "1989 494\n", | |
| "1990 379\n", | |
| "1991 506\n", | |
| "1992 605\n", | |
| "1993 907\n", | |
| "1994 956\n", | |
| "1995 826\n", | |
| "1996 994\n", | |
| "1997 924\n", | |
| "1998 897\n", | |
| "1999 1083\n", | |
| "2000 1010\n", | |
| "2001 1092\n", | |
| "2002 806\n", | |
| "2003 817\n", | |
| "2004 973\n", | |
| "2005 1067\n", | |
| "2006 1212\n", | |
| "2007 1250\n", | |
| "2008 1284\n", | |
| "2009 1194\n", | |
| "2010 1168\n", | |
| "2011 1265\n", | |
| "2012 1214\n", | |
| "2013 982\n", | |
| "Total 27707\n", | |
| "Name: Japan, dtype: object\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 1. the full row data (all columns)\n", | |
| "print(df_can.loc['Japan'])\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 49, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "982\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 2. for year 2013\n", | |
| "print(df_can.loc['Japan', 2013])\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 50, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "1980 701\n", | |
| "1981 756\n", | |
| "1982 598\n", | |
| "1983 309\n", | |
| "1984 246\n", | |
| "1984 246\n", | |
| "Name: Japan, dtype: object\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 3. for years 1980 to 1985\n", | |
| "print(df_can.loc['Japan', [1980, 1981, 1982, 1983, 1984, 1984]])\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Column names that are integers (such as the years) might introduce some confusion. For example, when we are referencing the year 2013, one might confuse that when the 2013th positional index. \n", | |
| "\n", | |
| "To avoid this ambuigity, let's convert the column names into strings: '1980' to '2013'." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 51, | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df_can.columns = list(map(str, df_can.columns))\n", | |
| "# [print (type(x)) for x in df_can.columns.values] #<-- uncomment to check type of column headers" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Since we converted the years to string, let's declare a variable that will allow us to easily call upon the full range of years:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 52, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "['1980',\n", | |
| " '1981',\n", | |
| " '1982',\n", | |
| " '1983',\n", | |
| " '1984',\n", | |
| " '1985',\n", | |
| " '1986',\n", | |
| " '1987',\n", | |
| " '1988',\n", | |
| " '1989',\n", | |
| " '1990',\n", | |
| " '1991',\n", | |
| " '1992',\n", | |
| " '1993',\n", | |
| " '1994',\n", | |
| " '1995',\n", | |
| " '1996',\n", | |
| " '1997',\n", | |
| " '1998',\n", | |
| " '1999',\n", | |
| " '2000',\n", | |
| " '2001',\n", | |
| " '2002',\n", | |
| " '2003',\n", | |
| " '2004',\n", | |
| " '2005',\n", | |
| " '2006',\n", | |
| " '2007',\n", | |
| " '2008',\n", | |
| " '2009',\n", | |
| " '2010',\n", | |
| " '2011',\n", | |
| " '2012',\n", | |
| " '2013']" | |
| ] | |
| }, | |
| "execution_count": 52, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# useful for plotting later on\n", | |
| "years = list(map(str, range(1980, 2014)))\n", | |
| "years" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "### Filtering based on a criteria\n", | |
| "To filter the dataframe based on a condition, we simply pass the condition as a boolean vector. \n", | |
| "\n", | |
| "For example, Let's filter the dataframe to show the data on Asian countries (AreaName = Asia)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 53, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Afghanistan True\n", | |
| "Albania False\n", | |
| "Algeria False\n", | |
| "American Samoa False\n", | |
| "Andorra False\n", | |
| " ... \n", | |
| "Viet Nam True\n", | |
| "Western Sahara False\n", | |
| "Yemen True\n", | |
| "Zambia False\n", | |
| "Zimbabwe False\n", | |
| "Name: Continent, Length: 195, dtype: bool\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 1. create the condition boolean series\n", | |
| "condition = df_can['Continent'] == 'Asia'\n", | |
| "print(condition)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 54, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Continent</th>\n", | |
| " <th>Region</th>\n", | |
| " <th>DevName</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " <th>1986</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " <th>Total</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>Afghanistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>16</td>\n", | |
| " <td>39</td>\n", | |
| " <td>39</td>\n", | |
| " <td>47</td>\n", | |
| " <td>71</td>\n", | |
| " <td>340</td>\n", | |
| " <td>496</td>\n", | |
| " <td>...</td>\n", | |
| " <td>3436</td>\n", | |
| " <td>3009</td>\n", | |
| " <td>2652</td>\n", | |
| " <td>2111</td>\n", | |
| " <td>1746</td>\n", | |
| " <td>1758</td>\n", | |
| " <td>2203</td>\n", | |
| " <td>2635</td>\n", | |
| " <td>2004</td>\n", | |
| " <td>58639</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Armenia</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>224</td>\n", | |
| " <td>218</td>\n", | |
| " <td>198</td>\n", | |
| " <td>205</td>\n", | |
| " <td>267</td>\n", | |
| " <td>252</td>\n", | |
| " <td>236</td>\n", | |
| " <td>258</td>\n", | |
| " <td>207</td>\n", | |
| " <td>3310</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Azerbaijan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>359</td>\n", | |
| " <td>236</td>\n", | |
| " <td>203</td>\n", | |
| " <td>125</td>\n", | |
| " <td>165</td>\n", | |
| " <td>209</td>\n", | |
| " <td>138</td>\n", | |
| " <td>161</td>\n", | |
| " <td>57</td>\n", | |
| " <td>2649</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Bahrain</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>12</td>\n", | |
| " <td>12</td>\n", | |
| " <td>22</td>\n", | |
| " <td>9</td>\n", | |
| " <td>35</td>\n", | |
| " <td>28</td>\n", | |
| " <td>21</td>\n", | |
| " <td>39</td>\n", | |
| " <td>32</td>\n", | |
| " <td>475</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Bangladesh</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>83</td>\n", | |
| " <td>84</td>\n", | |
| " <td>86</td>\n", | |
| " <td>81</td>\n", | |
| " <td>98</td>\n", | |
| " <td>92</td>\n", | |
| " <td>486</td>\n", | |
| " <td>...</td>\n", | |
| " <td>4171</td>\n", | |
| " <td>4014</td>\n", | |
| " <td>2897</td>\n", | |
| " <td>2939</td>\n", | |
| " <td>2104</td>\n", | |
| " <td>4721</td>\n", | |
| " <td>2694</td>\n", | |
| " <td>2640</td>\n", | |
| " <td>3789</td>\n", | |
| " <td>65568</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Bhutan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>5</td>\n", | |
| " <td>10</td>\n", | |
| " <td>7</td>\n", | |
| " <td>36</td>\n", | |
| " <td>865</td>\n", | |
| " <td>1464</td>\n", | |
| " <td>1879</td>\n", | |
| " <td>1075</td>\n", | |
| " <td>487</td>\n", | |
| " <td>5876</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Brunei Darussalam</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>79</td>\n", | |
| " <td>6</td>\n", | |
| " <td>8</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>4</td>\n", | |
| " <td>12</td>\n", | |
| " <td>...</td>\n", | |
| " <td>4</td>\n", | |
| " <td>5</td>\n", | |
| " <td>11</td>\n", | |
| " <td>10</td>\n", | |
| " <td>5</td>\n", | |
| " <td>12</td>\n", | |
| " <td>6</td>\n", | |
| " <td>3</td>\n", | |
| " <td>6</td>\n", | |
| " <td>600</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Cambodia</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>12</td>\n", | |
| " <td>19</td>\n", | |
| " <td>26</td>\n", | |
| " <td>33</td>\n", | |
| " <td>10</td>\n", | |
| " <td>7</td>\n", | |
| " <td>8</td>\n", | |
| " <td>...</td>\n", | |
| " <td>370</td>\n", | |
| " <td>529</td>\n", | |
| " <td>460</td>\n", | |
| " <td>354</td>\n", | |
| " <td>203</td>\n", | |
| " <td>200</td>\n", | |
| " <td>196</td>\n", | |
| " <td>233</td>\n", | |
| " <td>288</td>\n", | |
| " <td>6538</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>China</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>5123</td>\n", | |
| " <td>6682</td>\n", | |
| " <td>3308</td>\n", | |
| " <td>1863</td>\n", | |
| " <td>1527</td>\n", | |
| " <td>1816</td>\n", | |
| " <td>1960</td>\n", | |
| " <td>...</td>\n", | |
| " <td>42584</td>\n", | |
| " <td>33518</td>\n", | |
| " <td>27642</td>\n", | |
| " <td>30037</td>\n", | |
| " <td>29622</td>\n", | |
| " <td>30391</td>\n", | |
| " <td>28502</td>\n", | |
| " <td>33024</td>\n", | |
| " <td>34129</td>\n", | |
| " <td>659962</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>China, Hong Kong Special Administrative Region</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>729</td>\n", | |
| " <td>712</td>\n", | |
| " <td>674</td>\n", | |
| " <td>897</td>\n", | |
| " <td>657</td>\n", | |
| " <td>623</td>\n", | |
| " <td>591</td>\n", | |
| " <td>728</td>\n", | |
| " <td>774</td>\n", | |
| " <td>9327</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>China, Macao Special Administrative Region</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>21</td>\n", | |
| " <td>32</td>\n", | |
| " <td>16</td>\n", | |
| " <td>12</td>\n", | |
| " <td>21</td>\n", | |
| " <td>21</td>\n", | |
| " <td>13</td>\n", | |
| " <td>33</td>\n", | |
| " <td>29</td>\n", | |
| " <td>284</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Cyprus</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>132</td>\n", | |
| " <td>128</td>\n", | |
| " <td>84</td>\n", | |
| " <td>46</td>\n", | |
| " <td>46</td>\n", | |
| " <td>43</td>\n", | |
| " <td>48</td>\n", | |
| " <td>...</td>\n", | |
| " <td>7</td>\n", | |
| " <td>9</td>\n", | |
| " <td>4</td>\n", | |
| " <td>7</td>\n", | |
| " <td>6</td>\n", | |
| " <td>18</td>\n", | |
| " <td>6</td>\n", | |
| " <td>12</td>\n", | |
| " <td>16</td>\n", | |
| " <td>1126</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Democratic People's Republic of Korea</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4</td>\n", | |
| " <td>3</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>14</td>\n", | |
| " <td>10</td>\n", | |
| " <td>7</td>\n", | |
| " <td>19</td>\n", | |
| " <td>11</td>\n", | |
| " <td>45</td>\n", | |
| " <td>97</td>\n", | |
| " <td>66</td>\n", | |
| " <td>17</td>\n", | |
| " <td>388</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Georgia</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>114</td>\n", | |
| " <td>125</td>\n", | |
| " <td>132</td>\n", | |
| " <td>112</td>\n", | |
| " <td>128</td>\n", | |
| " <td>126</td>\n", | |
| " <td>139</td>\n", | |
| " <td>147</td>\n", | |
| " <td>125</td>\n", | |
| " <td>2068</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>India</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>8880</td>\n", | |
| " <td>8670</td>\n", | |
| " <td>8147</td>\n", | |
| " <td>7338</td>\n", | |
| " <td>5704</td>\n", | |
| " <td>4211</td>\n", | |
| " <td>7150</td>\n", | |
| " <td>...</td>\n", | |
| " <td>36210</td>\n", | |
| " <td>33848</td>\n", | |
| " <td>28742</td>\n", | |
| " <td>28261</td>\n", | |
| " <td>29456</td>\n", | |
| " <td>34235</td>\n", | |
| " <td>27509</td>\n", | |
| " <td>30933</td>\n", | |
| " <td>33087</td>\n", | |
| " <td>691904</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Indonesia</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>186</td>\n", | |
| " <td>178</td>\n", | |
| " <td>252</td>\n", | |
| " <td>115</td>\n", | |
| " <td>123</td>\n", | |
| " <td>100</td>\n", | |
| " <td>127</td>\n", | |
| " <td>...</td>\n", | |
| " <td>632</td>\n", | |
| " <td>613</td>\n", | |
| " <td>657</td>\n", | |
| " <td>661</td>\n", | |
| " <td>504</td>\n", | |
| " <td>712</td>\n", | |
| " <td>390</td>\n", | |
| " <td>395</td>\n", | |
| " <td>387</td>\n", | |
| " <td>13150</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Iran (Islamic Republic of)</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1172</td>\n", | |
| " <td>1429</td>\n", | |
| " <td>1822</td>\n", | |
| " <td>1592</td>\n", | |
| " <td>1977</td>\n", | |
| " <td>1648</td>\n", | |
| " <td>1794</td>\n", | |
| " <td>...</td>\n", | |
| " <td>5837</td>\n", | |
| " <td>7480</td>\n", | |
| " <td>6974</td>\n", | |
| " <td>6475</td>\n", | |
| " <td>6580</td>\n", | |
| " <td>7477</td>\n", | |
| " <td>7479</td>\n", | |
| " <td>7534</td>\n", | |
| " <td>11291</td>\n", | |
| " <td>175923</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Iraq</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>262</td>\n", | |
| " <td>245</td>\n", | |
| " <td>260</td>\n", | |
| " <td>380</td>\n", | |
| " <td>428</td>\n", | |
| " <td>231</td>\n", | |
| " <td>265</td>\n", | |
| " <td>...</td>\n", | |
| " <td>2226</td>\n", | |
| " <td>1788</td>\n", | |
| " <td>2406</td>\n", | |
| " <td>3543</td>\n", | |
| " <td>5450</td>\n", | |
| " <td>5941</td>\n", | |
| " <td>6196</td>\n", | |
| " <td>4041</td>\n", | |
| " <td>4918</td>\n", | |
| " <td>69789</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Israel</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1403</td>\n", | |
| " <td>1711</td>\n", | |
| " <td>1334</td>\n", | |
| " <td>541</td>\n", | |
| " <td>446</td>\n", | |
| " <td>680</td>\n", | |
| " <td>1212</td>\n", | |
| " <td>...</td>\n", | |
| " <td>2446</td>\n", | |
| " <td>2625</td>\n", | |
| " <td>2401</td>\n", | |
| " <td>2562</td>\n", | |
| " <td>2316</td>\n", | |
| " <td>2755</td>\n", | |
| " <td>1970</td>\n", | |
| " <td>2134</td>\n", | |
| " <td>1945</td>\n", | |
| " <td>66508</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Japan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Eastern Asia</td>\n", | |
| " <td>Developed regions</td>\n", | |
| " <td>701</td>\n", | |
| " <td>756</td>\n", | |
| " <td>598</td>\n", | |
| " <td>309</td>\n", | |
| " <td>246</td>\n", | |
| " <td>198</td>\n", | |
| " <td>248</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1067</td>\n", | |
| " <td>1212</td>\n", | |
| " <td>1250</td>\n", | |
| " <td>1284</td>\n", | |
| " <td>1194</td>\n", | |
| " <td>1168</td>\n", | |
| " <td>1265</td>\n", | |
| " <td>1214</td>\n", | |
| " <td>982</td>\n", | |
| " <td>27707</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Jordan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>177</td>\n", | |
| " <td>160</td>\n", | |
| " <td>155</td>\n", | |
| " <td>113</td>\n", | |
| " <td>102</td>\n", | |
| " <td>179</td>\n", | |
| " <td>181</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1940</td>\n", | |
| " <td>1827</td>\n", | |
| " <td>1421</td>\n", | |
| " <td>1581</td>\n", | |
| " <td>1235</td>\n", | |
| " <td>1831</td>\n", | |
| " <td>1635</td>\n", | |
| " <td>1206</td>\n", | |
| " <td>1255</td>\n", | |
| " <td>35406</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Kazakhstan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Central Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>506</td>\n", | |
| " <td>408</td>\n", | |
| " <td>436</td>\n", | |
| " <td>394</td>\n", | |
| " <td>431</td>\n", | |
| " <td>377</td>\n", | |
| " <td>381</td>\n", | |
| " <td>462</td>\n", | |
| " <td>348</td>\n", | |
| " <td>8490</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Kuwait</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>2</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4</td>\n", | |
| " <td>4</td>\n", | |
| " <td>...</td>\n", | |
| " <td>66</td>\n", | |
| " <td>35</td>\n", | |
| " <td>62</td>\n", | |
| " <td>53</td>\n", | |
| " <td>68</td>\n", | |
| " <td>67</td>\n", | |
| " <td>58</td>\n", | |
| " <td>73</td>\n", | |
| " <td>48</td>\n", | |
| " <td>2025</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Kyrgyzstan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Central Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>173</td>\n", | |
| " <td>161</td>\n", | |
| " <td>135</td>\n", | |
| " <td>168</td>\n", | |
| " <td>173</td>\n", | |
| " <td>157</td>\n", | |
| " <td>159</td>\n", | |
| " <td>278</td>\n", | |
| " <td>123</td>\n", | |
| " <td>2353</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Lao People's Democratic Republic</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>11</td>\n", | |
| " <td>6</td>\n", | |
| " <td>16</td>\n", | |
| " <td>16</td>\n", | |
| " <td>7</td>\n", | |
| " <td>17</td>\n", | |
| " <td>21</td>\n", | |
| " <td>...</td>\n", | |
| " <td>42</td>\n", | |
| " <td>74</td>\n", | |
| " <td>53</td>\n", | |
| " <td>32</td>\n", | |
| " <td>39</td>\n", | |
| " <td>54</td>\n", | |
| " <td>22</td>\n", | |
| " <td>25</td>\n", | |
| " <td>15</td>\n", | |
| " <td>1089</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Lebanon</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1409</td>\n", | |
| " <td>1119</td>\n", | |
| " <td>1159</td>\n", | |
| " <td>789</td>\n", | |
| " <td>1253</td>\n", | |
| " <td>1683</td>\n", | |
| " <td>2576</td>\n", | |
| " <td>...</td>\n", | |
| " <td>3709</td>\n", | |
| " <td>3802</td>\n", | |
| " <td>3467</td>\n", | |
| " <td>3566</td>\n", | |
| " <td>3077</td>\n", | |
| " <td>3432</td>\n", | |
| " <td>3072</td>\n", | |
| " <td>1614</td>\n", | |
| " <td>2172</td>\n", | |
| " <td>115359</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Malaysia</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>786</td>\n", | |
| " <td>816</td>\n", | |
| " <td>813</td>\n", | |
| " <td>448</td>\n", | |
| " <td>384</td>\n", | |
| " <td>374</td>\n", | |
| " <td>425</td>\n", | |
| " <td>...</td>\n", | |
| " <td>593</td>\n", | |
| " <td>580</td>\n", | |
| " <td>600</td>\n", | |
| " <td>658</td>\n", | |
| " <td>640</td>\n", | |
| " <td>802</td>\n", | |
| " <td>409</td>\n", | |
| " <td>358</td>\n", | |
| " <td>204</td>\n", | |
| " <td>24417</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Maldives</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>1</td>\n", | |
| " <td>7</td>\n", | |
| " <td>4</td>\n", | |
| " <td>3</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Mongolia</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>59</td>\n", | |
| " <td>64</td>\n", | |
| " <td>82</td>\n", | |
| " <td>59</td>\n", | |
| " <td>118</td>\n", | |
| " <td>169</td>\n", | |
| " <td>103</td>\n", | |
| " <td>68</td>\n", | |
| " <td>99</td>\n", | |
| " <td>952</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Myanmar</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>80</td>\n", | |
| " <td>62</td>\n", | |
| " <td>46</td>\n", | |
| " <td>31</td>\n", | |
| " <td>41</td>\n", | |
| " <td>23</td>\n", | |
| " <td>18</td>\n", | |
| " <td>...</td>\n", | |
| " <td>210</td>\n", | |
| " <td>953</td>\n", | |
| " <td>1887</td>\n", | |
| " <td>975</td>\n", | |
| " <td>1153</td>\n", | |
| " <td>556</td>\n", | |
| " <td>368</td>\n", | |
| " <td>193</td>\n", | |
| " <td>262</td>\n", | |
| " <td>9245</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Nepal</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>6</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>4</td>\n", | |
| " <td>13</td>\n", | |
| " <td>...</td>\n", | |
| " <td>607</td>\n", | |
| " <td>540</td>\n", | |
| " <td>511</td>\n", | |
| " <td>581</td>\n", | |
| " <td>561</td>\n", | |
| " <td>1392</td>\n", | |
| " <td>1129</td>\n", | |
| " <td>1185</td>\n", | |
| " <td>1308</td>\n", | |
| " <td>10222</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Oman</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>8</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>14</td>\n", | |
| " <td>18</td>\n", | |
| " <td>16</td>\n", | |
| " <td>10</td>\n", | |
| " <td>7</td>\n", | |
| " <td>14</td>\n", | |
| " <td>10</td>\n", | |
| " <td>13</td>\n", | |
| " <td>11</td>\n", | |
| " <td>224</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Pakistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>978</td>\n", | |
| " <td>972</td>\n", | |
| " <td>1201</td>\n", | |
| " <td>900</td>\n", | |
| " <td>668</td>\n", | |
| " <td>514</td>\n", | |
| " <td>691</td>\n", | |
| " <td>...</td>\n", | |
| " <td>14314</td>\n", | |
| " <td>13127</td>\n", | |
| " <td>10124</td>\n", | |
| " <td>8994</td>\n", | |
| " <td>7217</td>\n", | |
| " <td>6811</td>\n", | |
| " <td>7468</td>\n", | |
| " <td>11227</td>\n", | |
| " <td>12603</td>\n", | |
| " <td>241600</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Philippines</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>6051</td>\n", | |
| " <td>5921</td>\n", | |
| " <td>5249</td>\n", | |
| " <td>4562</td>\n", | |
| " <td>3801</td>\n", | |
| " <td>3150</td>\n", | |
| " <td>4166</td>\n", | |
| " <td>...</td>\n", | |
| " <td>18139</td>\n", | |
| " <td>18400</td>\n", | |
| " <td>19837</td>\n", | |
| " <td>24887</td>\n", | |
| " <td>28573</td>\n", | |
| " <td>38617</td>\n", | |
| " <td>36765</td>\n", | |
| " <td>34315</td>\n", | |
| " <td>29544</td>\n", | |
| " <td>511391</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Qatar</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>...</td>\n", | |
| " <td>11</td>\n", | |
| " <td>2</td>\n", | |
| " <td>5</td>\n", | |
| " <td>9</td>\n", | |
| " <td>6</td>\n", | |
| " <td>18</td>\n", | |
| " <td>3</td>\n", | |
| " <td>14</td>\n", | |
| " <td>6</td>\n", | |
| " <td>157</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Republic of Korea</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1011</td>\n", | |
| " <td>1456</td>\n", | |
| " <td>1572</td>\n", | |
| " <td>1081</td>\n", | |
| " <td>847</td>\n", | |
| " <td>962</td>\n", | |
| " <td>1208</td>\n", | |
| " <td>...</td>\n", | |
| " <td>5832</td>\n", | |
| " <td>6215</td>\n", | |
| " <td>5920</td>\n", | |
| " <td>7294</td>\n", | |
| " <td>5874</td>\n", | |
| " <td>5537</td>\n", | |
| " <td>4588</td>\n", | |
| " <td>5316</td>\n", | |
| " <td>4509</td>\n", | |
| " <td>142581</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Saudi Arabia</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>5</td>\n", | |
| " <td>...</td>\n", | |
| " <td>198</td>\n", | |
| " <td>252</td>\n", | |
| " <td>188</td>\n", | |
| " <td>249</td>\n", | |
| " <td>246</td>\n", | |
| " <td>330</td>\n", | |
| " <td>278</td>\n", | |
| " <td>286</td>\n", | |
| " <td>267</td>\n", | |
| " <td>3425</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Singapore</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>241</td>\n", | |
| " <td>301</td>\n", | |
| " <td>337</td>\n", | |
| " <td>169</td>\n", | |
| " <td>128</td>\n", | |
| " <td>139</td>\n", | |
| " <td>205</td>\n", | |
| " <td>...</td>\n", | |
| " <td>392</td>\n", | |
| " <td>298</td>\n", | |
| " <td>690</td>\n", | |
| " <td>734</td>\n", | |
| " <td>366</td>\n", | |
| " <td>805</td>\n", | |
| " <td>219</td>\n", | |
| " <td>146</td>\n", | |
| " <td>141</td>\n", | |
| " <td>14579</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Sri Lanka</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>185</td>\n", | |
| " <td>371</td>\n", | |
| " <td>290</td>\n", | |
| " <td>197</td>\n", | |
| " <td>1086</td>\n", | |
| " <td>845</td>\n", | |
| " <td>1838</td>\n", | |
| " <td>...</td>\n", | |
| " <td>4930</td>\n", | |
| " <td>4714</td>\n", | |
| " <td>4123</td>\n", | |
| " <td>4756</td>\n", | |
| " <td>4547</td>\n", | |
| " <td>4422</td>\n", | |
| " <td>3309</td>\n", | |
| " <td>3338</td>\n", | |
| " <td>2394</td>\n", | |
| " <td>148358</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>State of Palestine</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>453</td>\n", | |
| " <td>627</td>\n", | |
| " <td>441</td>\n", | |
| " <td>481</td>\n", | |
| " <td>400</td>\n", | |
| " <td>654</td>\n", | |
| " <td>555</td>\n", | |
| " <td>533</td>\n", | |
| " <td>462</td>\n", | |
| " <td>6512</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Syrian Arab Republic</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>315</td>\n", | |
| " <td>419</td>\n", | |
| " <td>409</td>\n", | |
| " <td>269</td>\n", | |
| " <td>264</td>\n", | |
| " <td>385</td>\n", | |
| " <td>493</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1458</td>\n", | |
| " <td>1145</td>\n", | |
| " <td>1056</td>\n", | |
| " <td>919</td>\n", | |
| " <td>917</td>\n", | |
| " <td>1039</td>\n", | |
| " <td>1005</td>\n", | |
| " <td>650</td>\n", | |
| " <td>1009</td>\n", | |
| " <td>31485</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Tajikistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Central Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>85</td>\n", | |
| " <td>46</td>\n", | |
| " <td>44</td>\n", | |
| " <td>15</td>\n", | |
| " <td>50</td>\n", | |
| " <td>52</td>\n", | |
| " <td>47</td>\n", | |
| " <td>34</td>\n", | |
| " <td>39</td>\n", | |
| " <td>503</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Thailand</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>56</td>\n", | |
| " <td>53</td>\n", | |
| " <td>113</td>\n", | |
| " <td>65</td>\n", | |
| " <td>82</td>\n", | |
| " <td>66</td>\n", | |
| " <td>78</td>\n", | |
| " <td>...</td>\n", | |
| " <td>575</td>\n", | |
| " <td>500</td>\n", | |
| " <td>487</td>\n", | |
| " <td>519</td>\n", | |
| " <td>512</td>\n", | |
| " <td>499</td>\n", | |
| " <td>396</td>\n", | |
| " <td>296</td>\n", | |
| " <td>400</td>\n", | |
| " <td>9174</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Turkey</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>481</td>\n", | |
| " <td>874</td>\n", | |
| " <td>706</td>\n", | |
| " <td>280</td>\n", | |
| " <td>338</td>\n", | |
| " <td>202</td>\n", | |
| " <td>257</td>\n", | |
| " <td>...</td>\n", | |
| " <td>2065</td>\n", | |
| " <td>1638</td>\n", | |
| " <td>1463</td>\n", | |
| " <td>1122</td>\n", | |
| " <td>1238</td>\n", | |
| " <td>1492</td>\n", | |
| " <td>1257</td>\n", | |
| " <td>1068</td>\n", | |
| " <td>729</td>\n", | |
| " <td>31781</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Turkmenistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Central Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>40</td>\n", | |
| " <td>26</td>\n", | |
| " <td>37</td>\n", | |
| " <td>13</td>\n", | |
| " <td>20</td>\n", | |
| " <td>30</td>\n", | |
| " <td>20</td>\n", | |
| " <td>20</td>\n", | |
| " <td>14</td>\n", | |
| " <td>310</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>United Arab Emirates</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>0</td>\n", | |
| " <td>5</td>\n", | |
| " <td>...</td>\n", | |
| " <td>31</td>\n", | |
| " <td>42</td>\n", | |
| " <td>37</td>\n", | |
| " <td>33</td>\n", | |
| " <td>37</td>\n", | |
| " <td>86</td>\n", | |
| " <td>60</td>\n", | |
| " <td>54</td>\n", | |
| " <td>46</td>\n", | |
| " <td>836</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Uzbekistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Central Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>330</td>\n", | |
| " <td>262</td>\n", | |
| " <td>284</td>\n", | |
| " <td>215</td>\n", | |
| " <td>288</td>\n", | |
| " <td>289</td>\n", | |
| " <td>162</td>\n", | |
| " <td>235</td>\n", | |
| " <td>167</td>\n", | |
| " <td>3368</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Viet Nam</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>South-Eastern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1191</td>\n", | |
| " <td>1829</td>\n", | |
| " <td>2162</td>\n", | |
| " <td>3404</td>\n", | |
| " <td>7583</td>\n", | |
| " <td>5907</td>\n", | |
| " <td>2741</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1852</td>\n", | |
| " <td>3153</td>\n", | |
| " <td>2574</td>\n", | |
| " <td>1784</td>\n", | |
| " <td>2171</td>\n", | |
| " <td>1942</td>\n", | |
| " <td>1723</td>\n", | |
| " <td>1731</td>\n", | |
| " <td>2112</td>\n", | |
| " <td>97146</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Yemen</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Western Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>1</td>\n", | |
| " <td>6</td>\n", | |
| " <td>0</td>\n", | |
| " <td>18</td>\n", | |
| " <td>7</td>\n", | |
| " <td>...</td>\n", | |
| " <td>161</td>\n", | |
| " <td>140</td>\n", | |
| " <td>122</td>\n", | |
| " <td>133</td>\n", | |
| " <td>128</td>\n", | |
| " <td>211</td>\n", | |
| " <td>160</td>\n", | |
| " <td>174</td>\n", | |
| " <td>217</td>\n", | |
| " <td>2985</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>49 rows × 38 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Continent Region \\\n", | |
| "Afghanistan Asia Southern Asia \n", | |
| "Armenia Asia Western Asia \n", | |
| "Azerbaijan Asia Western Asia \n", | |
| "Bahrain Asia Western Asia \n", | |
| "Bangladesh Asia Southern Asia \n", | |
| "Bhutan Asia Southern Asia \n", | |
| "Brunei Darussalam Asia South-Eastern Asia \n", | |
| "Cambodia Asia South-Eastern Asia \n", | |
| "China Asia Eastern Asia \n", | |
| "China, Hong Kong Special Administrative Region Asia Eastern Asia \n", | |
| "China, Macao Special Administrative Region Asia Eastern Asia \n", | |
| "Cyprus Asia Western Asia \n", | |
| "Democratic People's Republic of Korea Asia Eastern Asia \n", | |
| "Georgia Asia Western Asia \n", | |
| "India Asia Southern Asia \n", | |
| "Indonesia Asia South-Eastern Asia \n", | |
| "Iran (Islamic Republic of) Asia Southern Asia \n", | |
| "Iraq Asia Western Asia \n", | |
| "Israel Asia Western Asia \n", | |
| "Japan Asia Eastern Asia \n", | |
| "Jordan Asia Western Asia \n", | |
| "Kazakhstan Asia Central Asia \n", | |
| "Kuwait Asia Western Asia \n", | |
| "Kyrgyzstan Asia Central Asia \n", | |
| "Lao People's Democratic Republic Asia South-Eastern Asia \n", | |
| "Lebanon Asia Western Asia \n", | |
| "Malaysia Asia South-Eastern Asia \n", | |
| "Maldives Asia Southern Asia \n", | |
| "Mongolia Asia Eastern Asia \n", | |
| "Myanmar Asia South-Eastern Asia \n", | |
| "Nepal Asia Southern Asia \n", | |
| "Oman Asia Western Asia \n", | |
| "Pakistan Asia Southern Asia \n", | |
| "Philippines Asia South-Eastern Asia \n", | |
| "Qatar Asia Western Asia \n", | |
| "Republic of Korea Asia Eastern Asia \n", | |
| "Saudi Arabia Asia Western Asia \n", | |
| "Singapore Asia South-Eastern Asia \n", | |
| "Sri Lanka Asia Southern Asia \n", | |
| "State of Palestine Asia Western Asia \n", | |
| "Syrian Arab Republic Asia Western Asia \n", | |
| "Tajikistan Asia Central Asia \n", | |
| "Thailand Asia South-Eastern Asia \n", | |
| "Turkey Asia Western Asia \n", | |
| "Turkmenistan Asia Central Asia \n", | |
| "United Arab Emirates Asia Western Asia \n", | |
| "Uzbekistan Asia Central Asia \n", | |
| "Viet Nam Asia South-Eastern Asia \n", | |
| "Yemen Asia Western Asia \n", | |
| "\n", | |
| " DevName 1980 \\\n", | |
| "Afghanistan Developing regions 16 \n", | |
| "Armenia Developing regions 0 \n", | |
| "Azerbaijan Developing regions 0 \n", | |
| "Bahrain Developing regions 0 \n", | |
| "Bangladesh Developing regions 83 \n", | |
| "Bhutan Developing regions 0 \n", | |
| "Brunei Darussalam Developing regions 79 \n", | |
| "Cambodia Developing regions 12 \n", | |
| "China Developing regions 5123 \n", | |
| "China, Hong Kong Special Administrative Region Developing regions 0 \n", | |
| "China, Macao Special Administrative Region Developing regions 0 \n", | |
| "Cyprus Developing regions 132 \n", | |
| "Democratic People's Republic of Korea Developing regions 1 \n", | |
| "Georgia Developing regions 0 \n", | |
| "India Developing regions 8880 \n", | |
| "Indonesia Developing regions 186 \n", | |
| "Iran (Islamic Republic of) Developing regions 1172 \n", | |
| "Iraq Developing regions 262 \n", | |
| "Israel Developing regions 1403 \n", | |
| "Japan Developed regions 701 \n", | |
| "Jordan Developing regions 177 \n", | |
| "Kazakhstan Developing regions 0 \n", | |
| "Kuwait Developing regions 1 \n", | |
| "Kyrgyzstan Developing regions 0 \n", | |
| "Lao People's Democratic Republic Developing regions 11 \n", | |
| "Lebanon Developing regions 1409 \n", | |
| "Malaysia Developing regions 786 \n", | |
| "Maldives Developing regions 0 \n", | |
| "Mongolia Developing regions 0 \n", | |
| "Myanmar Developing regions 80 \n", | |
| "Nepal Developing regions 1 \n", | |
| "Oman Developing regions 0 \n", | |
| "Pakistan Developing regions 978 \n", | |
| "Philippines Developing regions 6051 \n", | |
| "Qatar Developing regions 0 \n", | |
| "Republic of Korea Developing regions 1011 \n", | |
| "Saudi Arabia Developing regions 0 \n", | |
| "Singapore Developing regions 241 \n", | |
| "Sri Lanka Developing regions 185 \n", | |
| "State of Palestine Developing regions 0 \n", | |
| "Syrian Arab Republic Developing regions 315 \n", | |
| "Tajikistan Developing regions 0 \n", | |
| "Thailand Developing regions 56 \n", | |
| "Turkey Developing regions 481 \n", | |
| "Turkmenistan Developing regions 0 \n", | |
| "United Arab Emirates Developing regions 0 \n", | |
| "Uzbekistan Developing regions 0 \n", | |
| "Viet Nam Developing regions 1191 \n", | |
| "Yemen Developing regions 1 \n", | |
| "\n", | |
| " 1981 1982 1983 1984 1985 \\\n", | |
| "Afghanistan 39 39 47 71 340 \n", | |
| "Armenia 0 0 0 0 0 \n", | |
| "Azerbaijan 0 0 0 0 0 \n", | |
| "Bahrain 2 1 1 1 3 \n", | |
| "Bangladesh 84 86 81 98 92 \n", | |
| "Bhutan 0 0 0 1 0 \n", | |
| "Brunei Darussalam 6 8 2 2 4 \n", | |
| "Cambodia 19 26 33 10 7 \n", | |
| "China 6682 3308 1863 1527 1816 \n", | |
| "China, Hong Kong Special Administrative Region 0 0 0 0 0 \n", | |
| "China, Macao Special Administrative Region 0 0 0 0 0 \n", | |
| "Cyprus 128 84 46 46 43 \n", | |
| "Democratic People's Republic of Korea 1 3 1 4 3 \n", | |
| "Georgia 0 0 0 0 0 \n", | |
| "India 8670 8147 7338 5704 4211 \n", | |
| "Indonesia 178 252 115 123 100 \n", | |
| "Iran (Islamic Republic of) 1429 1822 1592 1977 1648 \n", | |
| "Iraq 245 260 380 428 231 \n", | |
| "Israel 1711 1334 541 446 680 \n", | |
| "Japan 756 598 309 246 198 \n", | |
| "Jordan 160 155 113 102 179 \n", | |
| "Kazakhstan 0 0 0 0 0 \n", | |
| "Kuwait 0 8 2 1 4 \n", | |
| "Kyrgyzstan 0 0 0 0 0 \n", | |
| "Lao People's Democratic Republic 6 16 16 7 17 \n", | |
| "Lebanon 1119 1159 789 1253 1683 \n", | |
| "Malaysia 816 813 448 384 374 \n", | |
| "Maldives 0 0 1 0 0 \n", | |
| "Mongolia 0 0 0 0 0 \n", | |
| "Myanmar 62 46 31 41 23 \n", | |
| "Nepal 1 6 1 2 4 \n", | |
| "Oman 0 0 8 0 0 \n", | |
| "Pakistan 972 1201 900 668 514 \n", | |
| "Philippines 5921 5249 4562 3801 3150 \n", | |
| "Qatar 0 0 0 0 0 \n", | |
| "Republic of Korea 1456 1572 1081 847 962 \n", | |
| "Saudi Arabia 0 1 4 1 2 \n", | |
| "Singapore 301 337 169 128 139 \n", | |
| "Sri Lanka 371 290 197 1086 845 \n", | |
| "State of Palestine 0 0 0 0 0 \n", | |
| "Syrian Arab Republic 419 409 269 264 385 \n", | |
| "Tajikistan 0 0 0 0 0 \n", | |
| "Thailand 53 113 65 82 66 \n", | |
| "Turkey 874 706 280 338 202 \n", | |
| "Turkmenistan 0 0 0 0 0 \n", | |
| "United Arab Emirates 2 2 1 2 0 \n", | |
| "Uzbekistan 0 0 0 0 0 \n", | |
| "Viet Nam 1829 2162 3404 7583 5907 \n", | |
| "Yemen 2 1 6 0 18 \n", | |
| "\n", | |
| " 1986 ... 2005 2006 \\\n", | |
| "Afghanistan 496 ... 3436 3009 \n", | |
| "Armenia 0 ... 224 218 \n", | |
| "Azerbaijan 0 ... 359 236 \n", | |
| "Bahrain 0 ... 12 12 \n", | |
| "Bangladesh 486 ... 4171 4014 \n", | |
| "Bhutan 0 ... 5 10 \n", | |
| "Brunei Darussalam 12 ... 4 5 \n", | |
| "Cambodia 8 ... 370 529 \n", | |
| "China 1960 ... 42584 33518 \n", | |
| "China, Hong Kong Special Administrative Region 0 ... 729 712 \n", | |
| "China, Macao Special Administrative Region 0 ... 21 32 \n", | |
| "Cyprus 48 ... 7 9 \n", | |
| "Democratic People's Republic of Korea 0 ... 14 10 \n", | |
| "Georgia 0 ... 114 125 \n", | |
| "India 7150 ... 36210 33848 \n", | |
| "Indonesia 127 ... 632 613 \n", | |
| "Iran (Islamic Republic of) 1794 ... 5837 7480 \n", | |
| "Iraq 265 ... 2226 1788 \n", | |
| "Israel 1212 ... 2446 2625 \n", | |
| "Japan 248 ... 1067 1212 \n", | |
| "Jordan 181 ... 1940 1827 \n", | |
| "Kazakhstan 0 ... 506 408 \n", | |
| "Kuwait 4 ... 66 35 \n", | |
| "Kyrgyzstan 0 ... 173 161 \n", | |
| "Lao People's Democratic Republic 21 ... 42 74 \n", | |
| "Lebanon 2576 ... 3709 3802 \n", | |
| "Malaysia 425 ... 593 580 \n", | |
| "Maldives 0 ... 0 0 \n", | |
| "Mongolia 0 ... 59 64 \n", | |
| "Myanmar 18 ... 210 953 \n", | |
| "Nepal 13 ... 607 540 \n", | |
| "Oman 0 ... 14 18 \n", | |
| "Pakistan 691 ... 14314 13127 \n", | |
| "Philippines 4166 ... 18139 18400 \n", | |
| "Qatar 1 ... 11 2 \n", | |
| "Republic of Korea 1208 ... 5832 6215 \n", | |
| "Saudi Arabia 5 ... 198 252 \n", | |
| "Singapore 205 ... 392 298 \n", | |
| "Sri Lanka 1838 ... 4930 4714 \n", | |
| "State of Palestine 0 ... 453 627 \n", | |
| "Syrian Arab Republic 493 ... 1458 1145 \n", | |
| "Tajikistan 0 ... 85 46 \n", | |
| "Thailand 78 ... 575 500 \n", | |
| "Turkey 257 ... 2065 1638 \n", | |
| "Turkmenistan 0 ... 40 26 \n", | |
| "United Arab Emirates 5 ... 31 42 \n", | |
| "Uzbekistan 0 ... 330 262 \n", | |
| "Viet Nam 2741 ... 1852 3153 \n", | |
| "Yemen 7 ... 161 140 \n", | |
| "\n", | |
| " 2007 2008 2009 2010 \\\n", | |
| "Afghanistan 2652 2111 1746 1758 \n", | |
| "Armenia 198 205 267 252 \n", | |
| "Azerbaijan 203 125 165 209 \n", | |
| "Bahrain 22 9 35 28 \n", | |
| "Bangladesh 2897 2939 2104 4721 \n", | |
| "Bhutan 7 36 865 1464 \n", | |
| "Brunei Darussalam 11 10 5 12 \n", | |
| "Cambodia 460 354 203 200 \n", | |
| "China 27642 30037 29622 30391 \n", | |
| "China, Hong Kong Special Administrative Region 674 897 657 623 \n", | |
| "China, Macao Special Administrative Region 16 12 21 21 \n", | |
| "Cyprus 4 7 6 18 \n", | |
| "Democratic People's Republic of Korea 7 19 11 45 \n", | |
| "Georgia 132 112 128 126 \n", | |
| "India 28742 28261 29456 34235 \n", | |
| "Indonesia 657 661 504 712 \n", | |
| "Iran (Islamic Republic of) 6974 6475 6580 7477 \n", | |
| "Iraq 2406 3543 5450 5941 \n", | |
| "Israel 2401 2562 2316 2755 \n", | |
| "Japan 1250 1284 1194 1168 \n", | |
| "Jordan 1421 1581 1235 1831 \n", | |
| "Kazakhstan 436 394 431 377 \n", | |
| "Kuwait 62 53 68 67 \n", | |
| "Kyrgyzstan 135 168 173 157 \n", | |
| "Lao People's Democratic Republic 53 32 39 54 \n", | |
| "Lebanon 3467 3566 3077 3432 \n", | |
| "Malaysia 600 658 640 802 \n", | |
| "Maldives 2 1 7 4 \n", | |
| "Mongolia 82 59 118 169 \n", | |
| "Myanmar 1887 975 1153 556 \n", | |
| "Nepal 511 581 561 1392 \n", | |
| "Oman 16 10 7 14 \n", | |
| "Pakistan 10124 8994 7217 6811 \n", | |
| "Philippines 19837 24887 28573 38617 \n", | |
| "Qatar 5 9 6 18 \n", | |
| "Republic of Korea 5920 7294 5874 5537 \n", | |
| "Saudi Arabia 188 249 246 330 \n", | |
| "Singapore 690 734 366 805 \n", | |
| "Sri Lanka 4123 4756 4547 4422 \n", | |
| "State of Palestine 441 481 400 654 \n", | |
| "Syrian Arab Republic 1056 919 917 1039 \n", | |
| "Tajikistan 44 15 50 52 \n", | |
| "Thailand 487 519 512 499 \n", | |
| "Turkey 1463 1122 1238 1492 \n", | |
| "Turkmenistan 37 13 20 30 \n", | |
| "United Arab Emirates 37 33 37 86 \n", | |
| "Uzbekistan 284 215 288 289 \n", | |
| "Viet Nam 2574 1784 2171 1942 \n", | |
| "Yemen 122 133 128 211 \n", | |
| "\n", | |
| " 2011 2012 2013 Total \n", | |
| "Afghanistan 2203 2635 2004 58639 \n", | |
| "Armenia 236 258 207 3310 \n", | |
| "Azerbaijan 138 161 57 2649 \n", | |
| "Bahrain 21 39 32 475 \n", | |
| "Bangladesh 2694 2640 3789 65568 \n", | |
| "Bhutan 1879 1075 487 5876 \n", | |
| "Brunei Darussalam 6 3 6 600 \n", | |
| "Cambodia 196 233 288 6538 \n", | |
| "China 28502 33024 34129 659962 \n", | |
| "China, Hong Kong Special Administrative Region 591 728 774 9327 \n", | |
| "China, Macao Special Administrative Region 13 33 29 284 \n", | |
| "Cyprus 6 12 16 1126 \n", | |
| "Democratic People's Republic of Korea 97 66 17 388 \n", | |
| "Georgia 139 147 125 2068 \n", | |
| "India 27509 30933 33087 691904 \n", | |
| "Indonesia 390 395 387 13150 \n", | |
| "Iran (Islamic Republic of) 7479 7534 11291 175923 \n", | |
| "Iraq 6196 4041 4918 69789 \n", | |
| "Israel 1970 2134 1945 66508 \n", | |
| "Japan 1265 1214 982 27707 \n", | |
| "Jordan 1635 1206 1255 35406 \n", | |
| "Kazakhstan 381 462 348 8490 \n", | |
| "Kuwait 58 73 48 2025 \n", | |
| "Kyrgyzstan 159 278 123 2353 \n", | |
| "Lao People's Democratic Republic 22 25 15 1089 \n", | |
| "Lebanon 3072 1614 2172 115359 \n", | |
| "Malaysia 409 358 204 24417 \n", | |
| "Maldives 3 1 1 30 \n", | |
| "Mongolia 103 68 99 952 \n", | |
| "Myanmar 368 193 262 9245 \n", | |
| "Nepal 1129 1185 1308 10222 \n", | |
| "Oman 10 13 11 224 \n", | |
| "Pakistan 7468 11227 12603 241600 \n", | |
| "Philippines 36765 34315 29544 511391 \n", | |
| "Qatar 3 14 6 157 \n", | |
| "Republic of Korea 4588 5316 4509 142581 \n", | |
| "Saudi Arabia 278 286 267 3425 \n", | |
| "Singapore 219 146 141 14579 \n", | |
| "Sri Lanka 3309 3338 2394 148358 \n", | |
| "State of Palestine 555 533 462 6512 \n", | |
| "Syrian Arab Republic 1005 650 1009 31485 \n", | |
| "Tajikistan 47 34 39 503 \n", | |
| "Thailand 396 296 400 9174 \n", | |
| "Turkey 1257 1068 729 31781 \n", | |
| "Turkmenistan 20 20 14 310 \n", | |
| "United Arab Emirates 60 54 46 836 \n", | |
| "Uzbekistan 162 235 167 3368 \n", | |
| "Viet Nam 1723 1731 2112 97146 \n", | |
| "Yemen 160 174 217 2985 \n", | |
| "\n", | |
| "[49 rows x 38 columns]" | |
| ] | |
| }, | |
| "execution_count": 54, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# 2. pass this condition into the dataFrame\n", | |
| "df_can[condition]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 55, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Continent</th>\n", | |
| " <th>Region</th>\n", | |
| " <th>DevName</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " <th>1986</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " <th>Total</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>Afghanistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>16</td>\n", | |
| " <td>39</td>\n", | |
| " <td>39</td>\n", | |
| " <td>47</td>\n", | |
| " <td>71</td>\n", | |
| " <td>340</td>\n", | |
| " <td>496</td>\n", | |
| " <td>...</td>\n", | |
| " <td>3436</td>\n", | |
| " <td>3009</td>\n", | |
| " <td>2652</td>\n", | |
| " <td>2111</td>\n", | |
| " <td>1746</td>\n", | |
| " <td>1758</td>\n", | |
| " <td>2203</td>\n", | |
| " <td>2635</td>\n", | |
| " <td>2004</td>\n", | |
| " <td>58639</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Bangladesh</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>83</td>\n", | |
| " <td>84</td>\n", | |
| " <td>86</td>\n", | |
| " <td>81</td>\n", | |
| " <td>98</td>\n", | |
| " <td>92</td>\n", | |
| " <td>486</td>\n", | |
| " <td>...</td>\n", | |
| " <td>4171</td>\n", | |
| " <td>4014</td>\n", | |
| " <td>2897</td>\n", | |
| " <td>2939</td>\n", | |
| " <td>2104</td>\n", | |
| " <td>4721</td>\n", | |
| " <td>2694</td>\n", | |
| " <td>2640</td>\n", | |
| " <td>3789</td>\n", | |
| " <td>65568</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Bhutan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>5</td>\n", | |
| " <td>10</td>\n", | |
| " <td>7</td>\n", | |
| " <td>36</td>\n", | |
| " <td>865</td>\n", | |
| " <td>1464</td>\n", | |
| " <td>1879</td>\n", | |
| " <td>1075</td>\n", | |
| " <td>487</td>\n", | |
| " <td>5876</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>India</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>8880</td>\n", | |
| " <td>8670</td>\n", | |
| " <td>8147</td>\n", | |
| " <td>7338</td>\n", | |
| " <td>5704</td>\n", | |
| " <td>4211</td>\n", | |
| " <td>7150</td>\n", | |
| " <td>...</td>\n", | |
| " <td>36210</td>\n", | |
| " <td>33848</td>\n", | |
| " <td>28742</td>\n", | |
| " <td>28261</td>\n", | |
| " <td>29456</td>\n", | |
| " <td>34235</td>\n", | |
| " <td>27509</td>\n", | |
| " <td>30933</td>\n", | |
| " <td>33087</td>\n", | |
| " <td>691904</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Iran (Islamic Republic of)</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1172</td>\n", | |
| " <td>1429</td>\n", | |
| " <td>1822</td>\n", | |
| " <td>1592</td>\n", | |
| " <td>1977</td>\n", | |
| " <td>1648</td>\n", | |
| " <td>1794</td>\n", | |
| " <td>...</td>\n", | |
| " <td>5837</td>\n", | |
| " <td>7480</td>\n", | |
| " <td>6974</td>\n", | |
| " <td>6475</td>\n", | |
| " <td>6580</td>\n", | |
| " <td>7477</td>\n", | |
| " <td>7479</td>\n", | |
| " <td>7534</td>\n", | |
| " <td>11291</td>\n", | |
| " <td>175923</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Maldives</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>...</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>2</td>\n", | |
| " <td>1</td>\n", | |
| " <td>7</td>\n", | |
| " <td>4</td>\n", | |
| " <td>3</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Nepal</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1</td>\n", | |
| " <td>6</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2</td>\n", | |
| " <td>4</td>\n", | |
| " <td>13</td>\n", | |
| " <td>...</td>\n", | |
| " <td>607</td>\n", | |
| " <td>540</td>\n", | |
| " <td>511</td>\n", | |
| " <td>581</td>\n", | |
| " <td>561</td>\n", | |
| " <td>1392</td>\n", | |
| " <td>1129</td>\n", | |
| " <td>1185</td>\n", | |
| " <td>1308</td>\n", | |
| " <td>10222</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Pakistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>978</td>\n", | |
| " <td>972</td>\n", | |
| " <td>1201</td>\n", | |
| " <td>900</td>\n", | |
| " <td>668</td>\n", | |
| " <td>514</td>\n", | |
| " <td>691</td>\n", | |
| " <td>...</td>\n", | |
| " <td>14314</td>\n", | |
| " <td>13127</td>\n", | |
| " <td>10124</td>\n", | |
| " <td>8994</td>\n", | |
| " <td>7217</td>\n", | |
| " <td>6811</td>\n", | |
| " <td>7468</td>\n", | |
| " <td>11227</td>\n", | |
| " <td>12603</td>\n", | |
| " <td>241600</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Sri Lanka</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>185</td>\n", | |
| " <td>371</td>\n", | |
| " <td>290</td>\n", | |
| " <td>197</td>\n", | |
| " <td>1086</td>\n", | |
| " <td>845</td>\n", | |
| " <td>1838</td>\n", | |
| " <td>...</td>\n", | |
| " <td>4930</td>\n", | |
| " <td>4714</td>\n", | |
| " <td>4123</td>\n", | |
| " <td>4756</td>\n", | |
| " <td>4547</td>\n", | |
| " <td>4422</td>\n", | |
| " <td>3309</td>\n", | |
| " <td>3338</td>\n", | |
| " <td>2394</td>\n", | |
| " <td>148358</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>9 rows × 38 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Continent Region DevName 1980 \\\n", | |
| "Afghanistan Asia Southern Asia Developing regions 16 \n", | |
| "Bangladesh Asia Southern Asia Developing regions 83 \n", | |
| "Bhutan Asia Southern Asia Developing regions 0 \n", | |
| "India Asia Southern Asia Developing regions 8880 \n", | |
| "Iran (Islamic Republic of) Asia Southern Asia Developing regions 1172 \n", | |
| "Maldives Asia Southern Asia Developing regions 0 \n", | |
| "Nepal Asia Southern Asia Developing regions 1 \n", | |
| "Pakistan Asia Southern Asia Developing regions 978 \n", | |
| "Sri Lanka Asia Southern Asia Developing regions 185 \n", | |
| "\n", | |
| " 1981 1982 1983 1984 1985 1986 ... 2005 \\\n", | |
| "Afghanistan 39 39 47 71 340 496 ... 3436 \n", | |
| "Bangladesh 84 86 81 98 92 486 ... 4171 \n", | |
| "Bhutan 0 0 0 1 0 0 ... 5 \n", | |
| "India 8670 8147 7338 5704 4211 7150 ... 36210 \n", | |
| "Iran (Islamic Republic of) 1429 1822 1592 1977 1648 1794 ... 5837 \n", | |
| "Maldives 0 0 1 0 0 0 ... 0 \n", | |
| "Nepal 1 6 1 2 4 13 ... 607 \n", | |
| "Pakistan 972 1201 900 668 514 691 ... 14314 \n", | |
| "Sri Lanka 371 290 197 1086 845 1838 ... 4930 \n", | |
| "\n", | |
| " 2006 2007 2008 2009 2010 2011 2012 \\\n", | |
| "Afghanistan 3009 2652 2111 1746 1758 2203 2635 \n", | |
| "Bangladesh 4014 2897 2939 2104 4721 2694 2640 \n", | |
| "Bhutan 10 7 36 865 1464 1879 1075 \n", | |
| "India 33848 28742 28261 29456 34235 27509 30933 \n", | |
| "Iran (Islamic Republic of) 7480 6974 6475 6580 7477 7479 7534 \n", | |
| "Maldives 0 2 1 7 4 3 1 \n", | |
| "Nepal 540 511 581 561 1392 1129 1185 \n", | |
| "Pakistan 13127 10124 8994 7217 6811 7468 11227 \n", | |
| "Sri Lanka 4714 4123 4756 4547 4422 3309 3338 \n", | |
| "\n", | |
| " 2013 Total \n", | |
| "Afghanistan 2004 58639 \n", | |
| "Bangladesh 3789 65568 \n", | |
| "Bhutan 487 5876 \n", | |
| "India 33087 691904 \n", | |
| "Iran (Islamic Republic of) 11291 175923 \n", | |
| "Maldives 1 30 \n", | |
| "Nepal 1308 10222 \n", | |
| "Pakistan 12603 241600 \n", | |
| "Sri Lanka 2394 148358 \n", | |
| "\n", | |
| "[9 rows x 38 columns]" | |
| ] | |
| }, | |
| "execution_count": 55, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# we can pass mutliple criteria in the same line. \n", | |
| "# let's filter for AreaNAme = Asia and RegName = Southern Asia\n", | |
| "\n", | |
| "df_can[(df_can['Continent']=='Asia') & (df_can['Region']=='Southern Asia')]\n", | |
| "\n", | |
| "# note: When using 'and' and 'or' operators, pandas requires we use '&' and '|' instead of 'and' and 'or'\n", | |
| "# don't forget to enclose the two conditions in parentheses" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Before we proceed: let's review the changes we have made to our dataframe." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 56, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "data dimensions: (195, 38)\n", | |
| "Index(['Continent', 'Region', 'DevName', '1980', '1981', '1982', '1983',\n", | |
| " '1984', '1985', '1986', '1987', '1988', '1989', '1990', '1991', '1992',\n", | |
| " '1993', '1994', '1995', '1996', '1997', '1998', '1999', '2000', '2001',\n", | |
| " '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010',\n", | |
| " '2011', '2012', '2013', 'Total'],\n", | |
| " dtype='object')\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>Continent</th>\n", | |
| " <th>Region</th>\n", | |
| " <th>DevName</th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " <th>1986</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " <th>Total</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>Afghanistan</th>\n", | |
| " <td>Asia</td>\n", | |
| " <td>Southern Asia</td>\n", | |
| " <td>Developing regions</td>\n", | |
| " <td>16</td>\n", | |
| " <td>39</td>\n", | |
| " <td>39</td>\n", | |
| " <td>47</td>\n", | |
| " <td>71</td>\n", | |
| " <td>340</td>\n", | |
| " <td>496</td>\n", | |
| " <td>...</td>\n", | |
| " <td>3436</td>\n", | |
| " <td>3009</td>\n", | |
| " <td>2652</td>\n", | |
| " <td>2111</td>\n", | |
| " <td>1746</td>\n", | |
| " <td>1758</td>\n", | |
| " <td>2203</td>\n", | |
| " <td>2635</td>\n", | |
| " <td>2004</td>\n", | |
| " <td>58639</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>Albania</th>\n", | |
| " <td>Europe</td>\n", | |
| " <td>Southern Europe</td>\n", | |
| " <td>Developed regions</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " <td>...</td>\n", | |
| " <td>1223</td>\n", | |
| " <td>856</td>\n", | |
| " <td>702</td>\n", | |
| " <td>560</td>\n", | |
| " <td>716</td>\n", | |
| " <td>561</td>\n", | |
| " <td>539</td>\n", | |
| " <td>620</td>\n", | |
| " <td>603</td>\n", | |
| " <td>15699</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>2 rows × 38 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " Continent Region DevName 1980 1981 1982 \\\n", | |
| "Afghanistan Asia Southern Asia Developing regions 16 39 39 \n", | |
| "Albania Europe Southern Europe Developed regions 1 0 0 \n", | |
| "\n", | |
| " 1983 1984 1985 1986 ... 2005 2006 2007 2008 2009 2010 \\\n", | |
| "Afghanistan 47 71 340 496 ... 3436 3009 2652 2111 1746 1758 \n", | |
| "Albania 0 0 0 1 ... 1223 856 702 560 716 561 \n", | |
| "\n", | |
| " 2011 2012 2013 Total \n", | |
| "Afghanistan 2203 2635 2004 58639 \n", | |
| "Albania 539 620 603 15699 \n", | |
| "\n", | |
| "[2 rows x 38 columns]" | |
| ] | |
| }, | |
| "execution_count": 56, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "print('data dimensions:', df_can.shape)\n", | |
| "print(df_can.columns)\n", | |
| "df_can.head(2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "---\n", | |
| "# Visualizing Data using Matplotlib<a id=\"8\"></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "## Matplotlib: Standard Python Visualization Library<a id=\"10\"></a>\n", | |
| "\n", | |
| "The primary plotting library we will explore in the course is [Matplotlib](http://matplotlib.org/). As mentioned on their website: \n", | |
| ">Matplotlib is a Python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, the Python and IPython shell, the jupyter notebook, web application servers, and four graphical user interface toolkits.\n", | |
| "\n", | |
| "If you are aspiring to create impactful visualization with python, Matplotlib is an essential tool to have at your disposal." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "### Matplotlib.Pyplot\n", | |
| "\n", | |
| "One of the core aspects of Matplotlib is `matplotlib.pyplot`. It is Matplotlib's scripting layer which we studied in details in the videos about Matplotlib. Recall that it is a collection of command style functions that make Matplotlib work like MATLAB. Each `pyplot` function makes some change to a figure: e.g., creates a figure, creates a plotting area in a figure, plots some lines in a plotting area, decorates the plot with labels, etc. In this lab, we will work with the scripting layer to learn how to generate line plots. In future labs, we will get to work with the Artist layer as well to experiment first hand how it differs from the scripting layer. \n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Let's start by importing `Matplotlib` and `Matplotlib.pyplot` as follows:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 57, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "# we are using the inline backend\n", | |
| "%matplotlib inline \n", | |
| "\n", | |
| "import matplotlib as mpl\n", | |
| "import matplotlib.pyplot as plt" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "*optional: check if Matplotlib is loaded." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 58, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Matplotlib version: 3.1.1\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print ('Matplotlib version: ', mpl.__version__) # >= 2.0.0" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "*optional: apply a style to Matplotlib." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 59, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "['Solarize_Light2', '_classic_test', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark-palette', 'seaborn-dark', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'seaborn', 'tableau-colorblind10']\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print(plt.style.available)\n", | |
| "mpl.style.use(['ggplot']) # optional: for ggplot-like style" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "### Plotting in *pandas*\n", | |
| "\n", | |
| "Fortunately, pandas has a built-in implementation of Matplotlib that we can use. Plotting in *pandas* is as simple as appending a `.plot()` method to a series or dataframe.\n", | |
| "\n", | |
| "Documentation:\n", | |
| "- [Plotting with Series](http://pandas.pydata.org/pandas-docs/stable/api.html#plotting)<br>\n", | |
| "- [Plotting with Dataframes](http://pandas.pydata.org/pandas-docs/stable/api.html#api-dataframe-plotting)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "# Line Pots (Series/Dataframe) <a id=\"12\"></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "**What is a line plot and why use it?**\n", | |
| "\n", | |
| "A line chart or line plot is a type of plot which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields.\n", | |
| "Use line plot when you have a continuous data set. These are best suited for trend-based visualizations of data over a period of time." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "**Let's start with a case study:**\n", | |
| "\n", | |
| "In 2010, Haiti suffered a catastrophic magnitude 7.0 earthquake. The quake caused widespread devastation and loss of life and aout three million people were affected by this natural disaster. As part of Canada's humanitarian effort, the Government of Canada stepped up its effort in accepting refugees from Haiti. We can quickly visualize this effort using a `Line` plot:\n", | |
| "\n", | |
| "**Question:** Plot a line graph of immigration from Haiti using `df.plot()`.\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "First, we will extract the data series for Haiti." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 60, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "1980 1666\n", | |
| "1981 3692\n", | |
| "1982 3498\n", | |
| "1983 2860\n", | |
| "1984 1418\n", | |
| "Name: Haiti, dtype: object" | |
| ] | |
| }, | |
| "execution_count": 60, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "haiti = df_can.loc['Haiti', years] # passing in years 1980 - 2013 to exclude the 'total' column\n", | |
| "haiti.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Next, we will plot a line plot by appending `.plot()` to the `haiti` dataframe." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 61, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f08a4c98d68>" | |
| ] | |
| }, | |
| "execution_count": 61, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "haiti.plot()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "*pandas* automatically populated the x-axis with the index values (years), and the y-axis with the column values (population). However, notice how the years were not displayed because they are of type *string*. Therefore, let's change the type of the index values to *integer* for plotting.\n", | |
| "\n", | |
| "Also, let's label the x and y axis using `plt.title()`, `plt.ylabel()`, and `plt.xlabel()` as follows:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 62, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEaCAYAAAAG87ApAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeXxU1fn48c+52VkSshKysAZEFgkaZBEJIK0VqVpsRS0qEZSfu2JbraiUKooLoPgFtUBxoda1xLpVBRTUiMYFFDd2MEDIMkkg6yS55/fHTUZCEjKTzJIJz/v1yovkzl3OnZA8uec85zxKa60RQgghnGT4ugFCCCH8iwQOIYQQLpHAIYQQwiUSOIQQQrhEAocQQgiXSOAQQgjhEgkcwm+NHz+eWbNm+bQNH374IUopcnJyvHK9u+66i+7du6OU4plnnvHKNb2td+/e3H///SfcZ+/evSil+Pjjj73UKnEsJfM4RGvNmDGDnJwc1q1b55Pr22w2AgMDCQ8P98r1AgMDWblyJTNmzHBss9vt2Gw24uLiMAzP/h322WefMWrUKDIzMxk5ciQRERGEhYV59JrOeOaZZ5g1axY1NTWNXhs/fjwpKSmsXLnS6fPl5+fTqVMnOnfuDEBKSgrTp0/nb3/7m2Of2tpa8vPziY6OJigoqM33IFwT6OsGCNFaUVFRbT5HdXU1gYGBKKVadXxwcDDx8fFtboczduzYgWEYXHjhhc3u09b7aQ9iY2Nb3CcgIMBr77toTLqqhNvMmDGDSZMm8cQTT5CUlESXLl2YNWsW1dXVPPXUU/Tq1YvIyEiuvfZa7Ha747jx48czc+ZM7r77buLi4ujWrRtz587FNE3+/ve/0717d2JjY5k7d26D6x3fVVVRUcG1115LREQEkZGRXH/99fz1r38lJSWlyTb27t2bkJAQysrKeP/99xk/fjxRUVFERESQnp7O559/7jiud+/e1NbWkpGRgVLK8Yu5qa6qzZs3M27cOMLCwoiMjOTyyy8nLy/P8frf/vY3UlJSeP311xk4cCCdO3dmwoQJ7Nq164Tv7RVXXIFpmg2u39z9VFdXc+edd5KYmEhwcDCDBg3ihRdeaHBOpRRPPPEE06ZNo3PnzvTs2ZNXX32VkpIS/vjHP9K1a1f69u3La6+95tT33xktvc/QsKtq/Pjx7Nq1i/nz5zvue+/evdJV5WMSOIRbZWdn88UXX/D+++/zwgsvsGbNGi688EKysrJ45513eP7553n++edZtWpVg+NeffVVqqur+fjjj1m8eDEPPPAAU6ZMobS0lI8++ohHH32UBx54gHfeeafZa99xxx28/vrrPP/882zevJmIiAiWL1/eaL/PP/+cDRs2kJmZydatWwkNDaW0tJQbbriBzZs3k5WVRf/+/fnNb35DYWGh474CAgJ47LHHOHToEIcOHWqyDbm5ufz6178mKSmJzz//nDfeeINt27Zx8cUXN9jv0KFDPPnkk/zrX/8iKyuL4uJirr766mbv7fHHH+exxx4jICCg0fWbup+77rqLFStW8Nhjj7Ft2zamT5/O9OnTWb9+fYPzLliwgMmTJ7N161amTJnClVdeyaWXXsqvfvUrvv76a84//3yuvPJKx/vQVi29z8f7z3/+Q+/evbn99tsd952cnOyWtog20EK00lVXXaXPOeecBl/Hxsbqqqoqx7bJkyfr6OhoXVlZ6dh2wQUX6IsvvtjxdXp6uh42bFiDcw8aNEgPGTKkwbbTTjtN33777Q2OmzlzptZa69LSUh0cHKxXrlzZ4JiRI0fqfv36NWhjRESEPnr06Anvrba2Vnfr1k2vWbPGsS0gIECvXr26wX4ffPCBBvTPP/+stdb67rvv1omJiQ3egy1btmhAb9y4UWut9bx583RAQIDOy8tz7PPvf/9bK6V0RUVFs21avXq1DggIaLCtqfspKyvTwcHBetmyZQ32veiii/SECRMcXwP6lltucXydl5enAX3jjTc6ttlsNg3oN95444TtAnTnzp0bfRiG4fgeNaWp97lXr176vvvuc3zdr18/PW/evAbH7dmzRwP6o48+avbcwnPkiUO41amnnkpwcLDj6/j4eE455RRCQkIabDu26wZg2LBhDb6Oj4/ntNNOa7Tt+OPq7dy5E7vdzqhRoxpsHz16dJNt7NKlS4Nte/bs4YorriAlJYXw8HDCw8MpKSlh3759J7jbxr777jtGjRrV4D0YNmwYERERfPfdd45tCQkJDfryExMT0Vo3e38ncvz91L8X48aNa7Bfenp6gzbUt61ebGwsAQEBDd73yMhIgoODW2xXQEAAW7ZsafSRlpbWYD93vc/Ct2RwXLjV8RkuSqkmt5mm6ZbjjufMoHB9ts6xpkyZQkxMDMuWLSM5OZng4GDGjh3bYCzGWc214djtxwaWY19r6f6a0tT9NNUOrXWjbU1lJLXmfQcajCXVOz7ry53vs/AdCRyiQ0hJSSE4OJhPP/2UQYMGObZv3ry5xWMLCwv5/vvvefvttzn33HMByMnJafRXdnBwMLW1tSc81+DBg1m9ejV2u90RHLZu3UpJSQmDBw929bZaJSUlhZCQEDZu3Njgmps2bfJaG5ri7Pt8PGfed+FdEjhEh9C5c2dmz57N3XffTffu3RkwYADPPvssP/zwQ4vpnZGRkcTGxrJixQr69etHYWEhf/nLXxr9tdynTx8++OADzjvvPIKDg4mJiWl0rhtvvJHHH3+cGTNmcNddd1FcXMz111/P2LFjOfvss916z83p1KkTN998M/fccw+xsbGkpqbyyiuv8Prrr/P+++97pQ1NcfZ9Pl6fPn345JNP2L9/P506dXJLGrZoGxnjEB3GQw89xG9/+1suv/xyzjzzTIqKipgxYwahoaEnPM4wDF555RV27drFaaedxowZM7j11lvp0aNHg/0WLVrEl19+SZ8+fZoNRt27d+e9994jJyeHESNGMGXKFIYMGeLWlFZnLFiwgGuuuYZbb72VwYMHs2bNGtasWcM555zj1XYcy9n3+Xjz58+npKSEU045hdjYWPbv3++lFovmyMxx0aFNnDiRyMhIr//iFqIjk64q0WF8++23fPXVV4wePRq73c7zzz/PBx98wNtvv+3rpgnRoUjgEB2GUoonn3ySm2++GdM0GThwIGvXruW8887zddOE6FCkq0oIIYRLZHBcCCGESyRwCCGEcMlJM8Zx8OBBXzehzWJiYigoKPB1M9xC7qV96ij30lHuA3x7LwkJCU1ulycOIYQQLpHAIYQQwiUSOIQQQrhEAocQQgiXSOAQQgjhEgkcQgghXCKBQwghhEskcAghhJ/T+bnorz712vUkcAghhJ/T763FfGohOu+QV64ngUMIIfycPpQDWqM3vuOV60ngEEIIf3f4AAD64/fRVVUev5wEDiGE8GO6shyKbTA0DcrL0J9v9Pg1JXAIIYQ/O2wt4GqMnQRJvdEb3sLTZZYkcAghhB/TuVY3Fd2TUBPOh5w9sPMHj15TAocQQviz3AOgDIjrgRqZDp06oz94y6OXlMAhhBD+7PABiIlDBQWhQkJRZ01Cf5WFLrZ57JISOIQQwo/pwweg+y8Fl9T486C2Fr3pXY9dUwKHEEL4Ka01HD6I6p7o2KbiEmDIGehN76JrajxyXQkcQgjhr4oKoaoS4hMbbDYmng8lNvTXmz1yWQkcQgjhr+om/h37xAHA4NMhNh79wZseuawEDiGE8FOOVNz4pAbblWGgxk+GHd+jf97j9utK4BBCCH91+ACEhEG3qEYvqbMmQXCwR1JzJXAIIYSf0rk50D0BpVSj11TnLqiR49GffYguK3XrdSVwCCGEv8o9gDpuYPxYavxksNvRWevdetlAt57tBMrKynjqqaf4+eefUUpx3XXXkZCQwJIlS8jPzyc2NpbbbruNLl26ALB27Vo2bNiAYRhkZGSQmpoKwO7du1m2bBl2u53hw4eTkZHRZLQVQoiOTNurwJYPY85pdh/Vsy+kDEJ/8Bb6nN+iDPc8K3jtiWP16tWkpqby2GOP8cgjj5CYmEhmZiZDhw5l6dKlDB06lMzMTABycnLIyspi8eLFzJ07l1WrVmGaJgArVqxg9uzZLF26lNzcXLZs2eKtWxBCiPYj7xBo3SgV93hqwmTIz4Xvvnbbpb0SOMrLy/nhhx+YOHEiAIGBgXTu3Jns7GzS09MBSE9PJzs7G4Ds7GzGjBlDUFAQcXFxxMfHs3PnToqKiqioqGDAgAEopRg3bpzjGCGEOKnUrYrbKBX3OOr00RARienGQXKvdFXl5eURHh7O8uXL2bdvH3379mXGjBmUlJQQGRkJQGRkJEeOHAHAZrPRv39/x/FRUVHYbDYCAgKIjo52bI+OjsZma3o9lnXr1rFu3ToAFi5cSExMjKduz2sCAwM7xH2A3Et71VHupaPcBzR/L2VHiygFogcNxQjrdMJzlP7md5S9vJpu1ZUE9kg64b5OtanNZ3BCbW0te/bs4eqrr6Z///6sXr3a0S3VlObWkndljflJkyYxadIkx9cFBQXON7idiomJ6RD3AXIv7VVHuZeOch/Q/L2Yu7dDt2hsZeVQVn7Cc+i0s+HVZ7FlvoDxh6udvnZCQkKT273SVRUdHU10dLTjKWLUqFHs2bOHiIgIioqKACgqKiI8PNyxf2FhoeN4m81GVFRUo+2FhYVERTXOXxZCiI5O5x5ocXyjnuoWjTp9jNtKy3olcHTr1o3o6GgOHrT65L799luSkpJIS0tj40arzOHGjRsZMWIEAGlpaWRlZVFdXU1eXh6HDh0iJSWFyMhIwsLC2L59O1prNm3aRFpamjduQQgh2g1rccMTp+IeT42f7LbSsl5Lx7366qtZunQpNTU1xMXFcf3116O1ZsmSJWzYsIGYmBjmzJkDQHJyMqNHj2bOnDkYhsHMmTMx6tLIZs2axfLly7Hb7aSmpjJ8+HBv3YIQQrQPR0ugvAxaGBhvoP+gX0rLjv1Vm6YxKO3p4rTtRP3Tjj87Gfpt/ZHcS/vTUe4Dmr4Xvf07zEf+inHLPNSQM5w+l7nhTfS//4HxwD9QsfEt7u/TMQ4hhBDuow/X1xl34YkDUD37WZ/k5rTp+hI4hBDC3+QegMAgiI517bi6MRF9SAKHEEKcVOrLxSojwKXjVJdw6BohTxxCCHHSyW1YZ9wl8YnWqrptIIFDCCH8iK6pgYLcFpcaaY6KT7ICTxtI4BBCCH9ScBhqa52e/NdIfBIcLUGXHml1EyRwCCGEP2muzriTVP1aVW146pDAIYQQfqS5OuNOqws4jpTeVnAqcLz55pvs3bsXgO3bt3Pddddx4403sn379lZfWAghRCscPgBdI1Cdu7Tu+Jg4CAyENqTkOhU43nrrLeLi4gD497//zZQpU5g6dSrPPPNMqy8shBDCdVad8VaOb4CVwtu9bZlVTgWO8vJyOnXqREVFBXv37uW8885j4sSJHWIZDyGE8Cst1Bl3Snxim8Y4nFrkMDo6mp9++omff/6ZU089FcMwKC8vdyw8KIQQwvN0eam1wGEbA4eKT0J/vRldU40KDHL5eKcCx/Tp01m8eDGBgYHcfvvtAHz11VekpKS4fEEhhBCtlNu2jCqH+CQwTasWeY9klw93KnCcfvrpPP300w22jRo1itGjR7t8QSGEEK3jyKhqY+BQPZLQYA2QtyJwONXXlJGR0WhbYGAgs2fPdvmCQgghWunwQTAMiO3etvPUp+S2coDcqcBRW1vbaFtNTQ2mabbqokIIIVynD+dATHyrxiWOpULDoFt0qwfIT9hVde+996KUorq6mnnz5jV4rbCwkAEDBrTqokIIIVrBhTrjLeqR1OonjhMGjokTJwKwc+dOJkyY4NiulCIiIoIhQ4a06qJCCCFco00T8g6hBrunXLaKT0Rv3ojW2uUysicMHOPHjwegf//+JCa6KcoJIYRwnS0fqu1tHhh3iE+CijI4UgwRkS4d6lRWVWJiIlu3bmXv3r1UVlY2eG3atGkuXVAIIUQr1KfiuqmrSsXXZVbl5ngmcKxatYpPP/2UwYMHExIS0oomCiGEaAvHooTuGuOoWyRRH8pBnTLUpUOdChyffPIJDz/8MDExMa43TgghRNvlHoCwztC1m3vOFxkNIaGtKiPrVDpu165d6dy5s8snF0II4R76sJVR5epAdnOUUhDfuswqpwLHlClTWLp0Kdu3b+fw4cMNPoQQQnhB7gFUa+uMN0N1b91ih051Va1cuRKw1qc63ksvveTyRYUQQjhPV1VCUYH7Mqrq9UiE7E3oqiqUC+PXTgUOCQ5CCOFDh60SFu7KqKqn4pPQWkPeQUju4/Rxsi66EEK0c27PqKpXn1nl4jiHU08ctbW1vPvuu3z//fccPXq0wWvz58936YJCCCFclHsAlII4945x0D3BOq+LZWSdeuJ49tlnWbduHYMGDWL37t2MHDmSkpISBg8e3Kq2CiGEcEHuAYiKRQW7dx6dCgqGmO4up+Q69cTx2WefsWDBAmJiYnj55ZeZPHkyw4YN4x//+IfTF7rhhhsIDQ3FMAwCAgJYuHAhpaWlLFmyhPz8fGJjY7ntttvo0sUqwL527Vo2bNiAYRhkZGSQmpoKwO7du1m2bBl2u53hw4eTkZHhtvQ0IYRoj/ThA+4fGK/XipRcp5447HY70dHRAAQHB1NVVUViYiJ79+516WLz5s3jkUceYeHChQBkZmYydOhQli5dytChQ8nMzAQgJyeHrKwsFi9ezNy5c1m1apVjCfcVK1Ywe/Zsli5dSm5uLlu2bHGpDUII4U+01u6pM94MFZ8Ihw9Yiyg6yanAkZiYyK5duwDo27cvr7zyCq+99hpRUVGta2md7Oxs0tPTAUhPTyc7O9uxfcyYMQQFBREXF0d8fDw7d+6kqKiIiooKBgwYgFKKcePGOY4RQoiOyCwqgKoK9w+M14tPBLvdSvd1klNdVTNmzCAgIACAq666ipUrV1JRUcG1117rUvsWLFgAwK9+9SsmTZpESUkJkZHW4lqRkZEcOXIEAJvNRv/+/R3HRUVFYbPZCAgIcDz5AERHR2Oz2Zq81rp161i3bh0ACxcu7BDLpQQGBnaI+wC5l/aqo9xLR7kPgNrvrV6ViAGDCPHAPdlPGUwREF5+hJBTBjl1TIuBwzRN9u/fz9lnnw1Ajx49uOeee1xu3H333UdUVBQlJSXcf//9JCQ0nx2gtXZpe1MmTZrEpEmTHF8XFDgfTdurmJiYDnEfIPfSXnWUe+ko9wHQaf8eAI6EdkF54J50WFcASrb/gJGc0uC15n5Pt9hVZRgGzz33HEFBbStVWN+tFRERwYgRI9i5cycREREUFRUBUFRURHh4OGA9SRQWFjqOtdlsREVFNdpeWFjY5u4yIYRoz2oP7ofgYGtRQk/oGgGduriUWeXUGMcZZ5zBF1980ep2VVZWUlFR4fj8m2++oWfPnqSlpbFx40YANm7cyIgRIwBIS0sjKyuL6upq8vLyOHToECkpKURGRhIWFsb27dvRWrNp0ybS0tJa3S4hhGjvag7uh7hElOGZ+dpKKauMrAtzOZwa46iurmbx4sUMGDCA6OjoBumvN954Y4vHl5SU8OijjwLWZMKxY8eSmppKv379WLJkCRs2bCAmJoY5c+YAkJyczOjRo5kzZw6GYTBz5kyMujdt1qxZLF++HLvdTmpqKsOHu6eMohBCtEe1B/ajkpxfDqQ1VHwietvXTu/vVOBITk4mOTm51Y3q3r07jzzySKPtXbt25d57723ymKlTpzJ16tRG2/v168eiRYta3RYhhPAXuroaM+8QKm2sZy8UnwSfrEeXl6E6tVxCw6nA8Yc//KHN7RJCCOGi/ENgmp6b/FfHUUb28AHoM6DF/Z0KHNu2bWv64MBAoqOjiY2NdaWNQgghnOHmOuPNqju/PpSDclfgePLJJx3ZT127dnUsdBgREUFxcTE9e/bk1ltvpUePHq1tthBCiOM4VsX18BMHMfEQEOB0ZpVTgWPixImUl5czbdo0goODsdvtvPzyy3Tq1InJkyfz3HPPsXLlylbN7xBCCNGM3AMYkTGosE4evYwKDITYHr8EqhY4ld/19ttvc/nllxMcHAxY61VdeumlvPXWW4SGhnLllVeye/fu1rdaCCFEI7owj4DuXurJiU9yenl1pwJHaGioY62qert37yakrtSg4aH8YiGEOKmVFGFEemfpFNUjEfIOoWtrW9zXqa6qSy65hPvvv5+0tDTH7O0vv/ySq6++GoBvv/2WkSNHtq3VQgghGiqxYUR5ac2t+CSorYGCw1aBpxNwKnCkp6fTr18/Nm/eTFFREQkJCUydOpWkJKvs4BlnnMEZZ5zR9oYLIYQAQFdVQkU5AV4KHI6U3Nwc9wQOgKSkJH7/+9+3sWlCCCGcUmKt/O2tripHSm5uDmrYmSfctdnA8fTTTzN79mwAnnjiiWar7Dmz5IgQQggXFdcFDm89cXTqAuHdnBogbzZwxMXFOT6Pj493T8uEEEI4RdcFDm91VQFOl5FtNnD87ne/c3wuS44IIYSX1T9xREZDpd0rl1TxSegvP2lxP6fHOPLy8ti/fz+VlZUNto8d6+HFt4QQ4mRUUgRBwajOXaGysOX93aFHIpQdRR89guoa3uxuTgWOtWvX8uqrr5KcnOyYBAjWOu4SOIQQwgOKbdAtqtnxZU9okFnVtfkysk4FjjfffJOHHnrIkX4rhBDCs3SJDSIivXvReOt3vM7NQfVvPnA4NeW7S5cusgKuEEJ4U4kNFeHl0thRsRAU3OJih04FjhkzZvD000+za9cuCgoKGnwIIYTwgLquKm9ShgHdE1ssI+tUV1VNTQ3ffPMNn3zSeLT9pZdeal0LhRBCNElXVkBlhdcDB9SVkd2384T7OBU4Vq5cyWWXXcZZZ53VYHBcCCGEB5RY9Y/wdlcVWOMcX2ahq5tPAXaqq8o0TSZMmEBoaCiGYTT4EEII4WZ1cziUD544iE8EbULeoWZ3ceo3/29/+1syMzPRWrutbUIIIZqmi+vmbfiiq6pHXfbsCQbIneqqeueddyguLmbt2rV06dKlwWtPPvlk61sohBCisboFDr2ejguOMrU6t/lqgE4Fjptuusk9DRJCCNGykiIIDoawzl6/tAoJtdJy2/rEMWhQ8xNBhBBCuFmxDSK8O2u8gfikE6bkOhU4amtr+eSTT9izZ0+jtarql14XQgjhHroucPiK6pGE/nhds687FTieeOIJ9u/fT2pqKhEREW5rnBBCiCaUFKGS+/ju+t0Toaqi2ZedChxbtmzhySefJCwszG3tEkII0YxiGwz1XTluFZ/IiXJonUrHTUpKorS01E1NEkII0RxdWW79te+LjKp6ffpj/PnBZl92OqvqqaeeYtiwYY26qtLT09vWQCGEEL8orps17ovJf3VUaCcYMLjZ150KHB9++CE//vgjZWVljepxuBI4TNPkzjvvJCoqijvvvJPS0lKWLFlCfn4+sbGx3HbbbY55ImvXrmXDhg0YhkFGRgapqakA7N69m2XLlmG32xk+fDgZGRm+yzwQQgh3q5vD4fWVcV3gVOB4++233VKP4+233yYxMZGKCmvQJTMzk6FDh3LRRReRmZlJZmYm06dPJycnh6ysLBYvXkxRURH33Xcfjz/+OIZhsGLFCmbPnk3//v158MEH2bJlC8OHD29Tu4QQor2orzXuyyeOljg1xtGtWzdiYtpWML2wsJCvvvqKc845x7EtOzvb8cSSnp5Odna2Y/uYMWMICgoiLi6O+Ph4du7cSVFRERUVFQwYMAClFOPGjXMcI4QQHYJj1nj7DRxOPXGcf/75LF26lIsuuqjRGEf37t2dutAzzzzD9OnTHU8bACUlJURGWgNAkZGRHDlyBACbzUb//v0d+0VFRWGz2QgICCA6OtqxPTo6GpvN1uT11q1bx7p1Vh7ywoUL2xz42oPAwMAOcR8g99JedZR78ef7OFpVQXlIKDHJPVFKtct7cSpwrFq1CoAvv/yy0WvO1OP48ssviYiIoG/fvnz33Xct7t/cYoquLLI4adIkJk2a5Pi6IxSdiomJ6RD3AXIv7VVHuRd/vg/z0AGIiKSw0Fro0Jf3kpCQ0OR2pwJHW4s1/fTTT3zxxRd8/fXX2O12KioqWLp0KRERERQVFREZGUlRURHh4eGA9SRR/6aB9QQSFRXVaHthYSFRUe33cU4IIVzlk1rjLvJKQY3LL7+cp556imXLlnHrrbcyZMgQbr75ZtLS0ti4cSMAGzduZMSIEQCkpaWRlZVFdXU1eXl5HDp0iJSUFCIjIwkLC2P79u1ordm0aRNpaWneuAUhhPCO4iJUt+iW9/OhZp84FixYwNy5cwG49957m015nT9/fqsvftFFF7FkyRI2bNhATEwMc+bMASA5OZnRo0czZ84cDMNg5syZjqJRs2bNYvny5djtdlJTUyWjSgjRYWitrcHxiBG+bsoJNRs4jp2fMXHiRLddcPDgwQwebE0s6dq1K/fee2+T+02dOpWpU6c22t6vXz8WLVrktvYIIUS7UVkBVZXQrX13VTUbOMaOHev4fPz48d5oixBCnNz8IBUXvDTGIYQQwgm+rDXuAgkcQgjRTjhmjcsThxBCCKeU+H6BQ2c0GzjqM6oAXnnlFa80RgghTmrFNggJhdD2Xfuo2cBx8OBB7HY7AG+++abXGuQr5qurMd94EV1T4+umCCFOVnWT/9r7it/NZlWNGDGCW265hbi4OOx2O/PmzWtyv7bM42gvtFmLXvdfqK1Ff/cVxqzbUTHOrcEl/Iv+9ks49TRUYJCvmyJEI7rE1u67qeAEgeP666/nxx9/JC8vj507dzJhwgRvtsu7igqhthZOHw0/bMX8+y2oK27AGHG2r1sm3Ejv3YG5dD4q41bUGPfNTRLCbYptqF4pvm5Fi064VtXAgQMZOHAgNTU1HXsuR8FhAIz08+D3GZgrF6H/8Qjmd1+jLrsWFRLq4wYKd9C7frI+ObDXp+0Qoilaa2uMY5gfP3Eca+LEiWzbto1NmzY5FiUcN24cQ4YM8XT7vELn51qfxMajYuMx/vwg+o0X0e+8gt71A8Y1f0L17OfbRoq222MFDoqWDrsAACAASURBVH1gn48bIkQTKsrBXtXuU3HByXTc9evX89hjj9GtWzfOPPNMIiMjefzxxx31Lvxe/mEwDIi01rxXgYEYv5uOMec+qKzAfPDPmOted2lZd9H+6D07rE8O7PdtQ4Roip+k4oKTTxz//e9/ufvuu+ndu7dj25gxY1i0aFGDmhd+qyAXomJRgQ3fDjXwNIx7l2I+uxT90ir091sxZtyMCu/mo4aK1tJlRyHvIHSNgOJCdFkpqnMXXzdLiF8UWyUj2vuscXDyiePo0aON6o0nJCRQWlrqkUZ5m87Phdj4Jl9TXcMxbpiLuuxax8C53t5yMSrRztQ9bajRdYPiB+WpQ7Qv2rFOVfte4BCcDBwDBw7kueeeo6qqCoDKykqef/55BgwY4NHGeU3B4ROm3yqlMCZOwZj7KASHYK5ajDZrvdhA0VZ6z3ZQCjXGqnkv4xyi3fGjriqnAsc111zDvn37mDFjBtdccw0ZGRns27ePa6+91tPt8zhdWQFHS8CJeRsqqQ/GxTPAlg/ffOH5xgm30Xu2Q3wSJCRDWCc4KIFDtDPFNggJQ4V28nVLWuTUGEdkZCTz58+nsLDQkVUVHd2+K1Q5rS4Vt7muqkZSR0K3aMwP3iIgdaTn2iXcRmsNe7ajThthzchN6ImWAXLR3hS3/5Kx9Vxa5DA6OpqUlJSOEzTAGhgHVIxzgUMFBKDSz4Xvt6BzD3iyZcJdCg5D6RHoY3WtqsRecHCfZMmJdsVfZo2DrI6LdjxxOL/EiDr7XAgIRH/4todaJdxJ79kOgKoLHCT0gtKjcKTYh60S4jjFNr/IqAIJHNYcjtAw6NzV6UNURCTqjDHorA3WGIlo3/bsgKBgSOwFgErsaW2XAXLRTvxSa7yDdFWZpsm2bduo6aCrxur8XIiJd3k1SjVhMlSUoT/b6KGWCXfRe36Cnn1/madTF0C0DJCL9qKiHOz2jtNVZRgGDz/8MIGBTo2j+5+Cwy51Uzn0OxWS+6A/eEv6ytsxXVMD+3ej+pzi2Ka6RlgTAWWAXLQXflJrvJ5TXVWnnnoq27dv93RbvE5rbc3hcDaj6hhKKdSE863ujh3fe6B1wi0O7INqO/Tp33B7Yi+ZyyHaDz+pNV7PqceI2NhYHnzwQdLS0oiOjm7QrTNt2jSPNc7jSoqsXyqtrL2hzkxHv7oa/eHbqAGD3dw44Q6NBsbrqMRe6I/XoU0TZchQn/Atf6k1Xs+pwGG32xkxYgQANpvNow3yKhdTcY+nQkJQYyahP3gT7UcZESeVPduhS3jjPw4SekJVhTWZU4p2CV+r76rq5h+D404Fjuuvv97T7fAJne96Ku7x1ITz0OteR296F3XBZW5qmXAXvWc79BnQKPlBJfZCgzXOIYFD+FqxDUL9Y9Y4uJCOm5OTw6uvvsqqVasAqyb5vn1+3kecnwtKQXRcq0+h4hJgyOnoTe9KvfJ2RleUQ25Oo24qwHriQDKrRDtRbPObbipwMnB8+umnzJs3D5vNxqZNmwCoqKjgueee82jjPK7gMHSLRgUFt+k0xvjzrUfNLZvd0y7hHnt3gNZNBg4V1gmiYmUuh2gXdEmR36TigpOB4+WXX+aee+7h2muvxagbSOzVqxd79+71ZNs8ThfkQkzrnzYchp4OMd0xP3ir7ecSblM/MN4oo6peYi9Zs0q0DyU2VEd74igpKaFXr14NtimlXJ401+7kH271wPixlBGAGn8ebP8OnbO37e0SbqH37IC4BFQzqwKohJ6Q+zO6VpbIF77jqDXuJwPj4OTgeN++fdm0aRPp6emObZ988gkpKSlOXcRutzNv3jxqamqora1l1KhRXHLJJZSWlrJkyRLy8/OJjY3ltttuo0sXqyrb2rVr2bBhA4ZhkJGRQWpqKgC7d+9m2bJl2O12hg8fTkZGRqsCmK62WxW3WjGHoynqrEno11+wUnOnd8xkAn/iWBF34NDmd0rsBTU1kHcIeiQ1v58QnlRRZk0L6GhPHBkZGbz44ovMmzePqqoqFixYwEsvvcRVV13l1EWCgoKYN28ejzzyCA8//DBbtmxh+/btZGZmMnToUJYuXcrQoUPJzMwErIH4rKwsFi9ezNy5c1m1ahWmaQKwYsUKZs+ezdKlS8nNzWXLli2tu/PCPOvfNmRUHUt1CUeNOBu9+UN0eZlbzinaoKjQGndqamC8jmPNKhkgF75UP4ejo41xJCYm8thjj3Huuedy6aWXMn78eBYtWkSPHj2cuohSitDQUABqa2upra1FKUV2drbjKSY9PZ3s7GwAsrOzGTNmDEFBQcTFxREfH8/OnTspKiqioqKCAQOs9Mpx48Y5jnFZXSquO7qq6qmJ50NVJfrTDW47p2ilZib+NRCfBMqQGeTCt+pnjfvRE4fTC1CFhIQwcOBAbDYbUVFRjkDgLNM0ueOOO8jNzeXcc8+lf//+lJSUEBlp9etFRkZy5MgRwJpk2L//LwOaUVFR2Gw2AgICGtQCiY6ObnZC4rp161i3bh0ACxcuJCYmpsHr5RWlHAWiBpxKQFRME2dohZgYbAMGY370LtGXzHD7GFBgYGCj+/BXnr6Xo4d/pjwwkJjUNFRwSLP7FfRIIrAgl25taIt8X9off7qPitpqjgCRffoR2ESb2+O9OBU4CgoKWLp0KTt27KBz586UlZWRkpLCzTffTGxsrFMXMgyDRx55hLKyMh599FH2728+m6W5RQNdWUxw0qRJTJo0qcE9HMvcuxOCgrHVatRxr7WFOfbX6H8uoeCj9ahBqW47L0BMTEyj+/BXnr6X2u+/gaQ+FB45Chxtfr/4RGr37GhTW+T70v74032YOdbvwiKTJn8X+fJeEhISmtzuVFfVsmXL6Nu3L6tXr2blypWsXr2afv36sWzZMpcb0rlzZwYNGsSWLVuIiIigqMgq0F5UVER4eDhgPUkUFhY6jql/yjl+e2FhIVFRrXu80/mHIaa7258KVNpZ0DUC8wMp8uQr2qyFvTtRzaXhHkMl9ILDh6xkCSF8oaR+1niYr1viNKcCx+7du5k+fbqjeyo0NJTp06eze/dupy5y5MgRysqsAWO73c63335LYmIiaWlpbNxo1bPYuHGjYz2stLQ0srKyqK6uJi8vj0OHDpGSkkJkZCRhYWFs374drTWbNm0iLS3N5ZsG6pZTd9/4Rj0VFIwa+yvY+jm6MN/t5xdOOJRjrUN1zFLqzVGJPUGb1jFC+IAuLvSrgXFwsquqf//+7Ny5k4EDBzq27dq1iwEDTjDweIyioiKWLVuGaZporRk9ejRnnHEGAwYMYMmSJWzYsIGYmBjmzJkDQHJyMqNHj2bOnDkYhsHMmTMdEw9nzZrF8uXLsdvtpKamMnz4cFfvuW459VyPrWir0s9D/+8/6I3voKZe6ZFriObp3T8BOPXEcWxRJ9WzryebJUTTSor8KhUXThA4XnrpJcfn3bt358EHH+T00093dBd9/fXXjB071qmL9OrVi4cffrjR9q5du3Lvvfc2eczUqVOZOnVqo+39+vVj0aJFTl23WaVHobLCbam4x1PRsXBaGnrzhyCBo01atez53h3QqTPENd0/20BsDwgMlKJOwneKbah+A1verx1p9ieysLDQ8VFdXc3IkSMJCgriyJEjBAUFceaZZ2K3+2m/cBuXU3eGGjAEigrQR0s8do2OzvzgLcw7ZqJtrnX56d3boXd/pwKOCgyE+CRJyRU+4Zg13lGeODrqUuoAuqB+OXUPBo7kPtay3T/vATdnV50MdFEh+rVnoaoS898rCLjhLueOq6qEg/tQw37v9LVUQi/0rh9a21QhWq+8DGqqO+YYB0BVVRW5ublUVlY22H7KKS0PQLY7+dYTh0frMCT1AUD/vMftabknA/3qaqitRY2fjP7wbfSWzajUUS0fuG8XmOaJJ/4dL7EnfL4RXVFurZorhLf44axxcDJwbNy4kX/+858EBgYSHNxwCfInn3zSIw3zqILD0DUCFeLaJEZXqK7h0C0acvZ47Bodlf5pG/rzTagpl6LOvwS94zvMf/8DY+CwFlMW9d4WVsRtgqOo08H94Gd9zcLPlVjTC1SE/yxwCE4GjjVr1nD77bdz2mmnebo9XqHzcz3aTeWQ3Af9swQOV+jaWsx/Pw3RcajfXIwKDMSYfj3mQ3eg//sC6pKZJz7B7u3WseEu/CA6ijrt97tBSuHfdLE1j83fnjicSlcJDAxk0KBBnm6L9+TnenRgvJ5K7gO5OTK5zAX6w7fhwD6MS2aiQqylQlTKqahx56LXv4Hef+K5Q3rvDte6qcCqABkSKkWdhPfV1xr3s8FxpwLHtGnTeO655xxrSfkzXVMDRQUeS8VtIKkP1NbCwZ89f60OQB8pQr/+Lxg0HIY3HM9QU6+Czl0x1yy3ZoY3czyFeS51UwFW9lVCT8msEt5XbIOwTh7tNvcEp7qqEhISePnll3n33XcbvXbsfA+/UFQApumVrqr6zCqdswfVq5/Hr+fv9H+eA7sd47JrGi0Fozp3QV0yE71qMXrju6gJkxufYM8Oa18nZowfTyX0RH/TypWWhWgl7YepuOBk4HjiiScYN24cY8aMaTQ47nfy6+dweOGJIy4egkOslFxxQnrXj+hP1qPOnYqKb7qokhqZjs5aj177HHr4KNRx/cJ693YwDOjZiiCd2As+WYc+UowK79aaWxDCdSU2vxvfACe7qkpLS5k2bRo9e/YkPj6+wYe/0QX1qbheeOIwAiCptwyQt0CbtZj//gd0i0JNuaTZ/ZRSGH+8Dqqr0S+vanyevdshsZdjbMQVvxR1khnkwouKbX6XUQVOBo7x48ezadMmT7fFOwoOQ0AgRHonyqukPpCzx6Ul4U82+uP3Yd9O1O8zUKEnnkehuiegzv8DOvsj9LavfjmHacKeVgyM10uoW7NKlh4RXqK19tsnDqe6qnbu3Mn//vc//vOf/9CtW8PH+Pnz53ukYR6Tf9hK1zQCvHO95D6w6X9gy7eyd0QDuvQI+j/Pw4DBqDPHOXWMOvdi9GcbMf/1JMbf/s96wsg7aNVubm3giIiEzl2ljKzwnvJSq+Z9Rw0c55xzDuecc46n2+IVOj/XszPGj9Ng6REJHI3o1/8FFWUYl13rdG0UFRRkze14dC76rZdQU6+0xjdooVTsic6pFCRKZpVoG20rgPAIVGBQyzsX+2cqLjgZOMaPH+/hZnhRwWFU7xTvXS+xFyhlLT2SOtJ71/UDet8u9Mb/oSZOsbr0XKBOGYoaPRH93lr0yPGwdzuEhEGPpgfWnTpnQi/0Zx+itXZ7gS/R8emqSsx5N6BOG4G65k8tH+CHtcbrORU4NmzY0OxrEydOdFtjPE2Xl0HZUe/MGq+jQsMgtgdalh5pQJumNUO8SzjqgstadQ71h6vR32RjrlkO1XbondK2LsjEnlBRbqVsRzlXEvlkJIG1GT9shcoK9Oeb0CPObvEPRV3in+tUgZOB46OPPmrwdXFxMbm5uQwcONCvAgd1q+J6Y9Z4A8m9oYUZzyebyo3vwq4fUTNuQXXq0qpzqK7hqN/PQD/7hPX1uY3rt7h0voS6NasO7JfA0QxdXY15/23WE9+l17heK6UD099kQ2gYRMdZ428DBp/4/3ZH76qaN29eo20bNmzgwIEDbm+QR9Wn4npj1vgxVHJf9JdZsvpqHV1eRulzy6DvKajRE9p0LnXWJHTWetjxPapvKwfG6yXWr1m1DzX0jLadq6P6fgsc3I8+uN8qhjbjJu8lmrRj2jTR32SjBp+O+s1UzAf+jH71GdSVNzZ/ULENwjq3Kn3c15xeVv1448ePZ+bMmVxxxRXubI9H6fy6OhxeHBwHKyVXA+Tshf4daM2v45gvrkBnfwRaW3W8Tf3L51r/8mHWgmli3Hh3m/9iVUphXHUzOnMNDBzWtnN17mp1G8gAebP0Fx9Dp86oib9Fv/miVUvi6tusglgns/27rBKww85E9e6P+vWF6HfXWl1Wpzb9/1KXFPllNxU4GThM02zwtd1uZ9OmTXTu3NkjjfKYglzo1KXVXSOtllxXmyNnD6qDBg59KAe94U3oPxiVkAxKgTJ++ddQgLK+NhThw0ZQ2ss9SQqqewJq9l/cci4Seslcjmbo6mr01s9Qw0djXHg5ZkgI+rVn0TXVGNf+2blMog5Kb80GZaCGWE+q6oLL0V9vxnx+Gca8pU2vReWnczjAycBx2WWNBy+joqKYPXu22xvkSbrgsFcHxh0io605Ah14Brl++xUICsb4f3eguka0uH9oTAylBQVeaJlrVGJP9IfvoM1a6YI53vdboKIclTYWAOM3F2MGBaNfXIG5/EGM6+5EBfn5kkStpL/5HPqdYtXhAVRwCMZVN2E+chc681+oaU2UAyi2+e0fkk4Fjv/7v/9r8HVISAjh4eEeaZBH5R9GJfX2+mWVUh26NofOO4T+fCPqnN86FTTatcReVoZW/mHonuDr1rQr9d1UnPpLXR7jnN9iBgah1yzH/L/7Ma6f65d99m2hiwph/27U1CsbbFcDhqDGn4de/1902lkNar04Zo374cA4OLnkSGxsbIMPfwwa2qyFQh89cVC39MiBfejappcE92f6nVfBCED9+ne+bkqbqbqlR2ScoyFHN1XqqEZdUkb6b1AzboEftmIunY+urPBRK32jflVlddqZjV5TU6+CyGjMZ59AV1f/8kLZUb+dNQ4tPHG0tJyIUop7773XrQ3ymGKb9Y3y8sC4Q3If6y/ZvIPQI9k3bfAAXZiH/nQDatxvGq1W65cSrO+NPrgPdfpoHzemHTmum+p4xlnnYAYGov+5BPOxeRg3z0N18rMx0FbS32Rbv1cSGv9cq7BO1ioHS/+OfvsV1IWXWy/4cSoutBA4zj777Ca322w23nnnHaqqqjzSKI+on8Ph5VTceo7aHD/vQXWkwPG/1wCF+k3b5lC0Fyok1HoqlQHyBprqpjqeMTIdHRiEueIRzMX3YNw238pU68B0VRX8sBV19q+bnRSphqahRo1Hv/MK+ozRVu9D/axxP/1j64RdVRMnTmzwMWLECHJycnjjjTc488wzefzxx73Vzjb7JRXXR0vB90iyVuXtQOMcuqgQ/fH7qLPOQXWkCXNSDbCBE3VTHU+dMQbjur/Cgb2Yi+5GHy3xUit95MetUG1HDRtxwt3UtFnQqQvmM0+ga2utVFzw264qp8Y4ysvLefHFF7n55pspKSnhoYceYvbs2URHR3u6fe5TkGulhfroF5wKDIIeyR1q6RH93lowTdRvLvZ1U9xKJfaCvIMN+6RPZi10Ux1PDTsT48Z7IPcA5sN/RRfme7iBvqO/ybbWSOs/5IT7qS7hqMtmw76d6HX/heJC6wU/rMUBLQQOu93O2rVruemmmzhw4AB///vfuemmm/yygBP5uRAV49OJSiq5d7t54tCmifne2lbPWdBHitGb/ocaOR7lo4QDj0noadWKP+xnKyN4iDPdVMdTg4dj3Po3KCnCfOgOa6Z5B6O1tgLH4OGooJbnsKi0syB1FPr1f6F3fGdNpAz2zwy0EwaOG264gTfffJMLLriAc889l5KSErZt29bgw1/ogsO+Gxivl9wXSorQR4p82w5Av/86+pXVmIvvtt4bV49/LxOqa1CT/+CB1vmWSqwr6rTj+5O+AJcr3VTHUwOGYPz5ATBrrSePXT96qJU+sn+XNRejhW6qelYFy9kQGATffe23A+PQwuB4fX3x9957r8nXlVKN5ni0WwWHUUPTfNoEldS7rjbHXhjsu0dU/fMe9Nrn4ZSh8PMezMf/hnHnw04PZOrSI+gP30aNGIuKT/Rwa30gPhE6dUG/8BR63euo4aOtDKve/U++Rf1c7KY6nkrug3HHQ5iPzbMGzP/fnR1mHTBrtrhyzBZ3huoWjbrkamthTj8d34AWAseyZcvccpGCggKWLVtGcXExSikmTZrE5MmTKS0tZcmSJeTn5xMbG8ttt91Gly7WciBr165lw4YNGIZBRkYGqampAOzevZtly5Zht9sZPnw4GRkZzi3xXFLUDp44jll6ZPBwnzRB26swVzwKXbpizL4DDv2MueQea/LWnPucmvmr1/0XqipRk5uvD+7PVGAQxv1Por/ejP76U/S6/6Lf/Q90i0adXhdEUgahAjr+zPLWdFMdT8XGY9yxEPPx+ZjL7kfNuAVj1Hj3NdJH9DfZ1kKd4d1a3vkY6qxJsPMH6NnXQy3zPK/8+RQQEMAVV1zBkiVLWLBgAe+++y45OTlkZmYydOhQli5dytChQ8nMzAQgJyeHrKwsFi9ezNy5c1m1apVjvawVK1Ywe/Zsli5dSm5uLlu2bHG+IT7ui1ddwiEyBvb7bpxD/+c5OPQzxoxbrGXJBwzGmDkHdv6AuXKxVbv7RMeXl1prUp0+BlW3mmxHpLpGYIw7l4Bb/oax+DnUzNugT3/0x+9hPjoX809XYT73f+hvv0Tb/Sgt3QVt6aY6ngqPxPjTA5AyCL1qMea6193USt/QxYWwbyfqNOe6qY6llMKYcTPGxCkeaJl3eCVwREZG0revFV3DwsJITEzEZrORnZ1Neno6AOnp6WRnWzMws7OzGTNmDEFBQcTFxREfH8/OnTspKiqioqKCAQMGoJRi3LhxjmOcoXz9xAHW0iM+yqzS275Cr3/DWhpkyOmO7SptLOoPV8NXWehX/nnic2x4EyrKMc7vmE8bTVGdumCMmkDA9XdhLF5jdbcMSkVnf4S5dD55f/wVtQ/8CfPFFZifb0IXHO4YYyNt7KY6ngrrhHHLPDh9DPqlVZj/edZv3yf9zRcArQocHYHXU4zy8vLYs2cPKSkplJSUEBlp9fVHRkZy5MgRwJpg2L9/f8cxUVFR2Gw2AgICGqQAR0dHY7PZmrzOunXrWLduHQALFy609j9lEIaP099KBwyibNtXRId3dTmjIjAwkJiYmFZd1ywpovC5JwhI7kP0NXMarSekL5tJaUUp5W++TFhybzpfcGnjc1SUUbD+TYLTziLy9MbLK7iiLffic4lJcO4F6Go79m++oOaHb6j68VuqP34f1r+BBozIaAIHDCbolCEEDRhMUMqpTa+Q2s4c+30p2ZZNVeeuxIyd6FTWkLP0XQ9x9B+LqHjnNULsVYRf9xdUgHt/FXn6/1fRj1upiY0nZtgZHq+G2B5/VrwaOCorK1m0aBEzZsygU6fmCxo191eIK3+dTJo0iUmTJv2yISSMQnsNyscrsuro7mDWUvDt1ygXlxWPiYmhoBXt11pjLn8QjpZg3HQvhUePwtGjjff77WVwMIfSZ56gPDi00V+a5v9eQ5ceoebXv2tVO47V2ntpd3oNIOaMMVQUFGDU1sKBvehdP6F3/0TV7h+p+myTtZ9hoEamo2bc3K5X3a3/vujqaszPNqGGj6awxP2T+PTvM1DBoVS++SKVhfkY1/zJrampnvz/pe1VmFs/R501icLCQo9c41i+/FlJSGh6oU+vBY6amhoWLVrE2WefzciRVi3eiIgIioqKiIyMpKioyLF4YnR0dINviM1mIyoqqtH2wsJCoqKczEyI7d4+6iQnW112+uc9LgeO1tIfvw9bNqP+kIGqG6BvijICMGbehrmkCHPVEozwSNSAwdY5qqqsFNxBw1F92lhpr4NSAQHQsx+qZz+YMBkAffQI7PkJ/e0X6A/fserBXHqNj1vqBDd3Ux1PKYW68HLMruHWsuxL/45x073+sbLuj9+A3d7kooYnC6+McWiteeqpp0hMTGTKlF8GhNLS0ti4cSMAGzduZMSIEY7tWVlZVFdXk5eXx6FDh0hJSSEyMpKwsDC2b9+O1ppNmzaRluZkiq2vlho5Xmw8hIR6bSKgPnwQ/eIKGHgaatKFLe6vgkMwbpgLMXGYyxagD/1sneej/1lPLFOmebrJHYrqGo46bQTGH69DTboAvf4NzPVv+rpZLXJHNpUzjIlTUFffBtu3YS5/wC9m6+ut2dbP8ClDfd0Un/HKE8dPP/3Epk2b6NmzJ3/+858BqzjURRddxJIlS9iwYQMxMTHMmTMHgOTkZEaPHs2cOXMwDIOZM2di1OXPz5o1i+XLl2O320lNTWX4cOfSWtvFwDhY8wCSentlgFzX1GCuWgyBgRgZtzo9B0F1Cce4eR7mwr9gPj4f408L0P9bC6cM9dvCM+2B+kOGNXD+0kp0TBxqWPv8i/XYSn/eqOpnjBqPWVONfvYJzKcfspIP2mkpWsds8UGpbh338TdK+2tag4ty1vyj3aS/mWuWoz//COPxF1zqPnO1r9N8/V/oN19CXfsXjBGudznovTswH50LRgBUlFnzPJqpn+yqDjPGgWv3oqsqMR+5y0qJ/suDXuuudFZMTAz569/B/L/7rKXRvThZz/zgLfQLT1tZftfc3qaxIE/9/9L7d2Hedxtqxs0YZ01q+QA3aI9jHCfNNNh2tZ5Scl+oKIPCPI9dQu/8Af3WK6jRE1oVNABU7/4Ys/8CVRXQbyAM9Gy3xclAhYRi3HQPdAnHfOJ+tK39LQDorW6q4xkTzkf9PgP9xcfoZ55ocU6RLzhmi3eQ2e+tddIEjnYzxgG/lK/10DiHrii3uqiiYqwVOdtADU3D+OsjGNf9tX0kF3QAKiIS4+Z5YK+0CvxUlPu6SQ662u62SX+tYZz7O9QFl6M/3WAt+dLOOkT0N9nW0jPh/rmqrbucRIEjztct+EVSb1DKYzXI9YsroDAfY9YcVFjzac/OUr37o/x0+ef2SiX2xPh/d0JuDuZTD6FranzdJADsW7I9mk3lDDVlGuo3F6M3/g/98j/bTfDQxTbYu6Pdjk1500kTOJxZg8lbVEgoxCV4ZIBcf5ONzlqPOu/3qBQZyG7P1KBU1B+vg++/Rv/76XbxC7Iya71PuqmOpZRCTb0SNXEKet3r6Mx/+awtx9LfntyzxY/VPlMXTgIqqTd63063nlNXVWK+8DT0SEb9VtJm/YFxnZ8MGwAAD+5JREFU9q8x83PR77wKsfE+LYqlq6up+vwjn3VTHUspBdNmQbUd/fbLmMHBPl/mRn+TDVExVo/BSU4Ch68k94EvP0GXl6E6dXbLKfWbL0FhHsafH/D5D75wnrpoOhQcRr/2LDo2HnXGWb5pyPdb0OVlGD7spjqWMgyYfh3Yq9CZazCDQzB+1XgukjZr4Ugx2AqgqBBdlE9pQAA6LhH6nYIKbXt3ra62w/dbUGPOkbE+JHD4jEruY9XmyNkLdbOz20If2Id+P9Oq/z3gxGUsRfuiDAMybkEXFVgz9rtFo/oN9Ho79BcfWzVZfNhNdTxlBEDGrdbckpdXYdryISAAbAXoogIrWJTYrIqNxyj75QSQ3AfVf5A1ByllUOvG6378FuxV0k1VRwKHr9QvPZKzx7GsR2tp08RcsxzCOqEuznBH64SXqaBgjOvnYj74J8xlCzDueQwVGd3ygW6ijx5Bb/2M0NHjqW5nT6sqIADjmtsxn6qxasEEBlrlCSJjrJ+dyGiIjEVFxTi2R3fvTmF2Fnrn91Ylx4/eRa9/wzphXA9r/C/lVCtAR8ZAaNgJnyT0N59DcAgMPHlnix9LAoevdIuCLl3dkpKrP1kHO3+wFtDrGu6GxglfUF3DMW66B3PB7Zj/eATj9vu9MoNa/7AV859LwG4n7FcX0h4X/VCBQdZSOOWlENa5xVUQjE6dUYOHOwqm6Zpq2L+7LpD8YI1XZK3HkY4QEAhdwq2fyS7hVu2cruHQJQK6hKO3fFY3W7z9JNn4kgQOH1FKQXLfNqfk6qMl6Neehf6DUKMnuql1wldUj2TUFTegVy5CZz6P+r3nniB1TTX69Res6obdEzBuuofggUOhnc7oV0qBk+WNGx0bGGRV6+t7Cvz6d1YGW+4B9N4dcLQYSo9A6VH00RIoPYI+sNfaVlYKddlu6owxbrwb/yaBw4dUUm/0B2+ja2tbXYZUv7IaKssx/nj9yVcPu4MyRqZj7vwB/e5adMqpqNRRbr+GPnzQKiG8bydq3LmoS2b6Rb0Qd1FKQY8kVI+kE+6nzVooK4PKct+Xnm5H5DeNLyX3hZpqOHygVYfrn75Ff7oB9evfdegyricjdclM6JWC+c/H0fm5bjuv1hrzk/WY990K+bkY192JccUNJ1XQcIUyAqwVjmPjJZvqGBI4fEgl9wZoVXeVrq7GXPMkxHRHnS9zNjoaFRSE8f/uAKUwn1popYO2kS4vRf/jEfQzj0Pv/hjzlqJOl+4X4ToJHL4Un2QNyrUmcLy3FnJzMC6f7R/Fb4TLVEx3jKtvswZ1X1zRpnPpHd9jzr8F/fWnqN9dgTHn71YWkhCtIGMcPqQCgyAh2eWlR3TeIfRbL8MZY1BDnSxkJfySGjYCdd7F6Hdew0wZhDF6gkvH65pq9FuvWP9fYuIw7nhIKjiKNpPA4WMqqY9VVrQwDxXd8kKMWmvMfz0FAQEY0/ygBKloM3XhdKuO+Zrl6J79nBrP0qaJzv4I/fq/ID8XNXoi6vJr3TKLWgjpqvIxNXwUlB7BvHMWtY/chfnRe+jysmb31198At9/jbpoulcniAnfsSbA/QlCwzCfehBdeeJl2PX3X2MumINeuQhCQjFumYdx9a0SNITbnDQVAA8ePOjrJjRL5+eiP/sQ/emHkHcQgoJRw85EjZoAg4c7JoFFhYWSf8M0iIjCuOvRVqfwtgcnawXAttA/fYu56B5U2lmoa/7UKMtH79uJ+dqz8MNWiI5DXfRH1JnpLqVpd5TvS0e5D2ifFQClq6odULHxqCmXos+fBnu2ozd/aHUzfPExdI1AjTgbNWoCpV9nwZFijBvu9uugIVpHnTIUddEf0WuftyZ8TjgfqBvzylyDzv4IunRFTZvJ/2/v/mOjKPM4jr9nu5D+XrrtUrRF0VAqarUkBYwKtBfRC6IJOSEHJtpfEQRpAkGsuaYQDYmarCVe2lCV+EeJeAlpjbnocUGaFgKYQps0gEW2xYSeprXdtix2l2V3nvujYSJKiQNLZ1q+rz+n3cnzmW/a786zs8+jLVtxV++JLe4saRw2omma8e1WtaYMzrSjjjejWg+iDv+bIKAVPY/2QI7VQxUW0f76t7Ftgf+1F5U+E3W6HdX6H4iLQ1uxBu25VTFbbVmI8UjjsCnN6YTHF6E9vmjs+ftTx4jv+x9XVli7J4GwluZw4Cjbgv7uFvR/vgsOB9qSZ9FW/h1thtvq4Ym7hDSOSUBLTEZb8iypU2jeVtw6LSkFx6Z/oI78F+0vz6PNuvmyGULEmjQOISYhbfYDaOvWWz0McZeSx3GFEEKYIo1DCCGEKdI4hBBCmCKNQwghhCnSOIQQQpgijUMIIYQp0jiEEEKYIo1DCCGEKXfN6rhCCCFi466446isrLR6CDExVXKAZLGrqZJlquQAe2a5KxqHEEKI2JHGIYQQwpS4nTt37rR6EBPhwQcftHoIMTFVcoBksaupkmWq5AD7ZZEPx4UQQpgiU1VCCCFMkcYhhBDClEm5kVNdXR3t7e24XC68Xi8AP/74I5988gmhUAiPx0NFRQWJiYlEIhH27NnDhQsX0HWdpUuXsmrVKgB6enqora0lHA6zYMECSkpKxvb9noRZdu7cydDQENOnTwegqqoKl8tl6ywff/wx3d3dOBwOiouLeeSRRwDr6xKrHHaoycDAALW1tQwPD6NpGs888wwrVqzg8uXL1NTU8Msvv+DxeNiyZQvJyckANDU1cfjwYRwOByUlJeTn5wPW1iWWOayui9ksgUCADz/8EJ/PR2FhIWVlZca5LKuJmoTOnDmjuru71datW41jlZWV6syZM0oppb799lu1f/9+pZRSR44cUTU1NUoppUKhkNq4caPq6+szXnPu3Dml67ratWuXam9vn+AkscuyY8cO5fP5Jnj01zOT5ZtvvlG1tbVKKaWGh4fV9u3bVTQaNV5jZV1ilcMONfH7/aq7u1sppdTo6KiqqKhQFy9eVA0NDaqpqUkppVRTU5NqaGhQSil18eJFtW3bNhUOh1VfX5964403bFGXWOawui5mswSDQfX999+rgwcPqk8//fS6c1lVk0k5VfXwww8b7yqu+emnn5g/fz4Ajz32GN99953xs1AoRDQaJRwO43Q6SUxMZGhoiGAwyLx589A0jaVLl9LW1jahOSA2WezCTJbe3l4effRRAFwuF0lJSfT09NiiLrHIYRdpaWnGEzkJCQlkZWXh9/tpa2tj2bJlACxbtsy4xm1tbTz55JNMmzaNmTNnMmvWLHw+n+V1iVUOOzCbJT4+noceesi4Q7rGyppMysZxI7Nnz+bkyZMAnDhxgsHBQQCeeOIJ4uPjee2119i4cSMvvPACycnJ+P1+0tPTjdenp6fj9/stGfvvmc1yTV1dHW+++SYHDhxA2eRhufGyzJkzh5MnTxKNRunv76enp4eBgQHb1sVsjmvsVJP+/n4uXLjA3LlzGRkZIS0tDRj7R3bp0iWAP1x/t9uN3++3VV1uJ8c1dqnLn8kyHitrMik/47iR119/nc8++4wDBw5QUFCA0zkWzefz4XA4qK+v59dff6W6upq8vDzL/4hvxmyWzMxMKioqcLvdBINBvF4vra2txrsXK42XpaioiN7eXiorK/F4POTm5hIXF2fbupjNAdiqJqFQCK/XS3Fx8U3vUse7/napy+3mAPvU5c9mGY+VNZkyjSMrK4uqqipgbFqhvb0dgKNHj5Kfn4/T6cTlcpGbm0t3dzfz58833jUCDA4O4na7LRn775nNkpmZaYw9ISGBp59+Gp/PZ4vGMV6WuLg4iouLjd+rqqrinnvuISkpyZZ1MZsDsE1NIpEIXq+XJUuWsHjxYmBsWm1oaIi0tDSGhoZITU0Fxt61/vb6+/1+3G73H45bUZdY5AB71MVMlvFYWZMpM1U1MjICgK7rNDY2snz5cgAyMjI4ffo0SilCoRDnz58nKyuLtLQ0EhIS+OGHH1BK0draSkFBgZURDGazRKNR47Y2Eolw6tQpZs+ebdn4f2u8LFeuXCEUCgHQ2dlJXFwc2dnZtq2L2Rx2qYlSij179pCVlcXKlSuN4wUFBbS0tADQ0tLCwoULjePHjh3j6tWr9Pf38/PPPzN37lzL6xKrHHaoi9ks47GyJpPym+O7d+/m7NmzBAIBXC4Xa9asIRQKcfDgQQAWLVrEunXr0DSNUChEXV0dvb29KKUoKirixRdfBKC7u5u6ujrC4TD5+fmUlpZO+OO4scgSCoXYsWMH0WgUXdfJy8vj1VdfxeGY2PcFZrL09/eza9cuHA4HbrebDRs24PF4AOvrEoscdqlJV1cX1dXV3HfffcY1XLt2LTk5OdTU1DAwMEBGRgZbt241Pi9rbGykubnZeLx4wYIFgLV1iVUOO9TlVrJs2rSJ0dFRIpEISUlJVFVVkZ2dbVlNJmXjEEIIYZ0pM1UlhBBiYkjjEEIIYYo0DiGEEKZI4xBCCGGKNA4hhBCmSOMQQghhijQOIW7RRx99RF1d3XXHzp49S2lpKUNDQxaNSog7TxqHELeopKSEjo4OOjs7AQiHw9TX1/PKK68Yi9XFgq7rMTuXELEwZdaqEmKipaSkUFpaSn19PV6vl8bGRjIzMyksLETXdb788kuam5sZHR0lLy+P8vJykpOT0XWdmpoaurq6uHr1KnPmzKG8vJzs7Gxg7E4mMTGRvr4+urq6qKysJBQKsW/fPgYHB0lMTGTlypXXLVchxESSb44LcZu8Xi+RSIRz587xwQcfkJGRwVdffUVbW5uxi9vevXuJRCJs3rwZXddpbW1l8eLFxMXF0dDQwPnz53nvvfeAscbR0dHB22+/bayvtGHDBrZv305ubi6XL1+mv7/f2NNBiIkmU1VC3KaysjJOnz7NSy+9REZGBgCHDh1i7dq1uN1upk+fzurVqzl+/Di6ruNwOCgsLCQhIcH4WU9Pj7FYIsDChQuZN28eDoeDadOm4XQ66e3tJRgMkpycLE1DWEqmqoS4TTNmzCA1NdWYaoKxfaXff//96xac0zSNS5cukZqayueff86JEycIBALG7wQCAeLj4wGMBnTNtm3baGxsZN++fdx///28/PLL5OTkTEA6If5IGocQd0B6ejoVFRU3/Ofe3NxMR0cH1dXVeDweAoEA5eXlN92YJycnh7feeotIJMLXX3/N7t27qa2tvZMRhBiXTFUJcQcsX76c/fv3G9vIjoyMGFvPBoNBnE4nKSkpXLlyhS+++OKm5wqHwxw9epTR0VGcTicJCQkTvjy7EL8ldxxC3AHXnnh65513GB4exuVy8dRTT1FQUEBRURGdnZ2sX7+elJQUVq9ezaFDh256vpaWFvbu3Yuu69x7771s3rx5ImIIcUPyVJUQQghT5H5XCCGEKdI4hBBCmCKNQwghhCnSOIQQQpgijUMIIYQp0jiEEEKYIo1DCCGEKdI4hBBCmPJ/uk3tBOqvcOsAAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "haiti.index = haiti.index.map(int) # let's change the index values of Haiti to type integer for plotting\n", | |
| "haiti.plot(kind='line')\n", | |
| "\n", | |
| "plt.title('Immigration from Haiti')\n", | |
| "plt.ylabel('Number of immigrants')\n", | |
| "plt.xlabel('Years')\n", | |
| "\n", | |
| "plt.show() # need this line to show the updates made to the figure" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "We can clearly notice how number of immigrants from Haiti spiked up from 2010 as Canada stepped up its efforts to accept refugees from Haiti. Let's annotate this spike in the plot by using the `plt.text()` method." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 63, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEaCAYAAAAG87ApAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeVxU5f7A8c8zbOICDgyKLK5ApqJYaG6JC2WaLbds3yQtb3var9XKa5u2qGlh3atmt72stF2TMNDIokXN8qYoLqisAygIDDLP748DkyPbDMzC0PN+vXgJZ845z/eMyneeXUgpJYqiKIpiI527A1AURVE8i0ociqIoil1U4lAURVHsohKHoiiKYheVOBRFURS7qMShKIqi2EUlDsVjjRs3jpkzZ7o1hm+//RYhBDk5OS4p75FHHqF79+4IIXj99dddUqar9e7dm6eeeqrJc/bv348Qgi1btrgoKuVUQs3jUFpq+vTp5OTkkJKS4pbyjUYj3t7eBAQEuKQ8b29vVq5cyfTp0y3HTCYTRqORbt26odM593PYDz/8wIgRI1i3bh3nnHMOgYGB+Pv7O7VMW7z++uvMnDmTkydP1ntt3LhxREVFsXLlSpvvV1BQQMeOHenUqRMAUVFRXH/99fzrX/+ynFNTU0NBQQHBwcH4+Pi0+hkU+3i7OwBFaamgoKBW36O6uhpvb2+EEC263tfXl9DQ0FbHYYs9e/ag0+m45JJLGj2ntc/TFoSEhDR7jpeXl8ved6U+1VSlOMz06dNJTEzkpZdeIiIigs6dOzNz5kyqq6t59dVX6dWrF3q9nltvvRWTyWS5bty4ccyYMYNHH32Ubt260bVrV+bOnYvZbOaJJ56ge/fuhISEMHfuXKvyTm+qqqio4NZbbyUwMBC9Xs/tt9/Oww8/TFRUVIMx9u7dGz8/P8rLy9m4cSPjxo0jKCiIwMBAEhIS+PHHHy3X9e7dm5qaGpKSkhBCWH4xN9RUtXXrVsaOHYu/vz96vZ5rr72W/Px8y+v/+te/iIqK4pNPPqF///506tSJ8ePHs3fv3ibf2xtuuAGz2WxVfmPPU11dzUMPPUR4eDi+vr4MGDCAd955x+qeQgheeuklrrrqKjp16kTPnj358MMPKS0t5brrrqNLly707duXjz76yKa/f1s09z6DdVPVuHHj2Lt3L/Pnz7c89/79+1VTlZupxKE4VGZmJj/99BMbN27knXfe4a233uKSSy4hIyODr776ijfffJM333yTVatWWV334YcfUl1dzZYtW1i8eDHPPPMMU6dOpaysjM2bN/PCCy/wzDPP8NVXXzVa9oMPPsgnn3zCm2++ydatWwkMDGT58uX1zvvxxx9JTU1l3bp1bN++nQ4dOlBWVsYdd9zB1q1bycjIIDo6mgsuuICioiLLc3l5efHiiy9y9OhRjh492mAMubm5nH/++URERPDjjz/y2WefsXPnTi6//HKr844ePcorr7zC22+/TUZGBiUlJdx8882NPtvSpUt58cUX8fLyqld+Q8/zyCOPsGLFCl588UV27tzJ9ddfz/XXX88333xjdd+nn36aKVOmsH37dqZOncqNN97I1VdfzXnnncevv/7KhRdeyI033mh5H1qruff5dB9//DG9e/fmvvvuszx3ZGSkQ2JRWkEqSgvddNNNcuLEiVY/h4SEyKqqKsuxKVOmyODgYFlZWWk5dvHFF8vLL7/c8nNCQoIcMmSI1b0HDBggBw0aZHVs8ODB8r777rO6bsaMGVJKKcvKyqSvr69cuXKl1TXnnHOO7Nevn1WMgYGB8vjx400+W01Njezatat86623LMe8vLzk6tWrrc7btGmTBOShQ4eklFI++uijMjw83Oo92LZtmwRkWlqalFLKefPmSS8vL5mfn285591335VCCFlRUdFoTKtXr5ZeXl5Wxxp6nvLycunr6yuTk5Otzr300kvl+PHjLT8D8p577rH8nJ+fLwF55513Wo4ZjUYJyM8++6zJuADZqVOnel86nc7yd9SQht7nXr16ySeffNLyc79+/eS8efOsrsvOzpaA3Lx5c6P3VpxH1TgUhzrzzDPx9fW1/BwaGsoZZ5yBn5+f1bFTm24AhgwZYvVzaGgogwcPrnfs9OvqZGVlYTKZGDFihNXxkSNHNhhj586drY5lZ2dzww03EBUVRUBAAAEBAZSWlnLgwIEmnra+33//nREjRli9B0OGDCEwMJDff//dciwsLMyqLT88PBwpZaPP15TTn6fuvRg7dqzVeQkJCVYx1MVWJyQkBC8vL6v3Xa/X4+vr22xcXl5ebNu2rd5XfHy81XmOep8V91Kd44pDnT7CRQjR4DGz2eyQ605nS6dw3WidU02dOhWDwUBycjKRkZH4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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "haiti.plot(kind='line')\n", | |
| "\n", | |
| "plt.title('Immigration from Haiti')\n", | |
| "plt.ylabel('Number of Immigrants')\n", | |
| "plt.xlabel('Years')\n", | |
| "\n", | |
| "# annotate the 2010 Earthquake. \n", | |
| "# syntax: plt.text(x, y, label)\n", | |
| "plt.text(2000, 6000, '2010 Earthquake') # see note below\n", | |
| "\n", | |
| "plt.show() " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "With just a few lines of code, you were able to quickly identify and visualize the spike in immigration!\n", | |
| "\n", | |
| "Quick note on x and y values in `plt.text(x, y, label)`:\n", | |
| " \n", | |
| " Since the x-axis (years) is type 'integer', we specified x as a year. The y axis (number of immigrants) is type 'integer', so we can just specify the value y = 6000.\n", | |
| " \n", | |
| "```python\n", | |
| " plt.text(2000, 6000, '2010 Earthquake') # years stored as type int\n", | |
| "```\n", | |
| " If the years were stored as type 'string', we would need to specify x as the index position of the year. Eg 20th index is year 2000 since it is the 20th year with a base year of 1980.\n", | |
| "```python\n", | |
| " plt.text(20, 6000, '2010 Earthquake') # years stored as type int\n", | |
| "```\n", | |
| " We will cover advanced annotation methods in later modules." | |
| ] | |
| }, | |
| { | |
| "cell_type": "raw", | |
| "metadata": {}, | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "We can easily add more countries to line plot to make meaningful comparisons immigration from different countries. \n", | |
| "\n", | |
| "**Question:** Let's compare the number of immigrants from India and China from 1980 to 2013.\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Step 1: Get the data set for China and India, and display dataframe." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 77, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>1980</th>\n", | |
| " <th>1981</th>\n", | |
| " <th>1982</th>\n", | |
| " <th>1983</th>\n", | |
| " <th>1984</th>\n", | |
| " <th>1985</th>\n", | |
| " <th>1986</th>\n", | |
| " <th>1987</th>\n", | |
| " <th>1988</th>\n", | |
| " <th>1989</th>\n", | |
| " <th>...</th>\n", | |
| " <th>2004</th>\n", | |
| " <th>2005</th>\n", | |
| " <th>2006</th>\n", | |
| " <th>2007</th>\n", | |
| " <th>2008</th>\n", | |
| " <th>2009</th>\n", | |
| " <th>2010</th>\n", | |
| " <th>2011</th>\n", | |
| " <th>2012</th>\n", | |
| " <th>2013</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>India</th>\n", | |
| " <td>8880</td>\n", | |
| " <td>8670</td>\n", | |
| " <td>8147</td>\n", | |
| " <td>7338</td>\n", | |
| " <td>5704</td>\n", | |
| " <td>4211</td>\n", | |
| " <td>7150</td>\n", | |
| " <td>10189</td>\n", | |
| " <td>11522</td>\n", | |
| " <td>10343</td>\n", | |
| " <td>...</td>\n", | |
| " <td>28235</td>\n", | |
| " <td>36210</td>\n", | |
| " <td>33848</td>\n", | |
| " <td>28742</td>\n", | |
| " <td>28261</td>\n", | |
| " <td>29456</td>\n", | |
| " <td>34235</td>\n", | |
| " <td>27509</td>\n", | |
| " <td>30933</td>\n", | |
| " <td>33087</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>China</th>\n", | |
| " <td>5123</td>\n", | |
| " <td>6682</td>\n", | |
| " <td>3308</td>\n", | |
| " <td>1863</td>\n", | |
| " <td>1527</td>\n", | |
| " <td>1816</td>\n", | |
| " <td>1960</td>\n", | |
| " <td>2643</td>\n", | |
| " <td>2758</td>\n", | |
| " <td>4323</td>\n", | |
| " <td>...</td>\n", | |
| " <td>36619</td>\n", | |
| " <td>42584</td>\n", | |
| " <td>33518</td>\n", | |
| " <td>27642</td>\n", | |
| " <td>30037</td>\n", | |
| " <td>29622</td>\n", | |
| " <td>30391</td>\n", | |
| " <td>28502</td>\n", | |
| " <td>33024</td>\n", | |
| " <td>34129</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>2 rows × 34 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 ... \\\n", | |
| "India 8880 8670 8147 7338 5704 4211 7150 10189 11522 10343 ... \n", | |
| "China 5123 6682 3308 1863 1527 1816 1960 2643 2758 4323 ... \n", | |
| "\n", | |
| " 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 \n", | |
| "India 28235 36210 33848 28742 28261 29456 34235 27509 30933 33087 \n", | |
| "China 36619 42584 33518 27642 30037 29622 30391 28502 33024 34129 \n", | |
| "\n", | |
| "[2 rows x 34 columns]" | |
| ] | |
| }, | |
| "execution_count": 77, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "### type your answer here\n", | |
| "df_ci = df_can.loc[['India','China'],years]\n", | |
| "df_ci\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Double-click __here__ for the solution.\n", | |
| "<!-- The correct answer is:\n", | |
| "df_CI = df_can.loc[['India', 'China'], years]\n", | |
| "df_CI.head()\n", | |
| "-->" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Step 2: Plot graph. We will explicitly specify line plot by passing in `kind` parameter to `plot()`." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 80, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f08a45dacf8>" | |
| ] | |
| }, | |
| "execution_count": 80, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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806klHz729/m6quvZtmyZXz961/nhRdeYPny5WzZsoVcLsfdd9/N008/zX333ceGDRsO2kMnSHBUQbktLWFv4w66dywmJbOR6chNL24zJSmjENMgsuHYQ4KjCVMikt27d7N161Y+/OEP88gjjwDw3HPPsXHjRgDOPvtsNm7cyBVXXMFzzz3HGWecgWVZzJ07l3nz5vGLX/yCOXPmUKvVOP744wE466yzeO6551i+fDnPP/88H/3oRwFYtWoV3/nOd9Baz7hvdIIEhy2014MQ2klBvFZj2NkThMnoASUzEQl4qYWobAc5RGSRS8ghwaSYEpF897vf5Yorroi0EYCxsTEGBgYAGBgYYHx8HAji/i9btixqNzg4yMjICIZhMDQ0FJUPDQ0xMjISHdOsMwyDbDZLqVSiWCy23cfjjz/O448/DsDtt9/O8PDwPj/wkQjTNJN3EWJWvwvlgVcCZxzccXDHwB1HuOG+MxaWjyP8as9TaCMDVh9YRURqDpgnoawiRFtfmBZAWkiOjlnJb7311lEXRh4glUodkt/DXt/sj3/8Y/r6+jjuuOP46U9/utcTTuQENplz2FRnap533nmcd9550f5h4ZFyGOCw8c45DHDYvQvtI/3KJJ5KsYFp1ZsclEjFTEfDqNTbepiUgjEJpBUd1/Uu/HCrK2DsoD724QatNZ7XPeB/pKPRaHT9HmbEa+s//uM/eP755/nJT36C4zjUajXuuusu+vr6GB0dZWBggNHR0Uh7GBoaYvfu3dHxIyMjDA4OdpXv3r2bwcHBtmOGhobwfZ9qtRoN3CdIcNghDLhndHkndbiy+mWEX0XQ3VFSwo4Gnz1rDir99p6urAE52DPwkAkOBqYrjPztt9/Ogw8+yNjYGD//+c9n8pGAKRDJZZddxmWXXQYED/wP//APXHvttfzlX/4lTz75JGvXruXJJ59k5cqVAJx66qncddddfOADH2B0dJTt27ezdOlSpJRkMhl+9rOfsWzZMp566ine9773AbBixQqeeOIJjj/+eJ599llOOumkZHwkwaGFVsEs6QncV9tnS1d6koMWViT8fWsIN72kjRR8o4AO50FomZqBh0ww07jkkktYv3491113XVR20003ceutt3L66afzwAMP8M1vfpObb76ZRx55BMdx2Lx5M7VajXPOOYe1a9eyePFizj//fNavX8973/ve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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "### type your answer here\n", | |
| "df_ci.plot(kind = \"line\")\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Double-click __here__ for the solution.\n", | |
| "<!-- The correct answer is:\n", | |
| "df_CI.plot(kind='line')\n", | |
| "-->" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "That doesn't look right...\n", | |
| "\n", | |
| "Recall that *pandas* plots the indices on the x-axis and the columns as individual lines on the y-axis. Since `df_CI` is a dataframe with the `country` as the index and `years` as the columns, we must first transpose the dataframe using `transpose()` method to swap the row and columns." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 82, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>India</th>\n", | |
| " <th>China</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>1980</th>\n", | |
| " <td>8880</td>\n", | |
| " <td>5123</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1981</th>\n", | |
| " <td>8670</td>\n", | |
| " <td>6682</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1982</th>\n", | |
| " <td>8147</td>\n", | |
| " <td>3308</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1983</th>\n", | |
| " <td>7338</td>\n", | |
| " <td>1863</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1984</th>\n", | |
| " <td>5704</td>\n", | |
| " <td>1527</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " India China\n", | |
| "1980 8880 5123\n", | |
| "1981 8670 6682\n", | |
| "1982 8147 3308\n", | |
| "1983 7338 1863\n", | |
| "1984 5704 1527" | |
| ] | |
| }, | |
| "execution_count": 82, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df_ci = df_ci.transpose()\n", | |
| "df_ci.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "*pandas* will auomatically graph the two countries on the same graph. Go ahead and plot the new transposed dataframe. Make sure to add a title to the plot and label the axes." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 85, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEaCAYAAADZvco2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeVyU1f7A8c+ZYd93cV/YQRBSUdREzVbNzHZbrqY3s1+m7d6rN1tut265VC5t6u12Wy3TsszUEFFRwxRNQBTBFEVZZYcB5vz+mJxEWWZgUMTzfr16XXnmeZ5znoE73znb9wgppURRFEVRLEBzuSugKIqidBwqqCiKoigWo4KKoiiKYjEqqCiKoigWo4KKoiiKYjEqqCiKoigWo4KK0mojRoxg6tSpl7sabaKkpITbb78dFxcXhBAcO3bsclfJLKb8bl588UX8/f0vUY3aTq9evfjnP/95Wcq6lGW3dyqodACTJk1i9OjRl638b775hoULF1628hvi7+/Piy++2Or7vPvuu+zcuZMdO3aQk5ND9+7dW185CykoKOC5554jKCgIOzs7fHx8GD58OB9//DG1tbUm3+eZZ55h165dbVjT9iE+Ph4hBNnZ2Ra/d1JSEk8++aTF73slsrrcFVCufB4eHq2+R01NDVZWVgghLFAjyzly5AhhYWGEh4c3eo5Op8PGxuYS1gqys7MZOnQoVlZWvPzyy0RFRWFtbU1iYiLz588nIiKCyMhIk+7l5OSEk5NTG9e4Y/P29r7cVWg3VEulAzrXclm8eDHdunXDycmJqVOnUlNTw3vvvUfPnj1xd3fnkUceQafTGa8bMWIEU6ZMYe7cufj4+ODm5sacOXPQ6/W8/PLLdOrUCW9vb+bMmVOvvAu7WCorK3nkkUdwdXXF3d2dxx57jL/97W/1uljOr2OvXr2wtbWlvLycTZs2MWLECDw8PHB1dSU2NpZffvmlXnlCCJYtW8aDDz6Is7Mz3bt354033qhXn6NHj/LSSy8hhDB2W9XU1PDUU0/RrVs3bG1t6dy5M/fee2+j72OvXr1YsWIFcXFxCCEYMWKE8fjcuXN57LHH8PT0ZOjQoQDk5ORw77334ubmhr29PSNGjGDPnj3G+537prx+/XpiYmKwt7enf//+pKSkkJKSwrBhw3BwcCA6OprU1NQmf8fTp0+nurqavXv3cv/99xMaGkpAQAB/+ctf+PXXXwkICKh3/iuvvIKvry8eHh5MmjSJ8vJy42sXdn+d+/nbb78lODgYR0dHRo4cydGjR43nFBUV8cADD9CjRw/s7e0JCgpiwYIFNJeg4+233yYyMhInJyd8fX259957ycnJueg92rRpE8OHD8fBwYHQ0FB++umnevfZv38/Q4YMwc7OjsDAQFatWtVkuQ2xZFkXdn999tlnDBo0CFdXV7y8vBgzZgyHDx82u45XJKlc8f7yl7/I6667rt7PLi4u8qGHHpKpqany22+/lba2tvLmm2+WDz74oExJSZHr1q2TdnZ2ctmyZcbrYmNjpYuLi3zuuedkenq6XLFihQTkzTffLJ999lmZnp4uP/roIwnI9evX17tuypQpxp9nzJghfXx85LfffisPHTokZ8+eLV1cXKSfn1+9Ojo7O8vx48fLffv2yQMHDsiamhr5zTffyFWrVsn09HR58OBBOWXKFOnu7i7z8/ON1wLSx8dHfvDBBzIjI0O+/fbbEpBxcXFSSikLCgpkr1695NNPPy1zcnJkTk6OrK2tlQsWLJBdu3aVW7Zskb///rv85Zdf5KJFixp9X3Nzc+Xdd98tr732WpmTkyMLCgqklFL27NlTOjs7y3nz5sn09HSZkpIi9Xq9jI6Olv369ZPbtm2TBw4ckHfffbd0c3OTeXl5Ukopt2zZIgEZGRkpf/75Z5mSkiIHDx4sw8PD5bXXXis3b94sU1NT5dChQ2V0dHSj9SooKJAajUa+8sorzf5txMbGSldXVzlr1iyZlpYmf/zxR+nq6ipfeOEF4znz5s2r97uZN2+edHBwkDfeeKPcs2ePTE5OlpGRkXL48OHGc3JycuTrr78uf/31V5mZmSn/97//SUdHR7ly5com6/PWW2/JTZs2yczMTJmYmChjYmLq3ffcexQRESF//PFHefjwYfnggw9KV1dXWVRUJKWUsqKiQnbp0kXefPPNMjk5WSYmJsoBAwZIe3v7Jt+Tc/c+ceKExcvq2bNnvZ9Xrlwp161bJzMyMuTevXvlrbfeKv39/WV1dXWT709HoIJKB9BQUPH29q73B3zLLbdIT09PWVVVZTw2btw4eccddxh/jo2Nlf369at379DQUNm3b996xyIiIuTTTz9d77pzQaWsrEza2NjI5cuX17tm0KBBFwUVV1dXWVpa2uSz1dXVSTc3N/nJJ58YjwFyxowZ9c4LCgqSs2fPNv7s5+cn582bV++cJ554Qo4cOVLq9fomyzzfhe+tlIYPkFGjRtU7tnnzZgnIlJQU47Gqqirp6+srX3rpJSnlnx9ia9asMZ6zatUqCcivv/7aeOybb76RQKPvze7duyUgV69e3Wz9Y2NjZXh4eL1j06ZNk4MHDzb+3FBQ0Wq1Mjc313js888/l0IIWVlZ2WhZTzzxhBw9enSzdTrf3r17JSCzs7OllH++R+c/W05OjgTkhg0bpJRSfvjhh9LR0VEWFhYaz/ntt98k0KKgYomyLgwqFyooKJCA3L59u0nvy5VMdX91UCEhIfX6+X19fQkKCsLW1rbesdzc3HrX9evXr97Pvr6+REREXHTswuvOycjIQKfTMXjw4HrHY2JiGqzjhX35WVlZPPjgg/j7++Pi4oKLiwvFxcX8/vvv9c67cLyga9eunDlzpsE6nTN58mR+++03/P39efTRR1m9enW97j9zREdH1/s5JSUFT09PQkNDjcdsbW0ZNGgQKSkp9c49/z329fUFqPcenzvW2Hss/+hiMnX8qSXvVZcuXeqNE3Tt2hUppbFOer2e119/ncjISLy8vHBycuK999676Pd0ofj4eG688Ua6d++Os7Mzw4YNA2jy9+vr64tWqzXWOTU1lZCQENzd3Y3n9O3bF1dX1ybLbkxblJWcnMztt99O7969cXZ2pkePHg0+Z0ekgkoHZW1tXe9nIUSDx/R6vUWuu5ApH3iOjo4XHRs7dizHjx9n6dKl7Nq1i+TkZHx8fC768L9wYNyUOkVGRpKVlcX8+fOxsbFh5syZREZGUlJS0mxdTal7Q88spbzo+Pnv57nXGjrW2PMEBASg0WguClaNacl71dA159dpwYIFvPbaa8yYMYNNmzaRnJzM1KlTmwzSx48f55ZbbqFXr1588cUX7Nmzh++++w6g2d/v+WU39J62hqXLqqio4IYbbkAIwcqVK/nll19ISkpCCNHiLzFXEhVUFIvy9/fHxsaGnTt31jtuypTVgoICUlNTmT17NjfeeCOhoaHY2dk1+o29KTY2NtTV1V103MnJidtvv5133nmHPXv2kJaWxtatW82+/4XCwsLIz8+vN8BeXV3NL7/8QlhYWKvvfz4PDw9uvvlmlixZQnFx8UWv19TU1BuIbwsJCQncdNNNTJkyhaioKPz9/Tly5EiT1yQlJVFZWclbb73F0KFDCQoKarbF1JCwsDBSU1M5e/as8VhKSkqD70VrtaSstLQ08vLyePXVVxk5ciQhISEUFRU1O4mho1BBRbEoR0dHpk2bxty5c/n+++85fPgwc+bMIS0trdlvfO7u7nh7e/Phhx9y+PBhdu7cyX333Ye9vb3Z9ejduzc7duzg+PHj5Ofno9frefPNN/n0009JSUkhKyuLlStXotVqCQwMbOnjGo0aNYro6GgmTpzIjh07OHjwIA899BBVVVVMnz691fe/0LJly7C2tqZ///589tlnpKamkpGRwSeffMKAAQOa/YBvraCgIOLj49myZQuHDx9m7ty57N69u8lrAgICEEKwYMECsrKyWLt2LS+//LLZZU+cOBFnZ2ceeOAB9u/fz65du3j44Ydb9HfSFmX17NkTW1tbFi9ezNGjR/n555+ZOXNmu5su31ZUUFEs7t///je33norEydOJDo6mqKiIiZNmoSdnV2T12k0Gr766iuOHj1KREQEkyZNYtasWXTu3NnsOrz00ksUFxcTFBSEt7c3x48fx8XFhYULFxITE0N4eDhr1qxh9erVBAUFtfRRjYQQrF27luDgYMaMGcPAgQM5ffo0mzZtwsvLq9X3v1CPHj3Yu3cvt912Gy+++CLXXHMNQ4YM4cMPP+TZZ5+lb9++Fi/zfP/4xz+IjY3ltttuIyYmhqKiIp544okmr4mIiGDx4sW8//77hIaGMn/+fN566y2zy3ZwcGD9+vUUFBQQHR3N/fffz5NPPomPj09LH8eiZXl5efHJJ5+wadMmwsLCeOaZZ5g/fz4azdXxcSvk1dImUy6rUaNG4e7uzurVqy93VRRFaUNqRb1icb/99ht79+4lJiYGnU7H//73P7Zs2cL69esvd9UURWljKqgoFieE4N133+WJJ55Ar9cTHBzMmjVruPnmmy931RRFaWOq+0tRFEWxmKtj5EhRFEW5JFRQURRFUSzmqh9TOXXq1OWugkV4eXmRn59/uathER3lWTrKc4B6lvbocj5Hly5dGn1NtVQURVEUi1FBRVEURbEYFVQURVEUi7nqx1QURVEaI6WkqqoKvV7f7nJ3nTlzhurq6ja7v5QSjUaDnZ2dWc+ugoqiKEojqqqqsLa2xsqq/X1UWllZodVq27SM2tpaqqqqzErWqbq/FEVRGqHX69tlQLlUrKysmt1750IqqCiKojSivXV5XQ7mvgcqqCiKctVIOFZCfnnH333xclJBRVGUq8KxoioW7DjFl/tOXu6qmCUgIMCs8xMTE3nooYcA2LhxI0uWLGmLajVKBRVFUa4KW4+VAHDgVMllrsmlc8MNN/D4449f0jJVUFEUpcPTS8m2P4LKoTNlVNeaN/jcHiQmJnLnnXfy17/+leHDhzN9+nTjvvdbtmxh+PDhjB8/nh9//NF4zZdffsmcOXMAQ6tl7Nix3HDDDdxzzz3k5eW1ST2v3mkNiqJcNdLyKsmrqGVoD2d2HC8lo7CKMB8Hs+6h/+JD5Iksi9ZLdO+N5t6/mnz+wYMHiYuLw9fXl/Hjx5OUlERERATPPvssq1atonfv3jz66KMNXhsdHc26desQQvDZZ5+xbNky5s2bZ6lHMVJBRVGUDi/hWAm2WsFforzZcbyUtLxKs4NKexAZGWlM5ti3b19OnDiBg4MDPXr0oE+fPgDccccdfPLJJxddm5OTw/Tp08nNzUWn09GjR482qaMKKoqidGg1dZIdv5cwqJsznZxs6OluT1puBYR5mnUfc1oUbcXGxsb4b61WS21tLWDatN9//OMfPPLII9xwww0kJiaycOHCNqmjGlNRFKVDS84pp1SnZ3gvFwDCu7hwKL8SfQfZ9Nbf35/jx49z7NgxANauXdvgeSUlJfj6+gLw1VdftVl9VFBRFKVD23qsGGdbLVFdHAGI6OJCmU5PdnHHWK9iZ2fHG2+8wUMPPcT48ePp1q1bg+c9/fTTTJs2jdtvvx0PD482q89Vv0e92qSr/ekoz9JRngOu3GeprNHz0OojjOrjyvRow7f0Sq0j9378K49F+3JjgFuT11dUVODg0D7HXqysrIzdX22pofdAbdKlKMpVaXd2Kbo6SewfXV8A3dzscLXTkppXcRlr1nFd0oF6vV7P7Nmz8fDwYPbs2ZSVlbFo0SLy8vLw9vbmySefxMnJCYA1a9YQFxeHRqNh8uTJREZGApCZmcnSpUvR6XRERUUxefJkhBDU1NSwZMkSMjMzcXZ2ZtasWfj4+FzKx1MUpZ1JOFaCt4MVwd5/ZtkVQhDibc+hvMrLWLOO65K2VNavX0/Xrl2NP69du5bw8HDeeecdwsPDjQNM2dnZxtkJc+bMYcWKFcZMmR9++CHTpk3jnXfe4fTp0yQnJwMQFxeHo6MjixcvZsyYMXz66aeX8tEURWlniqtq2ZdTzrW9XNBcMDsq1NuB02U1FFa2fffR1eaSBZWCggL27t3LddddZzyWlJREbGwsALGxsSQlJRmPDxkyBGtra3x8fPD19SUjI4OioiIqKysJDAxECMHw4cON1+zZs4cRI0YAMHjwYA4ePMhVPlykKFe17b+XopfU6/o651zLJU11gVncJev++uijj3jggQeorPyzyVlcXIy7uzsA7u7ulJQY0igUFhbWS6Lm4eFBYWEhWq0WT88/55Z7enpSWFhovObca1qtFgcHB0pLS3Fxqf8HtXnzZjZv3gzA66+/jpeXVxs87aVnZWWlnqWd6SjPAVfms+yMO0kfTwcGBNSfDWVlZUV0QFdsfz5BVinc1sRznTlzpl3vp3Ip6mZra2vW7/6SvFu//vorrq6u9OnTh5SUlGbPb6yF0VTLo6HXGloQNHr0aEaPHm38+Uqc0dKQK3V2TkM6yrN0lOeAK+9ZzpTp+C2nlAcjvS+qt5eXF8VFhQR42LLveCH5+Re3ZM6prq5u890VW+pSzf6qrq6+6D1savbXJQkq6enp7Nmzh3379qHT6aisrOSdd97B1dWVoqIi3N3dKSoqMrYqPD09KSgoMF5fWFiIh4fHRccLCgqM863Pvebp6UldXR0VFRXGQX9FUa4uCX8kjxzes/GAEeLtwOrUAipr9Nhbt++JsLm5ucybN4/9+/djY2ND9+7dufnmm9mwYQMff/zxRec/88wzPPLIIwQGBl7yul6Sd3LixIm89957LF26lFmzZtG3b1+eeOIJBgwYwNatWwHYunUrAwcOBGDAgAEkJiZSU1NDbm4uOTk5+Pv74+7ujr29PYcPH0ZKSUJCAgMGDACgf//+xMfHA7Br1y7CwsLUrm2KchWSUrL1WAmh3vb4OFk3el6Itz16CUcK2vcsMCklU6ZMISYmhsTEROLj43n++eebbDnOnz//sgQUuMzrVMaPH8+BAwd44oknOHDgAOPHjwege/fuxMTE8NRTT/Hqq68yZcoUNBpDVadOncr777/PE088QadOnYiKigJg1KhRlJWVMWPGDL7//nvuv//+y/ZciqJcPsfOVnOiWGdMy9KYIG97BJDazqcW79ixA2tra+PGW2BIJjlo0CAqKiqMqfAff/xx4zDAnXfeyf79+wHDJl+vv/46o0ePZuzYscaU922VCv+Sj0CFhYURFhYGgLOzMy+88EKD502YMIEJEyZcdNzPz48FCxZcdNzGxoannnrKspVVFOWKk3CsBK2AoT2cmzzPyUZLDzdb0kwMKsv3nCGrqMoSVTTq7W7H1AGdmjwnPT2d8PDwBl87PxX+bbfdRlJSEtHR0fXOqaio4JprrmH27Nn885//5NNPP2XWrFltlgq//U5rUBRFMZNeShKOlRDV2REXu+Y/3kK97YnPKqFOL9Fqrrzu8vNT4YeFhXHixImLgoqNjQ3XX389AOHh4Wzbtg1ou1T4KqgoitJhpOVWkl9Ry0OR3iadH+xtz49HzvL72Wr6eNg1eW5zLYq2EhgYyA8//NDga42lwj+flZWVcXz5/HPaKhV++57yoCiKYoatf2zGNah7011f54R6GxIlmtoFdjkMGzYMnU5XL0tIcnIyO3fubNV92yoVvgoqiqJ0CDV1kh3HSxjU3Rk7K9M+2rwdrfC0t2rXK+uFECxfvpyEhASGDBnCyJEjWbBgAZ06ta7l1Fap8FXqe5X6vt3pKM/SUZ4Droxn+SW7lFe3nuQfI7oxoGvja9QufJY3t58kLa+Slbf7X3SuSn2vUt8rinKV2nqsBBdbLZGdHc26LsTbnoKKWvLKa9qoZlcXFVQURbniVdTU8Ut2GUN7OGNl5iyuc+MqqbnttwvsSqKCiqIoV7zdJ8ou2ozLVD3dbLGz0jQ4WH+Vjw4A5r8HKqgoinLFSzhWgo+jdb3NuEyl1QiCvewaDCoajeaSjFu0V7W1tcZsJqZS61QURWnXauokJdW1FFfVUVxdR3GV4d9nq2op+ePn5NPlTAj1bHG+vxBvB774LZ9yXR2ONn9mJbazs6Oqqorq6up2l0vQ1taW6urqNru/lBKNRoOdXdPrdy6kgoqiKK0ipWT/6Qp+OFyEjVbwzNAuFvkAPlJQyb+2nmx0d0YrDbjaWuFqp+Wazo7cFODW4rJCfOyRQHp+Jdd0+XPmmBACe3vzWz+XQnudkaeCiqIoLVJVq2dLZjHfpxeRXaLDRivQ1Ulu8K+gn695M7Aa8klyHnVSMjHCC1c7La52VrjZGv7XxU6Lo7XGrOAl6+qQ/11MVewN4Bda77VAT3s0wrAI8vygophPBRVFUcxyulTH+sNFbD5aTHmNHj8PW2bGdGZwdyceW5fF1ykFrQ4qGQVVJJ+u4C+R3kwI82z+AlMcO4LcGUdx0jY0s15EBP2ZpNHeWkNvd7t2n7H4StCioKLT6dBoNO16m01FUSzH0MVVzvfpRSRll6ERENPDmbFB7gR72RtbDLcFu/PRvjyOFFQS4NnybqPVqQU4Wmu4KbDlXVoXkmmGVPBan87ULf0XmudeQ3TrZXw9xNuejRlnqdVLs6clK38yaVj/448/JiMjA4C9e/cyefJkJk2axJ49e9q0coqiXH57T5XxwCf7eOHnE6TnVXJXX08+HO/Hs8O6EuLtUK8L6sYANxxtNKxOKWjijk07WaJj5/FSbg50x8Haclv5ykMHoHtv3F96G2zt0L/9IrLgzz1EQr3t0dVJMgstm97+amNSUNm+fTvdu3cH4Ouvv2bGjBk899xzfP75521aOUVRLq+aOslbiTnU1umZGdOZ5bf7cX8/bzwdGt5R0cFay5hAd3adKCO7uGUzk75JLcBaK7g12L01Va9HVlfD0TRESD+0Xp3QzJwH1dWGwFJeCmCcjtyek0teCUwKKtXV1dja2lJaWsqZM2cYPHgwERER7XLmgaIolrPnZBnF1XXMjO3DqD6u2Gib/8gYG+SOtVbwTWqh2eUVVNQQn1XMaD9X3EzYD8VkGalQW4sI6QeA6NYLzf/9HfJy0C95FVmjw9PBmk5O1u06ueSVwKSg0qVLF7Zt28aGDRuIiIgADGmTz8/lryhKx7Pp6Fk87a0Y1NP0VoOrnRXX+7sRn1Vsdj6tb9MK0UsYH2K5rLkAMi0ZtFYQEGY8JoLCEQ8/BRmp6JcvQOrrCPGyJy2vUq2kbwWTgsqUKVP46aefSElJ4Z577gFg//79xgCjKErHU1BRw76cckb2cTV7V8TxwYag8O0h01srpdV1/JRxluE9XejkZNkvrDJtP/gFIWzrL+TTDByGuGcK7N2J/OJDQrztOVtVx+kylVyypUxqX3p5efHPf/6z3rFrr7220X2TFUW58sVlFqOXMNrP1exrfZysGd7LhY1HznJ3mKdJW/v+cLiIqlppuSnEf5ClJXAiCzHuvgZf14y+DX1RIXLjGoKcuwIBpOVV0tlZ9cS0hEktlZkzZzZ4/Mknn7RoZRRFaR/0UrL5aDF9Ozm0+MN1Qpgn1XWSHw4XNXtuVa2e79OLGNjViZ5uti0qr1HpB0BKREhko6eIO/6CiB5Ot++W46jRt/uMxVKvpyYj7XJXo0EmBZWG+hcrKirMTjSmKMqVISW3gtNlNVzfglbKOT1cbRnUzYnv04uorNE3ee6mjLOUVtdxR5hlx1Lgj64vO3voFdDoOUKjQUyaiSY4nKD8w6RlNx8ILye5bSOFz05BHkm9pOVmFlbxypYTTZ7TZJt0+vTpgGGx47l/n1NWVsbQoUNbWUVFUdqjzRnFOFpriDFxr/fG3BHmye7sMjZmnOW2Rgbfa+oka9MKCfOxJ8Tb8rssyrT9EBSO0Da95kVYW6N57O+EfLiKvdUaio9m4Op38W6Ql5vU65GbvjX8e28iIiC0mSta72SJjs8P5LHt91IcbZpuTDQZVGbMmIGUktdee40ZM2bUe83Nza3JLSUVRbkylevqSDxRyqg+rtiauNd7Y4K87Anv5MDatEJuCXTDuoEpyQnHismvqOWxaN9WldUQmXca8k4jrrvVpPOFvQOhY26EXcWk/rCRmCfaX1Dh4K9w5iTC0Rm5bxfy7iltlkE5r7yGL3/L5+fMYmy0grvCPBkf2nRrssmgEhpqiIArVqzA1tbC/ZyKorRLCcdK0NXJFg3QN+SOME9ejDtBfFYJ1/vXT7uil5JvUgvp7W7LNV1an4TyQvLQAQBEcD+Trwno2QmrXUWklWsZfOo4oksPi9erNfSbvwM3T5zumUzp+/Mh+xh0723RMoqravk6pYAfD59FAmMC3bkzzBM3++YnXJg0+0ur1bJ582aOHTtGVVX9FAaPP/54iyqtKEr7tPloMb3cbPH3MG8fjcZE+jrg52HLN6mFjLpgevLu7DKyS3Q8baF0+RdJ2w+u7tClu8mX2Fpp6Ottx86qcP6y5Ue090+zfL1aSGZnQdp+xISHsB08gtIPFiD37UJYKKiU6+pYm1bId4eK0NXpGdXHlXvDvfB2/DODgtTXNXkPk9q2S5Ys4YcffsDOzo5OnTrV+09RlI7jWFEVGYVVjPZztdiHvBCCO8I8OVWqY1d2qfG4lJLVKQX4OlkztEfrxm4aIvV65KEDiJB+Zj/LCH9Pcu08SEvJQFa1n7QtcvM6sLFFDL8RrZsH+AUjk3dZ5N4/pBfxyLdHWXWwgP5dHFk8tjczBneuH1Bqa9Av/VeT9zGppbJ//36WLFmCo6Plm6eKorQfm44WY6URxPa2TNfXOYO7OdPF2YbVKYUM6e6MEILfzlRwpKCK6dGdzF5caZKTv0NpMZjR9WWsb3dnbHefIsEthNBftiKG32T5+plJlpxF7t6KGDYa4WgIwiJqMPKr/yDzTiO8Wz4mdaSgkg/2nCGikwOTrvHBr4FWqqytRf/Bm3Agqcl7mdRS8fLyoqZGrTBVlI6spk7P1qxiBnVzwsXWctmBwbAP/IRQD44WVrH/tGENyOqUAtzttIzqY9kAds65VPcixPzMH/bWGqK7u7DD9xp0W35qF2lbZPyPUFtTb9KBiBxkeG3/7lbde3VKIY42Gv4W27XhgFJXh1y+APbtQtz71ybvZVJQGT58OFLnoUkAACAASURBVG+++Sbbt2/n4MGD9f5TFKVj2J1dRqlOf9FguqWM6O2Ch70VX6cUGDfhGhfsYVKSypaQafuhU1eEh3eLrh/R25UyrR37Km0hM93CtTOPrNEh49dD+ACEbzfjceHTBbr2RO5reVDJLqlm14lSbgloeKsBqa9DrnwL+esOxF2T0TQzk86k7q8NGzYAXJTqXgjBkiVLTK27oijt2KajxXg7WNHP1/JrRQCstRrGh3iwcm8ui3flWHwTrvPJ2ho4koKIGdXie0R2dsTVVkNClwEMil+P8Au2YA3NI39JgNJiNKPHXfSaiByEXP81srQE4exi9r3XphZirRWMbWCrAanXIz96B/nLVsSEh9DccHuz9zMpqCxdutTsiiqKcuXILathf04594R7ommjNQ8AN/i7sepgPsfOVnNnmKdFN+GqJ/MwVFcZU923hJVGMKyXKxurQynbuRrn0mKEc9t01TVFSmlY7Ni1JzTwPCJqMPKHVcgDSYih15l174KKGrZklXB9A1sNSL0e+cky5M4tiHET0dx8p0n3VHlWFEUhLrMYoO3GN6REZmdh++OXjMvZiUNdNWN7WmbKcoPlpe0HoYGg1iW9HdHLhRo07HIPQe7YbKHamenQATj5O2L0uIZnsfXwAw8v5L6dZt963aEi9FJetNWAlBL5+fvIbRsRY+5Gc+u9Jt/TpJZKRUUFX331FampqZSWltYbtHr33XdNLkxRlPZHLyU/Z54lwtfBoinnpV4PmYcMq7737YK80yAEE3r4cUvq9zh2eRAa6M6xSNmH9kNPP4SjU6vuE+BpR2dnaxJ6X8t1Wz9D3jAeoWmj1lUj9Ju+BWdXxKDYBl8XQiAiByO3bURWV12U3r8xZbo6Nhw5y9AezvielzRUSon8cjky/kfEjRMQt91vVn1NaqksX76crKws7rzzTsrKynj44Yfx8vJizJgxZhWmKEr7c+B0BbnltYz2a/34hqytQR78Ff3/lqJ/dhL6f89G/vw9dOqCePAxNG9+hPXchTj09kNu/q7ZhXQtqkNlBWSmt6rr6xwhBCN6uXLQ1pf80ipI2WeBGppOns6G3/YgRtyMsG484IvIQVCjM6t+G46cpbJWz4TQP7cakFIiv/4P8ud1iNG3GbI3m9kdalJL5cCBAyxatAhnZ2c0Gg0DBw7Ez8+Pf//734wdO9asAhVFaV82Hz2Lk42Gwd1b961eH/c9cu0nUFkBtnaIvv0hajAifADCof4aN831t6F/9zXYtxv6D2lVuRc5nAJ6vUWCCkBsbxc+/y2f7d0HMz7+R7ThAyxyX1PIn9eBlRVixM1NnxgQBg5OyORdiGtimr2vrk7PukOFRHZ2pM8fU4illMg1HyM3rkWMHIO4++EWLYA1KahIKXFwMMwIsbOzo7y8HDc3N06fPm12gYqitB+l1XXsOlHGDQFurZraK3/7FfnFhxAcgea6cRDar8lv1kRGg7cv+k1r0Vo4qMhD+8HaBvxDLHK/zs42BHnZkaCJYfyWl5D5ZxBebZ9NRJaXIhPjENGxCJemt3MWVlaIiIHI/UnIurpmMzLHZRZztqqOO85LDinXfY78cTVi+E2I+x5pcUYFk/6KevbsSWqqIW9/cHAwK1asYPny5XTu3LlFhSqK0j5sPVZMjV4yuhUD9DL3FPrl86FrLzT/NxfRb2DTAQUQGi3iunFw9BDy6KEWl91gfdL2g39Is3UwR2wvV47pHfjd0ReZ8JPF7tsUmbARdNUIE8edRNQgqCiDw02vH6zTG7YaCPC0I7yTobEg0/Yj132BiBmFuP/RVqXoMSmoTJs2DW9vwwKihx9+GBsbG8rLy1UySUW5gsk/dnf087A1doGYfY+qSvTLXgOhQfPY3xBmZDMXQ68De0fk5u9aVHaD9SkuMsyUslDX1znDejqjEZDQ9xbk9k3INs4wImtrkXHfQ3CE6ckiw64BaxtkctMLIXedKCWntIYJoR4IIZA1Neg/fQ+8fREPTEe0cvPFZru/9Ho98fHxTJgwAQAXFxceffRRswrR6XTMmzeP2tpa6urqGDx4MHfffTdlZWUsWrSIvLw8vL29efLJJ3FyMvTrrlmzhri4ODQaDZMnTyYy0rAVaGZmJkuXLkWn0xEVFcXkyZMRQlBTU8OSJUvIzMzE2dmZWbNm4ePjY+77oShXjcyiarKKqpk2sGVdOVJK5H8Xw6kTaGbNMzv3lLCzRwy/EblxrcW6lIyp7i0cVFztrLimsyMJeQHcX1qC2JvY6GwsS5C/7oCzBWgeeOyi106W6IjPKianIpe7QlyN2y8LWzsIjUQm70Le+9cGWxtSSlanFtDF2ZpB3Qz5w+RP38CZk2hmzkPYtH6Lk2ZDkkaj4aeffkLbTB9dU6ytrZk3bx5vvvkmb7zxBsnJyRw+fJi1a9cSHh7OO++8Q3h4OGvXrgUgOzubxMREFi5cyJw5c1ixYgV6vWE70g8//JBp06bxzjvvcPr0aZKTkwGIi4vD0dGRxYsXM2bMGD799NMW11dRrgabMs5ioxUM72X+KmzAEAz2bEfc/iAiNKpF9xCjxoJGGL6VW0JaMjg4QY8+lrnfeWJ7u1JQoyG11wBDHi4z1dQ1vaXyOVJKQ+utU1cI7w9ASXUdP6QX8eyGYzy2LpOvUwrYm13M3zb+TsqZCuO1ImowFObD8cwG773/dAVHC6u5PdQTrUYgc3OQP6xC9B9qmFhhASa1c2JjY9m0aVOLCxFCYGdnaF7X1dVRV1eHEIKkpCRiY2ONZSQlGbJfJiUlMWTIEKytrfHx8cHX15eMjAyKioqorKwkMDAQIQTDhw83XrNnzx5GjBgBwODBgzl48GC7SAKnKO2RXkq2Hy9lUDcnnGzM/8IoU5ORq/8L/YcgbprQ4noIDy9E/2GGNRaVFc1f0FSdpDSMpwSHt8lakkHdnLCz0pAQPBoyUg17m5igTi95LSGbu744zPTvMlmw/RRrUgs4cLqcMl0DU6qPpsGxI9SOupVd2eX8a2s2k785wgd7zlBdJ5kU5c3y8X58fH8U7vZWzIs7QeLxEgBExEAQmkbT4X+TWoC7vRUje7sgpUT/+fuG2WX3TG3x+3Ihk2Z/ZWRksGHDBr777js8PT3rNateeuklkwrS6/U8//zznD59mhtvvJGAgACKi4txdzfManB3d6ekxPDGFBYWEhAQYLzWw8ODwsJCtFotnp5/zqn29PSksLDQeM2517RaLQ4ODpSWluLiUv9b2ObNm9m82bAy9vXXX8fLy8uk+rd3VlZW6lnamfb8HJkF5ZRW13FtoK9JdTz/WepycyhYvgBtt554PP0yGvvW5QqrueshCn/ZisO+RBzHmb5y+0K1p05QUJiP812TcGjimVrzexkRcJbtR2GqrQOuu+JxeXRgk+dLKXkjLoNdJ8oYG9aJkqoa0nPLSfi9xHhOF1c7gn2cCPR2JNDHiZptu4kLvZvEwgBKt53E08GauyK7cmOwNwHef077trKy4oN7o3huXSpvbDvFrBF23NnPj8KQCOSBJDynzKxXl0Nnyth/uoLHhvaicycfqnbEUXxwL84Pz8QhIKhF70dDTAoq1113HdddZ15OmQtpNBrefPNNysvLmT9/PsePH2/03MZaGE21PBp6raE+xdGjRzN69Gjjz/n5+U1V+4rh5eWlnqWdac/PsfPIWQB62NeZVMdzzyJ11ej//TzU1iKnPU9heQWUt66FgZs3BIRS9t0XVAwa2ex02MboE7cAUN7Nj4omnqk1v5eYzrZsSNOzd8B4BsevoXrMPYgmguqqg/l8dzCfO8M8eTDyz2nBxVW1ZBZVc7SgiqNFVaTmFBN35I862cRg41PH4M6OjOztQj9fxz/2m6kiP//PnXe9vLyoKS/mheGdmb9Dsig+kxN5xUzs2x9WrSAv9YAhi/EfViaexMFaw7Au1uSdOI5++ULo0Yfy6BFNvl8N6dKlS6OvmRRUznUrWYKjoyOhoaEkJyfj6upKUVER7u7uFBUVGVsVnp6eFBQUGK8pLCzEw8PjouMFBQV4eHjUu8bT05O6ujoqKiqMg/6KotSXmleBm50WXyfr5k/+g5QS+b+lcCILzeNzEZ0a/2Axl+b68eiX/Qv27YQBw1p0D5l2ADy8wIL1ulB4Jwfc7bRs9YhkcPVnyF3xiJG3NHjulsxiPt2fz4heLjzQr37LyNXOiqjOVkR1NiwKlXV1lCb8TGZ8AqV1Gvo/8TgOJk40srXSMPvarryfdIavUwoo7BLOo0KDdfJuxB9ZhXNKdew8UcrtIR442mjRf/EpFBeheezvLQ7ijTFpTCUuLq7B/7Zt20ZqamqzG3iVlJRQXl4OGGaC/fbbb3Tt2pUBAwawdetWALZu3crAgYam5IABA0hMTKSmpobc3FxycnLw9/fH3d0de3t7Dh8+jJSShIQEBgwwrG7t378/8fHxAOzatYuwsLC22fNaUTqAtLxKQrwdzPr/iIz73vAhOu4+Q9+9JfUb+MdiyG9bdLnU10ELtw42h1ZjmNjw61lBae8wZPz6BntJknPKWbwrh4hODjw+uHOTdZKp+9C/MgvHz5YQ7lDLsL8+ZHJAOb9e06M7cV+4F3GndLw+YDoVyb8aX1+TWohWCG4N9kAeP4qM+wERexOid6BZ5ZjCpJZKQkIChw8fxtXV1dgiKC4uxs/Pj9zcXACee+45/Pz8Gry+qKiIpUuXotfrkVISExND//79CQwMZNGiRcTFxeHl5cVTTz0FQPfu3YmJieGpp55Co9EwZcoUNH/MnZ46dSrLli1Dp9MRGRlJVJRh1smoUaNYsmQJM2bMwMnJiVmzZrX6zVGUjqigooYzZTWMCWx6lfb5dAf3IVetgH7RiFvutnidhEaLGD0O+fkHyKOHzN+75HimYeFfC7YONteI3q58e6iIXVG3cv03r8ORVAgMM75+rKiK1xNO0s3FltnDu2KtbTigyNPZ6L/6j2F7Xq9OaB59Hq4Z0uKgKITg3ggvPByseHe3ZF5dLP/IK0Q6uRCXWcyoPq642Qr0n7wLTs6I2x9sUTnN1kOaMEVq+fLldOnShVtu+bOZt2HDBk6ePMnDDz/MN998w969e3n11VfbpJJt6dSpU5e7ChbRnvvvzdVRnqW9Psf230t4c/sp5t/UkwBP+2bPl4X58K+n0ds7oPnb/IvyeFmKrKpE//zDENIP7aOzzbpW/+Nq5Df/RTP/vwjXpoNla38vUkoe/z4LFxvBP9f/HZxcEJGDEX7B5HcN4PkdhvGqf9/YE2/Hi7sXZXkpct0Xhp0crW0QY+5GXHer2RkAmnqO3fsymP9bJZ62ENTdk61ZJSy7tQ++e39GfvouYspTaAaPMPvZz2lqTMWk7q8dO3Zw00031Tt2ww03sH37doQQjBs3juzs7BZXUFGUSyctrxJbraC3u2mr6PWfvYesrjb0v7dRQIFziyFvgr27kHnm5RWUacnQtWezAcUShBCM6O1Can41effNBGdXZNw6Sj9YxMtrf6OirJy5xfF47vkZmX3MsAUAhlXy+p/Xof/7NEP309DRaF59D81Nd1g0pQxAdKQfLx77ilKdnvisEob0cKYz5chvPjas0m/DhZsmdX+5urry66+/Gsc8APbu3WscWK+pqcHKyqRbKYpymaXlVRDkZY+VpvlulnNjFXajxqDr3L3N6yZGjkFuWouM+97ktROyogwy0hDDb2zj2v1peC8XPtmfzzYnf+6a/Qa6Kh1vbDrKyRL4R9l2eqYnIBOLkQD2jtAnEApy4fRJCOmH5u4piG692qx+QghCgnrwr93L+OzWvzMxwgu5agnUVKNpZW6v5pgUCSZPnszChQvp0aOHcUzl+PHjxjGQI0eOXNSSURSl/amoqSOrqJq7+no2fzLAyeNQXYV1UF90bVs14I/FkAOGIbdtQt56X5MtI1ldhdzygyHNSI3OpJTvltLJyYZQb3vis0q4M8yTpb/m81uJYGZMZ6L6/BUpp0LeaWRG2h9JM9PAygbN4/+AiAGXZBKRiBxMt83fMdslG06dRb97K2LsPQjfbm1arklBpV+/fixevJjk5GQKCwuJiorimmuuwdnZ2fh6v35tP0CmKErrHM6vQi8h1Nu0BYsyMx0A6/MGotuauP425O6tyO0bjVNi69WpRofcugH549dQchb6XoNm3P2I3gEN3K3tjOjtyrJfTvPG9lMkHi/l/ggv43bMQgjw6Yzw6QxDRl3Sehn5h4CTM/qkbZD9uyFhpIn7zLeGyX1WLi4uDB8+vC3roihKG0vNq0AjINDLxKzEmeng5ILWtyuct0asLYme/hDYF/nzOuR144zrKGRtjSFD8A9fwdkCCApHM302wj/0ktTrQkN6OPPBntMkHi/lej9X01t/l4jQahER0cjEnwEsljCyOY0GlVdffZU5c+YA8MILLzTaXDM1TYuiKJdfWl4lvdxscbA2bcGbzEyHPkGXfM2X5vrb0C99Fbk3Ea4ZgtwZh/z+S8O4hH8ImilPIoIjLmmdLuRsq2VskAfFVbVMj/Ztl+viRNRgZOLPiAHDLJYwsjmNBpVziR7BsAZEUZQrW61ecji/kutM3ItelpfB6WxEK6aetljEQPDpjFz7qWGL4twc6BVgSAUfFtVuPsAnX9POt9fo2x8x4SHEsOsvWZGNBpVhw/5MlWDJNC2KolweWUVVVNVKQr2bX5tiuMAwniL6WC7ZoKmERoO4fjzy03ehW280/zfHsPCynQSTK4Wwsrok4yjnM3lMJS0tjaysLKqqquodP7d5l6Io7VtaXiUAISYGFZmZDkLAJR4AP0fE3mQIaN16tXo3QuXSMSmorFy5kp07dxIcHIyNzZ+LdNS3BkW5cqTmVuLjaI2ng2lJJGVmOnTpgbBrXWr7lhJCtMlmW0rbMimobNu2jQULFhgzAiuKcmWRUpKWV0Gkr2kr4qVeD1mHEf2HtnHNlI7GpDall5cX1tamp8hWFKV9OV1Ww9mqOkJ8TBxPOXMKKsrB3MSOylXPpJbKo48+yvvvv8/QoUNxdXWt91po6OWZI64oiunOjaeYvujxEHB5BumVK5tJQSUzM5N9+/aRlpZWb0wF4N13322TiimKYjmpuRU42Wjo5mpi4sLMdEPOqk5d27ZiSodjUlD5/PPPef7554mIuLyLjRRFaRnDplz2aEycXCMz06F3oJp1pZjNpL8YW1tb1c2lKFeokqpaskt0BJva9VVVASePq64vpUVMCir33HMPH330EWfPnkWv19f7T1GU9i0t/9x4iomD9McyQOoRfiqoKOYzqfvr3LjJpk2bLnrtyy+/tGyNFEWxqLTcSqw0An9P05JIyqOGQXraYP9ypeMzKagsWbKkreuhKEobSc2rJMDTDhutaeMjMusw+HZFODq3cc2UjsikoOLt7d3W9VAUpQ1U1+o5WljJuGDTFi5LKSEz/ZJltFU6HpOCSkVFBevXr+fYsWMX5f6aO3dum1RMUZTWyyioolZv+voU8s9AaTGoQXqlhUwKKgsXLkSv1xMdHX3ROhVFUdqvc4seg81JIgkItZJeaSGTgsqRI0dYsWIFVlYmJzVWFMUEsq4OjqaBf2ibrAlJzaugu6sNzrambcrF0UNgawddeli8LsrVwaS/4uDgYE6ePNnWdVGUq478eR36N/+OfvEryNISi95bLyWH8ipN7/rij5ZKrwDjFr6KYi6Tmh6PPfYYr732Gv7+/ri51d817s47L+0GMIrSUUgpkds2grsXHNqP/pVZaB55FuEfYpH7Hz9bTXmN3vT9U3TVkJ2FuGG8RcpXrk4mtVQ+//xzCgoKKC4uJicnx/jf6dOn27p+itJxZaQZtuu9bSKa2W+ClRX6+X9H/9MawyysVjImkTQ1M/Hxo1BXh+ijxlOUljOppZKYmMjbb7+Nu7t7W9dHUa4acttGsLNHDBiGsLVDM3ch+o/eQX79H+SRFDSTZyEcnVp8/7S8StztrfBxNHFTrqOGQXr6qEWPSsuZ1FLp1KkTWtXHqigWIyvKkL9uR0THImwNK92FgxOa6X9D3DMVDu5F/8osw0LEFkrLqyDU297kHVplZjp4dUK4qC+PSsuZ1FK59tpreeONN7jpppsuGlPp27dvm1RMUToy+UsC6HSIa6+vd1wIgRg9DukXjP79N9D/ezbizkmI6241a/vuvPIacstrGRdsYtcXGBY9BoaZfr6iNMCkoPLTTz8BhrGV8wkhVAoXRWkBuW0TdO8NPf0bfF30DkTzj0Xo//M28svlhu6wv8xAOJjWHfbneIqJmYkL8+FsgVr0qLSaSUFl6dKlbV0PRblqyN+PwvGjiInTmmx9CEdnNP83B7lxLfKb/6I/kYXm2dcQ7p7NlpGWV4GdlYZebramVSrrj0WPapBeaSW1A4+iXGJy+0awtkEMim32XCEEmhtvR/PMv6AgF7n5W5PKSMurJNjLDq3GxPGUo4fAyhq69zLpfEVpTJMtlRdeeKHZftyXXnrJohVSlI5MVlchd29F9B9qclcWgAgIRUTFILdvRo67H2HbeAukXFfH72eruaevl+n1ykyHnn4IK9NmiilKY5oMKqNGjbpU9VCUq4L8dQdUVlw0QG8KMXIM8tcdyKQExLDGr0/Pr0QvIcTE9SmytgZ+P4oYeYvZdVKUCzUZVEaMGHGJqqEol5d+5SLQ6xFTnjJrlpW55LaN0KkrBLRgllVgGHTpgdzyA3Lo6EbrmZZXiUZAoKeJM79OHIPaGrV9sGIRakxFuerJ6mpk0jbk7q3IuB/arpycE5CRhrj2+hYFLiEEYuQYOJ4Jf2QTbkhqXiV93O2wtzZxU65z91KD9IoFqKCiKEcOQm0tePsiv16JPJ7ZJsXIbRtBq0XEtLxbWQweAfYOyC31g19NnZ4Dp8v5eF8u6XmVJnd9AZB5CNw8ER6mj8EoSmNULnvlqifT9oOVFZpnXkX/2rPoP3gTzdyFCDszPpibK6OmBrlzC/QbhHBxa/6CRgg7e0TMKPRbN3Di5odILtGy/3Q5B89UUF0n0QoI8bZnTKDpq+JlZrpan6JYTKMtlTlz5hj//dVXX12SyijK5SBTkw37mXh4o5n6DOTmID9737KF7N8NZSVorr2hxbc4W1XL1qxiFvuM4q/Rz/NEfAEr9+ZyuqyG0f5uzI3txid3BfDq9T3p7GzaZnqypAjyz6jxFMViGm2pnDp1Cp1Oh42NDd9//z133XVXiwvJz89n6dKlnD17FiEEo0eP5pZbbqGsrIxFixaRl5eHt7c3Tz75JE5OhmmWa9asIS4uDo1Gw+TJk4mMjAQgMzOTpUuXotPpiIqKYvLkyQghqKmpYcmSJWRmZuLs7MysWbPw8fFpcZ2Vq4MsKYLsY4gJDwEggvoixtyN/P4L9KH90AweaZFy9Ns2goc3hPYz+9qcUh2rDuYTn1WCXoKzjYZweZbIE4lEPTYdHxe7llcs05BbTAUVxVIaDSoDBw5k5syZ+Pj4oNPpmDdvXoPnmbJORavV8uCDD9KnTx8qKyuZPXs2ERERxMfHEx4ezvjx41m7di1r167lgQceIDs7m8TERBYuXEhRURGvvPIKb7/9NhqNhg8//JBp06YREBDAa6+9RnJyMlFRUcTFxeHo6MjixYvZsWMHn376KU8++WTL3xnlqiBT9wMgQiONx8TYe5DpB5CfvIfsHYTo1KV1ZeSdhtRkxLiJCI3piVkNwaSA+KxirDSCMUHuxPZyoY+7HZr9heiXbUGTMQiuGdLyumWmg1YLPf1afA9FOV+jQeWxxx7j0KFD5ObmkpGRwciRLf/G5u7ubkybb29vT9euXSksLCQpKYkXX3wRgNjYWF588UUeeOABkpKSGDJkCNbW1vj4+ODr60tGRgbe3t5UVlYSGGhIzT18+HCSkpKIiopiz549xtbU4MGDWblyJVLKNp0eqnQAqcng6Azd+xgPCa0WzdSn0b88yzC+MvsNhHXLFwXKHZtBaBBDrzPp/NN/BJMt5wWTO0I9cbf/8/+uMmIgeHih37IebWuDSrfeCBsT07koSjOaHKgPDg4mODiY2tpai61Zyc3NJSsrC39/f4qLi43Bxt3dnZISw3aqhYWFBAQEGK/x8PCgsLAQrVaLp+efeY88PT0pLCw0XnPuNa1Wi4ODA6Wlpbi4uNQrf/PmzWzevBmA119/HS+vjjHjxcrKSj2LmaSU5KcfwKbfQNwu7Cr18qJqxhyKX5+N3Y+rcH54ptn3t7KywtPdjfxdW7C+ZhDugU3v6HiquIr/Jp3gx7RctALu6NeZBwZ0x8ux4fGR8lvupOyT93CrLMOqBelVZF0teb9nYDdqDC7NvN/q76v9aa/PYdLsr1GjRnHw4EESEhIoKirC3d2d4cOHm532vqqqigULFjBp0iQcHBrPntrYrndN7YbX0GsNtVJGjx7N6NGjjT/n5+c3VeUrhpeXl3oWM8lTx9EX5qPzC2m4PL9QxKixVKz7kqpegYiIgWbd38vLi/z4TegL8qi9e2qjz3SmTMdXBwuIyyxGIwQ3BbhxR6gHng7WUFlCfmUj9b9mKHyxnMI1n6CZ+KhZdQOQJ7KQVZVUde6Brpn3W/19tT+X8zm6dGm8S9ikdSo///wzb731Fm5ubkRHR+Pu7s7bb79t/MZvitraWhYsWMC1117LoEGDAHB1daWoqAiAoqIiY6vC09OTgoIC47WFhYV4eHhcdLygoAAPD4+Lrqmrq6OiosI46K8oDZGpyUD98ZQLiTsnQbfehhT0RQWNntcY/faN4OIGjQSklDMVPLYuky1ZJdwY4Mb7t/XhkQGdDAGlGcLZFTFgGHLnFmRVhdl1O7foUQ3SK5ZkUlD57rvvmDt3LhMnTuT666/nvvvuY+7cuXz33XcmFSKl5L333qNr166MHTvWeHzAgAFs3boVgK1btzJw4EDj8cTERGpqasjNzSUnJwd/f3/c3d2xt7fn8OHDENB4CwAAIABJREFUSClJSEhgwIABAPTv35/4+HgAdu3aRVhYmBpPUZokU5PBpzPCq1Oj5whrGzTTnoUaHfoVC5H6OpPvX1eYDweSEEOuQ1g13CmwOrUAZxst743rw7SBviYFk3r1GzkGqiqRO+PNug4wrMp3dgVvX/OvVZRGmNT9VVpaSrdu3eod69KlC2VlZSYVkp6eTkJCAj169ODZZ58F4L777mP8+PEsWrSIuLg4vLy8eOqppwDo3r07MTExPPXUU2g0GqZMmYJGY4h/U6dOZdmyZeh0OiIjI4mKigIMXXRLlixhxowZODk5MWvWLNPeAeWqJGtr4PBBREzzE1CEbzfExGnI/7yNXP81Yuw9JpVRtWW9IZ9YI8kfc0p17D1Vzj3hnnibuI/8RXoHQk9/Qz6wETebvnVwyVnkof3QJ0h9+VIsyqSgEhwczMcff8z999+Pra0tVVVVfPbZZ8ZZWKZcv2rVqgZfe+GFFxo8PmHCBCZMmHDRcT8/PxYsWHDRcRsbG2NQUpRmZaZDdRUipPGur/OJmFGQmoz87nNkrwDwDwFbu0Y/kKVeT+XmdRAU3uiU5B8PF6ERcIN/K1bYC4EYeQvyo3cg/TcIjmj2GnkiC/2Sf0JpCZqRY1pctqI0xKSg8te//pW33nqLSZMm4eTkRFlZGYGBgcycaf6MGEVpD2RqMggNBIebdL4QAh6Yjsw6jP7tFw0HNRpwcAR7R3BwMv5b2DuAlOhPn0SMabhVU12rZ3NmMYO7O5vd5XVR3QZei/zqP4bpxc0EFbk3Ef2KReDghOa51xC9Apo8X1HMZVJQcXd356WXXqKgoMA4++v8qb2KcqWRqcnQO8C8jbLsHNA8+xryQBL/396dx0dVnY8f/9w7k32fycYSQCCEVUOIrMpSsLW4VK37ylbFjQrauhTBpVRtRXAhahXpT9BWawFtUWkRZAdBQMQgEDYTIIRkskyWySRzz++PwHxFkjCBmcwked6vV16Yyczc8+SYPLlneQ5VlVBZAVXlUFmBqqyAqgooLXb/tympPSpjSL3vtfpQGRVOgyvSPK/R1WC7gkPQLhmD+t/HKFthvYUhlWGgln2I+uR9uKAH+n1PoMVazvvaQvxUkwpKWq1WSSaixVMV5XAoB+2Kppce0mItaMN/4dFzG1ryqZTi073FdI4NoXeCd4pWaiN+WXeW/ZrP0a65/fTrVTswFsyFrzegDR6Fduf9aEGe1QYToqmk9L1oe/bsBGV4PJ/ibd+fqOJgcTVX9Ijz2iS5lpAMfQeg1ixH1dS4H1dFJzBeeBS2bUS7fjzahIckoQifkqQi2hyVvQNCwvxW7n3Z3mIignRGXBB99ic3gf6zK8Beitq2AQCVk40xaxoUHkd/8En0X1wrK72Ez511+MswDLKzs+nZsyfmBtbaC9GSqOwdkNa3wb0jvmSrqmXDD3bGpsURavby33S9+0NiO9SqZRi1NaiFWWBNQH9gOlq7FO9eS4gGnPX/al3X+fOf/ywJRbQK6kQ+nMhvdBe9L/03pwSXgrGp5z9B/1OarqON+CXs/75uiXGPPuhPzJaEIpqVR38q9erVi7179/q6LUL4nNp99tIsvlJrKJbvK6F/uwjaR/tmXkMbNgYS26ONuRr9t0+hRUipItG8PLr9SEhI4LnnniMzMxOr1XrauOxNN3m2u1iIQKCyd0CsFZI7nv3JXrY5146tqpZ7BzZcFuZ8aRGRmGa94bP3F+JsPEoqTqfTXZfrVKl5IVoaZbhg90609EF+mbD+dG8xiRFBDGgvdw+i9fIoqdx3332+bocQvnf4AFSWgx+Gvg4VO9hVUMVd6QmYdFmBJVovj2ff8/Ly2LRpE6WlpUycOJGjR49SU1ND586dfdk+IbxGZW8HQOvV9HPiz9dn+0oINmmMOY86X0K0BB5N1G/cuJGZM2dis9lYs2YNAFVVVbz77rs+bZwQ3qR2f1N3dG508/5ir3C6+PJgKZd2jiY6xPMz6oVoiTxKKh9++CFPPvkkd999t7sEfefOnTl06JAv2yaE16hqB+Ts9suqr5UHSnHUKsb28P4yYiECjUdJpbS09IxhLk3TZHeuaDn2fQeu2mZPKoZSfLq3hLT4ULpbQ5v12kL4g0dJpWvXru5hr1PWr19P9+7dfdIoIbxNZe8AcxCk9m7W6+7Mr+So3Sl3KaLN8Giifvz48fzxj39k5cqVVFdXM2vWLI4ePcr06dN93T4hvEJl74DU3mjBIc163WV7i4kJMTGsU1SzXlcIf/EoqXTo0IG5c+fy9ddfM2DAAKxWKwMGDCA0VG7nReBTpcVw5DDaoJHNet1jZQ62Hinnut5WgkxSu1W0DR4vKQ4JCaFnz57YbDYsFoskFNFi+Ks0y9Kd+QBcnirLiEXb4VFSKSws5JVXXmHfvn1ERERQUVFB9+7dmTJlCgkJCb5uoxDnJ3sHREZDygXNdkmny+Df3+UzsGMkCRHnd1ywEC2JR/fk8+bNo2vXrixYsIC3336bBQsW0K1bN+bNm+fr9glRr+paw6PnKaVQ2d+g9boITW+eIagal8F73xRS6qjlCpmgF22MRz9lBw4c4Pbbb3cPeYWGhnL77bdz4MABnzZOiPqUOGq58185LMkuOvuTj+ZCqQ2aaRf9jmMVTFl2iKW7bfw8LYF+SeHNcl0hAoVHSSU1NZWcnJzTHtu/fz89evTwSaOEaMyGH+w4ag3e31nI8XJno89Vu0+WZund36dtKqys4c9rjzBzZS4KxcxRHZl5eZrs5RJtToNzKh988IH7v5OSknjuuefIyMjAarVSVFTE9u3bueSSS5qlkUL82NqDJSRq1ZS5TLzxyVamh+xDCwqCoOC6vShBQSf/DUZtXQ9JHdCsvpn7q3Ep/v29jQ92FWIouO3CeK7tbZHVXqLNajCpFBWdPrQwaNAgAMrKyggKCmLgwIE4nY3/lSiEtxX+kMfuEw5uOrSaMDMsSPk5G7flMKTgmwZfo132K5+05Zv8Cv665Th5ZU4GdYxk4oBEkiJ9c/iWEC1Fg0lFyt2LQKN2fc26T9aiOl/OpVeMpN1F/fjy80PMH3AXGVd0IUxzQW1N3UfNyQ9XLSS192o7iipreGdbAesO20mODOLJkR3J7CBnpAgBTdinUl1dTX5+Pg6H47TH09LSvN4oIX5MKYX6/F+oJQtZP2gqF0SZ6Nj/QgDuHZjMo8sP8/63RUzKTAIf75hfd7iMVzfl4zIUt/SL57o+FoJlqEsIN4+SyurVq3nnnXcwm80EB59+e//666/7pGFCQF11YfW3V1Bb13Fi4M/ZG5rMnd0s7q+nxYdxeWosy/YWM6prDN0svtuUe6Kihlc35dMpJpiHh7UnOUqGuoT4KY+SyqJFi3j44Ye58MILfd0eIdzUiXyMebPgaC7a9eNY33E47Cjkks6n19G6PT2Bjbl2Xv8qnxd+3tknJysqpXhzy3GUUjxySXuZOxGiAR7dt5vNZnr3bt7qrqJtU9nbMf44DYoL0afMQP/Fdaz/wU6qNfSMX+iRwSYmDkhiX5GDz/eV+KQ9G36ws+VIObdeFC8JRYhGeJRUbrrpJt59913Kysp83R7RximlqFj6PsbcpyHOiv6Hl9D6ZnC0zMl+WzWXdo6u93WXdo7iouRwFn1zAltVrVfbVF7t4q9bj9PNEspVaZazv0CINsyj4a/27dvz4Ycfsnz58jO+9uP9LEKcD1VdjXr3Ncq/Wg0ZQ9HH/xYtNAyomyAHGNa5/hLymqYx+eJkpiw7yDtfH+eRSzp4rV1/215AWbWLmaNSfDK0JkRr4lFSefXVVxk+fDhDhw49Y6JeCG9QRQUYWX+C3INE3nYPlSPGnrYbfd1hO70TwogPb7g4Y/voYK7vY+Xv3xYyulsF/dtFnHe7dh2v5H/7S7m2l4WuPlwEIERr4VFSKS8v56abbpKSE8In1J5vMd54AVwu9AefJGLU5VQVFrq//kNJNYdLq7k7M+ms7/XrPhZWHyrjja/yeeWKCwgxn/tyX6fLYN7mfJIjg7jlwvhzfh8h2hKPfuJGjhx5xnHCom1T9jKMBS/jenoKxsZVKMOzqsGnvYdSGCv/g/HSkxAZjf7Ei2j9Ms943trDZegaDPXg9MQgk87kgUnkl9fw0XceFJxsxIffFnHU7uTegcnnlZyEaEs8ulPJycnh888/Z/HixcTGnn7g0NNPP+2ThonApJRCbVyF+ud8qKqEhHaod+agvvg3+o0T0Hr09ex9apyo915Hrf8CLhqIPnEaWtiZFX2VUqw7bKdvYjhxYZ7t1b0oOYIRXaJZnF3EiC7RdIxp+obIQ8UOFmcXMeqCaNK9MIwmRFvh0U/p6NGjGT16tK/bIgKcKjiKseh12P0NdOuJfsf90C4FtXk1aslCjL88AemD0a8fh9ZIaRRVXITx+nNwcC/aVTejXXlzg2edHCyu5qjdyTW9mrbqakJGIluPlvPGluM8OzqlSUO3LkMxb3M+EcEmJmQkNum6QrR1HiWVkSNH+rgZIpCp2lrU/5ai/v0PMJnQbpuMNvxydyLQhoxCZQxFrfgY9dm/MGbejzZybF3CiDh9yErl7MZ443lwONDvfRwtY0ij1157uAyTBkNSmlZbKzbMzJ3pCbz+1XEWfVPI9X2shAV5NoT12b5i9hY5mDq0HdGhHlcyEkLgYVJZuXJlg1/72c9+5rXGiMCjDuzBWDgP8g5BxhD0m+9Gi7Oe8TwtJATtihtRl1yG+uR91MplqI0r0a64CW3UFWhBQRhrlqPefxOsCehTn0Xr0Knxa58c+rooOeKcfrn/vHss3+RX8tF3RSzPKeHqnnFc0SOOiGBTg685UVHDwh2F9G9XN4QmhGgaj35S165de9rnJSUl5Ofn07NnT4+SSlZWFtu2bSMmJobZs2cDdSvK5syZw4kTJ0hISGDq1KlERtb9NbpkyRJWrlyJruuMHz+e9PR0oO4Eynnz5uF0Ounfvz/jx49H0zRqamp47bXXOHDgAFFRUTz00EMkJsqwxflQjkrUkkWoVcsgxoJ+3xNo/Qef9XVaTBzaHfejfnYlxkcLUP98B/Xlp2hdUlFb1kKf/ui/+R1axNnvPPYVOSioqOHmfmcmMU/omsajl3ZgT2EVH35byHvfFLJ0t40r0+K4Ks1CVMjpyaWuFEs+SinuHZgkqx2FOAceJZWZM2ee8djKlSs5cuSIRxcZOXIkl19++Wln2i9dupR+/fpxzTXXsHTpUpYuXcrtt99OXl4eGzZs4KWXXqK4uJhnn32Wl19+GV3Xeeutt7jnnntITU3lueeeY8eOHfTv35+VK1cSERHBq6++yvr163nvvfeYOnWqh98C8VNqzy6M+S9BSVHdMNa1d9Q7id4YrUNnTL99CrVrW11y2bIW7fJfo117O5re8J3Cj609XIZZ1xiUcvZVX41Jiw/jyVEp7Lc5+HBXIR98W8Qnu4sZ2yOWX/WyEHPyLmj9D3a2HKlgQoaciyLEuTrndZIjR45sdFjsx3r37u2+Czlly5YtjBgxAoARI0awZcsW9+NDhw4lKCiIxMREkpOTycnJobi4mKqqKnr06IGmaQwfPtz9mq1bt7rnfQYPHsyuXbtQSp1raG2aKrHVTaIHh6A/+gL6rfc0OaH8mNY3A/3Jueiz3kT/9V0eJxRDKdYftpPRPoLIRoarmqKbJZTHh3fk5bFdGNAhgsXZNn6zdD/vfH2c3NJq3jpZiuXKtDivXE+ItsijOxXjJ3sQnE4na9asISLi3JdalpaWEhdX98MbFxfnritms9lITU11P89isWCz2TCZTFit/zcMYrVasdls7tec+prJZCI8PBy73U509Jlj4itWrGDFihUAPP/888THt45NbWaz+bxjUUpRkvUnnDVOrE++iLlDZy+1Dkg6+8bFU8xmM8ecwRRV1fJAn/Ze76P4eMhM7chhWyXvbsnlP3tO8PH3xZg0mHNtP5ISvXPgljf6JFBILIEnUOPwKKnccsstZzxmsVi45557vN6ghu4wGrvzqO9rDY2HjxkzhjFjxrg/L/zRzu2WLD4+/rxjMb78FLV9E9qt91ASEgF++t7Ex8ezbGcuwSaNnjHKZ30UAdw7wMo1PaL4eLeNlJgQLLqDwkLHWV/rCW/0SaCQWAKPP+No377hLQMeJZXXXnvttM9DQkLqvQtoipiYGIqLi4mLi6O4uNj9flarlaKi/9sJbbPZsFgsZzxeVFSExWI57TVWqxWXy0VlZeUZw22icSr/COqfC6B3f7SRY/3aFpehWP+DncwOkYQHeWfoqzHtooKZPDDZ59cRoi3waE4lISHhtI/zTSgAmZmZrF69Gqg7WfLiiy92P75hwwZqamooKCjg2LFjdO/enbi4OMLCwti7dy9KKdasWUNmZl1JjwEDBvDll18CsGnTJvr06SMrd5pAuVwY78wBcxD6uCl+/97tOFJKicN1xmFcQojA1+idytlKsGiaxowZM856kblz55KdnY3dbmfy5MnceOONXHPNNcyZM4eVK1cSHx/PtGnTAEhJSWHIkCFMmzYNXdeZOHEi+slNdpMmTSIrKwun00l6ejr9+/cH6vbKvPbaazz44INERkby0EMPeRQ81E1MEx3j8QRya6Q++2fd7va7f1fvHpTm9sXeQkLNGpnt5W5TiJZGU41MVjS0ustms/HZZ59RXV3NokWLfNa45pB7RSZoOkTHQkwcxFrQTv5LjAUt1gLxSdAupcFSIoHgXMdX1aF9GM/9Di3zUvTfPOyDljVNraEYv2Q/6cnhPDys4XHblqC1jN2DxBKIWuScyk83NtrtdpYsWcIXX3zB0KFDuf76673TQj/SbpsMpcVQYkOVFkNxIerQPrCXglK4M25EFKT2QUvrg9ajH3TsEtBJxhOquhpj/hyIjkO71fuLLs7FzvwKyhy1MvQlRAvl0UR9ZWUln3zyCcuXLycjI4MXXniB5OTWMbGpNzAprWpr6xJLiQ11LBf27kLt3YXasaku0YRHnEwy/eoq86Z0aXFDaGrx/4P8PPSpz3i0w705rD1sJzLYRIZUBhaiRWo0qTidTpYtW8Z//vMfevfuzTPPPENKSkpztc2vNLMZ4qwQZ0W7IBWG1t21KdsJ1N5dsOdkkvnmq7okExYBaX3RB4+Ciy5GMzd8QmEgUNnbUSv/gzb6KrTe6f5uDgA1LoPNuXZGdI8nyNSy7wKFaKsaTSr3338/hmFw9dVX061bN0pLSyktLT3tOX37enZ+RmuhWRLQBo+CwaOAujLudUnmW9S3X2Ps2AyR0WiDR6JdchmaNzcQeomqKMdY8Aokd0S77k5/N8dt5YEyKmoMxqQlAC5/N0cIcQ4aTSqnzqP/73//W+/XNU07Yw9LW6PFWdEGjYBBI1CGC7J3oNatQK36FLXiE+iSijZsDNrAS9HCA2OISb3/BthL0B/4A1pw0w+w8oXKGhfv7TxB74QwBnaKPW1PkhCi5Wg0qfy4AKQ4O003Qd8BaH0HoOxlqM1fotb9r+6Eww/now0YijZsDPTo67dJfuOrNaiv1qD96la0zt390ob6/Os7G6UOF0+OTPT7PhkhxLmTE4h8RIuKRhtzNWr0VfDD/rq7l82rUZu+hIRk9DvuR+t1UbO2SRUXod57HS7ogfbLG5r12o05UVHDJ9/bGNElmlRrmL+bI4Q4DzIb6mOapqF17o5+22T0F/+GNulhMAdhzJmJ8dlHqJ8U6/QVZRgYf3sZamvrzoM3Bc5KtYU7TgBwR3qCn1sihDhfklSakRYcgj5oBPoTL6JlDkMtfhcj60+oynKfX1ut+Biyd6DdOLHR8+Ob297CKlYfKuNXPS0kRAT2ijkhxNlJUjmLrUfK+eeuQq+ez6KFhqH95hG0m38Du77G+OM0VO5Br73/T6kf9qMWL4T0wWjDf+Gz6zSVUop3thUQG2riuj4WfzdHCOEFklQaUOMyeGvrcZ79Mo9F3xSy+lCZV99f0zT00VehPzILapwYz/0OY8MXXr0GgKp2YLz1IkRFo9/1QEBNgm/ItbP7RBW3XZTQLNWIhRC+J0mlHsfsTh7972H+s6eYq9Li6GEN5Z1tBdirvb93QuveG/3JOdA1DbXgZYyFWaiaGq+9v/pwPhw/ij5hKlrk+VeX9pYal8G720/QOTaE0V1j/N0cIYSXSFL5iTWHypj66SGOl9fwxPAOTMpM4r5BydirXby7o8An19Si4+pKpVz+a9SazzFeeBRVdP7XUts2otYsR/vFdc2+0uxslu0tJr+8hgkZiZj0wLl7EkKcH0kqJ1XXGry26Riz1x+lS1wIc8dewKCUuqKGF8SF8queFv6bU0p2QaVPrq+ZTOi/vgv9vieg4CjGs1NRu7ad8/spWyHGu69B5+5ov7rViy09f2WOWj78togB7SNIlxpfQrQqklSAH0qqeeTzQ6zYX8r1fazMGtPpjJVIN18YT2KEmayv8qlxeW/S/qe0/oPR//ASxFowXnkaY8nCuuKWTaCMk4du1dagT3o44OqQ/ePbQqpqDcZlJPq7KUIIL2vzSeV/OSU8/PkhSqtdPPWzFO5IT6h3OCbUrHPPxcnkljpZutu3JUS0pPboj/8Fbeho1Kf/rBsOyz/i8evV8iWw51u0W+5GS+7gw5Y2XV5pNZ/tK+EX3WPpFBMYJWKEEN7T5pPKa5vz6ZkQxstjLzjrUExmh0iGdoriw11FHLM7fdouLSQUfdwU9MmPQcExjGcfwliz/KxLm9XBfaiP30MbMAxt6GiftvFc/G37CULNOjdfGO/vpgghfKDNJ5XbLornqVEpxIV5VrFm0oBETJrGG1/le3XvSkO0AUPRZ75Stzps4TyMrOdQ9vqXNytHFcbbL0JMHNod9wfU8mGAb/Ir2HKknOv7WIkNlQpBQrRGbT6p3Ng3vkmrj6zhQdyRnsCO/ErWeHnvSkM0S3zd6rAbxsOurRhPP4j6bvsZz1P/+CucOI4+8eGAOXTrFJehWLCtgMQIM1f1jPN3c4QQPtLmk8q5uDw1llRrKPO3FVDug70r9dF0Hf3n16I//iKER2LMnYnxwduomrphOMf6L1Drv0Abez1ajz7N0qamWHWwlIPF1dyZnkiwHMAlRKslP93nwKRr3Dfw1N6VE816ba1TV/TpL6GNugK14hOMWQ+jvt1KWdYL0DUN7cqbm7U9nqiqMVj0TSFp8aFy9rwQrZwklXPU1RLK1T0tLM8pYbeP9q40RAsOQb/1HvQpM6CsBOOVZ0AZJ5cPB9ZcxTG7kz+sOExJVS0TMpICbp5HCOFdklTOwy0XxpMQ7vu9Kw3R+mWiP/Uq2qU/J2bq02gJyc3ehsas/VF1gseHd6BngpyVIkRrJ0nlPJzau/JDqZOPd9v80gYtOhb9zgcIuXiYX65fn+pag6zN+by4/iidYk+vTiCEaN0Ca6ykBbq4Y93elQ92FTKscxTtooL93SS/yi2t5i/rjnK4pJpf97Zw60UJmKW2lxBthtypeMGP9664jOYfBgsUKw+U8vBnhyipqmXmqI7c2T9REooQbYwkFS+whgdxV/+6vSuP/+8wR8t8u9s+0FTVGMzdcJSXNx4jNT6MOWO7kNE+sPbJCCGahwx/eckve8QREWzizS35/PbTg4zrn8gve8Sit/LVToeKHfxl3VGOlDm5uZ+1yZtJhRCtiyQVLxreJZo+iWG8timfv249zuY8Ow8Obtfizl4vq3aRV1pNZY1BZY1BVY1BVa3rtM9P/Xd2QSURQTrPjE7hwmQpYy9EWydJxcus4UHMGNWR5TklLNhWwG+XHeQ3mUmMvCA6oPdoFFfVsinXzoZcO7uOV1Lf1JAGhAXphAXphJ/8GNYpinEZiVLLSwgBSFLxCU3TuDw1jouSI3h54zHmbjzG5jw79w5MJiaAfvmeqKhhY66djT/UnRWvgPZRwVzX20qfxDAigk3u5BEWpBNq1lv9cJ4Q4vwEzm+4VqhdVDCzxnTi49023ttZSPayg9w/KJlBHf23Z+OY3cmGH+xszLWzr8gBQOfYEG7uF8+QTlF0igkO6DsqIURgk6TiYyZd47o+VjLaRzB34zH+tPoIoy6IZkinKFKiQ0iKDDqvie0Kp4vj5TXsryjmyIkyyp0uyqtdlDtd2J0GFU4X9moXFU6DMqeL4qq6UyS7W0K5Iz2BoSlRtI9u23trhBDeI0mlmXSJC+Uvv+jCB98W8q/sIlYdrCubb9Y12kcF0TEmhI7RwaSc/LdDdDAhZh2lFMUOF/l2J/nlNRw7+W++3cmx8hrsDVRJDjVrRAab6j5CTLSLDiI1OJROMSEMSYkiMbJlLR4QQrQMklSaUZBJ4/b0BK7rYyG31EleaTV5ZU7yypwcKnawKdfuniDXAEu4mQqnC0ft/82a6xrEhweRHBXE0JQokqOCSI4M4oLkeFxVdiKDTUQEmwgyyRCWEKL5SVLxg/AgE2nxYaTFn15gscZlcNReQ15pNbllTo7ZnUSFmGgXGUy7qCCSI4NJiAiqN2HEx0dTWNi2Nl0KIQKPJJUAEmTS6RwbQufYEH83RQghzomUaRFCCOE1klSEEEJ4Tasa/tqxYwcLFizAMAxGjx7NNddc4+8mCSFEm9Jq7lQMw2D+/Pk88cQTzJkzh/Xr15OXl+fvZgkhRJvSapJKTk4OycnJJCUlYTabGTp0KFu2bPF3s4QQok1pNcNfNpsNq9Xq/txqtbJv374znrdixQpWrFgBwPPPP098fHyztdGXzGazxBJgWkscILEEokCNo9UkFaXOLKtbXw2rMWPGMGbMGPfnhYWFPm1Xc4mPj5dYAkxriQMklkDkzzjat2/f4NdazfCX1WqlqKjI/XlRURFxcXF+bJEQQrQ9reZOpVu3bhw7doyCggIsFgsbNmxgypQpZ31dYxm3pZFYAk9riQMklkAUiHG0mjsVk8nEhAkTmDVrFlOnTmXIkCGkpKQ0+prHHnusmVrn3UGAAAAJN0lEQVTnexJL4GktcYDEEogCNY5Wc6cCkJGRQUZGhr+bIYQQbVaruVMRQgjhf6annnrqKX83wp+6du3q7yZ4jcQSeFpLHCCxBKJAjENT9a3FFUIIIc6BDH8JIYTwGkkqQgghvKZVrf7Kyspi27ZtxMTEMHv2bAAOHTrEW2+9hcPhICEhgSlTphAeHk5tbS1vvPEGBw8exDAMhg8fzrXXXgvAgQMHmDdvHk6nk/79+zN+/Ph6d+e3hFieeuopiouLCQ4OBmD69OnExMQEdCx//etf2b9/P7quM27cOPr06QO0zH5pKBZ/90thYSHz5s2jpKQETdMYM2YMY8eOpby8nDlz5nDixAkSEhKYOnUqkZGRACxZsoSVK1ei6zrjx48nPT0d8H+/eDMWf/ZLU+Ow2+289NJL5OTkMHLkSCZOnOh+L7/2iWpFvvvuO7V//341bdo092OPPfaY+u6775RSSn3xxRfq73//u1JKqbVr16o5c+YopZRyOBzqvvvuU8ePH3e/Zs+ePcowDDVr1iy1bdu2Zo7Ee7HMnDlT5eTkNHPrT9eUWD777DM1b948pZRSJSUl6ve//71yuVzu17SkfmksFn/3i81mU/v371dKKVVZWammTJmicnNz1cKFC9WSJUuUUkotWbJELVy4UCmlVG5urnrkkUeU0+lUx48fVw888EDA9Is3Y/FnvzQ1jqqqKrV79261fPly9fbbb5/2Xv7sk1Y1/NW7d2/3XyKnHD16lF69egFw4YUXsnnzZvfXHA4HLpcLp9OJ2WwmPDyc4uJiqqqq6NGjB5qmMXz4cL9UO/ZGLIGiKbHk5eXRt29fAGJiYoiIiODAgQMtsl8aiiUQxMXFuVcOhYWF0aFDB2w2G1u2bGHEiBEAjBgxwv093rJlC0OHDiUoKIjExESSk5PJyckJiH7xViz+1tQ4QkND6dmzp/uu6hR/90mrSir1SUlJYevWrQBs2rTJXR9s8ODBhIaGcvfdd3Pfffdx1VVXERkZWW+1Y5vN5pe2/1RTYzklKyuL3/3ud3z00Uf1Ft70h4Zi6dKlC1u3bsXlclFQUMCBAwcoLCxskf3SUCynBEq/FBQUcPDgQbp3705paam7Zl5cXBxlZWXAmVXALRYLNpst4PrlfGI5JRD6xZM4GuLvPmlVcyr1uffee1mwYAEfffQRmZmZmM11Iefk5KDrOm+++SYVFRXMmDGDfv36Bcwv3fo0NZakpCSmTJmCxWKhqqqK2bNns2bNGvdfPf7UUCyjRo0iLy+Pxx57jISEBNLS0jCZTC2yXxqKBQiYfnE4HMyePZtx48Y1enfb0Pc/kPrlfGOBwOgXT+NoiL/7pNUnlQ4dOjB9+nSgbphi27ZtAKxbt4709HTMZjMxMTGkpaWxf/9+evXqdUa1Y4vF4pe2/1RTY0lKSnK3PSwsjEsuuYScnJyASCoNxWIymRg3bpz7edOnT6ddu3ZERES0uH5pKBYgIPqltraW2bNnc+mllzJo0CCgbpiuuLiYuLg4iouLiY6OBs6sAm6z2bBYLPVWB/dHv3gjFvB/vzQljob4u09a/fBXaWkpUHfc8OLFi7nsssuAurMIdu3ahVIKh8PBvn376NChA3FxcYSFhbF3716UUqxZs4bMzEx/huDW1FhcLpf7Vrm2tpavv/76rEU2m0tDsVRXV+NwOADYuXMnJpOJjh07tsh+aSiWQOgXpRRvvPEGHTp04Morr3Q/npmZyerVqwFYvXo1F198sfvxDRs2UFNTQ0FBAceOHaN79+4B0S/eisXf/dLUOBri7z5pVTvq586dS3Z2Nna7nZiYGG688UYcDgfLly8HYODAgdx6661omobD4SArK4u8vDyUUowaNYqrr74agP3795OVlYXT6SQ9PZ0JEyY0+9JVb8TicDiYOXMmLpcLwzDo168fd911F7revH9LNCWWgoICZs2aha7rWCwWJk+eTEJCAtDy+qWhWAKhX77//ntmzJhBp06d3N/DW265hdTUVObMmUNhYSHx8fFMmzbNPT+3ePFiVq1a5V4e3b9/f8D//eKtWPzdL+cSx/33309lZSW1tbVEREQwffp0Onbs6Nc+aVVJRQghhH+1+uEvIYQQzUeSihBCCK+RpCKEEMJrJKkIIYTwGkkqQgghvEaSihBCCK+RpCKED7zyyitkZWWd9lh2djYTJkyguLjYT60SwvckqQjhA+PHj2f79u3s3LkTAKfTyZtvvsmdd97pLg7oDYZheO29hPCGVl/7Swh/iIqKYsKECbz55pvMnj2bxYsXk5SUxMiRIzEMg6VLl7Jq1SoqKyvp168fkyZNIjIyEsMwmDNnDt9//z01NTV06dKFSZMm0bFjR6DuDig8PJzjx4/z/fff89hjj+FwOFi0aBFFRUWEh4dz5ZVXnlbmQ4jmJDvqhfCh2bNnU1tby549e/jzn/9MfHw8n3zyCVu2bHGf4Dd//nxqa2t58MEHMQyDNWvWMGjQIEwmEwsXLmTfvn08//zzQF1S2b59O48//ri7XtXkyZP5/e9/T1paGuXl5RQUFLjP5RCiucnwlxA+NHHiRHbt2sX1119PfHw8ACtWrOCWW27BYrEQHBzMDTfcwMaNGzEMA13XGTlyJGFhYe6vHThwwF2YEuDiiy+mR48e6LpOUFAQZrOZvLw8qqqqiIyMlIQi/EqGv4TwodjYWKKjo93DV1B3FvkLL7xwWoE/TdMoKysjOjqa999/n02bNmG3293PsdvthIaGAriT0ymPPPIIixcvZtGiRXTu3JnbbruN1NTUZohOiDNJUhGimVmtVqZMmVLvL/5Vq1axfft2ZsyYQUJCAna7nUmTJjV68FJqaiqPPvootbW1fPrpp8ydO5d58+b5MgQhGiTDX0I0s8suu4y///3v7qOFS0tL3ccRV1VVYTabiYqKorq6mn/84x+NvpfT6WTdunVUVlZiNpsJCwtr9qMNhPgxuVMRopmdWpn1zDPPUFJSQkxMDMOGDSMzM5NRo0axc+dO7rnnHqKiorjhhhtYsWJFo++3evVq5s+fj2EYtG/fngcffLA5whCiXrL6SwghhNfIfbIQQgivkaQihBDCaySpCCGE8BpJKkIIIbxGkooQQgivkaQihBDCaySpCCGE8BpJKkIIIbzm/wPgGV9YAshIjgAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "### type your answer here\n", | |
| "df_ci.plot(kind = \"line\")\n", | |
| "plt.title('Immigrants from China and India')\n", | |
| "plt.ylabel('Number of Immigrants')\n", | |
| "plt.xlabel('Years')\n", | |
| "plt.show()\n", | |
| "\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Double-click __here__ for the solution.\n", | |
| "<!-- The correct answer is:\n", | |
| "df_CI.index = df_CI.index.map(int) # let's change the index values of df_CI to type integer for plotting\n", | |
| "df_CI.plot(kind='line')\n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "plt.title('Immigrants from China and India')\n", | |
| "plt.ylabel('Number of Immigrants')\n", | |
| "plt.xlabel('Years')\n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "plt.show()\n", | |
| "--> " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "From the above plot, we can observe that the China and India have very similar immigration trends through the years. " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "*Note*: How come we didn't need to transpose Haiti's dataframe before plotting (like we did for df_CI)?\n", | |
| "\n", | |
| "That's because `haiti` is a series as opposed to a dataframe, and has the years as its indices as shown below. \n", | |
| "```python\n", | |
| "print(type(haiti))\n", | |
| "print(haiti.head(5))\n", | |
| "```\n", | |
| ">class 'pandas.core.series.Series' <br>\n", | |
| ">1980 1666 <br>\n", | |
| ">1981 3692 <br>\n", | |
| ">1982 3498 <br>\n", | |
| ">1983 2860 <br>\n", | |
| ">1984 1418 <br>\n", | |
| ">Name: Haiti, dtype: int64 <br>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Line plot is a handy tool to display several dependent variables against one independent variable. However, it is recommended that no more than 5-10 lines on a single graph; any more than that and it becomes difficult to interpret." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "**Question:** Compare the trend of top 5 countries that contributed the most to immigration to Canada." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 88, | |
| "metadata": { | |
| "button": false, | |
| "collapsed": false, | |
| "deletable": true, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "### type your answer here\n", | |
| "df_can.sort_values(by='Total',ascending=False,axis=0,inplace=True)\n", | |
| "df_top5 = df_can.head(5)\n", | |
| "df_top5 = df_top5[years].transpose()\n", | |
| "\n", | |
| "\n", | |
| "\n", | |
| "\n", | |
| "\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "Double-click __here__ for the solution.\n", | |
| "<!-- The correct answer is:\n", | |
| "\\\\ # Step 1: Get the dataset. Recall that we created a Total column that calculates the cumulative immigration by country. \\\\ We will sort on this column to get our top 5 countries using pandas sort_values() method.\n", | |
| "\\\\ inplace = True paramemter saves the changes to the original df_can dataframe\n", | |
| "df_can.sort_values(by='Total', ascending=False, axis=0, inplace=True)\n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "# get the top 5 entries\n", | |
| "df_top5 = df_can.head(5)\n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "# transpose the dataframe\n", | |
| "df_top5 = df_top5[years].transpose() \n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "print(df_top5)\n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "\\\\ # Step 2: Plot the dataframe. To make the plot more readeable, we will change the size using the `figsize` parameter.\n", | |
| "df_top5.index = df_top5.index.map(int) # let's change the index values of df_top5 to type integer for plotting\n", | |
| "df_top5.plot(kind='line', figsize=(14, 8)) # pass a tuple (x, y) size\n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "plt.title('Immigration Trend of Top 5 Countries')\n", | |
| "plt.ylabel('Number of Immigrants')\n", | |
| "plt.xlabel('Years')\n", | |
| "-->\n", | |
| "\n", | |
| "<!--\n", | |
| "plt.show()\n", | |
| "-->" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "### Other Plots\n", | |
| "\n", | |
| "Congratulations! you have learned how to wrangle data with python and create a line plot with Matplotlib. There are many other plotting styles available other than the default Line plot, all of which can be accessed by passing `kind` keyword to `plot()`. The full list of available plots are as follows:\n", | |
| "\n", | |
| "* `bar` for vertical bar plots\n", | |
| "* `barh` for horizontal bar plots\n", | |
| "* `hist` for histogram\n", | |
| "* `box` for boxplot\n", | |
| "* `kde` or `density` for density plots\n", | |
| "* `area` for area plots\n", | |
| "* `pie` for pie plots\n", | |
| "* `scatter` for scatter plots\n", | |
| "* `hexbin` for hexbin plot" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "### Thank you for completing this lab!\n", | |
| "\n", | |
| "This notebook was originally created by [Jay Rajasekharan](https://www.linkedin.com/in/jayrajasekharan) with contributions from [Ehsan M. Kermani](https://www.linkedin.com/in/ehsanmkermani), and [Slobodan Markovic](https://www.linkedin.com/in/slobodan-markovic).\n", | |
| "\n", | |
| "This notebook was recently revised by [Alex Aklson](https://www.linkedin.com/in/aklson/). I hope you found this lab session interesting. Feel free to contact me if you have any questions!" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "This notebook is part of a course on **Coursera** called *Data Visualization with Python*. If you accessed this notebook outside the course, you can take this course online by clicking [here](http://cocl.us/DV0101EN_Coursera_Week1_LAB1)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "button": false, | |
| "deletable": true, | |
| "new_sheet": false, | |
| "run_control": { | |
| "read_only": false | |
| } | |
| }, | |
| "source": [ | |
| "<hr>\n", | |
| "\n", | |
| "Copyright © 2019 [Cognitive Class](https://cognitiveclass.ai/?utm_source=bducopyrightlink&utm_medium=dswb&utm_campaign=bdu). This notebook and its source code are released under the terms of the [MIT License](https://bigdatauniversity.com/mit-license/)." | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python", | |
| "language": "python", | |
| "name": "conda-env-python-py" | |
| }, | |
| "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.6.7" | |
| }, | |
| "widgets": { | |
| "state": {}, | |
| "version": "1.1.2" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment