{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img src=\"http://www.nserc-crsng.gc.ca/_gui/wmms.gif\" alt=\"Canada logo\" align=\"right\">\n",
    "\n",
    "<br>\n",
    "\n",
    "<img src=\"http://www.triumf.ca/sites/default/files/styles/gallery_large/public/images/nserc_crsng.gif?itok=H7AhTN_F\" alt=\"NSERC logo\" align=\"right\" width = 90>\n",
    "\n",
    "\n",
    "\n",
    "# Exploring NSERC Awards Data\n",
    "\n",
    "\n",
    "Canada's [Open Government Portal](http://open.canada.ca/en) includes [NSERC Awards Data](http://open.canada.ca/data/en/dataset/c1b0f627-8c29-427c-ab73-33968ad9176e) from 1995 through 2016.\n",
    "\n",
    "The awards data (in .csv format) were copied to an [Amazon Web Services S3 bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html). This open Jupyter notebook shows the large trends over the data and compares entire selections with each other.\n",
    "\n",
    "> **Acknowledgement:** I thank [Ian Allison](https://github.com/ianabc) and [James Colliander](http://colliand.com) of the [Pacific Institute for the Mathematical Sciences](http://www.pims.math.ca/) for building the [JupyterHub service](http://syzygy.ca) and for help with this notebook. -- I. Heisz"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "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\n",
      "2014\n",
      "2015\n",
      "2016\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Index(['Name', 'Department', 'OrganizationID', 'Institution', 'ProvinceEN',\n",
       "       'CountryEN', 'FiscalYear', 'AwardAmount', 'ProgramID', 'Committee'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import sys\n",
    "\n",
    "## Bring in a selection of the NSERC awards data starting with 1995 and ending with 2016.\n",
    "## Throw away as much as you can to keep the DataFrame small enough to manipulate using a laptop.\n",
    "\n",
    "df = pd.DataFrame()\n",
    "\n",
    "startYear = 1995\n",
    "endYear   = 2017  # The last year is not included, so if it was 2017 it means we include the 2016 collection but not 2017.\n",
    "\n",
    "for year in range(startYear, endYear):\n",
    "    file = 'https://s3.ca-central-1.amazonaws.com/open-data-ro/NSERC/NSERC_GRT_FYR' + str(year) + '_AWARD.csv.gz'\n",
    "    df = df.append(pd.read_csv(file, \n",
    "                               compression='gzip', \n",
    "                               usecols = [1, 2, 3, 4, 5, 7, 9, 11, 12, 17], \n",
    "                               encoding='latin-1'\n",
    "                              )\n",
    "                  )\n",
    "    print(year)\n",
    " \n",
    "## Rename columns for better readability.\n",
    "df.columns = ['Name', 'Department', 'OrganizationID',\n",
    "                 'Institution', 'ProvinceEN', 'CountryEN',\n",
    "                 'FiscalYear', 'AwardAmount', 'ProgramID',\n",
    "                 'Committee'] \n",
    "\n",
    "## Strip out any leading or trailing whitespace\n",
    "df.columns.str.strip()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "DataFrame: 207.20 Mb\n"
     ]
    }
   ],
   "source": [
    "## Quantify data stored in memory.\n",
    "print(\"DataFrame: {:4.2f} Mb\".format(sys.getsizeof(df) / (1024. * 1024)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Check the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Name              457894\n",
      "Department        457677\n",
      "OrganizationID    457896\n",
      "Institution       457896\n",
      "ProvinceEN        454115\n",
      "CountryEN         457896\n",
      "FiscalYear        457896\n",
      "AwardAmount       457896\n",
      "ProgramID         457896\n",
      "Committee         457896\n",
      "dtype: int64\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Name</th>\n",
       "      <th>Department</th>\n",
       "      <th>OrganizationID</th>\n",
       "      <th>Institution</th>\n",
       "      <th>ProvinceEN</th>\n",
       "      <th>CountryEN</th>\n",
       "      <th>FiscalYear</th>\n",
       "      <th>AwardAmount</th>\n",
       "      <th>ProgramID</th>\n",
       "      <th>Committee</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>16700</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Head Office</td>\n",
       "      <td>11846</td>\n",
       "      <td>Pacific Institute for the Mathematical Sciences</td>\n",
       "      <td>British Columbia</td>\n",
       "      <td>CANADA</td>\n",
       "      <td>1999</td>\n",
       "      <td>40373</td>\n",
       "      <td>MISPJ</td>\n",
       "      <td>103</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16701</th>\n",
       "      <td>NaN</td>\n",
       "      <td>Head Office</td>\n",
       "      <td>14687</td>\n",
       "      <td>National Engineering Week</td>\n",
       "      <td>Ontario</td>\n",
       "      <td>CANADA</td>\n",
       "      <td>1999</td>\n",
       "      <td>7500</td>\n",
       "      <td>MISPJ</td>\n",
       "      <td>103</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Name   Department  OrganizationID  \\\n",
       "16700  NaN  Head Office           11846   \n",
       "16701  NaN  Head Office           14687   \n",
       "\n",
       "                                           Institution        ProvinceEN  \\\n",
       "16700  Pacific Institute for the Mathematical Sciences  British Columbia   \n",
       "16701                        National Engineering Week           Ontario   \n",
       "\n",
       "      CountryEN  FiscalYear  AwardAmount ProgramID  Committee  \n",
       "16700    CANADA        1999        40373    MISPJ         103  \n",
       "16701    CANADA        1999         7500    MISPJ         103  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# missing column info check\n",
    "columnAmounts = df.count()\n",
    "print(str(columnAmounts))\n",
    "\n",
    "#\n",
    "missingData = pd.DataFrame()\n",
    "missingData.append(df.loc[(df['Name'].isnull())])\n",
    "#missingData.append(df.loc[(df['Department'].isnull())])\n",
    "#missingData.append(df.loc[(df['ProvinceEN'].isnull()) & (df['CountryEN'] == 'CANADA')])\n",
    "\n",
    "# \n",
    "# df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Information about the Distribution of Wealth Among Researcher's Funding"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# If you do more than one year at a time you risk crashing the kernel, \n",
    "# the distribution is very similar year to year.\n",
    "year = 2016 # Year you want to select for\n",
    "selectedYearData = df.loc[(df['FiscalYear'] == year)] # Gets the data for the selected year\n",
    "\n",
    "# The sum of all awards that each individual has received (during the selected year)\n",
    "individualAwardSum = selectedYearData.groupby(['Name'])['AwardAmount'].transform('sum')\n",
    "\n",
    "# Make a new column to show each researchers total awards received\n",
    "selectedYearData = selectedYearData.assign(TotalAward = individualAwardSum)\n",
    "\n",
    "# Drop the duplicate names, now that we have the award amount info from them.\n",
    "deduplicatedData = selectedYearData.drop_duplicates(subset = 'Name')\n",
    "\n",
    "# Sort by total award for the given year\n",
    "byAwardAmount = deduplicatedData.sort_values(by=['TotalAward'], ascending=[True])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The mean of AwardAmount is 38118.8182775\n",
      "The median of AwardAmount is 21000.0\n",
      "The standard deviation of AwardAmount is 141524.555172\n"
     ]
    }
   ],
   "source": [
    "## Statistical information about a specific column in the data\n",
    "\n",
    "# Change this value to get information about the column you are interested in\n",
    "columnYouWantInformationOn = 'AwardAmount'\n",
    "\n",
    "mean = df[columnYouWantInformationOn].mean()\n",
    "print('The mean of ' + str(columnYouWantInformationOn) + ' is ' + str(mean))\n",
    "\n",
    "median = df[columnYouWantInformationOn].median()\n",
    "print('The median of ' + str(columnYouWantInformationOn) + ' is ' + str(median))\n",
    "\n",
    "standardDeviation = df[columnYouWantInformationOn].std()\n",
    "print('The standard deviation of ' + str(columnYouWantInformationOn) + ' is ' + str(standardDeviation))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Wealth Distribution Plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\r\n",
      "Usage:   \r\n",
      "  pip install [options] <requirement specifier> [package-index-options] ...\r\n",
      "  pip install [options] -r <requirements file> [package-index-options] ...\r\n",
      "  pip install [options] [-e] <vcs project url> ...\r\n",
      "  pip install [options] [-e] <local project path> ...\r\n",
      "  pip install [options] <archive url/path> ...\r\n",
      "\r\n",
      "no such option: --user:\r\n"
     ]
    }
   ],
   "source": [
    "## Imports For Plotting\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.ticker as mtick\n",
    "!pip3 install plotly --user: #Plotly for interactive graphing\n",
    "import plotly.plotly as py\n",
    "import plotly.graph_objs as go"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fb3c35ed320>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## Note: this is a static plot with hardcoded variables which are not meant to be changed.\n",
    "## It is also processing a lot of data so it may take a minute.\n",
    "\n",
    "axes = plt.gca() # creates the axes\n",
    "\n",
    "## y axis\n",
    "yAxis = 'AwardAmount'\n",
    "y = byAwardAmount[yAxis]\n",
    "y = y/10**6 # scales y\n",
    "plt.ylabel(yAxis+' In Millions', fontsize=18) # y axis label\n",
    "\n",
    "## x axis\n",
    "x = range(byAwardAmount.shape[0])\n",
    "plt.xlabel('IndividualResearchers', fontsize=16) # x axis label\n",
    "axes.set_xticklabels([]) # make it so the x axis is not numbered\n",
    "\n",
    "plt.title(str(year) + ' NSERC Funding Distribution') # plot title\n",
    "plot = plt.scatter(x, y, s=1, alpha=0.3) # make the plot\n",
    "plt.show() # draw the plot"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}