Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save mahyahemmat/9db1303417b6d50d86f1e0e59f945ed2 to your computer and use it in GitHub Desktop.
Save mahyahemmat/9db1303417b6d50d86f1e0e59f945ed2 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
{
"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": 3,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Solving environment: done\n",
"\n",
"\n",
"==> WARNING: A newer version of conda exists. <==\n",
" current version: 4.5.11\n",
" latest version: 4.8.2\n",
"\n",
"Please update conda by running\n",
"\n",
" $ conda update -n base -c defaults conda\n",
"\n",
"\n",
"\n",
"## Package Plan ##\n",
"\n",
" environment location: /home/jupyterlab/conda/envs/python\n",
"\n",
" added / updated specs: \n",
" - xlrd\n",
"\n",
"\n",
"The following packages will be downloaded:\n",
"\n",
" package | build\n",
" ---------------------------|-----------------\n",
" numpy-base-1.15.4 | py36h81de0dd_0 4.2 MB anaconda\n",
" numpy-1.15.4 | py36h1d66e8a_0 35 KB anaconda\n",
" openssl-1.1.1 | h7b6447c_0 5.0 MB anaconda\n",
" mkl_fft-1.0.6 | py36h7dd41cf_0 150 KB anaconda\n",
" certifi-2019.11.28 | py36_0 156 KB anaconda\n",
" blas-1.0 | mkl 6 KB anaconda\n",
" scipy-1.1.0 | py36hfa4b5c9_1 18.0 MB anaconda\n",
" xlrd-1.2.0 | py_0 108 KB anaconda\n",
" mkl_random-1.0.1 | py36h4414c95_1 373 KB anaconda\n",
" scikit-learn-0.20.1 | py36h4989274_0 5.7 MB anaconda\n",
" ------------------------------------------------------------\n",
" Total: 33.7 MB\n",
"\n",
"The following packages will be UPDATED:\n",
"\n",
" certifi: 2019.9.11-py36_0 conda-forge --> 2019.11.28-py36_0 anaconda\n",
" mkl_fft: 1.0.4-py37h4414c95_1 --> 1.0.6-py36h7dd41cf_0 anaconda\n",
" mkl_random: 1.0.1-py37h4414c95_1 --> 1.0.1-py36h4414c95_1 anaconda\n",
" numpy-base: 1.15.1-py37h81de0dd_0 --> 1.15.4-py36h81de0dd_0 anaconda\n",
" openssl: 1.1.1d-h516909a_0 conda-forge --> 1.1.1-h7b6447c_0 anaconda\n",
" xlrd: 1.1.0-py37_1 --> 1.2.0-py_0 anaconda\n",
"\n",
"The following packages will be DOWNGRADED:\n",
"\n",
" blas: 1.1-openblas conda-forge --> 1.0-mkl anaconda\n",
" numpy: 1.16.2-py36_blas_openblash1522bff_0 conda-forge [blas_openblas] --> 1.15.4-py36h1d66e8a_0 anaconda\n",
" scikit-learn: 0.20.1-py36_blas_openblashebff5e3_1200 conda-forge [blas_openblas] --> 0.20.1-py36h4989274_0 anaconda\n",
" scipy: 1.2.1-py36_blas_openblash1522bff_0 conda-forge [blas_openblas] --> 1.1.0-py36hfa4b5c9_1 anaconda\n",
"\n",
"\n",
"Downloading and Extracting Packages\n",
"numpy-base-1.15.4 | 4.2 MB | ##################################### | 100% \n",
"numpy-1.15.4 | 35 KB | ##################################### | 100% \n",
"openssl-1.1.1 | 5.0 MB | ##################################### | 100% \n",
"mkl_fft-1.0.6 | 150 KB | ##################################### | 100% \n",
"certifi-2019.11.28 | 156 KB | ##################################### | 100% \n",
"blas-1.0 | 6 KB | ##################################### | 100% \n",
"scipy-1.1.0 | 18.0 MB | ##################################### | 100% \n",
"xlrd-1.2.0 | 108 KB | ##################################### | 100% \n",
"mkl_random-1.0.1 | 373 KB | ##################################### | 100% \n",
"scikit-learn-0.20.1 | 5.7 MB | ##################################### | 100% \n",
"Preparing transaction: done\n",
"Verifying transaction: done\n",
"Executing transaction: done\n"
]
}
],
"source": [
"import numpy as np # useful for many scientific computing in Python\n",
"import pandas as pd # primary data structure library\n",
"!conda install -c anaconda xlrd --yes"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"jupyter": {
"source_hidden": 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": 4,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data read into a pandas dataframe!\n"
]
}
],
"source": [
"df_can = pd.read_excel('https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx',\n",
" sheet_name='Canada by Citizenship',\n",
" skiprows=range(20),\n",
" skipfooter=2)\n",
"\n",
"print ('Data read into a pandas dataframe!')"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Let's view the top 5 rows of the dataset using the `head()` function."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Type</th>\n",
" <th>Coverage</th>\n",
" <th>OdName</th>\n",
" <th>AREA</th>\n",
" <th>AreaName</th>\n",
" <th>REG</th>\n",
" <th>RegName</th>\n",
" <th>DEV</th>\n",
" <th>DevName</th>\n",
" <th>1980</th>\n",
" <th>...</th>\n",
" <th>2004</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Afghanistan</td>\n",
" <td>935</td>\n",
" <td>Asia</td>\n",
" <td>5501</td>\n",
" <td>Southern Asia</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>16</td>\n",
" <td>...</td>\n",
" <td>2978</td>\n",
" <td>3436</td>\n",
" <td>3009</td>\n",
" <td>2652</td>\n",
" <td>2111</td>\n",
" <td>1746</td>\n",
" <td>1758</td>\n",
" <td>2203</td>\n",
" <td>2635</td>\n",
" <td>2004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Albania</td>\n",
" <td>908</td>\n",
" <td>Europe</td>\n",
" <td>925</td>\n",
" <td>Southern Europe</td>\n",
" <td>901</td>\n",
" <td>Developed regions</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>1450</td>\n",
" <td>1223</td>\n",
" <td>856</td>\n",
" <td>702</td>\n",
" <td>560</td>\n",
" <td>716</td>\n",
" <td>561</td>\n",
" <td>539</td>\n",
" <td>620</td>\n",
" <td>603</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Algeria</td>\n",
" <td>903</td>\n",
" <td>Africa</td>\n",
" <td>912</td>\n",
" <td>Northern Africa</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>80</td>\n",
" <td>...</td>\n",
" <td>3616</td>\n",
" <td>3626</td>\n",
" <td>4807</td>\n",
" <td>3623</td>\n",
" <td>4005</td>\n",
" <td>5393</td>\n",
" <td>4752</td>\n",
" <td>4325</td>\n",
" <td>3774</td>\n",
" <td>4331</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>American Samoa</td>\n",
" <td>909</td>\n",
" <td>Oceania</td>\n",
" <td>957</td>\n",
" <td>Polynesia</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Andorra</td>\n",
" <td>908</td>\n",
" <td>Europe</td>\n",
" <td>925</td>\n",
" <td>Southern Europe</td>\n",
" <td>901</td>\n",
" <td>Developed regions</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 43 columns</p>\n",
"</div>"
],
"text/plain": [
" Type Coverage OdName AREA AreaName REG \\\n",
"0 Immigrants Foreigners Afghanistan 935 Asia 5501 \n",
"1 Immigrants Foreigners Albania 908 Europe 925 \n",
"2 Immigrants Foreigners Algeria 903 Africa 912 \n",
"3 Immigrants Foreigners American Samoa 909 Oceania 957 \n",
"4 Immigrants Foreigners Andorra 908 Europe 925 \n",
"\n",
" RegName DEV DevName 1980 ... 2004 2005 2006 \\\n",
"0 Southern Asia 902 Developing regions 16 ... 2978 3436 3009 \n",
"1 Southern Europe 901 Developed regions 1 ... 1450 1223 856 \n",
"2 Northern Africa 902 Developing regions 80 ... 3616 3626 4807 \n",
"3 Polynesia 902 Developing regions 0 ... 0 0 1 \n",
"4 Southern Europe 901 Developed regions 0 ... 0 0 1 \n",
"\n",
" 2007 2008 2009 2010 2011 2012 2013 \n",
"0 2652 2111 1746 1758 2203 2635 2004 \n",
"1 702 560 716 561 539 620 603 \n",
"2 3623 4005 5393 4752 4325 3774 4331 \n",
"3 0 0 0 0 0 0 0 \n",
"4 1 0 0 0 0 1 1 \n",
"\n",
"[5 rows x 43 columns]"
]
},
"execution_count": 5,
"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": 6,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Type</th>\n",
" <th>Coverage</th>\n",
" <th>OdName</th>\n",
" <th>AREA</th>\n",
" <th>AreaName</th>\n",
" <th>REG</th>\n",
" <th>RegName</th>\n",
" <th>DEV</th>\n",
" <th>DevName</th>\n",
" <th>1980</th>\n",
" <th>...</th>\n",
" <th>2004</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>190</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Viet Nam</td>\n",
" <td>935</td>\n",
" <td>Asia</td>\n",
" <td>920</td>\n",
" <td>South-Eastern Asia</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>1191</td>\n",
" <td>...</td>\n",
" <td>1816</td>\n",
" <td>1852</td>\n",
" <td>3153</td>\n",
" <td>2574</td>\n",
" <td>1784</td>\n",
" <td>2171</td>\n",
" <td>1942</td>\n",
" <td>1723</td>\n",
" <td>1731</td>\n",
" <td>2112</td>\n",
" </tr>\n",
" <tr>\n",
" <th>191</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Western Sahara</td>\n",
" <td>903</td>\n",
" <td>Africa</td>\n",
" <td>912</td>\n",
" <td>Northern Africa</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>192</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Yemen</td>\n",
" <td>935</td>\n",
" <td>Asia</td>\n",
" <td>922</td>\n",
" <td>Western Asia</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>124</td>\n",
" <td>161</td>\n",
" <td>140</td>\n",
" <td>122</td>\n",
" <td>133</td>\n",
" <td>128</td>\n",
" <td>211</td>\n",
" <td>160</td>\n",
" <td>174</td>\n",
" <td>217</td>\n",
" </tr>\n",
" <tr>\n",
" <th>193</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Zambia</td>\n",
" <td>903</td>\n",
" <td>Africa</td>\n",
" <td>910</td>\n",
" <td>Eastern Africa</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>11</td>\n",
" <td>...</td>\n",
" <td>56</td>\n",
" <td>91</td>\n",
" <td>77</td>\n",
" <td>71</td>\n",
" <td>64</td>\n",
" <td>60</td>\n",
" <td>102</td>\n",
" <td>69</td>\n",
" <td>46</td>\n",
" <td>59</td>\n",
" </tr>\n",
" <tr>\n",
" <th>194</th>\n",
" <td>Immigrants</td>\n",
" <td>Foreigners</td>\n",
" <td>Zimbabwe</td>\n",
" <td>903</td>\n",
" <td>Africa</td>\n",
" <td>910</td>\n",
" <td>Eastern Africa</td>\n",
" <td>902</td>\n",
" <td>Developing regions</td>\n",
" <td>72</td>\n",
" <td>...</td>\n",
" <td>1450</td>\n",
" <td>615</td>\n",
" <td>454</td>\n",
" <td>663</td>\n",
" <td>611</td>\n",
" <td>508</td>\n",
" <td>494</td>\n",
" <td>434</td>\n",
" <td>437</td>\n",
" <td>407</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 43 columns</p>\n",
"</div>"
],
"text/plain": [
" Type Coverage OdName AREA AreaName REG \\\n",
"190 Immigrants Foreigners Viet Nam 935 Asia 920 \n",
"191 Immigrants Foreigners Western Sahara 903 Africa 912 \n",
"192 Immigrants Foreigners Yemen 935 Asia 922 \n",
"193 Immigrants Foreigners Zambia 903 Africa 910 \n",
"194 Immigrants Foreigners Zimbabwe 903 Africa 910 \n",
"\n",
" RegName DEV DevName 1980 ... 2004 2005 2006 \\\n",
"190 South-Eastern Asia 902 Developing regions 1191 ... 1816 1852 3153 \n",
"191 Northern Africa 902 Developing regions 0 ... 0 0 1 \n",
"192 Western Asia 902 Developing regions 1 ... 124 161 140 \n",
"193 Eastern Africa 902 Developing regions 11 ... 56 91 77 \n",
"194 Eastern Africa 902 Developing regions 72 ... 1450 615 454 \n",
"\n",
" 2007 2008 2009 2010 2011 2012 2013 \n",
"190 2574 1784 2171 1942 1723 1731 2112 \n",
"191 0 0 0 0 0 0 0 \n",
"192 122 133 128 211 160 174 217 \n",
"193 71 64 60 102 69 46 59 \n",
"194 663 611 508 494 434 437 407 \n",
"\n",
"[5 rows x 43 columns]"
]
},
"execution_count": 6,
"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": 7,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 195 entries, 0 to 194\n",
"Data columns (total 43 columns):\n",
"Type 195 non-null object\n",
"Coverage 195 non-null object\n",
"OdName 195 non-null object\n",
"AREA 195 non-null int64\n",
"AreaName 195 non-null object\n",
"REG 195 non-null int64\n",
"RegName 195 non-null object\n",
"DEV 195 non-null int64\n",
"DevName 195 non-null object\n",
"1980 195 non-null int64\n",
"1981 195 non-null int64\n",
"1982 195 non-null int64\n",
"1983 195 non-null int64\n",
"1984 195 non-null int64\n",
"1985 195 non-null int64\n",
"1986 195 non-null int64\n",
"1987 195 non-null int64\n",
"1988 195 non-null int64\n",
"1989 195 non-null int64\n",
"1990 195 non-null int64\n",
"1991 195 non-null int64\n",
"1992 195 non-null int64\n",
"1993 195 non-null int64\n",
"1994 195 non-null int64\n",
"1995 195 non-null int64\n",
"1996 195 non-null int64\n",
"1997 195 non-null int64\n",
"1998 195 non-null int64\n",
"1999 195 non-null int64\n",
"2000 195 non-null int64\n",
"2001 195 non-null int64\n",
"2002 195 non-null int64\n",
"2003 195 non-null int64\n",
"2004 195 non-null int64\n",
"2005 195 non-null int64\n",
"2006 195 non-null int64\n",
"2007 195 non-null int64\n",
"2008 195 non-null int64\n",
"2009 195 non-null int64\n",
"2010 195 non-null int64\n",
"2011 195 non-null int64\n",
"2012 195 non-null int64\n",
"2013 195 non-null int64\n",
"dtypes: int64(37), object(6)\n",
"memory usage: 65.6+ KB\n"
]
}
],
"source": [
"df_can.info()"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"To get the list of column headers we can call upon the dataframe's `.columns` parameter."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array(['Type', 'Coverage', 'OdName', 'AREA', 'AreaName', 'REG', 'RegName',\n",
" 'DEV', 'DevName', 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987,\n",
" 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,\n",
" 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,\n",
" 2010, 2011, 2012, 2013], dtype=object)"
]
},
"execution_count": 8,
"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": 11,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,\n",
" 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,\n",
" 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,\n",
" 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,\n",
" 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,\n",
" 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,\n",
" 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,\n",
" 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,\n",
" 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,\n",
" 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,\n",
" 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,\n",
" 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,\n",
" 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,\n",
" 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,\n",
" 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194])"
]
},
"execution_count": 11,
"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": 12,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.indexes.base.Index'>\n",
"<class 'pandas.core.indexes.range.RangeIndex'>\n"
]
}
],
"source": [
"print(type(df_can.columns))\n",
"print(type(df_can.index))"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"To get the index and columns as lists, we can use the `tolist()` method."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'list'>\n",
"<class 'list'>\n"
]
}
],
"source": [
"df_can.columns.tolist()\n",
"df_can.index.tolist()\n",
"\n",
"print (type(df_can.columns.tolist()))\n",
"print (type(df_can.index.tolist()))"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"To view the dimensions of the dataframe, we use the `.shape` parameter."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"(195, 43)"
]
},
"execution_count": 14,
"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": 15,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>OdName</th>\n",
" <th>AreaName</th>\n",
" <th>RegName</th>\n",
" <th>DevName</th>\n",
" <th>1980</th>\n",
" <th>1981</th>\n",
" <th>1982</th>\n",
" <th>1983</th>\n",
" <th>1984</th>\n",
" <th>1985</th>\n",
" <th>...</th>\n",
" <th>2004</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Afghanistan</td>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>16</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>47</td>\n",
" <td>71</td>\n",
" <td>340</td>\n",
" <td>...</td>\n",
" <td>2978</td>\n",
" <td>3436</td>\n",
" <td>3009</td>\n",
" <td>2652</td>\n",
" <td>2111</td>\n",
" <td>1746</td>\n",
" <td>1758</td>\n",
" <td>2203</td>\n",
" <td>2635</td>\n",
" <td>2004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Albania</td>\n",
" <td>Europe</td>\n",
" <td>Southern Europe</td>\n",
" <td>Developed regions</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1450</td>\n",
" <td>1223</td>\n",
" <td>856</td>\n",
" <td>702</td>\n",
" <td>560</td>\n",
" <td>716</td>\n",
" <td>561</td>\n",
" <td>539</td>\n",
" <td>620</td>\n",
" <td>603</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2 rows × 38 columns</p>\n",
"</div>"
],
"text/plain": [
" OdName AreaName RegName DevName 1980 1981 \\\n",
"0 Afghanistan Asia Southern Asia Developing regions 16 39 \n",
"1 Albania Europe Southern Europe Developed regions 1 0 \n",
"\n",
" 1982 1983 1984 1985 ... 2004 2005 2006 2007 2008 2009 2010 \\\n",
"0 39 47 71 340 ... 2978 3436 3009 2652 2111 1746 1758 \n",
"1 0 0 0 0 ... 1450 1223 856 702 560 716 561 \n",
"\n",
" 2011 2012 2013 \n",
"0 2203 2635 2004 \n",
"1 539 620 603 \n",
"\n",
"[2 rows x 38 columns]"
]
},
"execution_count": 15,
"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": 16,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Index([ 'Country', 'Continent', 'Region', 'DevName', 1980,\n",
" 1981, 1982, 1983, 1984, 1985,\n",
" 1986, 1987, 1988, 1989, 1990,\n",
" 1991, 1992, 1993, 1994, 1995,\n",
" 1996, 1997, 1998, 1999, 2000,\n",
" 2001, 2002, 2003, 2004, 2005,\n",
" 2006, 2007, 2008, 2009, 2010,\n",
" 2011, 2012, 2013],\n",
" dtype='object')"
]
},
"execution_count": 16,
"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": 17,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"df_can['Total'] = df_can.sum(axis=1)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"We can check to see how many null objects we have in the dataset as follows:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Country 0\n",
"Continent 0\n",
"Region 0\n",
"DevName 0\n",
"1980 0\n",
"1981 0\n",
"1982 0\n",
"1983 0\n",
"1984 0\n",
"1985 0\n",
"1986 0\n",
"1987 0\n",
"1988 0\n",
"1989 0\n",
"1990 0\n",
"1991 0\n",
"1992 0\n",
"1993 0\n",
"1994 0\n",
"1995 0\n",
"1996 0\n",
"1997 0\n",
"1998 0\n",
"1999 0\n",
"2000 0\n",
"2001 0\n",
"2002 0\n",
"2003 0\n",
"2004 0\n",
"2005 0\n",
"2006 0\n",
"2007 0\n",
"2008 0\n",
"2009 0\n",
"2010 0\n",
"2011 0\n",
"2012 0\n",
"2013 0\n",
"Total 0\n",
"dtype: int64"
]
},
"execution_count": 18,
"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": 19,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>1980</th>\n",
" <th>1981</th>\n",
" <th>1982</th>\n",
" <th>1983</th>\n",
" <th>1984</th>\n",
" <th>1985</th>\n",
" <th>1986</th>\n",
" <th>1987</th>\n",
" <th>1988</th>\n",
" <th>1989</th>\n",
" <th>...</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>Total</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>...</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" <td>195.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>508.394872</td>\n",
" <td>566.989744</td>\n",
" <td>534.723077</td>\n",
" <td>387.435897</td>\n",
" <td>376.497436</td>\n",
" <td>358.861538</td>\n",
" <td>441.271795</td>\n",
" <td>691.133333</td>\n",
" <td>714.389744</td>\n",
" <td>843.241026</td>\n",
" <td>...</td>\n",
" <td>1320.292308</td>\n",
" <td>1266.958974</td>\n",
" <td>1191.820513</td>\n",
" <td>1246.394872</td>\n",
" <td>1275.733333</td>\n",
" <td>1420.287179</td>\n",
" <td>1262.533333</td>\n",
" <td>1313.958974</td>\n",
" <td>1320.702564</td>\n",
" <td>32867.451282</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>1949.588546</td>\n",
" <td>2152.643752</td>\n",
" <td>1866.997511</td>\n",
" <td>1204.333597</td>\n",
" <td>1198.246371</td>\n",
" <td>1079.309600</td>\n",
" <td>1225.576630</td>\n",
" <td>2109.205607</td>\n",
" <td>2443.606788</td>\n",
" <td>2555.048874</td>\n",
" <td>...</td>\n",
" <td>4425.957828</td>\n",
" <td>3926.717747</td>\n",
" <td>3443.542409</td>\n",
" <td>3694.573544</td>\n",
" <td>3829.630424</td>\n",
" <td>4462.946328</td>\n",
" <td>4030.084313</td>\n",
" <td>4247.555161</td>\n",
" <td>4237.951988</td>\n",
" <td>91785.498686</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.500000</td>\n",
" <td>0.500000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>...</td>\n",
" <td>28.500000</td>\n",
" <td>25.000000</td>\n",
" <td>31.000000</td>\n",
" <td>31.000000</td>\n",
" <td>36.000000</td>\n",
" <td>40.500000</td>\n",
" <td>37.500000</td>\n",
" <td>42.500000</td>\n",
" <td>45.000000</td>\n",
" <td>952.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>13.000000</td>\n",
" <td>10.000000</td>\n",
" <td>11.000000</td>\n",
" <td>12.000000</td>\n",
" <td>13.000000</td>\n",
" <td>17.000000</td>\n",
" <td>18.000000</td>\n",
" <td>26.000000</td>\n",
" <td>34.000000</td>\n",
" <td>44.000000</td>\n",
" <td>...</td>\n",
" <td>210.000000</td>\n",
" <td>218.000000</td>\n",
" <td>198.000000</td>\n",
" <td>205.000000</td>\n",
" <td>214.000000</td>\n",
" <td>211.000000</td>\n",
" <td>179.000000</td>\n",
" <td>233.000000</td>\n",
" <td>213.000000</td>\n",
" <td>5018.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>251.500000</td>\n",
" <td>295.500000</td>\n",
" <td>275.000000</td>\n",
" <td>173.000000</td>\n",
" <td>181.000000</td>\n",
" <td>197.000000</td>\n",
" <td>254.000000</td>\n",
" <td>434.000000</td>\n",
" <td>409.000000</td>\n",
" <td>508.500000</td>\n",
" <td>...</td>\n",
" <td>832.000000</td>\n",
" <td>842.000000</td>\n",
" <td>899.000000</td>\n",
" <td>934.500000</td>\n",
" <td>888.000000</td>\n",
" <td>932.000000</td>\n",
" <td>772.000000</td>\n",
" <td>783.000000</td>\n",
" <td>796.000000</td>\n",
" <td>22239.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>22045.000000</td>\n",
" <td>24796.000000</td>\n",
" <td>20620.000000</td>\n",
" <td>10015.000000</td>\n",
" <td>10170.000000</td>\n",
" <td>9564.000000</td>\n",
" <td>9470.000000</td>\n",
" <td>21337.000000</td>\n",
" <td>27359.000000</td>\n",
" <td>23795.000000</td>\n",
" <td>...</td>\n",
" <td>42584.000000</td>\n",
" <td>33848.000000</td>\n",
" <td>28742.000000</td>\n",
" <td>30037.000000</td>\n",
" <td>29622.000000</td>\n",
" <td>38617.000000</td>\n",
" <td>36765.000000</td>\n",
" <td>34315.000000</td>\n",
" <td>34129.000000</td>\n",
" <td>691904.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8 rows × 35 columns</p>\n",
"</div>"
],
"text/plain": [
" 1980 1981 1982 1983 1984 \\\n",
"count 195.000000 195.000000 195.000000 195.000000 195.000000 \n",
"mean 508.394872 566.989744 534.723077 387.435897 376.497436 \n",
"std 1949.588546 2152.643752 1866.997511 1204.333597 1198.246371 \n",
"min 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25% 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"50% 13.000000 10.000000 11.000000 12.000000 13.000000 \n",
"75% 251.500000 295.500000 275.000000 173.000000 181.000000 \n",
"max 22045.000000 24796.000000 20620.000000 10015.000000 10170.000000 \n",
"\n",
" 1985 1986 1987 1988 1989 \\\n",
"count 195.000000 195.000000 195.000000 195.000000 195.000000 \n",
"mean 358.861538 441.271795 691.133333 714.389744 843.241026 \n",
"std 1079.309600 1225.576630 2109.205607 2443.606788 2555.048874 \n",
"min 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25% 0.000000 0.500000 0.500000 1.000000 1.000000 \n",
"50% 17.000000 18.000000 26.000000 34.000000 44.000000 \n",
"75% 197.000000 254.000000 434.000000 409.000000 508.500000 \n",
"max 9564.000000 9470.000000 21337.000000 27359.000000 23795.000000 \n",
"\n",
" ... 2005 2006 2007 2008 \\\n",
"count ... 195.000000 195.000000 195.000000 195.000000 \n",
"mean ... 1320.292308 1266.958974 1191.820513 1246.394872 \n",
"std ... 4425.957828 3926.717747 3443.542409 3694.573544 \n",
"min ... 0.000000 0.000000 0.000000 0.000000 \n",
"25% ... 28.500000 25.000000 31.000000 31.000000 \n",
"50% ... 210.000000 218.000000 198.000000 205.000000 \n",
"75% ... 832.000000 842.000000 899.000000 934.500000 \n",
"max ... 42584.000000 33848.000000 28742.000000 30037.000000 \n",
"\n",
" 2009 2010 2011 2012 2013 \\\n",
"count 195.000000 195.000000 195.000000 195.000000 195.000000 \n",
"mean 1275.733333 1420.287179 1262.533333 1313.958974 1320.702564 \n",
"std 3829.630424 4462.946328 4030.084313 4247.555161 4237.951988 \n",
"min 0.000000 0.000000 0.000000 0.000000 0.000000 \n",
"25% 36.000000 40.500000 37.500000 42.500000 45.000000 \n",
"50% 214.000000 211.000000 179.000000 233.000000 213.000000 \n",
"75% 888.000000 932.000000 772.000000 783.000000 796.000000 \n",
"max 29622.000000 38617.000000 36765.000000 34315.000000 34129.000000 \n",
"\n",
" Total \n",
"count 195.000000 \n",
"mean 32867.451282 \n",
"std 91785.498686 \n",
"min 1.000000 \n",
"25% 952.000000 \n",
"50% 5018.000000 \n",
"75% 22239.500000 \n",
"max 691904.000000 \n",
"\n",
"[8 rows x 35 columns]"
]
},
"execution_count": 19,
"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": 23,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"0 Afghanistan\n",
"1 Albania\n",
"2 Algeria\n",
"3 American Samoa\n",
"4 Andorra\n",
" ... \n",
"190 Viet Nam\n",
"191 Western Sahara\n",
"192 Yemen\n",
"193 Zambia\n",
"194 Zimbabwe\n",
"Name: Country, Length: 195, dtype: object"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_can.Country # returns a series\n"
]
},
{
"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": 24,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Country</th>\n",
" <th>1980</th>\n",
" <th>1981</th>\n",
" <th>1982</th>\n",
" <th>1983</th>\n",
" <th>1984</th>\n",
" <th>1985</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Afghanistan</td>\n",
" <td>16</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>47</td>\n",
" <td>71</td>\n",
" <td>340</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Albania</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Algeria</td>\n",
" <td>80</td>\n",
" <td>67</td>\n",
" <td>71</td>\n",
" <td>69</td>\n",
" <td>63</td>\n",
" <td>44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>American Samoa</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Andorra</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>190</th>\n",
" <td>Viet Nam</td>\n",
" <td>1191</td>\n",
" <td>1829</td>\n",
" <td>2162</td>\n",
" <td>3404</td>\n",
" <td>7583</td>\n",
" <td>5907</td>\n",
" </tr>\n",
" <tr>\n",
" <th>191</th>\n",
" <td>Western Sahara</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>192</th>\n",
" <td>Yemen</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>0</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>193</th>\n",
" <td>Zambia</td>\n",
" <td>11</td>\n",
" <td>17</td>\n",
" <td>11</td>\n",
" <td>7</td>\n",
" <td>16</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>194</th>\n",
" <td>Zimbabwe</td>\n",
" <td>72</td>\n",
" <td>114</td>\n",
" <td>102</td>\n",
" <td>44</td>\n",
" <td>32</td>\n",
" <td>29</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>195 rows × 7 columns</p>\n",
"</div>"
],
"text/plain": [
" Country 1980 1981 1982 1983 1984 1985\n",
"0 Afghanistan 16 39 39 47 71 340\n",
"1 Albania 1 0 0 0 0 0\n",
"2 Algeria 80 67 71 69 63 44\n",
"3 American Samoa 0 1 0 0 0 0\n",
"4 Andorra 0 0 0 0 0 0\n",
".. ... ... ... ... ... ... ...\n",
"190 Viet Nam 1191 1829 2162 3404 7583 5907\n",
"191 Western Sahara 0 0 0 0 0 0\n",
"192 Yemen 1 2 1 6 0 18\n",
"193 Zambia 11 17 11 7 16 9\n",
"194 Zimbabwe 72 114 102 44 32 29\n",
"\n",
"[195 rows x 7 columns]"
]
},
"execution_count": 24,
"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": 32,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"jupyter": {
"outputs_hidden": true
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"ename": "KeyError",
"evalue": "\"None of ['Country'] are in the columns\"",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-32-f0411a021852>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m#df_can.loc[0]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mdf_can\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Country'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minplace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;31m# tip: The opposite of set is reset. So to reset the index, we can use df_can.reset_index()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/conda/envs/python/lib/python3.6/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36mset_index\u001b[0;34m(self, keys, drop, append, inplace, verify_integrity)\u001b[0m\n\u001b[1;32m 4409\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4410\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmissing\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4411\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"None of {} are in the columns\"\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmissing\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4412\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4413\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0minplace\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyError\u001b[0m: \"None of ['Country'] are in the columns\""
]
}
],
"source": [
"#df_can.loc[0]\n",
"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": 35,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Continent</th>\n",
" <th>Region</th>\n",
" <th>DevName</th>\n",
" <th>1980</th>\n",
" <th>1981</th>\n",
" <th>1982</th>\n",
" <th>1983</th>\n",
" <th>1984</th>\n",
" <th>1985</th>\n",
" <th>1986</th>\n",
" <th>...</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>Total</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Afghanistan</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>16</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>47</td>\n",
" <td>71</td>\n",
" <td>340</td>\n",
" <td>496</td>\n",
" <td>...</td>\n",
" <td>3436</td>\n",
" <td>3009</td>\n",
" <td>2652</td>\n",
" <td>2111</td>\n",
" <td>1746</td>\n",
" <td>1758</td>\n",
" <td>2203</td>\n",
" <td>2635</td>\n",
" <td>2004</td>\n",
" <td>58639</td>\n",
" </tr>\n",
" <tr>\n",
" <th>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",
"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",
"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",
"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": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_can.head(3)\n"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"# optional: to remove the name of the index\n",
"df_can.index.name = None"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Example: Let's view the number of immigrants from Japan (row 87) for the following scenarios:\n",
" 1. The full row data (all columns)\n",
" 2. For year 2013\n",
" 3. For years 1980 to 1985"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Continent Asia\n",
"Region Eastern Asia\n",
"DevName Developed regions\n",
"1980 701\n",
"1981 756\n",
"1982 598\n",
"1983 309\n",
"1984 246\n",
"1985 198\n",
"1986 248\n",
"1987 422\n",
"1988 324\n",
"1989 494\n",
"1990 379\n",
"1991 506\n",
"1992 605\n",
"1993 907\n",
"1994 956\n",
"1995 826\n",
"1996 994\n",
"1997 924\n",
"1998 897\n",
"1999 1083\n",
"2000 1010\n",
"2001 1092\n",
"2002 806\n",
"2003 817\n",
"2004 973\n",
"2005 1067\n",
"2006 1212\n",
"2007 1250\n",
"2008 1284\n",
"2009 1194\n",
"2010 1168\n",
"2011 1265\n",
"2012 1214\n",
"2013 982\n",
"Total 27707\n",
"Name: Japan, dtype: object\n",
"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": 37,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"982\n",
"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": 38,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1980 701\n",
"1981 756\n",
"1982 598\n",
"1983 309\n",
"1984 246\n",
"1984 246\n",
"Name: Japan, dtype: object\n",
"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": 43,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array(['Continent', 'Region', 'DevName', '1980', '1981', '1982', '1983',\n",
" '1984', '1985', '1986', '1987', '1988', '1989', '1990', '1991',\n",
" '1992', '1993', '1994', '1995', '1996', '1997', '1998', '1999',\n",
" '2000', '2001', '2002', '2003', '2004', '2005', '2006', '2007',\n",
" '2008', '2009', '2010', '2011', '2012', '2013', 'Total'],\n",
" dtype=object)"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_can.columns = list(map(str, df_can.columns))\n",
"df_can.columns.values\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": 44,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"['1980',\n",
" '1981',\n",
" '1982',\n",
" '1983',\n",
" '1984',\n",
" '1985',\n",
" '1986',\n",
" '1987',\n",
" '1988',\n",
" '1989',\n",
" '1990',\n",
" '1991',\n",
" '1992',\n",
" '1993',\n",
" '1994',\n",
" '1995',\n",
" '1996',\n",
" '1997',\n",
" '1998',\n",
" '1999',\n",
" '2000',\n",
" '2001',\n",
" '2002',\n",
" '2003',\n",
" '2004',\n",
" '2005',\n",
" '2006',\n",
" '2007',\n",
" '2008',\n",
" '2009',\n",
" '2010',\n",
" '2011',\n",
" '2012',\n",
" '2013']"
]
},
"execution_count": 44,
"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": 45,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Afghanistan True\n",
"Albania False\n",
"Algeria False\n",
"American Samoa False\n",
"Andorra False\n",
" ... \n",
"Viet Nam True\n",
"Western Sahara False\n",
"Yemen True\n",
"Zambia False\n",
"Zimbabwe False\n",
"Name: Continent, Length: 195, dtype: bool\n"
]
}
],
"source": [
"# 1. create the condition boolean series\n",
"condition = df_can['Continent'] == 'Asia'\n",
"print(condition)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Continent</th>\n",
" <th>Region</th>\n",
" <th>DevName</th>\n",
" <th>1980</th>\n",
" <th>1981</th>\n",
" <th>1982</th>\n",
" <th>1983</th>\n",
" <th>1984</th>\n",
" <th>1985</th>\n",
" <th>1986</th>\n",
" <th>...</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>Total</th>\n",
" </tr>\n",
" </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": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 2. pass this condition into the dataFrame\n",
"df_can[condition]"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Continent</th>\n",
" <th>Region</th>\n",
" <th>DevName</th>\n",
" <th>1980</th>\n",
" <th>1981</th>\n",
" <th>1982</th>\n",
" <th>1983</th>\n",
" <th>1984</th>\n",
" <th>1985</th>\n",
" <th>1986</th>\n",
" <th>...</th>\n",
" <th>2005</th>\n",
" <th>2006</th>\n",
" <th>2007</th>\n",
" <th>2008</th>\n",
" <th>2009</th>\n",
" <th>2010</th>\n",
" <th>2011</th>\n",
" <th>2012</th>\n",
" <th>2013</th>\n",
" <th>Total</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Afghanistan</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>16</td>\n",
" <td>39</td>\n",
" <td>39</td>\n",
" <td>47</td>\n",
" <td>71</td>\n",
" <td>340</td>\n",
" <td>496</td>\n",
" <td>...</td>\n",
" <td>3436</td>\n",
" <td>3009</td>\n",
" <td>2652</td>\n",
" <td>2111</td>\n",
" <td>1746</td>\n",
" <td>1758</td>\n",
" <td>2203</td>\n",
" <td>2635</td>\n",
" <td>2004</td>\n",
" <td>58639</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bangladesh</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>83</td>\n",
" <td>84</td>\n",
" <td>86</td>\n",
" <td>81</td>\n",
" <td>98</td>\n",
" <td>92</td>\n",
" <td>486</td>\n",
" <td>...</td>\n",
" <td>4171</td>\n",
" <td>4014</td>\n",
" <td>2897</td>\n",
" <td>2939</td>\n",
" <td>2104</td>\n",
" <td>4721</td>\n",
" <td>2694</td>\n",
" <td>2640</td>\n",
" <td>3789</td>\n",
" <td>65568</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Bhutan</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>5</td>\n",
" <td>10</td>\n",
" <td>7</td>\n",
" <td>36</td>\n",
" <td>865</td>\n",
" <td>1464</td>\n",
" <td>1879</td>\n",
" <td>1075</td>\n",
" <td>487</td>\n",
" <td>5876</td>\n",
" </tr>\n",
" <tr>\n",
" <th>India</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>8880</td>\n",
" <td>8670</td>\n",
" <td>8147</td>\n",
" <td>7338</td>\n",
" <td>5704</td>\n",
" <td>4211</td>\n",
" <td>7150</td>\n",
" <td>...</td>\n",
" <td>36210</td>\n",
" <td>33848</td>\n",
" <td>28742</td>\n",
" <td>28261</td>\n",
" <td>29456</td>\n",
" <td>34235</td>\n",
" <td>27509</td>\n",
" <td>30933</td>\n",
" <td>33087</td>\n",
" <td>691904</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Iran (Islamic Republic of)</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>1172</td>\n",
" <td>1429</td>\n",
" <td>1822</td>\n",
" <td>1592</td>\n",
" <td>1977</td>\n",
" <td>1648</td>\n",
" <td>1794</td>\n",
" <td>...</td>\n",
" <td>5837</td>\n",
" <td>7480</td>\n",
" <td>6974</td>\n",
" <td>6475</td>\n",
" <td>6580</td>\n",
" <td>7477</td>\n",
" <td>7479</td>\n",
" <td>7534</td>\n",
" <td>11291</td>\n",
" <td>175923</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Maldives</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Nepal</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>13</td>\n",
" <td>...</td>\n",
" <td>607</td>\n",
" <td>540</td>\n",
" <td>511</td>\n",
" <td>581</td>\n",
" <td>561</td>\n",
" <td>1392</td>\n",
" <td>1129</td>\n",
" <td>1185</td>\n",
" <td>1308</td>\n",
" <td>10222</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pakistan</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>978</td>\n",
" <td>972</td>\n",
" <td>1201</td>\n",
" <td>900</td>\n",
" <td>668</td>\n",
" <td>514</td>\n",
" <td>691</td>\n",
" <td>...</td>\n",
" <td>14314</td>\n",
" <td>13127</td>\n",
" <td>10124</td>\n",
" <td>8994</td>\n",
" <td>7217</td>\n",
" <td>6811</td>\n",
" <td>7468</td>\n",
" <td>11227</td>\n",
" <td>12603</td>\n",
" <td>241600</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sri Lanka</th>\n",
" <td>Asia</td>\n",
" <td>Southern Asia</td>\n",
" <td>Developing regions</td>\n",
" <td>185</td>\n",
" <td>371</td>\n",
" <td>290</td>\n",
" <td>197</td>\n",
" <td>1086</td>\n",
" <td>845</td>\n",
" <td>1838</td>\n",
" <td>...</td>\n",
" <td>4930</td>\n",
" <td>4714</td>\n",
" <td>4123</td>\n",
" <td>4756</td>\n",
" <td>4547</td>\n",
" <td>4422</td>\n",
" <td>3309</td>\n",
" <td>3338</td>\n",
" <td>2394</td>\n",
" <td>148358</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>9 rows × 38 columns</p>\n",
"</div>"
],
"text/plain": [
" Continent Region DevName 1980 \\\n",
"Afghanistan Asia Southern Asia Developing regions 16 \n",
"Bangladesh Asia Southern Asia Developing regions 83 \n",
"Bhutan Asia Southern Asia Developing regions 0 \n",
"India Asia Southern Asia Developing regions 8880 \n",
"Iran (Islamic Republic of) Asia Southern Asia Developing regions 1172 \n",
"Maldives Asia Southern Asia Developing regions 0 \n",
"Nepal Asia Southern Asia Developing regions 1 \n",
"Pakistan Asia Southern Asia Developing regions 978 \n",
"Sri Lanka Asia Southern Asia Developing regions 185 \n",
"\n",
" 1981 1982 1983 1984 1985 1986 ... 2005 \\\n",
"Afghanistan 39 39 47 71 340 496 ... 3436 \n",
"Bangladesh 84 86 81 98 92 486 ... 4171 \n",
"Bhutan 0 0 0 1 0 0 ... 5 \n",
"India 8670 8147 7338 5704 4211 7150 ... 36210 \n",
"Iran (Islamic Republic of) 1429 1822 1592 1977 1648 1794 ... 5837 \n",
"Maldives 0 0 1 0 0 0 ... 0 \n",
"Nepal 1 6 1 2 4 13 ... 607 \n",
"Pakistan 972 1201 900 668 514 691 ... 14314 \n",
"Sri Lanka 371 290 197 1086 845 1838 ... 4930 \n",
"\n",
" 2006 2007 2008 2009 2010 2011 2012 \\\n",
"Afghanistan 3009 2652 2111 1746 1758 2203 2635 \n",
"Bangladesh 4014 2897 2939 2104 4721 2694 2640 \n",
"Bhutan 10 7 36 865 1464 1879 1075 \n",
"India 33848 28742 28261 29456 34235 27509 30933 \n",
"Iran (Islamic Republic of) 7480 6974 6475 6580 7477 7479 7534 \n",
"Maldives 0 2 1 7 4 3 1 \n",
"Nepal 540 511 581 561 1392 1129 1185 \n",
"Pakistan 13127 10124 8994 7217 6811 7468 11227 \n",
"Sri Lanka 4714 4123 4756 4547 4422 3309 3338 \n",
"\n",
" 2013 Total \n",
"Afghanistan 2004 58639 \n",
"Bangladesh 3789 65568 \n",
"Bhutan 487 5876 \n",
"India 33087 691904 \n",
"Iran (Islamic Republic of) 11291 175923 \n",
"Maldives 1 30 \n",
"Nepal 1308 10222 \n",
"Pakistan 12603 241600 \n",
"Sri Lanka 2394 148358 \n",
"\n",
"[9 rows x 38 columns]"
]
},
"execution_count": 47,
"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": 48,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"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": 48,
"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": 49,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"# we are using the inline backend\n",
"%matplotlib inline \n",
"\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"*optional: check if Matplotlib is loaded."
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Matplotlib version: 3.1.1\n"
]
}
],
"source": [
"print ('Matplotlib version: ', mpl.__version__) # >= 2.0.0"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"*optional: apply a style to Matplotlib."
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['Solarize_Light2', '_classic_test', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark-palette', 'seaborn-dark', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'seaborn', 'tableau-colorblind10']\n"
]
}
],
"source": [
"print(plt.style.available)\n",
"mpl.style.use(['ggplot']) # optional: for ggplot-like style"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Plotting in *pandas*\n",
"\n",
"Fortunately, pandas has a built-in implementation of Matplotlib that we can use. Plotting in *pandas* is as simple as appending a `.plot()` method to a series or dataframe.\n",
"\n",
"Documentation:\n",
"- [Plotting with Series](http://pandas.pydata.org/pandas-docs/stable/api.html#plotting)<br>\n",
"- [Plotting with Dataframes](http://pandas.pydata.org/pandas-docs/stable/api.html#api-dataframe-plotting)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"# Line Pots (Series/Dataframe) <a id=\"12\"></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"**What is a line plot and why use it?**\n",
"\n",
"A line chart or line plot is a type of plot which displays information as a series of data points called 'markers' connected by straight line segments. It is a basic type of chart common in many fields.\n",
"Use line plot when you have a continuous data set. These are best suited for trend-based visualizations of data over a period of time."
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"**Let's start with a case study:**\n",
"\n",
"In 2010, Haiti suffered a catastrophic magnitude 7.0 earthquake. The quake caused widespread devastation and loss of life and aout three million people were affected by this natural disaster. As part of Canada's humanitarian effort, the Government of Canada stepped up its effort in accepting refugees from Haiti. We can quickly visualize this effort using a `Line` plot:\n",
"\n",
"**Question:** Plot a line graph of immigration from Haiti using `df.plot()`.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"First, we will extract the data series for Haiti."
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"1980 1666\n",
"1981 3692\n",
"1982 3498\n",
"1983 2860\n",
"1984 1418\n",
"Name: Haiti, dtype: object"
]
},
"execution_count": 53,
"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": 54,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f87a50dc748>"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"haiti.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"*pandas* automatically populated the x-axis with the index values (years), and the y-axis with the column values (population). However, notice how the years were not displayed because they are of type *string*. Therefore, let's change the type of the index values to *integer* for plotting.\n",
"\n",
"Also, let's label the x and y axis using `plt.title()`, `plt.ylabel()`, and `plt.xlabel()` as follows:"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEaCAYAAAAG87ApAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeXxU1fn48c+52VkSshKysAZEFgkaZBEJIK0VqVpsRS0qEZSfu2JbraiUKooLoPgFtUBxoda1xLpVBRTUiMYFFDd2MEDIMkkg6yS55/fHTUZCEjKTzJIJz/v1yovkzl3OnZA8uec85zxKa60RQgghnGT4ugFCCCH8iwQOIYQQLpHAIYQQwiUSOIQQQrhEAocQQgiXSOAQQgjhEgkcwm+NHz+eWbNm+bQNH374IUopcnJyvHK9u+66i+7du6OU4plnnvHKNb2td+/e3H///SfcZ+/evSil+Pjjj73UKnEsJfM4RGvNmDGDnJwc1q1b55Pr22w2AgMDCQ8P98r1AgMDWblyJTNmzHBss9vt2Gw24uLiMAzP/h322WefMWrUKDIzMxk5ciQRERGEhYV59JrOeOaZZ5g1axY1NTWNXhs/fjwpKSmsXLnS6fPl5+fTqVMnOnfuDEBKSgrTp0/nb3/7m2Of2tpa8vPziY6OJigoqM33IFwT6OsGCNFaUVFRbT5HdXU1gYGBKKVadXxwcDDx8fFtboczduzYgWEYXHjhhc3u09b7aQ9iY2Nb3CcgIMBr77toTLqqhNvMmDGDSZMm8cQTT5CUlESXLl2YNWsW1dXVPPXUU/Tq1YvIyEiuvfZa7Ha747jx48czc+ZM7r77buLi4ujWrRtz587FNE3+/ve/0717d2JjY5k7d26D6x3fVVVRUcG1115LREQEkZGRXH/99fz1r38lJSWlyTb27t2bkJAQysrKeP/99xk/fjxRUVFERESQnp7O559/7jiud+/e1NbWkpGRgVLK8Yu5qa6qzZs3M27cOMLCwoiMjOTyyy8nLy/P8frf/vY3UlJSeP311xk4cCCdO3dmwoQJ7Nq164Tv7RVXXIFpmg2u39z9VFdXc+edd5KYmEhwcDCDBg3ihRdeaHBOpRRPPPEE06ZNo3PnzvTs2ZNXX32VkpIS/vjHP9K1a1f69u3La6+95tT33xktvc/QsKtq/Pjx7Nq1i/nz5zvue+/evdJV5WMSOIRbZWdn88UXX/D+++/zwgsvsGbNGi688EKysrJ45513eP7553n++edZtWpVg+NeffVVqqur+fjjj1m8eDEPPPAAU6ZMobS0lI8++ohHH32UBx54gHfeeafZa99xxx28/vrrPP/882zevJmIiAiWL1/eaL/PP/+cDRs2kJmZydatWwkNDaW0tJQbbriBzZs3k5WVRf/+/fnNb35DYWGh474CAgJ47LHHOHToEIcOHWqyDbm5ufz6178mKSmJzz//nDfeeINt27Zx8cUXN9jv0KFDPPnkk/zrX/8iKyuL4uJirr766mbv7fHHH+exxx4jICCg0fWbup+77rqLFStW8Nhjj7Ft2zamT5/O9OnTWb9+fYPzLliwgMmTJ7N161amTJnClVdeyaWXXsqvfvUrvv76a84//3yuvPJKx/vQVi29z8f7z3/+Q+/evbn99tsd952cnOyWtog20EK00lVXXaXPOeecBl/Hxsbqqqoqx7bJkyfr6OhoXVlZ6dh2wQUX6IsvvtjxdXp6uh42bFiDcw8aNEgPGTKkwbbTTjtN33777Q2OmzlzptZa69LSUh0cHKxXrlzZ4JiRI0fqfv36NWhjRESEPnr06Anvrba2Vnfr1k2vWbPGsS0gIECvXr26wX4ffPCBBvTPP/+stdb67rvv1omJiQ3egy1btmhAb9y4UWut9bx583RAQIDOy8tz7PPvf/9bK6V0RUVFs21avXq1DggIaLCtqfspKyvTwcHBetmyZQ32veiii/SECRMcXwP6lltucXydl5enAX3jjTc6ttlsNg3oN95444TtAnTnzp0bfRiG4fgeNaWp97lXr176vvvuc3zdr18/PW/evAbH7dmzRwP6o48+avbcwnPkiUO41amnnkpwcLDj6/j4eE455RRCQkIabDu26wZg2LBhDb6Oj4/ntNNOa7Tt+OPq7dy5E7vdzqhRoxpsHz16dJNt7NKlS4Nte/bs4YorriAlJYXw8HDCw8MpKSlh3759J7jbxr777jtGjRrV4D0YNmwYERERfPfdd45tCQkJDfryExMT0Vo3e38ncvz91L8X48aNa7Bfenp6gzbUt61ebGwsAQEBDd73yMhIgoODW2xXQEAAW7ZsafSRlpbWYD93vc/Ct2RwXLjV8RkuSqkmt5mm6ZbjjufMoHB9ts6xpkyZ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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": 56,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAY4AAAEaCAYAAAAG87ApAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeVxU5f7A8c8zbOICDgyKLK5ApqJYaG6JC2WaLbds3yQtb3var9XKa5u2qGlh3atmt72stF2TMNDIokXN8qYoLqisAygIDDLP748DkyPbDMzC0PN+vXgJZ845z/eMyneeXUgpJYqiKIpiI527A1AURVE8i0ociqIoil1U4lAURVHsohKHoiiKYheVOBRFURS7qMShKIqi2EUlDsVjjRs3jpkzZ7o1hm+//RYhBDk5OS4p75FHHqF79+4IIXj99dddUqar9e7dm6eeeqrJc/bv348Qgi1btrgoKuVUQs3jUFpq+vTp5OTkkJKS4pbyjUYj3t7eBAQEuKQ8b29vVq5cyfTp0y3HTCYTRqORbt26odM593PYDz/8wIgRI1i3bh3nnHMOgYGB+Pv7O7VMW7z++uvMnDmTkydP1ntt3LhxREVFsXLlSpvvV1BQQMeOHenUqRMAUVFRXH/99fzrX/+ynFNTU0NBQQHBwcH4+Pi0+hkU+3i7OwBFaamgoKBW36O6uhpvb2+EEC263tfXl9DQ0FbHYYs9e/ag0+m45JJLGj2ntc/TFoSEhDR7jpeXl8ved6U+1VSlOMz06dNJTEzkpZdeIiIigs6dOzNz5kyqq6t59dVX6dWrF3q9nltvvRWTyWS5bty4ccyYMYNHH32Ubt260bVrV+bOnYvZbOaJJ56ge/fuhISEMHfuXKvyTm+qqqio4NZbbyUwMBC9Xs/tt9/Oww8/TFRUVIMx9u7dGz8/P8rLy9m4cSPjxo0jKCiIwMBAEhIS+PHHHy3X9e7dm5qaGpKSkhBCWH4xN9RUtXXrVsaOHYu/vz96vZ5rr72W/Px8y+v/+te/iIqK4pNPPqF///506tSJ8ePHs3fv3ibf2xtuuAGz2WxVfmPPU11dzUMPPUR4eDi+vr4MGDCAd955x+qeQgheeuklrrrqKjp16kTPnj358MMPKS0t5brrrqNLly707duXjz76yKa/f1s09z6DdVPVuHHj2Lt3L/Pnz7c89/79+1VTlZupxKE4VGZmJj/99BMbN27knXfe4a233uKSSy4hIyODr776ijfffJM333yTVatWWV334YcfUl1dzZYtW1i8eDHPPPMMU6dOpaysjM2bN/PCCy/wzDPP8NVXXzVa9oMPPsgnn3zCm2++ydatWwkMDGT58uX1zvvxxx9JTU1l3bp1bN++nQ4dOlBWVsYdd9zB1q1bycjIIDo6mgsuuICioiLLc3l5efHiiy9y9OhRjh492mAMubm5nH/++URERPDjjz/y2WefsXPnTi6//HKr844ePcorr7zC22+/TUZGBiUlJdx8882NPtvSpUt58cUX8fLyqld+Q8/zyCOPsGLFCl588UV27tzJ9ddfz/XXX88333xjdd+nn36aKVOmsH37dqZOncqNN97I1VdfzXnnncevv/7KhRdeyI033mh5H1qruff5dB9//DG9e/fmvvvuszx3ZGSkQ2JRWkEqSgvddNNNcuLEiVY/h4SEyKqqKsuxKVOmyODgYFlZWWk5dvHFF8vLL7/c8nNCQoIcMmSI1b0HDBggBw0aZHVs8ODB8r777rO6bsaMGVJKKcvKyqSvr69cuXKl1TXnnHOO7Nevn1WMgYGB8vjx400+W01Njezatat86623LMe8vLzk6tWrrc7btGmTBOShQ4eklFI++uijMjw83Oo92LZtmwRkWlqalFLKefPmSS8vL5mfn285591335VCCFlRUdFoTKtXr5ZeXl5Wxxp6nvLycunr6yuTk5Otzr300kvl+PHjLT8D8p577rH8nJ+fLwF55513Wo4ZjUYJyM8++6zJuADZqVOnel86nc7yd9SQht7nXr16ySeffNLyc79+/eS8efOsrsvOzpaA3Lx5c6P3VpxH1TgUhzrzzDPx9fW1/BwaGsoZZ5yBn5+f1bFTm24AhgwZYvVzaGgogwcPrnfs9OvqZGVlYTKZGDFihNXxkSNHNhhj586drY5lZ2dzww03EBUVRUBAAAEBAZSWlnLgwIEmnra+33//nREjRli9B0OGDCEwMJDff//dciwsLMyqLT88PBwpZaPP15TTn6fuvRg7dqzVeQkJCVYx1MVWJyQkBC8vL6v3Xa/X4+vr22xcXl5ebNu2rd5XfHy81XmOep8V91Kd44pDnT7CRQjR4DGz2eyQ605nS6dw3WidU02dOhWDwUBycjKRkZH4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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"haiti.plot(kind='line')\n",
"\n",
"plt.title('Immigration from Haiti')\n",
"plt.ylabel('Number of Immigrants')\n",
"plt.xlabel('Years')\n",
"\n",
"# annotate the 2010 Earthquake. \n",
"# syntax: plt.text(x, y, label)\n",
"plt.text(2000, 6000, '2010 Earthquake') # see note below\n",
"\n",
"plt.show() "
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"With just a few lines of code, you were able to quickly identify and visualize the spike in immigration!\n",
"\n",
"Quick note on x and y values in `plt.text(x, y, label)`:\n",
" \n",
" Since the x-axis (years) is type 'integer', we specified x as a year. The y axis (number of immigrants) is type 'integer', so we can just specify the value y = 6000.\n",
" \n",
"```python\n",
" plt.text(2000, 6000, '2010 Earthquake') # years stored as type int\n",
"```\n",
" If the years were stored as type 'string', we would need to specify x as the index position of the year. Eg 20th index is year 2000 since it is the 20th year with a base year of 1980.\n",
"```python\n",
" plt.text(20, 6000, '2010 Earthquake') # years stored as type int\n",
"```\n",
" We will cover advanced annotation methods in later modules."
]
},
{
"cell_type": "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": 63,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>1980</th>\n",
" <th>1981</th>\n",
" <th>1982</th>\n",
" <th>1983</th>\n",
" <th>1984</th>\n",
" <th>1985</th>\n",
" <th>1986</th>\n",
" <th>1987</th>\n",
" <th>1988</th>\n",
" <th>1989</th>\n",
" <th>...</th>\n",
" <th>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>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",
" <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",
" </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",
"China 5123 6682 3308 1863 1527 1816 1960 2643 2758 4323 ... \n",
"India 8880 8670 8147 7338 5704 4211 7150 10189 11522 10343 ... \n",
"\n",
" 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 \n",
"China 36619 42584 33518 27642 30037 29622 30391 28502 33024 34129 \n",
"India 28235 36210 33848 28742 28261 29456 34235 27509 30933 33087 \n",
"\n",
"[2 rows x 34 columns]"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"### type your answer here\n",
"df_CI = df_can.loc[['China','India'], years] # passing in years 1980 - 2013 to exclude the 'total' column\n",
"\n",
"df_CI.head()"
]
},
{
"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": 64,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAaEAAAIlCAYAAAB8YUeRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydebxVVfn/32sPZz7ncidAcEwQ01AIcUpB0ZwiJc1MlISwHJJEMsMp/aZmZmkq6vdbOVRq/tLM6VuoiEGZlko4wDcFUQS5jHc689nD+v2x9xnvufce4MJl2B9em73Ws9dea+197t6f/TzrWc8SUkqJBw8ePHjw0A9Q+rsDHjx48OBh94VHQh48ePDgod/gkZAHDx48eOg3eCTkwYMHDx76DR4JefDgwYOHfoNHQh48ePDgod/gkZCHLcJxxx3HhRde2K99+Otf/4oQgtWrV2+X9q655hoGDRqEEIKHH354u7TZV7jxxhsZNmxYj2W29/3cVpg6dSonnnhiv7S1PdveVeCR0E6K/v5jf+qpp7jjjju2W3uapnV58R999NG0tLQwZMiQbd7+P//5T2699VZ++ctf0tLSwjnnnLPN26wVpmlyzz33cPjhhxONRqmrq2P06NHccssttLW11VzP9ryf/Q0hBI888kif13vXXXfxxBNP9Hm9uzK0/u6Ah50TDQ0NW12HYRhomoYQYovO9/l8DB48eKv7UQuWLVuGoiicccYZ3ZbZ2uvZEhiGwcSJE3nttdf44Q9/yPjx42lubmbp0qXcf//9hMNhZs6cWVNd2/N+7qqoq6vr7y7sdPA0oV0Eec3onnvuYc899yQSiXDhhRdiGAb//d//zT777EN9fT3f/va3yeVyhfOOO+44pk+fznXXXcfAgQMZMGAA1157LbZt86Mf/YhBgwbR3NzMtddeW9ZepTkunU7z7W9/m7q6Ourr67n00ku5+uqry0xApX3cd9998fv9JJNJXnrpJY477jgaGhqoq6tj/Pjx/Otf/yqct++++2JZFtOmTUMIUXjJVzMfvf7664wbN45gMEh9fT2TJ09m/fr1heN5s9QzzzzDgQceSDgc5vjjj+fDDz/s8d5OmTIF27bL2u/uegzDYPbs2QwdOhSfz8dBBx3EY489VlanEIJ77rmHc845h3A4zN57782TTz5JR0cH5513HtFolM985jP88Y9/7PF3v/vuu3nppZd44YUXuPLKKxk7diz77rsvp512Gs899xwXXHBBWfmerrvyfubzL730EuPGjSMUCnHQQQfxwgsvlNV57bXX8tnPfpZQKMRee+3FxRdfTEdHR4/97u03z9+j++67jylTphCNRtlrr7346U9/Wlamra2tcA8HDRrEddddx5YEgemrtiotFIsWLeLUU09l4MCBRCIRxo4dy9y5cze7f7s0pIedEhdccIE84YQTyvKxWEx+4xvfkEuXLpXPPPOM9Pv98tRTT5VTpkyRS5Yskc8995wMBALyvvvuK5w3fvx4GYvF5FVXXSXff/99+cADD0hAnnrqqfL73/++fP/99+XDDz8sAfnnP/+57Lzp06cX8jNmzJADBw6UzzzzjPzPf/4jZ8+eLWOxmNx///3L+hiNRuWkSZPkv//9b/nOO+9IwzDkU089Jf/whz/I999/X7733nty+vTpsr6+Xm7cuFFKKeX69eulqqryF7/4hWxpaZEtLS1SSilfeeUVCchVq1ZJKaVsaWmR0WhUnnvuufKdd96Rf/vb3+TIkSPlMcccU+jDDTfcIEOhkDz55JPlm2++KRcvXixHjRolx40b1+29bm9vl7/4xS+kqqpl7Xd3PVdeeaVsaGgoXNMtt9wihRBy3rx5hToBOWjQIPnwww/LZcuWyUsuuUQGg0F5yimnyIceekguW7ZMXnbZZTIUChXuQzUceuihZX8H3aGW6668n/n8IYccIv/yl7/IDz74QE6ZMkXW1dXJtra2wnk33XSTXLhwofzoo4/kvHnz5IgRI+Q3vvGNHvvT22+ev0cDBw6Uv/zlL+Xy5cvlXXfdJQE5f/78QplJkybJ/fffX7788svyvffek+edd56MRqO93hNA/u53v+vztiqfy1deeUU+/PDDcsmSJfL999+X1157rdR1Xb7//vs99m93gkdCOymqkVBzc7PMZrMF2WmnnSYbGxtlJpMpyE4//XR51llnFfLjx4+Xhx56aFndBx10kPzc5z5XJjvkkEPk9773vbLz8iSUSCSkz+eTv/71r8vOOeKII7qQUF1dnYzH4z1em2VZcsCAAfKRRx4pyFRVlQ899FBZucqX5nXXXSeHDh1adg8WL14sAblgwQIppfMyVlVVrl+/vlDm97//vRRCyHQ63W2fHnroIamqapms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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')\n",
"\n",
"plt.title('Immigration from China and India')\n",
"plt.ylabel('Number of Immigrants')\n",
"plt.xlabel('Years')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"jupyter": {
"source_hidden": 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": 65,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>China</th>\n",
" <th>India</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1980</th>\n",
" <td>5123</td>\n",
" <td>8880</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1981</th>\n",
" <td>6682</td>\n",
" <td>8670</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1982</th>\n",
" <td>3308</td>\n",
" <td>8147</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1983</th>\n",
" <td>1863</td>\n",
" <td>7338</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1984</th>\n",
" <td>1527</td>\n",
" <td>5704</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" China India\n",
"1980 5123 8880\n",
"1981 6682 8670\n",
"1982 3308 8147\n",
"1983 1863 7338\n",
"1984 1527 5704"
]
},
"execution_count": 65,
"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": 66,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"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": [
"### type your answer here\n",
"df_CI.plot(kind='line')\n",
"\n",
"plt.title('Immigration from China and India')\n",
"plt.ylabel('Number of Immigrants')\n",
"plt.xlabel('Years')\n",
"\n",
"plt.show()\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Double-click __here__ for the solution.\n",
"<!-- The correct answer is:\n",
"df_CI.index = df_CI.index.map(int) # let's change the index values of df_CI to type integer for plotting\n",
"df_CI.plot(kind='line')\n",
"-->\n",
"\n",
"<!--\n",
"plt.title('Immigrants from China and India')\n",
"plt.ylabel('Number of Immigrants')\n",
"plt.xlabel('Years')\n",
"-->\n",
"\n",
"<!--\n",
"plt.show()\n",
"--> "
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"From the above plot, we can observe that the China and India have very similar immigration trends through the years. "
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"*Note*: How come we didn't need to transpose Haiti's dataframe before plotting (like we did for df_CI)?\n",
"\n",
"That's because `haiti` is a series as opposed to a dataframe, and has the years as its indices as shown below. \n",
"```python\n",
"print(type(haiti))\n",
"print(haiti.head(5))\n",
"```\n",
">class 'pandas.core.series.Series' <br>\n",
">1980 1666 <br>\n",
">1981 3692 <br>\n",
">1982 3498 <br>\n",
">1983 2860 <br>\n",
">1984 1418 <br>\n",
">Name: Haiti, dtype: int64 <br>"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Line plot is a handy tool to display several dependent variables against one independent variable. However, it is recommended that no more than 5-10 lines on a single graph; any more than that and it becomes difficult to interpret."
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"**Question:** Compare the trend of top 5 countries that contributed the most to immigration to Canada."
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"jupyter": {
"outputs_hidden": false
},
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEaCAYAAADZvco2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydd3gU1frHPzPb0ysEQlGkSegdVBCEKILKRbBzLVxBr3IpiqDotaJeEFAEy0X5KXaxcEF6ly5d6b0aICQhfdvM+f0x7JpNNsmmkALzeZ48sDPnzJwzOzvvnPc95/tKQgiBjo6Ojo5OOSBXdgN0dHR0dK4cdKOio6Ojo1Nu6EZFR0dHR6fc0I2Kjo6Ojk65oRsVHR0dHZ1yQzcqOjo6Ojrlhm5UdHQCpHPnzjz99NOV2obFixcjSRIXLlyo1HZUR/RrVzHoRuUqRJKkIv+uueaay3p+z487/9+XX35ZZL377ruPfv36Xda2FcXChQt56623KuRcbrcbSZL49ttvfbb37NmTpKQkoqOjK6QdVYUXX3yRpk2bFthep04d3n777YCOcbVeu4rGWNkN0Kl4kpKSvP//7bffuOuuu/jtt9+oW7cuAAaDoULasWfPHqKioryfIyIiKuS8pSVvW0uLy+XCZDKVur7ZbCYuLq7M7bjacDqd+rWrIPSRylVIXFyc98/zoIyNjfVui42NBeDixYsMGTKEmJgYrFYrnTp1YtWqVd7j7N+/3/s2ffPNN2O1WmnYsCFz5swJqB01atTwaYvVai1RPzwjl8mTJxMfH09oaCj//Oc/URSFadOmUbduXaKionjqqadwu93eep07d+af//wnY8eOJSYmhsjISF599VUUReGll16iRo0a1KxZk1dffdXnfPndX9nZ2Tz22GOEhYURFRXFv/71L5555hmaN2/ut43169fHYrHgdrtZuHAh3bp1IyoqioiICHr27Mn27du99erUqQPA/fffjyRJ3muT34Xj+bxq1SpuuOEGbDYbLVq08PmeALZs2UKHDh2wWCw0bdqU//3vf8TFxfHOO+8UeY03b95MYmIioaGhhIaG0rlzZ592fvLJJzRp0gSz2UzdunV55ZVXUFW10GsGBUcdnms0Y8YM6tWrR3h4OAMHDiQ1NRWAjz76iAkTJnDgwAHvqPbtt9+mc+fOnDlzhueff967/ezZs95rsmTJErp06YLFYmH27Nl+3V/79+/nrrvuIjw8nKioKG677Tb27t3r3Z+WlsbgwYOpWbMmVquV+vXr8/zzzxd5za52dKOiUyiDBw9m9erVfPvtt2zfvp22bdvSp08fjh496lPu2Wef5cknn2TXrl0MGDCA++67jz/++KPY43fo0IGaNWtyww038PXXX5eqjWvXrmX//v2sWLGCzz//nJkzZ3LHHXfw+++/s3TpUmbNmsXMmTP54osvfOp99dVXmM1mNm7cyJtvvskrr7zCHXfcgRCCdevW8frrr/PKK68UeDjnZdSoUSxZsoRvv/2WDRs2YDKZ+OSTTwqUW7NmDZs3b2b+/Pns2LEDg8FAdnY2I0eOZPPmzaxbt446depw2223kZ6eDsCOHTsA7YGalJTEiRMnirwOzz77LK+88gq7du0iISGBQYMGkZWVBUBGRga33347devWZevWrcyaNYs333yTixcvFnnMHTt2cPPNNxMXF8fq1avZtm0bw4cPR1EUAH788UeeeOIJhg4dyp49e/jPf/7D1KlTS+UiXLduHb/99huLFi3il19+YePGjd6H98MPP8zIkSNp2LAhSUlJJCUlMXz4cBYuXEitWrUYP368d3uNGjW8xxw9ejQvvfQS+/fv5/bbby9wzjNnznDjjTdyzTXXsH79ejZs2ED9+vXp0aMHaWlpAIwdO5Z9+/bxyy+/cODAAb766isaNWpU4v5dVQidq5q1a9cKQBw7dsxn++7duwUgVqxY4d2mqqpo1qyZePLJJ4UQQuzbt08A4o033vCp27ZtWzFkyJBCz/nHH3+Ijz/+WGzdulX89ttv4sUXXxQGg6HAcfJz7733ir59+/p8jo+PFy6Xy7utZ8+eolatWsLpdHq3JSYmigcffND7uVOnTqJjx44+x27QoIFo3769z7bGjRuL8ePH+9R76qmnhBBCpKamCqPRKL788kufOq1btxYJCQk+bYyOjhY5OTlF9s3lcomgoCDxww8/eD8D4ptvvvEpt2jRIgGI5ORkn88LFizwljl27JgAxOrVq4UQQkybNk2Eh4eLzMxMb5kdO3YIQEyaNKnQNg0cOFC0b99eqKrqd3/79u3F4MGDfba9/fbbIiQkRCiKIoTwvWYexo8fL5o0aeL9fO+994ratWv7fGcvv/yyuOaaawqt4yE+Pl689dZbPts81+T777/3u91z7caOHSu6d+/uU0ZRFBEfHy8+/PBDIYR27wwbNsxv/3X8o49UdPyyZ88eZFnmxhtv9G6TJImbbrqJPXv2+JTt0qWLz+euXbv6uBDy07x5c4YOHUq7du3o0KEDr7/+OqNHj2bSpEk+rpNASEhIwGj8KzQYFxfH9ddf7xO3iIuL4/z58z71Wrdu7fM5Li6Oli1bFtiWv56HgwcP4na76dy5s8/2/J8BWrRogc1m89l26NAhHnjgAa677jrCwsKIiIggNze32BFJYeTtT3x8PADnzp0DYO/evbRo0YKQkBCf8vnblJ9t27bRu3dvJEnyu3/v3r1069bNZ1v37t3JysoqcT8SEhJ8vrP4+Hhv+0tLx44di9y/ZcsW1q9fT0hIiPcvLCyMpKQkDh06BMDTTz/N7NmzadWqFaNHj2bp0qUIXYO3SPRAvU6JEEIU+pDJW6akdO3alUmTJnHx4sUSBcTzB70lSfK7Lb+xKm29/BR3LQCCg4MLbOvTpw/169fno48+Ij4+HrPZTIcOHXA6ncUezx9ms7lAm/K2PZB2+qO4evn3e757z3ZZlgvcDy6Xq8Bx8rbfU7+kLxj58Xfd86KqKrfffjuTJ08usM8zaeSOO+7g5MmTLFmyhFWrVnHvvffSoUMHFi9ejCzr7+T+0K+Kjl8SEhJQVZV169Z5twkhWL9+PQkJCT5lN23a5PN548aNXH/99SU6344dOwgNDSU8PLz0ja5AGjdujNFoZOPGjT7b818Lf5w5c4YjR47w4osv0rt3b5o1a4Ysyz4xDoPBgMFg8MYvykKzZs34448/yM7O9m7btWsXubm5RdZr165dkW/mzZo1Y82aNT7bfv31V0JDQ6lXrx6gTcb4888/fcrkDfQHitls9nstCtseCO3bt2f37t3Uq1ePhg0b+vzFxMR4y8XExPDggw/yySef8PPPP7Ns2TKOHDlSqnNeDehGRccvCQkJ3HHHHQwdOpTly5ezb98+/vnPf3L48GGeeeYZn7Iffvgh33//PQcPHmTcuHHs3LmTESNGFHrsSZMmMXfuXA4cOMCBAweYMmUK//nPfxgxYkSFTWcuK5GRkTz66KOMHTuWRYsWceDAAcaMGcOxY8eKfbuvUaMGERERfPzxxxw6dIj169czePBgn9lvkiRRv359Vq5cSVJSEikpKaVu68MPP4zRaOThhx9m9+7dbNy4kSeeeAKLxVJkW8eNG8fvv//OI488wrZt2zh8+DDffvstW7ZsAeD555/n66+/ZvLkyRw6dIivv/6aN998k7Fjx3rf4nv16sWiRYv46aefOHToEK+//rq3fkm49tprOXXqFFu3buXChQteg3jttdeydu1aTp8+zYULF0o0Sh45ciRZWVkMGDCA9evXc/z4cdauXcu4cePYunUroAXq586dy8GDBzlw4ADffPMNYWFhXhejTkF0o6JTKLNnz6Z79+7cd999tG7dmu3bt7No0SIaNGjgU27ixIm8//77tGzZku+//56vv/66QHwiL06nkzFjxtC6dWs6derE119/zYcffshrr712ubtUrkydOpXevXtzzz330LlzZxwOBw888ECxU6NNJhNz5sxh9+7dtGjRgscff5yxY8cWWJT37rvvsm7dOurXr1+mh1hYWBgLFizgxIkTtGvXjkceeYTnn38ei8VSZFvbtWvHqlWrOHXqFN26daNNmzZMmzbNG8MaMGAAH330Ef/9739JSEhg7NixjBo1inHjxnmPMXToUIYMGcKwYcPo2LEjKSkpPPHEEyXuw6BBg7jzzjtJTEwkNjaW9957D4A33niDs2fP0qhRI2JjY0sUh4mPj2fjxo2EhIRw11130aRJEwYPHsyff/5JzZo1AW0kNH78eNq0aUOnTp04dOgQS5YsISgoqMR9uFqQhB510ikl+/fv5/rrr2fLli20b9++sptTJejatSvXXnstX331VWU3pUgOHjxIkyZNWLp0Kb17967s5uhcQeiBeh2dUrJjxw727NlDp06dsNvtzJo1i40bNzJhwoTKbloBPvvsM6699lrq16/P0aNHGTNmDA0bNuTmm2+u7KbpXGHoRkVHpwxMmzaN/fv3A3D99dezYMECevToUcmtKkhycjKvvfYaf/75J9HR0dx0001Mnjy5TJIxOjr+0N1fOjo6Ojrlhh6o19HR0dEpN3SjoqOjo6NTblz1MZX8C7OqKzExMVdM8qErpS9XSj9A70tVpDL7Ubt27UL36SMVHR0dHZ1yQzcqOjo6Ojrlhm5UdHR0dHTKjat+SnH+mIoQArvdjqqqpVZ2rQwsFgsOh6Oym1EuXCl9uVL6AXpfqiJ5+yGEQJZlrFZrhTy3ioqpXPWB+vzY7XZMJpNPjo7qgNForDZijMVx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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_cn_sort=df_can.sort_values(by='Total',ascending=False)\n",
"df_cn_sort=df_cn_sort.head(5)\n",
"df_top5=df_cn_sort[years].transpose()\n",
"df_top5.plot(kind='line')\n",
"\n",
"plt.title('Top 5 Immigrating counttries')\n",
"plt.ylabel('Number of Immigrants')\n",
"plt.xlabel('Years')\n",
"\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"jupyter": {
"source_hidden": 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,
"jupyter": {
"source_hidden": 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 &copy; 2019 [Cognitive Class](https://cognitiveclass.ai/?utm_source=bducopyrightlink&utm_medium=dswb&utm_campaign=bdu). This notebook and its source code are released under the terms of the [MIT License](https://bigdatauniversity.com/mit-license/)."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python",
"language": "python",
"name": "conda-env-python-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment