Created
June 1, 2019 06:45
-
-
Save iateadonut/765da861b104260caf8288e884880e58 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
This file contains 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": 1, | |
"metadata": { | |
"button": false, | |
"collapsed": true, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": "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": 3, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 4, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 4, | |
"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": 5, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"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": 6, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 7, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 7, | |
"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": 8, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 8, | |
"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": 9, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 10, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 11, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(195, 43)" | |
] | |
}, | |
"execution_count": 11, | |
"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": 12, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 12, | |
"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": 13, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 13, | |
"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": 14, | |
"metadata": { | |
"button": false, | |
"collapsed": true, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 15, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 15, | |
"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": 16, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 16, | |
"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": 17, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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", | |
"5 Angola\n", | |
"6 Antigua and Barbuda\n", | |
"7 Argentina\n", | |
"8 Armenia\n", | |
"9 Australia\n", | |
"10 Austria\n", | |
"11 Azerbaijan\n", | |
"12 Bahamas\n", | |
"13 Bahrain\n", | |
"14 Bangladesh\n", | |
"15 Barbados\n", | |
"16 Belarus\n", | |
"17 Belgium\n", | |
"18 Belize\n", | |
"19 Benin\n", | |
"20 Bhutan\n", | |
"21 Bolivia (Plurinational State of)\n", | |
"22 Bosnia and Herzegovina\n", | |
"23 Botswana\n", | |
"24 Brazil\n", | |
"25 Brunei Darussalam\n", | |
"26 Bulgaria\n", | |
"27 Burkina Faso\n", | |
"28 Burundi\n", | |
"29 Cabo Verde\n", | |
" ... \n", | |
"165 Suriname\n", | |
"166 Swaziland\n", | |
"167 Sweden\n", | |
"168 Switzerland\n", | |
"169 Syrian Arab Republic\n", | |
"170 Tajikistan\n", | |
"171 Thailand\n", | |
"172 The former Yugoslav Republic of Macedonia\n", | |
"173 Togo\n", | |
"174 Tonga\n", | |
"175 Trinidad and Tobago\n", | |
"176 Tunisia\n", | |
"177 Turkey\n", | |
"178 Turkmenistan\n", | |
"179 Tuvalu\n", | |
"180 Uganda\n", | |
"181 Ukraine\n", | |
"182 United Arab Emirates\n", | |
"183 United Kingdom of Great Britain and Northern I...\n", | |
"184 United Republic of Tanzania\n", | |
"185 United States of America\n", | |
"186 Uruguay\n", | |
"187 Uzbekistan\n", | |
"188 Vanuatu\n", | |
"189 Venezuela (Bolivarian Republic of)\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": 17, | |
"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": 18, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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>5</th>\n", | |
" <td>Angola</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>6</td>\n", | |
" <td>6</td>\n", | |
" <td>4</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>Antigua and Barbuda</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>42</td>\n", | |
" <td>52</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>Argentina</td>\n", | |
" <td>368</td>\n", | |
" <td>426</td>\n", | |
" <td>626</td>\n", | |
" <td>241</td>\n", | |
" <td>237</td>\n", | |
" <td>196</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>Armenia</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>9</th>\n", | |
" <td>Australia</td>\n", | |
" <td>702</td>\n", | |
" <td>639</td>\n", | |
" <td>484</td>\n", | |
" <td>317</td>\n", | |
" <td>317</td>\n", | |
" <td>319</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>Austria</td>\n", | |
" <td>234</td>\n", | |
" <td>238</td>\n", | |
" <td>201</td>\n", | |
" <td>117</td>\n", | |
" <td>127</td>\n", | |
" <td>165</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>Azerbaijan</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>12</th>\n", | |
" <td>Bahamas</td>\n", | |
" <td>26</td>\n", | |
" <td>23</td>\n", | |
" <td>38</td>\n", | |
" <td>12</td>\n", | |
" <td>21</td>\n", | |
" <td>28</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>Bahrain</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>Bangladesh</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>Barbados</td>\n", | |
" <td>372</td>\n", | |
" <td>376</td>\n", | |
" <td>299</td>\n", | |
" <td>244</td>\n", | |
" <td>265</td>\n", | |
" <td>285</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>Belarus</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>17</th>\n", | |
" <td>Belgium</td>\n", | |
" <td>511</td>\n", | |
" <td>540</td>\n", | |
" <td>519</td>\n", | |
" <td>297</td>\n", | |
" <td>183</td>\n", | |
" <td>181</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>Belize</td>\n", | |
" <td>16</td>\n", | |
" <td>27</td>\n", | |
" <td>13</td>\n", | |
" <td>21</td>\n", | |
" <td>37</td>\n", | |
" <td>26</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>Benin</td>\n", | |
" <td>2</td>\n", | |
" <td>5</td>\n", | |
" <td>4</td>\n", | |
" <td>3</td>\n", | |
" <td>4</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>Bhutan</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>Bolivia (Plurinational State of)</td>\n", | |
" <td>44</td>\n", | |
" <td>52</td>\n", | |
" <td>42</td>\n", | |
" <td>49</td>\n", | |
" <td>38</td>\n", | |
" <td>44</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>Bosnia and Herzegovina</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>23</th>\n", | |
" <td>Botswana</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>3</td>\n", | |
" <td>7</td>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>Brazil</td>\n", | |
" <td>211</td>\n", | |
" <td>220</td>\n", | |
" <td>192</td>\n", | |
" <td>139</td>\n", | |
" <td>145</td>\n", | |
" <td>130</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>Brunei Darussalam</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>Bulgaria</td>\n", | |
" <td>24</td>\n", | |
" <td>20</td>\n", | |
" <td>12</td>\n", | |
" <td>33</td>\n", | |
" <td>11</td>\n", | |
" <td>24</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>Burkina Faso</td>\n", | |
" <td>2</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>2</td>\n", | |
" <td>3</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>Burundi</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>Cabo Verde</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>1</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>165</th>\n", | |
" <td>Suriname</td>\n", | |
" <td>15</td>\n", | |
" <td>10</td>\n", | |
" <td>21</td>\n", | |
" <td>12</td>\n", | |
" <td>5</td>\n", | |
" <td>16</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>166</th>\n", | |
" <td>Swaziland</td>\n", | |
" <td>4</td>\n", | |
" <td>1</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>7</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>167</th>\n", | |
" <td>Sweden</td>\n", | |
" <td>281</td>\n", | |
" <td>308</td>\n", | |
" <td>222</td>\n", | |
" <td>176</td>\n", | |
" <td>128</td>\n", | |
" <td>158</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>168</th>\n", | |
" <td>Switzerland</td>\n", | |
" <td>806</td>\n", | |
" <td>811</td>\n", | |
" <td>634</td>\n", | |
" <td>370</td>\n", | |
" <td>326</td>\n", | |
" <td>314</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>169</th>\n", | |
" <td>Syrian Arab Republic</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>170</th>\n", | |
" <td>Tajikistan</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>171</th>\n", | |
" <td>Thailand</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>172</th>\n", | |
" <td>The former Yugoslav Republic of Macedonia</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>173</th>\n", | |
" <td>Togo</td>\n", | |
" <td>5</td>\n", | |
" <td>5</td>\n", | |
" <td>2</td>\n", | |
" <td>3</td>\n", | |
" <td>6</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>174</th>\n", | |
" <td>Tonga</td>\n", | |
" <td>2</td>\n", | |
" <td>4</td>\n", | |
" <td>7</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>175</th>\n", | |
" <td>Trinidad and Tobago</td>\n", | |
" <td>958</td>\n", | |
" <td>947</td>\n", | |
" <td>972</td>\n", | |
" <td>766</td>\n", | |
" <td>606</td>\n", | |
" <td>699</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>176</th>\n", | |
" <td>Tunisia</td>\n", | |
" <td>58</td>\n", | |
" <td>51</td>\n", | |
" <td>55</td>\n", | |
" <td>46</td>\n", | |
" <td>51</td>\n", | |
" <td>57</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>177</th>\n", | |
" <td>Turkey</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178</th>\n", | |
" <td>Turkmenistan</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>179</th>\n", | |
" <td>Tuvalu</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>180</th>\n", | |
" <td>Uganda</td>\n", | |
" <td>13</td>\n", | |
" <td>16</td>\n", | |
" <td>17</td>\n", | |
" <td>38</td>\n", | |
" <td>32</td>\n", | |
" <td>29</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>181</th>\n", | |
" <td>Ukraine</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>182</th>\n", | |
" <td>United Arab Emirates</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", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>183</th>\n", | |
" <td>United Kingdom of Great Britain and Northern I...</td>\n", | |
" <td>22045</td>\n", | |
" <td>24796</td>\n", | |
" <td>20620</td>\n", | |
" <td>10015</td>\n", | |
" <td>10170</td>\n", | |
" <td>9564</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>184</th>\n", | |
" <td>United Republic of Tanzania</td>\n", | |
" <td>635</td>\n", | |
" <td>832</td>\n", | |
" <td>621</td>\n", | |
" <td>474</td>\n", | |
" <td>473</td>\n", | |
" <td>460</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>185</th>\n", | |
" <td>United States of America</td>\n", | |
" <td>9378</td>\n", | |
" <td>10030</td>\n", | |
" <td>9074</td>\n", | |
" <td>7100</td>\n", | |
" <td>6661</td>\n", | |
" <td>6543</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>186</th>\n", | |
" <td>Uruguay</td>\n", | |
" <td>128</td>\n", | |
" <td>132</td>\n", | |
" <td>146</td>\n", | |
" <td>105</td>\n", | |
" <td>90</td>\n", | |
" <td>92</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>187</th>\n", | |
" <td>Uzbekistan</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>188</th>\n", | |
" <td>Vanuatu</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>189</th>\n", | |
" <td>Venezuela (Bolivarian Republic of)</td>\n", | |
" <td>103</td>\n", | |
" <td>117</td>\n", | |
" <td>174</td>\n", | |
" <td>124</td>\n", | |
" <td>142</td>\n", | |
" <td>165</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 \\\n", | |
"0 Afghanistan 16 39 39 \n", | |
"1 Albania 1 0 0 \n", | |
"2 Algeria 80 67 71 \n", | |
"3 American Samoa 0 1 0 \n", | |
"4 Andorra 0 0 0 \n", | |
"5 Angola 1 3 6 \n", | |
"6 Antigua and Barbuda 0 0 0 \n", | |
"7 Argentina 368 426 626 \n", | |
"8 Armenia 0 0 0 \n", | |
"9 Australia 702 639 484 \n", | |
"10 Austria 234 238 201 \n", | |
"11 Azerbaijan 0 0 0 \n", | |
"12 Bahamas 26 23 38 \n", | |
"13 Bahrain 0 2 1 \n", | |
"14 Bangladesh 83 84 86 \n", | |
"15 Barbados 372 376 299 \n", | |
"16 Belarus 0 0 0 \n", | |
"17 Belgium 511 540 519 \n", | |
"18 Belize 16 27 13 \n", | |
"19 Benin 2 5 4 \n", | |
"20 Bhutan 0 0 0 \n", | |
"21 Bolivia (Plurinational State of) 44 52 42 \n", | |
"22 Bosnia and Herzegovina 0 0 0 \n", | |
"23 Botswana 10 1 3 \n", | |
"24 Brazil 211 220 192 \n", | |
"25 Brunei Darussalam 79 6 8 \n", | |
"26 Bulgaria 24 20 12 \n", | |
"27 Burkina Faso 2 1 3 \n", | |
"28 Burundi 0 0 0 \n", | |
"29 Cabo Verde 1 1 2 \n", | |
".. ... ... ... ... \n", | |
"165 Suriname 15 10 21 \n", | |
"166 Swaziland 4 1 1 \n", | |
"167 Sweden 281 308 222 \n", | |
"168 Switzerland 806 811 634 \n", | |
"169 Syrian Arab Republic 315 419 409 \n", | |
"170 Tajikistan 0 0 0 \n", | |
"171 Thailand 56 53 113 \n", | |
"172 The former Yugoslav Republic of Macedonia 0 0 0 \n", | |
"173 Togo 5 5 2 \n", | |
"174 Tonga 2 4 7 \n", | |
"175 Trinidad and Tobago 958 947 972 \n", | |
"176 Tunisia 58 51 55 \n", | |
"177 Turkey 481 874 706 \n", | |
"178 Turkmenistan 0 0 0 \n", | |
"179 Tuvalu 0 1 0 \n", | |
"180 Uganda 13 16 17 \n", | |
"181 Ukraine 0 0 0 \n", | |
"182 United Arab Emirates 0 2 2 \n", | |
"183 United Kingdom of Great Britain and Northern I... 22045 24796 20620 \n", | |
"184 United Republic of Tanzania 635 832 621 \n", | |
"185 United States of America 9378 10030 9074 \n", | |
"186 Uruguay 128 132 146 \n", | |
"187 Uzbekistan 0 0 0 \n", | |
"188 Vanuatu 0 0 0 \n", | |
"189 Venezuela (Bolivarian Republic of) 103 117 174 \n", | |
"190 Viet Nam 1191 1829 2162 \n", | |
"191 Western Sahara 0 0 0 \n", | |
"192 Yemen 1 2 1 \n", | |
"193 Zambia 11 17 11 \n", | |
"194 Zimbabwe 72 114 102 \n", | |
"\n", | |
" 1983 1984 1985 \n", | |
"0 47 71 340 \n", | |
"1 0 0 0 \n", | |
"2 69 63 44 \n", | |
"3 0 0 0 \n", | |
"4 0 0 0 \n", | |
"5 6 4 3 \n", | |
"6 0 42 52 \n", | |
"7 241 237 196 \n", | |
"8 0 0 0 \n", | |
"9 317 317 319 \n", | |
"10 117 127 165 \n", | |
"11 0 0 0 \n", | |
"12 12 21 28 \n", | |
"13 1 1 3 \n", | |
"14 81 98 92 \n", | |
"15 244 265 285 \n", | |
"16 0 0 0 \n", | |
"17 297 183 181 \n", | |
"18 21 37 26 \n", | |
"19 3 4 3 \n", | |
"20 0 1 0 \n", | |
"21 49 38 44 \n", | |
"22 0 0 0 \n", | |
"23 3 7 4 \n", | |
"24 139 145 130 \n", | |
"25 2 2 4 \n", | |
"26 33 11 24 \n", | |
"27 2 3 2 \n", | |
"28 0 1 2 \n", | |
"29 0 11 1 \n", | |
".. ... ... ... \n", | |
"165 12 5 16 \n", | |
"166 0 10 7 \n", | |
"167 176 128 158 \n", | |
"168 370 326 314 \n", | |
"169 269 264 385 \n", | |
"170 0 0 0 \n", | |
"171 65 82 66 \n", | |
"172 0 0 0 \n", | |
"173 3 6 5 \n", | |
"174 1 2 5 \n", | |
"175 766 606 699 \n", | |
"176 46 51 57 \n", | |
"177 280 338 202 \n", | |
"178 0 0 0 \n", | |
"179 0 1 0 \n", | |
"180 38 32 29 \n", | |
"181 0 0 0 \n", | |
"182 1 2 0 \n", | |
"183 10015 10170 9564 \n", | |
"184 474 473 460 \n", | |
"185 7100 6661 6543 \n", | |
"186 105 90 92 \n", | |
"187 0 0 0 \n", | |
"188 0 0 0 \n", | |
"189 124 142 165 \n", | |
"190 3404 7583 5907 \n", | |
"191 0 0 0 \n", | |
"192 6 0 18 \n", | |
"193 7 16 9 \n", | |
"194 44 32 29 \n", | |
"\n", | |
"[195 rows x 7 columns]" | |
] | |
}, | |
"execution_count": 18, | |
"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": 19, | |
"metadata": { | |
"button": false, | |
"collapsed": true, | |
"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": 20, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df_can.head(3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"button": false, | |
"collapsed": true, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 22, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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", | |
"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", | |
"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", | |
"# alternate methods\n", | |
"print(df_can.iloc[87])\n", | |
"print(df_can[df_can.index == 'Japan'].T.squeeze())" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"982\n", | |
"982\n" | |
] | |
} | |
], | |
"source": [ | |
"# 2. for year 2013\n", | |
"print(df_can.loc['Japan', 2013])\n", | |
"\n", | |
"# alternate method\n", | |
"print(df_can.iloc[87, 36]) # year 2013 is the last column, with a positional index of 36" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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", | |
"1980 701\n", | |
"1981 756\n", | |
"1982 598\n", | |
"1983 309\n", | |
"1984 246\n", | |
"1985 198\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", | |
"print(df_can.iloc[87, [3, 4, 5, 6, 7, 8]])" | |
] | |
}, | |
{ | |
"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": 25, | |
"metadata": { | |
"button": false, | |
"collapsed": true, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 26, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 26, | |
"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": 27, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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", | |
"Angola False\n", | |
"Antigua and Barbuda False\n", | |
"Argentina False\n", | |
"Armenia True\n", | |
"Australia False\n", | |
"Austria False\n", | |
"Azerbaijan True\n", | |
"Bahamas False\n", | |
"Bahrain True\n", | |
"Bangladesh True\n", | |
"Barbados False\n", | |
"Belarus False\n", | |
"Belgium False\n", | |
"Belize False\n", | |
"Benin False\n", | |
"Bhutan True\n", | |
"Bolivia (Plurinational State of) False\n", | |
"Bosnia and Herzegovina False\n", | |
"Botswana False\n", | |
"Brazil False\n", | |
"Brunei Darussalam True\n", | |
"Bulgaria False\n", | |
"Burkina Faso False\n", | |
"Burundi False\n", | |
"Cabo Verde False\n", | |
" ... \n", | |
"Suriname False\n", | |
"Swaziland False\n", | |
"Sweden False\n", | |
"Switzerland False\n", | |
"Syrian Arab Republic True\n", | |
"Tajikistan True\n", | |
"Thailand True\n", | |
"The former Yugoslav Republic of Macedonia False\n", | |
"Togo False\n", | |
"Tonga False\n", | |
"Trinidad and Tobago False\n", | |
"Tunisia False\n", | |
"Turkey True\n", | |
"Turkmenistan True\n", | |
"Tuvalu False\n", | |
"Uganda False\n", | |
"Ukraine False\n", | |
"United Arab Emirates True\n", | |
"United Kingdom of Great Britain and Northern Ireland False\n", | |
"United Republic of Tanzania False\n", | |
"United States of America False\n", | |
"Uruguay False\n", | |
"Uzbekistan True\n", | |
"Vanuatu False\n", | |
"Venezuela (Bolivarian Republic of) False\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": 28, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# 2. pass this condition into the dataFrame\n", | |
"df_can[condition]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 29, | |
"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": 30, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 30, | |
"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": 31, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 32, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Matplotlib version: 3.0.3\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": 33, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 34, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": 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": 34, | |
"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": 35, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7f49b0b324e0>" | |
] | |
}, | |
"execution_count": 35, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAD8CAYAAAB+UHOxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3Xl4VdW5+PHv2hmA5EDIyQkJSRjCJIJgkKBAlcm09oK3pei1rdUWh2trrBRpVbhatSqWW0W4CPzQarF1bC8FbKutbUTAyqUGmQSVMSgEMp7Mc85evz92coCQkJPkjMn7eR4fw87Ze69FyHnPXutd71Jaa40QQogexwh0A4QQQgSGBAAhhOihJAAIIUQPJQFACCF6KAkAQgjRQ0kAEEKIHkoCgBBC9FASAIQQooeSACCEED2UBAAhhOihwgPdgPacPn060E3wCofDQVFRUaCb4RXSl+DTXfoB0hdvSEpK8uh18gQghBA9lAQAIYTooSQACCFEDyUBQAgheigJAEII0UNJABBCiB5KAoAQQvRQEgCEECKA9P5sdN6pgNxbAoAQQgSINk3M53+F+cqagNxfAoAQQgRKSTHU18Hhg+hTJ/x+ewkAQggRKPlnh370++/4/fYSAIQQIkB0Xq71xbh09M730dWVfr2/BAAhhAiUvFzo3Qdj7vegvg694z2/3l4CgBBCBIjOz4WEZNTg4TB8NPr9d9Cm6bf7SwAQQohAyctFJSYDoGbOgYIz8Olev91eAoAQQgSArqsDZyE0B4CJU6Fff8z33/ZbGyQACCFEIBQ2bXaV0BQAwiNQ066DT3ahC/P80gQJAEIIEQhNGUCqKQAAqGlfB6XQW//qlyZIABBCiABwp4AmnN2+UcXGoSZMQf/zH9YQkY9JABBCiEDIzwW7A9Wr93mH1aw5UF2Jzt7u8yZIABBCiADQebnu8f/zjBwLyUPQW/6C1tqnbZAAIIQQfqa1hvyzKaDnUkpZKaEnc+DY5z5thwQAIYTwt/JSqKmGhJRWv62umg59otE+TgmVACCEEP7WnAHUyhMAgOrdB/WVa9Ef70CXlfisGeGevKiqqop169Zx8uRJlFLcfffdJCUlsWLFCgoLC4mPj+e+++7DZrOhtWb9+vXs2bOHXr16kZmZybBhwwDYunUrGzduBGDevHnMmDHDZx0TQohgpZurgLYRAADUjNnorD+hP3gXdf13fNIOj54A1q9fT1paGitXruTpp58mOTmZzZs3M27cOFatWsW4cePYvHkzAHv27CEvL49Vq1Zx11138eKLLwJQWVnJhg0beOqpp3jqqafYsGEDlZX+rXwnhBBBIS8XIiIh1tHmS1RCEoydgN72N3Rjo0+a0W4AqK6u5rPPPmPWrFkAhIeHEx0dTXZ2NtOnTwdg+vTpZGdnA7Br1y6mTZuGUopRo0ZRVVVFSUkJe/fuZfz48dhsNmw2G+PHj2fvXv/VvBBCiGCh80/DgIEo4+JvwcbM66HUCXt3+qQd7Q4BFRQU0K9fP9auXcsXX3zBsGHDmD9/PmVlZcTGxgIQGxtLeXk5AE6nE4fjbFSLi4vD6XTidDqJi4tzH7fb7Tidzgvul5WVRVZWFgDLli0771qhLDw8XPoShLpLX7pLP6Bn9KWoMI/woSPo304/9YyvUfy/L2F88HfsX5/r/fa19wKXy0VOTg633347I0eOZP369e7hnta0lreqlGr1ta0dz8jIICMjw/3noqKi9poYEhwOh/QlCHWXvnSXfkD374tubMDMz8WcMMWjfprXXIdrw3oK9+5CpQz16L5JSUntvwgPhoDi4uKIi4tj5MiRAEyePJmcnBxiYmIoKbFmp0tKSujXr5/79ed2qri4mNjYWOx2O8XFxe7jTqfT/QQhhBA9RmE+mOZFJ4DPpa7OgIhIn2wZ2W4A6N+/P3FxcZw+bVWu++STT0hJSSE9PZ1t27YBsG3bNiZNmgRAeno627dvR2vN4cOHiYqKIjY2lrS0NPbt20dlZSWVlZXs27ePtLQ0r3dICCGCWlMGUFspoC2p6L6oK6f5ZMtIj9JAb7/9dlatWkVjYyMDBgwgMzMTrTUrVqxgy5YtOBwOFi1aBMCECRPYvXs3CxYsIDIykszMTABsNhs33HADS5YsAeDGG2/EZrN5tTNCCBHszhaB8ywAgLVZjP4wC73jPVTGN73WFqV9XWyii5qfPEJddx/XDFXdpS/dpR/Q/ftivrwK/ckuwpb/rkPXcj25CCIjCXtgWbuv9docgBBCCO/R+bkej/+fSw0e5l5B7C0SAIQQwp/ycs/bBMZjiSlQUYauLPdaUyQACCGEn+iqCqgs79wTwMCmwnFefAqQACCEEP7SyjaQHku0AoDOO+W15kgAEEIIP9H5Hc8AcouLh/AIkAAghBAhKC8XwsLAkdDhU5URBglJZ9NIvUACgBBC+InOz4X4RFS4R0uwLqASU+CMPAEIIUToaWsfYE8lJkNRHrqxwSvNkQAghBB+oE0XFJzxuAREqxJTrDpChXleaZMEACGE8IfiQmhs6NITgDsV1EvDQBIAhBDCH9z7ALe+EbxHmoKHt1JBJQAIIYQfeLIPcHtU7z7WNpISAIQQIoTk5UKUDWz9unadxGSvpYJKABBCCD/QebmQkNTmDomeUokpkHeq1d0XO0oCgBBC+EP+6a5lADUbmAI11VBW0uVLSQAQQggf07U1UFrctTUATdx1hPK7PgwkAUAIIXwt39rYqksZQM2ai8J5IRVUAoAQQviYO23TG0NAsXHQq7dXMoEkAAghhK/l54JSMGBgly+llILEFK+sBZAAIIQQvpaXC3EDUBGRXrmcSkz2ysYwEgCEEMLHOrsPcJsSU6C4AF1X16XLSAAQQggf0lpbKaBeyABq5q4J1MVMIAkAQgjhSyXFUFfr/ScAul4TSAKAEEL4Un4X9gFuy4CB1qSyBAAhhAheXdoHuA0qItLaVrKLE8ESAIQQwpfycq28/dg4717XC6mgEgCEEMKHdL53isC1pBKTIT8XbZqdvoYEACGE8KW8XO+O/zdLTIH6eigp6vQlJAAIIYSP6Po6KC7wbgZQE3ddoS7UBAr35EX33HMPvXv3xjAMwsLCWLZsGZWVlaxYsYLCwkLi4+O57777sNlsaK1Zv349e/bsoVevXmRmZjJs2DAAtm7dysaNGwGYN28eM2bM6HTDhRAi2LnOnAKtvToB7DbwbCqouuyKTl3CowAA8Oijj9Kv39mdbDZv3sy4ceOYO3cumzdvZvPmzdxyyy3s2bOHvLw8Vq1axZEjR3jxxRd56qmnqKysZMOGDSxbtgyAxYsXk56ejs1m61TDhRAi2DWe/hLwUhXQlmz9ILpvl1JBOz0ElJ2dzfTp0wGYPn062dnZAOzatYtp06ahlGLUqFFUVVVRUlLC3r17GT9+PDabDZvNxvjx49m7d2+nGy6EEMHOlWsFABKSvH5tqyhc17aH9PgJYOnSpQB89atfJSMjg7KyMmJjYwGIjY2lvLwcAKfTicPhcJ8XFxeH0+nE6XQSF3c2Dcput+N0Oi+4T1ZWFllZWQAsW7bsvGuFsvDwcOlLEOoufeku/YDu1ZfyMycx4uKJTxnkk+uXDRlO/Z6dnf778igAPPHEE9jtdsrKynjyySdJSmo7mrW2T2Vb6U+tHc/IyCAjI8P956Kizs9wBxOHwyF9CULdpS/dpR/QvfpinPoC05Hos/6YsQ50STGFX36Biop2H7/Ye/R57fPkRXa7HYCYmBgmTZrE0aNHiYmJoaTE2pOypKTEPT8QFxd3XmeLi4uJjY3FbrdTXFzsPu50Ot1PEEII0d1orWnM/dI7+wC3wT230MmicO0GgNraWmpqatxf79+/n8GDB5Oens62bdsA2LZtG5MmTQIgPT2d7du3o7Xm8OHDREVFERsbS1paGvv27aOyspLKykr27dtHWlpapxothBBBr7IcXVXhkxRQty5uD9nuEFBZWRnPPPMMAC6Xi6uvvpq0tDSGDx/OihUr2LJlCw6Hg0WLFgEwYcIEdu/ezYIFC4iMjCQzMxMAm83GDTfcwJIlSwC48cYbJQNICNF95TUXgfNBBlAzRwKEhXc6E6jdAJCQkMDTTz99wfG+ffvyyCOPXHBcKcWdd97Z6rVmzZrFrFmzOtFMIYQILV7dB7gNKjwcBgzsdE0gWQkshBC+kJ8LEZEQF+/b+3Rhe0gJAEII4QM6L5ewxGSUEebT+6jEZCg4g25s7PC5EgCEEMIX8nMJTx7i+/skpoCrEYryO3yqBAAhhPAy7XJBYR5hyYN9fi93Kmgn5gEkAAghhLeVOsHlImzAQN/fq2mSWXdiLYAEACGE8LYyq8xNmN33JS1UlA1iYjtVFloCgBBCeFupFQAMPwQAoNPbQ0oAEEIIL9NlzQHAxymgTVRiMpw51WottouRACCEEN5WWgKGgdGvv3/ul5gC1ZVQWd6h0yQACCGEt5UVQ79YlOGft1h3wbkOzgNIABBCCC/TpU7ob/ffDRPPbg/ZERIAhBDC20qdVmaOv9jjrbITEgCEECLAykpQfnwCUIYBCR3fHlICgBBCeJFuaLAmY/05BASogSnyBCCEEAFVbu2USIx/AwCJyVBUgG6o9/gUCQBCCOFNTYvA/DkEBFgTwdqEgjMenyIBQAghvKlpEZi/nwA6UxROAoAQQniRbnoC8PccAAlJ1v07sBZAAoAQQnhTWQmEhYGtn19vq3r1ttJB5QlACCECpNTp11XA50lM6VAqqAQAIYTwIr+vAj5HR1NBJQAIIYQ3lfl5FfC5EpOhrtbjl0sAEEIIbypz+j8FtIk7E8hDEgCEEMJLrFXAFf5fBNZMAoAQQgSIew1AgIaAYmKhT5THL5cAIIQQ3lJmlYFQ/eMCcnulFCQke/x6CQBCCOEtgVoEdo6OzANIABBCCC9xrwIO1BAQoGb/h8evlQAghBDeUuYMyCrgc6mBnj8BhHv6QtM0Wbx4MXa7ncWLF1NQUMDKlSuprKwkNTWVe++9l/DwcBoaGli9ejXHjx+nb9++LFy4kAEDBgCwadMmtmzZgmEY3HbbbaSlpXW8d0IIEayadgILyCrgTvC4le+88w7JyWcnF1599VXmzJnDqlWriI6OZsuWLQBs2bKF6OhonnvuOebMmcNrr70GwKlTp9ixYwfPPvssDz30EC+99BKmaXq5O0IIETi6zBm4FNBO8CgAFBcXs3v3bq699loAtNYcPHiQyZMnAzBjxgyys7MB2LVrFzNmzABg8uTJHDhwAK012dnZTJ06lYiICAYMGEBiYiJHjx71QZeEECJAykpCKgB4NAT08ssvc8stt1BTUwNARUUFUVFRhIWFAWC323E6rckPp9NJXJyVAhUWFkZUVBQVFRU4nU5Gjhzpvua555wrKyuLrKwsAJYtW4bD4ehC94JHeHi49CUIdZe+dJd+QGj3paCshN7jJtKvqf3B3pd2A8DHH39MTEwMw4YN4+DBg+1eUGt9wTGlVKvHW5ORkUFGRob7z0VFRR6dF+wcDof0JQh1l750l35A6PZFN9SjK8up7R1FfVP7A9WXpKQkj17XbgA4dOgQu3btYs+ePdTX11NTU8PLL79MdXU1LpeLsLAwnE4ndrv12BMXF0dxcTFxcXG4XC6qq6ux2Wzu483OPUcIIUJeEKSAdlS7cwA333wz69atY82aNSxcuJDLLruMBQsWMHbsWHbu3AnA1q1bSU9PB2DixIls3boVgJ07dzJ27FiUUqSnp7Njxw4aGhooKCjgzJkzjBgxwnc9E0IIf3KvAg6dD7Yep4G29L3vfY+VK1fy5ptvkpqayqxZswCYNWsWq1ev5t5778Vms7Fw4UIABg0axJQpU1i0aBGGYXDHHXdghEiqlBBCtKss8KuAO0ppTwfnA+T06dOBboJXhOq4ZmukL8Gnu/QDQrcv5nt/Rr/5a4xnX0H1jQGCfw5APoILIYQ3lDkhLByi+wa6JR6TACCEEN4QYquAQQKAEEJ4hS4N4FaQnSQBQAghvKGsJKQmgEECgBBCeEdp4PYC7qyQDwC61Ilr9ZPoz/cHuilCiB5K19dBdWVI1QGC7hAAPtsH+z7CfPbnmJteQTc2BrpJwgd0RRn66GeBboYQrWtaBCZDQP5WmAdKoabMQr/zv5hPL0EX5gW6VcLL9J/fwFz+MLqxIdBNEeJCTYvAlDwB+FlRPsTYMW77Cequ++HMScwnFmJ+tD3QLRNepI8dgsYGyO8eCwNFNxMEewF3RsgHAF2UB/EJABiTrsH4+UoYOAj962cwX/4fdF1tgFsoukrX10HuCevr3C8C2xghWnF2L2AJAP5VmI9yJLr/qOITMe7/JWr2TegdWzCfuA/95bEANlB02ZfHweWyvs79MrBtEaI1ZSXWKmBb6KwChhAPALqhHkqLIT7xvOMqPBzjW7dgLHoC6mowf3k/ZtZbHu9JIIKLzjlsfdE3Bn1angBEECp1Qn87SqlAt6RDQjoAUFRg/b9pCKglNXo8xiOrYOwV6N+/hLnqcXR1lR8bKLwi5zDYHahLxoEMAYkgZO0FHFqrgCHkA0A+AMrRegAAUH37YdzzEOrmH8LB3ei/b/JX64SX6JzDMHQUJA+GonyZ1xHBp+kJINSEdADQRU3pno7Ei75OKYUxcw6MS0dvfxfdIKmEoUJXlEFRPmrYKFTSENAazpwMdLOEOF+ZM+RSQCHEAwCFeRAR6fGjlzFzNlSUoXfv8HHDhNc0jf+roaMgeQgAWiaCRRCxVgFXyRCQv+nCfHAkeD7xMmYCDBiIfv9t3zZMeI3OOQLKgCHDrbmeiEiQiWARTNyrgOMC245OCOkAQFH+BRlAF6MMAzVjNhz7HP3lcR82THiLzjkESYNQvfugjDBrjYdMBItg0rQGINQKwUEIBwCtNRTlXXQCuDVq6rUQGYne+o6PWia8RWsNOUdQwy5xH1PJg2UtgAgqZxeByRCQ/1RWQG1NmymgbVHRNtRVM9D/2oquqvRR44RXFJyxKiwOHXn2WPIQKC2Wn50IHiG4GXyz0A0ATRlAqp0MoNaoGbOhvh79YZa3WyW8qHkBmBo2yn1MJVkTwZyWpwARJEqdEB5aewE3C9kA4K742YE5gGZq8DAYcSl66zto0/Ryy4TX5ByGyF4wcPDZY8nW1zIPIIJGmRNiQm8VMIRwAGheBEbcgE6drmbMttJIP93jxUYJb7IWgI1AhYWdPRjrgD5RkgkkgoYO0UVgEOoBoG8MqnefTp2uJk6Ffv0xt0hKaDDSDQ1w8jhq6KjzjiulIGmwrAUQwaOsJOSqgDYL2QCgC/M6NfzTTIVHoKZdBwc+lg1kgtGpE9DYeN74fzOVPAROfyHF/URwCMG9gJuFbACgMK9TE8DnUtO+Dkqht/3VS40S3qJzDllfDL0wAJA0xMoCKy/1b6OEaEHX1UFNaK4ChhANALqxEUqKOpwC2pKKjYO0yeh/ZlnLuUXwyDli/VLZHRd8SzVNBEtlUBFwIZwCCiEaACgpAtOEDi4Ca40xaw5UVaCzP/BCw4S3WBPAI1vPrGiuCSQTwSLQQngVMIRqAGgas1ddmANwG3WZNan4/jsyphwkdFUl5OeiUlsZ/gFU3xjoGyMrgkXA6bLQ3AqyWXh7L6ivr+fRRx+lsbERl8vF5MmTuemmmygoKGDlypVUVlaSmprKvffeS3h4OA0NDaxevZrjx4/Tt29fFi5cyIABVqrmpk2b2LJlC4ZhcNttt5GWltapRntaBtoTSinUjNno19dZeefnlB0QAXLiCECbAQCA5CGyFkAEXncfAoqIiODRRx/l6aef5le/+hV79+7l8OHDvPrqq8yZM4dVq1YRHR3Nli1bANiyZQvR0dE899xzzJkzh9deew2AU6dOsWPHDp599lkeeughXnrpJczOLsIqzLf234z1zl+6mjIDevdBvy/1gYKBewvIoSPafI2VCXRSFvKJwCp1QngERNkC3ZJOaTcAKKXo3bs3AC6XC5fLhVKKgwcPMnnyZABmzJhBdnY2ALt27WLGjBkATJ48mQMHDqC1Jjs7m6lTpxIREcGAAQNITEzk6NGjnWt1UT7EDbCqQ3qB6h2FmjILvesDtGSWBJzOOQyJKaiL/VIlDYa6GnAW+q9hQrRUam0FGYqrgMGDISAA0zR58MEHycvL47rrriMhIYGoqCjCmlZo2u12nE7rUcjpdBIXZ9XFDgsLIyoqioqKCpxOJyNHni3qde4558rKyiIry6rRs2zZMhyOC7NAikuLMJJSiG3le53V+K3vUfz+20Tt2UH0Dd/32nWbhYeHt9qXUOTLvmitKfriKJETJhNzkXvUjxlPCdCvopReo8d2+n7d5efSXfoBodUXZ1UFxCdgb6O9wd4XjwKAYRg8/fTTVFVV8cwzz5Cbm9vma1ubSFVKeTzBmpGRQUZGhvvPRUVFF7zGdSYXlT601e91Wh8bjB5P5Tt/pPqa67z2dNHM4XB4t70B5Mu+6OICzLIS6pKGXPQeOjoGgLLPP8FI7fy8TXf5uXSXfkBo9cVVVADJg9tsb6D6kpSU5NHrOpQFFB0dzZgxYzhy5AjV1dW4XC7A+tRvt1vj8XFxcRQXFwPWkFF1dTU2m+284y3P6QhdXQVVFV1aBdwWY+Yca0hhf7bXry08o483VQBNHXnR16k+UWCPl7UAIrBCdC/gZu0GgPLycqqqqgArI+iTTz4hOTmZsWPHsnPnTgC2bt1Keno6ABMnTmTr1q0A7Ny5k7Fjx6KUIj09nR07dtDQ0EBBQQFnzpxhxIi2J/na1FQErqurgFt1+ZVgd0h9oEA6cdiaVEsZ2v5rk4dITSARMLquFmqqQzYDCDwYAiopKWHNmjWYponWmilTpjBx4kRSUlJYuXIlb775JqmpqcyaNQuAWbNmsXr1au69915sNhsLFy4EYNCgQUyZMoVFixZhGAZ33HEHhtGJZQjuFNCuLwJrSYWFoaZ9Hb35VXTeKVRiitfvIS5OHz8Mg4ehwiPafa1KGoz+bC/a5Tq/YqgQ/hDiawDAgwAwZMgQfvWrX11wPCEhgV/+8pcXHI+MjGTRokWtXmvevHnMmzevE808Sxc2lYHuYhmItqhrvob+0+vonVtRc2/xyT16Am2aoFSHsiO0ywVfHkVdc51nJyQPgcZGa+ewgRKshZ+F+CpgCMWVwEV5EGW7eIpgF6h+/a2Nx2XT+E7TLhfm00vQv1nRsRNzv4D6erjYArBzuGsCSUkIEQBn9wKWAOA3uijfJxPA51KDUuFkjk/v0Z3pre/A0c/QO7ei9+70/LwTzRPAngUAElNAGbIiWARGWYn1f3kC8KPCfJQPxv/PMyjV2ni8oty39+mGdHkJ+q3X4NLLIXkI5usvoGurPTv5+GGw9fU4wKvIXjBgoEwEi8AodUJEJERFB7olnRZSAUCbLijO98kE8LlUSqr1xSl5CugovfF3UF+PcfMPMW69xwqkb73h2bknjsDQUR1bVZk8WIaARGCE+CpgCLEAQKnTmvTz8RAQg6wAoE/KPEBH6GOfoz98D5XxDVRiCmr4aNQ116Hf+zP6y2MXP7e2Gk5/2W7+f0sqaQjkn0E31Hel6UJ0mC4L3b2Am4VWAGjKAFI+ygBqpvrGWD/Ykyd8ep/uRJsuzDdegP521PU3uY+red8HW1/MV9ZaT3Bt+eIYaI3q4KpelTwYtAlnTna26UJ0TogvAoMQCwC6aRGYN8pAtyslVZ4AOkD/8x/wxVHUjbeheke5j6toG+rbd8KJI+htf2v7/OPNFUA79gTg3hxG5gGEv5XKE4B/FeWBMqwSAD6mBqVC3il0Q4PP7xXqdGU5euMrMGos6sppF3xfXTkNLr0cvekVdGlxK1doygCKT0T17dexm8cPhPBwKQkh/ErX1kBtTUingEKoBYDCPLA7UOEe1bDrmkGp4HLBGflk2R791mtQU4Xx3btanRBTSmHccjc0NKB//1LrFzl+2PP0z3OvHR4OiSno0/JzEn7UDVJAIcQCgC7yfQZQM+WeCD7hl/uFKv3FMfS2v6FmzjmbPdUKNSAJNecm9K5/og98fP41SoqhtNjjBWAXXDtpiDwBCP9qXgUcExvghnRNSAUAivK9sw+wJwYMhMhISQW9CG2amG88D7Z+qG98t93Xq+vmQWIK5mvr0HV1Z7+R08EFYC0lDwZnIbrGw/UGQnSReyhTngD8Q9fVWY9d/noCMMIgeShaVgS3Se/cCsc+R93wA49Kc6iICIxbMqEoH/32789e58RhCAuDwcM61Q7VNBGMDAMJf5EhID9zZwD5JwDA2ZIQnm5m05Po6ir0H1+G1FGoKbM8Pk9dchlq6rXov29yl3DQxw9DSioqIrJzjUmyagJJSQjRWdo00YV5np9Q1rQKuE/orgKGkAoA1g/Hb0NAYE0EV1eCMzR2J/In/ec3oaIM4+YfojpY1lvdeBv0icJ8da1VAfSLox1eAHaeuAHQq7c8AYhO0x9tw/yvuy6Yn2pTUwpoKK8ChhAKAO7o7McAICUhWtf45XH0lj+jrvkaqqN5+4Dq288KAkc/Q2942Uqn6+z4P1gBKGmwPAF4QJ5mW6d3/x+AtWDRg9pVuqwk5FNAIYQCAEX50KsP2DqYJ94VKU2LjGRBmJvWmvJfPwt9olHfurXT11FTr4VRY9FZb1l/7kIAAGtzGMkEujj96R7M+29Df7on0E0JKrqhHj7dC8NHQ0mRVc+qPaXOkN4HoFnIBACrDHSCXx+5VO8oq9qkpIK66V0f0nBgN2ruLaguBGNrbUAmhIVDnyhISO5aw5KHQEUZury0a9fpxsxt70KZE/O5J9Gy7/VZhz6BulqMOTehZl2Pfv8d9OGDFz+nqRBcqPPDiiovKcyzUjP9LSUVuvkTgK4ox1z+EJSXgtZN/5nnfN30Z1ODq5HwYaMwp32ty/dVAwehbr4Lqqo6PI9wwbWSB6PBmgfo17/LbetudG0NfLILdeV0dH4u5tpfYtx1P+qKKYFuWsDp/dkQ2QtGj0eNHIve+y/M363GeGSlVXK85etrq6GuJuQzgCBEAoDW2loDMGaC3++tBqWid+9A11afV+OmO9FZb1mVOK/+qvWJXCkwDOv/KDCU9bUyICxzQvSOAAAb+klEQVSM/v9+EyWGd/bgNaZ93SvXIelsTSA1erx3rtmN6E92QUM9atp1qEGpmKt+gfn8f6PuWITRSvmOnkJrjd6XDZdebmWhRYDx/R9jrngE/Zc3UfN+cOFJpd0jBRRCJABQUQr1dT7bB/hi1KBU65PlqRMwYozf7+9ruqoSveUvqCumYnz/xx6dE+ZwQFGQZUbFxEJ0X9kboA1614fW39HIS1FGGMbCxzCfewL94rOYjQ0YU68NdBMDI/cEOAtR13/bfUiNSUN9JQP97ib0xKtRQ4aff05Z8yrg0A8AoTEH4C4D7ccU0GbdvCSEfu/PUFtzXgnnUKSUgmTJBGqNe/jniinWAkes+S1jwWMwehz65VWY29uu1Nqd6X3WXIgal37ecXXT7dC3P+bLq9CNjeef07wXcDd4AgiJAOBOAfVHGeiWYh0QZeuWqaC6phr93p8g7aqL1vEJFSppCJz+UlIdW3AP/0y8+rzjqlcvjHt/DpdNRL+yFvO9vwSohYGj92fDkBEXZPSoKBvG934Ep3LQ7248/6Sy0N8MvllIBIDmRWA4Bvj91kopGJTaLUtC6PffhuoqjHMef0Na8mCoqYaSIBueCrBzh39aUhGRGHcvgbTJ6DdfwHx3UwBaGBi6vBRyDqMuv7LV76sJk1HpV6P/8ib63A2HSp1WnbA+oT8nGBoBoDDfWnXX2VIBXaQGpULuiYvvaBVidF0t+h9vwWUTUUNGBLo5XqGaJoKRzWHcWhv+aUlFRGD88AHrzW7Desy//L7V13U3+pOPrV3oxk9q8zXqu/8Jvfpg/va5s7//pU6ICf1VwBAiAcAqAx2A4Z9mKalQXw/5ZwLXBi/T2/4KleXd59M/WE8AgJaJYLe2hn9aUuHhqDt/ipo8E/3Wa5ibXu32Q2l6/0fWOP5FihCqfrGo79wJxz5Hv/+OdV5ZSbcY/4cQCQAU5fl8H+CLce8N0E3mAXR9Hfrvm6285+GjA90cr1HRfa1fTJkIdrvY8E9LKiwMddtPUNd8Df3OH9BvvIA2TT+00v90QwMc3IsaP6ndT/LqqhnWPMnG31kfRktDfy/gZkEfAHRDA5QUB/YJYOAgq1xxkCwI04V5mO/8b6e3q9T//AeUlXSvT//NkobI/sBNPBn+aUkZBuqWTNRXv4l+/230i8vRjd1wW9TDB6CuBjW+9fH/cymlMG7NBGVg/m61NQksTwB+UlxgrUT1YxnollREBAwcFBSpoLqxAXPdMmt/3fUrO/wJTTc0oP+20VrTMOoyH7UycFTyYDhzEl1RHuimBJynwz8tKcPAuOkO1I3z0dkfWKUjamt81MrA0Ps+siZyL/Vs0aCyx6Nu/AF8tg/qartNAGh3IVhRURFr1qyhtLQUpRQZGRnMnj2byspKVqxYQWFhIfHx8dx3333YbDa01qxfv549e/bQq1cvMjMzGTbMGmPbunUrGzdaKVXz5s1jxowZ7bewKIBrAM6hUlLRn+0LaBsA9Fuvw5fH4Yqp6OwPwB6PunG+5+f/33tQUoTxg3u7xSRWS2r4aPQ/3sL82fdh1GWoK6aiJlyF6h8X6Kb5XUeGf1pjXDcP09YP/bvVmMsfxljwKKqvH4sx+ojW2kr/HH15q6Ue2qKmfd36nTt8sFvUAQIPngDCwsK49dZbWbFiBUuXLuXdd9/l1KlTbN68mXHjxrFq1SrGjRvH5s2bAdizZw95eXmsWrWKu+66ixdffBGAyspKNmzYwFNPPcVTTz3Fhg0bqKysbLeBujkFNIBzAIC1IKzMGdBiY/rQJ+h3N6Ku+RrGjx5EzZiNfncj5hbP8rd1YyP6nQ1W6eUxaT5ubWCoiV/B+PkK1L/dCGUl6NfXYd5/G65lD2D+fVPHNv0IYZ0Z/mmN8ZUMK0009wvMXz2ILi7wYisD5PSXUFyAurzt7J/WKMPA+MG9MGIMalj3mDtrNwDExsa6P8H36dOH5ORknE4n2dnZTJ8+HYDp06eTnW2tqNu1axfTpk1DKcWoUaOoqqqipKSEvXv3Mn78eGw2GzabjfHjx7N37972W1iYb+280y+wEbd5IjhQC8J0dSXmb1ZAfCLqpjtQSlkpamlXod/8tbue+UWv8a9tUFyAMefb3fLTfzM1eDjG3FsIe3wNxuNrUHNvgYYG9P+ux/yvu3A9/hPMv7yJzv2i22a6dHb4pzUq7SqMhb+AslLMZQ+G/BxLcyVUNa5jAQBADUgi7MFlqEAUpvSBDs0BFBQUkJOTw4gRIygrKyM21npTjo2NpbzcGnN1Op04HA73OXFxcTidTpxOJ3FxZx/D7XY7Tqez3XvqojyIG9DlapFdlhLYkhD6tXVQ6sS486eo3n0Aa99i486fwdCRmC8uRx/7vO3zTRf6nf+1nmTGp7f5uu5GDRyEMecmwn6+AuOpF1D/cTv06o3+0xuYj91L4Q9m41r1OOZffo/+bF+32Vi+q8M/LalRYzEeeAq0xvzVYvTRz7xy3UDQ+z6CwcNRsT1vWLAlj4vB1dbWsnz5cubPn09UVNsr4Fr7RNXWp83WjmdlZZGVlQXAsmXLCC8pwkgeROw5QSUgHA4K4+KJLDxNTCfaEh4efl5g7Iiabe9S/tF2om/+T2yTpl7wffPRFTiX/BBzzVJif/k84U358Odd44O/U15wmpgHltI7Pr5T7WjWlb4ElMMBl14GN9+Jy1lE3cc7cB05SN1nn+B6a5dV9E8pwgcPI2LUWCIuuYyIUZcRljw48B9A2nHuz8SsqabwwC76XPvv9BvgxaFThwPXf79AyS/uw7XiEfo/sJReEy/899hVvvz3ZZaVUHj8ENE33YbND/+Gg/13xaMA0NjYyPLly7nmmmu46qqrAIiJiaGkpITY2FhKSkro18+aHIqLi6PonEqRxcXFxMbGYrfb+fTTT93HnU4nY8ZcWF0zIyODjIyMs/fOy0UNHXXeNQPFTBpC7dHPaehEWxwOR6f6oIsLMJ9/GoaPpmbabGrbuIb+8cPoXz5A8S8WYiz+FeqcmvjaNDHf/A0kDaZi+Fgqu/h32dm+BJ0JU3F89RvUFRVhVFfC8cPo44dozDlE44fvUfOPP1mvi+6L8f17UFd4/83OW879mZjZH0B9PXVjJ3r/5xQWif7ZUvifX1D61AOo+T/BmDLTq7fw5b8vc8cW0JqaEWPb/F3ypkD9riQlJXn0unY/1mitWbduHcnJyVx//fXu4+np6Wzbtg2Abdu2MWnSJPfx7du3o7Xm8OHDREVFERsbS1paGvv27aOyspLKykr27dtHWpoHE5E11X7dB/hi1KBUyDtlbSHnB9p0Yb70LGiNccciVFjbk3lqQJJV2KvMaZX5ras9+809O616/7P/I+g/yQaKirKhLrsC4xvfJewnj2GseA3j8bWo+QvAkYD564sPsQUTbw//tKT69cf42VIYdRn6Nyswt77jk/v4gt7/kVXEbfDw9l/cA7T7bnDo0CG2b9/OgQMHuP/++7n//vvZvXs3c+fOZf/+/SxYsID9+/czd+5cACZMmMCAAQNYsGABzz//PHfeeScANpuNG264gSVLlrBkyRJuvPFGbDabR40M5Crg86SkgssFp0+2/1ov0O9ugiOfor57l0dpsGrYJRj/eT98cQzzhafRLhdaa8y3fw8JyahJXZ8Q7CmUYaAGplhZMD95DOwOzNVPoguCuxyIt7J/2qP6RGEseBQuvxL92jrMD7N8di9v0Y0NcHAPany6fBBq0u4Q0OjRo/nDH/7Q6vceeeSRC44ppdxv+i3NmjWLWbNmdbCJBHQR2LmaN4fRp3Iu3CTCy/QXR9FvvYaa+BXUFM//zlTaVaib70K/tg79+jqr0NXJHGuJvw/fELoz1bcfxoJHMX95P+Zzj1tDbNF9A92sVnkz+6c9zUXkzNVL0b99DjM8AuOq6T6/b6cdPmjtfXGR4m89TWiEwSAJAAxItPYO9XFpaF1Xh/nicujbH3VrZodTNo0Zs1H/dgN6+7uYL60ARwLqyiD+xQwBKiEJ456HoCgfc+1TnS7D4Wu+Hv5pSUVEYmT+F4wcg/7NCo/SkQNF78+2Usov7Z5rYDoj+ANA35ig2YtXGWGQMtTnewPoDb+BvFyM2xd2+pOmmnsr6qrpUFOF+rcbUeGhsftnMFMjx6Dm/wQOH0T/bnXQrSHw1/BPS+6NZYaMsIYeD3zst3t7ytr79yOrAGIvz1f/dnfBHwCC5dN/E5WSCidzfPbLr/dlo7f+FfW1uahLL+/0dZRhoOYvwLjvcWuzd+EVxlXTUd/8Hnrn++g/vxHo5pzHn8M/LaneURgLH4PkwZhrf4n+fL/f23BRZ05CUb4M/7QQ9AEg0DWALjAoFWqqwFno9Uvr8hLM366ClKGoubd2+XoqPMLa4FomvLxKzbkJNfVa9J/ftNIKg4S/h39aUlE2jIWPW1lTq59EH/20/ZP8xL33rwSA8wT/O0OwPQE0l4TwwTCQ+frzUFNtrfaNiPD69YV3KKVQt2bC6PHWUNChTwLdJMya6oAM/7Sk+vbDWPQExNgxVz2OPnEkYG05l96fDYNSUfbgXZQVCBIAOip5CCjl9XkA/cku+HgH6vpvo5KHePXawvtUeATG3YthwEBrUvjMqYC2p/7jHQEb/mlJ9bdj/PQJiLJhrng04Bsp6cpyOPZ5m3v/9mRBHwCCbQhI9e4D8QO9+o9a19VhvrYOBg5CXfctr11X+JaKsmEseATCwjFX/QJdURawttTu2BLQ4Z+WlD0e46dPQmQk5rOPtBkgdX0dOv80+rN9mDu2YL79B6rf+SP6ZI7X9uC29v41Pdr8pacJ/tSQIAsAAAwaatXk9xL99u+tKp0/ewoVLkM/oUQ5EjDu/TnmM/+FufpJjJ8+2aEa896ga2uo+3gH6isZQbXWQ8UnYix6EvPpJZjPPoyaMRtKneiSImsOraQYKi/cuKei+Ys+0TB8NGrEpaiRYyB1FCoisuMN2Z9tBUcfr90JRcEfAIJwIw81aBj64x3ommpUn66lqOrcL9F/34SaMgt1SffboasnUKmjMO74qbVT2+9Wwx2L/FpuWzfV/gmG4Z+W1MAUjEVPYD77c/TmVyEqGmId1kZGqaOavnagYh3W17EO7BEGxR/9E458ij7yKfrAx1ahvvBwGDICNWIMauRYKyGjb8xF58t0YwP64G5rQaUkQ1wg6APAxerfBIpKsVYEc+oEjLywoJ2ntGlivroWekeh/uM2bzVPBIC6YgrqG9+1dmwbORY1/es+v6dubET/+Q30XzcQPnQEZpAM/7SkUoZi/PdL4HK5S5lfTJjDgTF5Jky2iszpynI4+hn66Kfoo5+hs/6Efnfj2RN69QFbX+gbA7Z+KFs/sPWzjtXVQE21ZP+0IegDQFBqygTSp3KsR9NO0jveg6Ofor7/Y1TfGG+1TgSImn2T9Qb15gvooSNQQ0b47F664Iy1WjznMOorGcTesxhnVfDuZaAiIqGTo5vK1g/SrkKlWZWIdX0d5BxB552yhpCa/tOV5VBRhj5zEiorrDd/gD5R0IU1Nd2ZBIDOiI2D6L5dSgXVFeXoDS/DiEtRX8lo9/Ui+CnDsIaCnlyIue6/MR5egYr2rOChp7TW6J1brQ2CwgyMHz6ASr8ao08UBHEA8CYV2QsuuazdIVPdUA8V5RAR4dGTR08kg2KdoJSCQaldSgXVf1wPtdUYt2TK2GQ3ovr2w7jrASgpxly/0qsrxnV1FfrFZ9G/WQGDUzEeWYVKD75x/2ChIiJRdoc8XV+EvPN0kkpJhdwv0K6Op6rpwwfQH76H+upcyfnvhtTw0daczr6P0H/f5JVr6qOfYT7+E/SuD1Df/B7Gz5ai4rq2s5sQMgTUWYOGQkM9FJyGgYM8Pk03NmC++v+sfY6v/47v2icCSs263spi2fg7dOoo1KjOZXhpl7WXs/7Lm2CPx3hgGWr4aC+3VvRU8gTQSWrQMIAODwPpdzfBmZMYN/9QqhJ2Y0op1A/uBUci5gvPoMtLOnwNXZiH+cxD6D+9jpp0DcYj/yNv/sKrJAB01sAUCAuHA7utrAQP6MI89Nt/gCumSFpaD6D6RGHc/SBUV1pbSnq4slVXlmP+4SXMRzLhVA7qjvus+lBdXHMiREsyBNRJKjwCxqWj/28Leu9O1BVTUVNmWjngrUzqaq0xX18HRhjGt/8zAC0WgaBSUlHfuxv98v+g//QGau4tbb5W19Wh3/sT+m9/hNpa1NSZqG/cjLLLWL/wDQkAXWDc/SAcOoD+v/fRuz5Ef5hlrXC8ajpqykzUOXMDdTvehwO7Ud++QyoS9jDGV67FPHIQ/fYf0MMvRY2beN73tcuF/jDL2l+g1AmXX4nxrVslQUD4nASALlBGGFx6OerSy9Hfuxu9d6eVo/3uRvRfN1jL1ifPQI1Pp+KllVY52pnXB7rZIgDUzT9Ef3EU86VnMX6+EhUXb6WI7tmJuel3kJcLw0dj/Of9qFFjA91c0UMoHWz72rVw+vTpQDehw3R5Cfqj7ej/2wpfHrMOKoWx5Gmr/kmIczgcFBUVBboZXuHPvuj805hP3gcDB2F861bMza/C8UOQmIIx7/vWatdO1hCSn0lwClRfkpKSPHqdPAH4gOoXi8r4JmR8E336S/S/tmFLGUx1N3jzF52nEpIw5v8Ec90yzGd/Dv3tVhmQqdcGZc0r0f1JAPAxlTQY9a1biXI4qO4mn2pE56mJU1E3/wjq61AzZksqsAgoCQBC+Jkxc3agmyAEIOsAhBCix5IAIIQQPZQEACGE6KEkAAghRA8lAUAIIXooCQBCCNFDSQAQQogeSgKAEEL0UEFfC0gIIYRvBPUTwOLFiwPdBK+RvgSn7tKX7tIPkL74U1AHACGEEL4jAUAIIXqosMcee+yxQDfiYoYNGxboJniN9CU4dZe+dJd+gPTFX2QSWAgheigZAhJCiB7K7/sBrF27lt27dxMTE8Py5csBOHHiBL/+9a+pra0lPj6eBQsWEBUVRWNjI+vWrSMnJwfTNJk2bRrf+ta3ANi7dy/r16/HNE2uvfZa5s6dG5L9uOeee+jduzeGYRAWFsayZcv82o/O9OWFF17g2LFjGIbB/PnzGTvW2sP2+PHjrFmzhvr6eiZMmMBtt93W6S0OA92Xxx57jJKSEiIjIwF4+OGHiYmJ8Vs/ioqKWLNmDaWlpSilyMjIYPbs2VRWVrJixQoKCwuJj4/nvvvuw2azobVm/fr17Nmzh169epGZmekeeti6dSsbN24EYN68ecyYMcNv/fB2X7797W8zePBgwNpu8cEHHwzqvuTm5rJ27VpycnL4zne+wze+8Q33tQL9HgaA9rODBw/qY8eO6UWLFrmPLV68WB88eFBrrfV7772n33jjDa211h988IFesWKF1lrr2tpanZmZqfPz87XL5dI//vGPdV5enm5oaNA/+9nP9MmTJ0OuH1prnZmZqcvKyvza9pY60pe//vWves2aNVprrUtLS/UDDzygXS6X+5xDhw5p0zT10qVL9e7du/3cE+/15dFHH9VHjx71c+vPcjqd+tixY1prraurq/WCBQv0yZMn9SuvvKI3bdqktdZ606ZN+pVXXtFaa/3xxx/rpUuXatM09aFDh/SSJUu01lpXVFToe+65R1dUVJz3dSj2RWutb7nlFr+2vaWO9qW0tFQfOXJEv/766/qtt95yXycY3sO01trvQ0BjxozBZrOdd+z06dNceumlAIwfP55//etf7u/V1tbicrmor68nPDycqKgojh49SmJiIgkJCYSHhzN16lSys7NDrh/BoiN9OXXqFJdddhkAMTExREdHc/z4cUpKSqipqWHUqFEopZg2bZrffybgnb4Eg9jYWPen3j59+pCcnIzT6SQ7O5vp06cDMH36dPff8a5du5g2bRpKKUaNGkVVVRUlJSXs3buX8ePHY7PZsNlsjB8/nr1794ZkX4JBR/sSExPDiBEjCGux53MwvIdBkMwBDBo0iF27dgGwc+dOiouLAZg8eTK9e/fmrrvuIjMzk3//93/HZrPhdDqJi4tznx8XF4fT6QxI28/V0X40W7p0KQ8++CBZWVkBaXdr2urL0KFD2bVrFy6Xi4KCAo4fP05RUVHQ/kyg431ptnbtWu6//342bNiADmCuREFBATk5OYwYMYKysjJiY2MB682ovLwcAKfTicPhcJ/T/Pff8udit9sD+nPpSl8AGhoaWLx4MQ899BAfffSR/ztwDk/60pZg+X0Jij2B7777btavX8+GDRtIT08nPNxq1tGjRzEMg+eff56qqioeeeQRxo0b1+ovo7/HmlvT0X4kJCTwxBNPYLfbKSsr48knnyQpKYkxY8YEuCdt92XmzJmcOnWKxYsXEx8fzyWXXEJYWFhA3yDb09G+ACxYsAC73U5NTQ3Lly9n+/bt7k94/lRbW8vy5cuZP3/+RZ8aO/I7EajfFW/0Ze3atdjtdvLz83n88ccZPHgwiYmJPmtzWzztS1uC5T0sKAJAcnIyDz/8MGA9ru/evRuAf/7zn6SlpREeHk5MTAyXXHIJx44dw+FwuD/FARQXF7ujbyB1tB8JCQnY7XbAelScNGkSR48eDYoA0FZfwsLCmD9/vvt1Dz/8MAMHDiQ6OvqCn0lz3wKto30B3G3v06cPV199NUePHvV7AGhsbGT58uVcc801XHXVVYD176SkpITY2FhKSkro168fYH2CPPfppfl3wm638+mnn7qPO53OgPz78kZf4OzPJSEhgTFjxnDixAm/B4CO9KUtcXFxQfEeFhRDQGVlZQCYpsnGjRv56le/Cliz/AcOHEBrTW1tLUeOHCE5OZnhw4dz5swZCgoKaGxsZMeOHaSnpweyC0DH+1FbW0tNTQ1gfaLYv3+/O8Mh0NrqS11dHbW1tQDs37+fsLAwUlJSiI2NpU+fPhw+fBitNdu3bw+Knwl0vC8ul8v9CN/Y2MjHH3/MoEGD/NpmrTXr1q0jOTmZ66+/3n08PT2dbdu2AbBt2zYmTZrkPr59+3a01hw+fJioqChiY2NJS0tj3759VFZWUllZyb59+0hLSwvJvlRWVtLQ0ABAeXk5hw4dIiUlJaj70pZgeQ/z+0KwlStX8umnn1JRUUFMTAw33XQTtbW1vPvuuwBceeWV3HzzzSilqK2tZe3atZw6dQqtNTNnznSnUe3evZvf/va3mKbJzJkzmTdvnj+74ZV+5Ofn88wzzwDgcrm4+uqr/d6PjvaloKCApUuXYhgGdrudH/3oR8THxwNw7Ngx1q5dS319PWlpadx+++1+f6z1Rl9qa2t59NFHcblcmKbJuHHj+MEPfoBh+O/z0ueff84jjzzC4MGD3X+H3/3udxk5ciQrVqygqKgIh8PBokWL3KmTL730Evv27SMyMpLMzEyGDx8OwJYtW9i0aRNgpYHOnDnTb/3wZl8OHTrECy+8gGEYmKbJnDlzmDVrVlD3pbS0lMWLF1NTU4NSit69e/Pss88SFRUV8PcwkJXAQgjRYwXFEJAQQgj/kwAghBA9lAQAIYTooSQACCFEDyUBQAgheigJAEII0UNJABBCiB5KAoAQQvRQ/x8a89qFME3DHAAAAABJRU5ErkJggg==\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": 36, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\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": 37, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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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": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"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": 40, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 40, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"### type your answer here\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": [ | |
"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": 41, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7f49b05a3cc0>" | |
] | |
}, | |
"execution_count": 41, | |
"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": [ | |
"### type your answer here\n", | |
"\n", | |
"df_CI.plot(kind='line')" | |
] | |
}, | |
{ | |
"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": 42, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"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": 42, | |
"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": 43, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7f49b035d630>" | |
] | |
}, | |
"execution_count": 43, | |
"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": [ | |
"### type your answer here\n", | |
"df_CI.plot()\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": 48, | |
"metadata": { | |
"button": false, | |
"collapsed": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.axes._subplots.AxesSubplot at 0x7f49b034e9b0>" | |
] | |
}, | |
"execution_count": 48, | |
"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": [ | |
"### 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", | |
"df_top5.plot()\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 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.8" | |
}, | |
"widgets": { | |
"state": {}, | |
"version": "1.1.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment