{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## BC Liberal Party Donations in 2016-2017" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The BC Liberal Party [disclosed donations](https://www.bcliberals.com/realtime-disclosure/) received during the run-up to the 41st British Columbia general election held May 9, 2017. The data was shared in the form of PDF files containing donations during time intervals of varying length. In this format, the disclosed donations data is not presented for easy analysis using a computer.\n", "\n", "Disclosed donations data were munged into CSV format. The collection is available as an [open Google docs spreadsheet](https://docs.google.com/spreadsheets/d/1K26qXaaKPaXV4FAmce9W7xX_lCy2RGfDSBO2lwRxfkA/edit?usp=sharing).\n", "\n", "\"BC \n", "\n", "This notebook explores the donations data and achieves the following objectives:\n", "\n", "* Plot Donations vs. Time. \n", "* List the top donors by accumulating across all disclosed transactions.\n", "* Identify all donors matching a `string`.\n", "* Explore donations made by UBCBoG members.\n", "\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Set up some tools" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "from datetime import *\n", "from dateutil.relativedelta import *\n", "import calendar\n", "from dateutil.rrule import *\n", "from dateutil.parser import *\n", "import matplotlib.pyplot as plt \n", "from bokeh.plotting import output_notebook" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# from bokeh.plotting import figure, output_notebook, show\n", "# from holoviews import Bar\n", "# from bokeh.models import DatetimeTickFormatter" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof (root._bokeh_onload_callbacks) === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " var JS_MIME_TYPE = 'application/javascript';\n", " var HTML_MIME_TYPE = 'text/html';\n", " var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " var CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " var script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " var cell = handle.cell;\n", "\n", " var id = cell.output_area._bokeh_element_id;\n", " var server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id !== undefined) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd, {\n", " iopub: {\n", " output: function(msg) {\n", " var element_id = msg.content.text.trim();\n", " Bokeh.index[element_id].model.document.clear();\n", " delete Bokeh.index[element_id];\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[0].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[0].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[0]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " var NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " var el = document.getElementById(\"5836eb67-d12d-4708-af4f-5274c125fbba\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n", " }\n", " finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.info(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(js_urls, callback) {\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = js_urls.length;\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var s = document.createElement('script');\n", " s.src = url;\n", " s.async = false;\n", " s.onreadystatechange = s.onload = function() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: all BokehJS libraries loaded\");\n", " run_callbacks()\n", " }\n", " };\n", " s.onerror = function() {\n", " console.warn(\"failed to load library \" + url);\n", " };\n", " console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.getElementsByTagName(\"head\")[0].appendChild(s);\n", " }\n", " };var element = document.getElementById(\"5836eb67-d12d-4708-af4f-5274c125fbba\");\n", " if (element == null) {\n", " console.log(\"Bokeh: ERROR: autoload.js configured with elementid '5836eb67-d12d-4708-af4f-5274c125fbba' but no matching script tag was found. \")\n", " return false;\n", " }\n", "\n", " var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.14.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.14.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.14.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-0.12.14.min.js\"];\n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " \n", " function(Bokeh) {\n", " \n", " },\n", " function(Bokeh) {\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-0.12.14.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.14.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.14.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.14.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.14.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.14.min.css\");\n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if ((root.Bokeh !== undefined) || (force === true)) {\n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " var cell = $(document.getElementById(\"5836eb67-d12d-4708-af4f-5274c125fbba\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(js_urls, function() {\n", " console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof (root._bokeh_onload_callbacks) === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"5836eb67-d12d-4708-af4f-5274c125fbba\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n }\n finally {\n delete root._bokeh_onload_callbacks\n }\n console.info(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(js_urls, callback) {\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = js_urls.length;\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var s = document.createElement('script');\n s.src = url;\n s.async = false;\n s.onreadystatechange = s.onload = function() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.log(\"Bokeh: all BokehJS libraries loaded\");\n run_callbacks()\n }\n };\n s.onerror = function() {\n console.warn(\"failed to load library \" + url);\n };\n console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.getElementsByTagName(\"head\")[0].appendChild(s);\n }\n };var element = document.getElementById(\"5836eb67-d12d-4708-af4f-5274c125fbba\");\n if (element == null) {\n console.log(\"Bokeh: ERROR: autoload.js configured with elementid '5836eb67-d12d-4708-af4f-5274c125fbba' but no matching script tag was found. \")\n return false;\n }\n\n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.14.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.14.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.14.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-0.12.14.min.js\"];\n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n \n function(Bokeh) {\n \n },\n function(Bokeh) {\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-0.12.14.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-0.12.14.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.14.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.12.14.min.css\");\n console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.14.min.css\");\n Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-tables-0.12.14.min.css\");\n }\n ];\n\n function run_inline_js() {\n \n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"5836eb67-d12d-4708-af4f-5274c125fbba\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(js_urls, function() {\n console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "output_notebook()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Source data: \n", "https://docs.google.com/spreadsheets/d/1K26qXaaKPaXV4FAmce9W7xX_lCy2RGfDSBO2lwRxfkA/edit?usp=sharing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import the data" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "## Import multisheet Google doc in as an Excel file.\n", "xl = pd.ExcelFile('https://docs.google.com/spreadsheets/d/1K26qXaaKPaXV4FAmce9W7xX_lCy2RGfDSBO2lwRxfkA/export?format=xlsx&id', \n", " )" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xl" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Copy-of-2016-Contributions-v4',\n", " '2017-Contributions-June-2',\n", " '2017-Contributions-May-26-2017',\n", " '2017-Contributions-May-19',\n", " '2017-Contributions-May-12',\n", " '2017-Contributions-May-5',\n", " '2017-Contributions-April-28-201',\n", " '2017-Contributions-April-21',\n", " '2017-Contributions-April-14',\n", " '2017-Contributions-April-7',\n", " '2017-Contributions-March-31-201',\n", " '2017-Contributions-March-23',\n", " '2017-Contributions-—-March-17-2',\n", " '2017-Contributions-March-10',\n", " '2017-Contributions-March-3-2017',\n", " '2017-Contributions-_-February-2',\n", " '2017-Contributions-February-17',\n", " 'Copy-of-2017-Contributions-Janu',\n", " 'Sheet2',\n", " '2017-Contributions-—-February-3',\n", " '2017-Contributions-—-February-1',\n", " 'Real-Time-Donations-Jan-25V3']" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## List the names of the sheets in the imported Excel file.\n", "## The sheet names correspond to the filenames used to label the disclosed files.\n", "xl.sheet_names" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "## Make a dictionary of Pandas Dataframes for each sheet\n", "dict = pd.ExcelFile.parse(xl, sheetname=None)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "## Merge the data frames in the dictionary into a single large data frame.\n", "## The `df` file contains the list of disclosed BC Liberal Party data in the form of a Pandas Dataframe.\n", "df = pd.concat(dict)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Amount
count29509.000000
mean628.985388
std2279.642803
min0.000000
25%36.000000
50%100.000000
75%300.000000
max85000.000000
\n", "
" ], "text/plain": [ " Amount\n", "count 29509.000000\n", "mean 628.985388\n", "std 2279.642803\n", "min 0.000000\n", "25% 36.000000\n", "50% 100.000000\n", "75% 300.000000\n", "max 85000.000000" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## List descriptive statistics of the collection of all donations.\n", "df.describe()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "## Convert Date to a better Format for ordering\n", "df['datetime'] = pd.to_datetime(df['Date'])" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "15306" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Number of unique Donor Names\n", "len(df['Donor Name'].unique())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There were 29,509 donation transactions reported. These donations were made by 15,306 unique donors. The `mean` donation is \\$628.99 with a maximum single donation of \\$85,000." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "18560729.800000001" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Calculate total amount donated.\n", "df['Amount'].sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Donation Total: \\$18,560,729.80" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyze donations vs. time" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEICAYAAAC0+DhzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvFvnyVgAAIABJREFUeJzsvXt8VOWd+P9+ZjJJSIBAQgRCAiGJEhWjEQiKUhD6wwvtWtrd1uINi1jZ+rW7bn9fFbbVtYu6261tqVYKIlgLtq4Va40gLQgCsQnQlIgaIIORhABOLkxCwuQy83z/OBfOXJJM7pPwvF+vvJI5OXOe2znn8zyf2yOklCgUCoVCYcU20BVQKBQKReShhINCoVAoglDCQaFQKBRBKOGgUCgUiiCUcFAoFApFEEo4KBQKhSIIJRwUCoVCEYQSDgqFQqEIQgkHhUKhUAQRNdAV6C5jxoyR6enpA10NhUKhGDQcPHiwWkqZHM65g1Y4pKenc+DAgYGuhkKhUAwahBCfh3uuUispFAqFIgglHBQKhUIRhBIOCoVCoQhi0NocQtHa2kplZSUej2egqxLRxMbGkpqaisPhGOiqKBSKCGVICYfKykpGjBhBeno6QoiBrk5EIqWkpqaGyspKJk+ePNDVUSgUFtbsdpKTmsCszDHmsQJnNSWVbh6ck9mvdRlSaiWPx0NSUpISDB0ghCApKUmtrhSKCCQnNYGHNhdT4KwGNMHw0OZiclIT+r0uQ2rlACjBEAaqjxSKyGRW5hieX5zLQ5uLuWvmRH5beILnF+f6rST6iyG1clAoFIrBzqzMMdw1cyKrd5Zx18yJAyIYQAmHPmHLli0IISgtLR2wOvz85z+nqalpwMpXKBTdo8BZzW8LT/DwvCx+W3jCVDH1NxetcFiz2xnU6QXOatbsdvb42q+99ho33ngjv/vd73p8re6ihINCMfgwbAzPL87lkQVTTBXTQAiIi1Y49JXh59y5c+zbt4/169ebwmHXrl3MmTOHb37zm1x22WU89thjbNq0iby8PK666iqcTk0gff7558yfP5+cnBzmz5/PiRMnAFiyZAlvvPGGWcbw4cPN686dO5d//Md/JDs7mzvvvBMpJatXr6aqqoqbbrqJm266qUftUSgU/UdJpdvPxmDYIEoq3f1fGSnloPyZNm2aDOSTTz4JOtYR+8pcMvep7fKn75XK3Ke2y31lri59PxSvvvqq/M53viOllPL666+XBw8elO+//75MSEiQVVVV0uPxyJSUFPmjH/1ISinlz3/+c/n9739fSinlV77yFblx40YppZTr16+Xt99+u5RSynvvvVf+7//+r1lGfHy8lFLK999/X44cOVJWVFRIr9crr7vuOrlnzx4ppZSTJk2SLlf77elqXykUisEPcECG+Y69aFcO0DeGn9dee4077rgDgDvuuIPXXnsNgBkzZjB+/HhiYmLIzMxkwYIFAFx11VWUl5cD8OGHH7J48WIA7r77bvbu3dtpeXl5eaSmpmKz2bjmmmvMaykUCkVPGHKurF0h0PBzXWZSjwRETU0NO3fu5PDhwwgh8Hq9CCG47bbbiImJMc+z2WzmZ5vNRltbW8jrGS6nUVFR+Hw+QFvptbS0mOdYr2u329u9lkKhUHSFsFYOQoh/FUJ8LIQ4LIR4TQgRK4SYLIQoFEIcE0L8XggRrZ8bo38u0/+fbrnO4/rxI0KImy3Hb9GPlQkhHuvtRoaiLww/b7zxBvfccw+ff/455eXlVFRUMHny5LBWAACzZs0y7RSbNm3ixhtvBLT05AcPHgTgj3/8I62trZ1ea8SIETQ0NHSzJQqF4mKnU+EghJgAPAxMl1JOBezAHcB/AT+TUl4K1AFL9a8sBeqklFnAz/TzEEJcoX/vSuAW4FdCCLsQwg68ANwKXAF8Wz+3T+kLw89rr73GokWL/I594xvfYPPmzWF9f/Xq1WzYsIGcnBxeffVVfvGLXwCwbNkydu/eTV5eHoWFhcTHx3d6rQceeIBbb71VGaQVCkW3EJqNooMTNOHwV+BqoB54C/glsAkYJ6VsE0JcDzwppbxZCPGe/veHQogo4DSQDDwGIKV8Rr/ue8CTejFPSilv1o8/bj2vPaZPny4DN/v59NNPufzyy8Ns+sWN6iuF4uJDCHFQSjk9nHM7XTlIKU8C/wOcAE4BbuAgcFZKaSi4K4EJ+t8TgAr9u236+UnW4wHfae+4QqFQKAaIcNRKo4HbgclAChCPpgIKxFiChErcI7txPFRdHhBCHBBCHHC5XJ1VXaFQKBTdJByD9JeBz6SULillK/AmMAsYpauNAFKBKv3vSiANQP9/AlBrPR7wnfaOByGlXCulnC6lnJ6cHHqP7M7UZArVRwqFonPCEQ4ngOuEEHFC862cD3wCvA/8o37OvcAf9b/f1j+j/3+nHnzxNnCH7s00GbgUKAL2A5fq3k/RaEbrt7vTmNjYWGpqatTLrwOkvp9DbGzsQFdFoVBEMJ3GOUgpC4UQbwB/A9qAYmAtkA/8Tgjxn/qx9fpX1gOvCiHK0FYMd+jX+VgI8TqaYGkDviel9AIIIR4C3kPzhHpZSvlxdxqTmppKZWUlSuXUMcZOcAqFQtEenXorRSqhvJUUCoVC0T696q2kUCgUiosPJRwUCoVCEYQSDgrFEKQv9ytRDCz9NbZKOCgUQ5BI2qhe0bv019gqg7RCMUQxXhoDvVG9ovfp7tgqg7RCoYiYjeoVvU9/jK0SDgrFECVSNqpX9D79MbZKOCgUQ5BI2qhe0bv019gq4aBQDEEiaqN6Ra/SX2OrDNIKhUJxkaAM0gqFQqHoEUo4KBQKhSIIJRwUCoVCEYQSDgqFQqEIQgkHhUKhUAShhINCoVAoglDCQaFQKBRBKOGgUCgUiiCUcFAoFApFEEo4KBQKhSIIJRwUCoVCEYQSDgqFQqEIQgkHhUKhUAShhINCoVAoglDCQaFQKBRBKOGgUCgUiiCUcFAoFApFEEo4KBQKhSIIJRwUCoVCEYQSDgqFQqEIQgkHhUKhUAShhINCoVAoglDCQaFQKBRBhCUchBCjhBBvCCFKhRCfCiGuF0IkCiH+LIQ4pv8erZ8rhBCrhRBlQogSIcS1luvcq59/TAhxr+X4NCHER/p3VgshRO83VaFQKBThEu7K4RfANillNnA18CnwGLBDSnkpsEP/DHArcKn+8wDwIoAQIhF4ApgJ5AFPGAJFP+cBy/du6VmzFIoLrNntpMBZ7XeswFnNmt3OAaqRQhH5dCochBAjgS8B6wGklC1SyrPA7cAr+mmvAF/T/74d+I3U+CswSggxHrgZ+LOUslZKWQf8GbhF/99IKeWHUkoJ/MZyLYWix+SkJvDQ5mJTQBQ4q3loczE5qQkDXDOFInKJCuOcDMAFbBBCXA0cBL4PjJVSngKQUp4SQlyinz8BqLB8v1I/1tHxyhDHFYpeYVbmGJ5fnMtDm4u5a+ZEflt4gucX5zIrc8xAV02hiFjCUStFAdcCL0opc4FGLqiQQhHKXiC7cTz4wkI8IIQ4IIQ44HK5Oq61QmFhVuYY7po5kdU7y7hr5kQlGBSKTghHOFQClVLKQv3zG2jC4oyuEkL//YXl/DTL91OBqk6Op4Y4HoSUcq2UcrqUcnpycnIYVVcoNAqc1fy28AQPz8vit4UngmwQCoXCn06Fg5TyNFAhhJiiH5oPfAK8DRgeR/cCf9T/fhu4R/daug5w6+qn94AFQojRuiF6AfCe/r8GIcR1upfSPZZrKRQ9xrAxPL84l0cWTDFVTEpAKBTtE47NAeD/AJuEENHAceA+NMHyuhBiKXAC+Cf93HeB24AyoEk/FyllrRDix8B+/bynpJS1+t/LgY3AMGCr/qNQ9AollW4/G4NhgyipdCv1kkLRDkJzEBp8TJ8+XR44cGCgq6FQKBSDBiHEQSnl9HDOVRHSCoVCoQhCCQeFQqFQBKGEg0KhUCiCUMJBoVAoFEEo4aBQKBSKIJRwUCgUCkUQSjgoFAqFIgglHBQKhUIRhBIOCoVCoQhCCQeFQqFQBKGEg0KhUCiCUMJBoVAoFEEo4aBQKBSKIIaccIiEzeT7qw6R0Na+Zqi3cai3b6jSn+O2ZEMR6/ZcuO6a3U5WbilhyYaiPi17yAmHSNhMvr/qEAlt7WuGehuHevuGKv05bjdkJfF0fqkpICpqG9lUWMGEUbF9WvaQ3M/B6KyB3Ey+v+oQCW3ta4Z6G4d6+4Yq/Tlu6/Y4eTq/lBnpo9lfXsfimWlsPXymy2Vf9Ps5RMJm8v1Vh0hoa18z1Ns41Ns3VOnPcVs2O5MZ6aMpKq9jRvpoVi3K6fOyh6RwiITN5PurDpHQ1r5mqLdxqLdvqNKf47Zuj5P95XXk6SuHlVtK+r5sKeWg/Jk2bZoMxb4yl8x9arvcV+YK+bk/6K86REJb+5qh3sah3r6hSn+O29oPymT6o+/ItR+USSmlXPHmITnp0XfkijcPdbls4IAM8x075FYOHW0mP9TqEAlt7WuGehuHevuGKv05bvvKalixMJtlszMBSEuM586ZaZw86+nTsoekQVqhUCgUwVz0BmmFQqFQ9AwlHBQKhUIRhBIOCoVCoQhCCQeFQqFQBKGEg0KhUCiCUMJBoVAoFEEo4aBQKBSKIJRwUCgUCkUQSjgoFAqFIgglHBQKhUIRhBIOCoVCoQhCCQeFQqFQBBG2cBBC2IUQxUKId/TPk4UQhUKIY0KI3wshovXjMfrnMv3/6ZZrPK4fPyKEuNly/Bb9WJkQ4rHea55CoVAoukNXVg7fBz61fP4v4GdSykuBOmCpfnwpUCelzAJ+pp+HEOIK4A7gSuAW4Fe6wLEDLwC3AlcA39bPjXgCN/4GbVMO68bfCoVi6LFmtzNog50CZzVrdjvb+cbgKMtKWMJBCJEKLARe0j8LYB7whn7KK8DX9L9v1z+j/3++fv7twO+klM1Sys+AMiBP/ymTUh6XUrYAv9PPjXgCN/429nm9IStpgGumUCj6kpzUBB7aXGy+tI39pHNSEwZ1WVaiwjzv58D/BUbon5OAs1LKNv1zJTBB/3sCUAEgpWwTQrj18ycAf7Vc0/qdioDjM7vQhgHD2Hzj6fxS/vzxGfaX1/ltyqFQKIYmxgY7D20u5q6ZE/lt4Qm/zX8Ga1lWOl05CCG+AnwhpTxoPRziVNnJ/7p6PFRdHhBCHBBCHHC5XB3Uuv8I3PhbCQaF4uJgVuYY7po5kdU7y7hr5sQ+fVn3Z1kG4aiVbgD+QQhRjqbymYe2khglhDBWHqlAlf53JZAGoP8/Aai1Hg/4TnvHg5BSrpVSTpdSTk9OTg6j6n1P4MbfgTYIhUIxNClwVvPbwhM8PC+L3xaeCLILDNayTMLdbFrfTnQu8I7+9/8Cd+h/rwH+Wf/7e8Aa/e87gNf1v68EDgExwGTgOGBHU20d149F6+dc2Vldpk2b1qVNuvuCwI2/Az8rFIqhyWN/OCSnPrFN7itzSSml3FfmklOf2CYf+8OhXi9rX5lL5j613a8s6+euAByQYb7vexLn8CjwiBCiDM2msF4/vh5I0o8/AjymC6GPgdeBT4BtwPeklF6p2S0eAt5D84Z6XT834gnc+HvZ7ExWLMxmX1nNANdMoVAMFUoq3X42BsMGUVLp7tNyhSZMBh/Tp0+XBw4cGOhqKBSKixTDa6g/jcQ9RQhxUEo5PZxzVYS0QqFQdIOBMBL3J0o4KBQKRTcYECNxPzLkhMNARRNGWh0UCkXfYaiUnl+cyyMLpphxCH0hICI6QnowMVDRhJFWB4VC0Xf0p5F4oN4nQ9IgHQmGokioQ7is2e0kJzXBr34FzmpKKt08OEcF9SkUA01vvU8ueoN0JBiKIqEO4aJWOgpFZBOpEdKDjkgwFPVGHfpL12jN3fLc9iOmLjWSBZpCcTExEO+0IScc+tNQ1Nd16M8Z/WBa6SgUFxMD9U4bcsJhoKIJ+6IO/Tmjj4TVlkKhCEZFSHeRiylC+rntR1i9s4yH52XxyIIpvX5968xkVuaYoM8KhWJocNEbpIcS/TGjj4TVlkKhiCzUyiGCGQozeuUmq1BEDmrlMEQYCjN65SarUAxOlHDoAfP+Zxcrt5T4HVu5pYR5/7OrV67/4JzMoBXCrMwxg2rGrdxkFUORgUyRE07ZSzYUBW08tm6Pk6jECVnhlqOEQw+4PjORTYUVpoBYuaWETYUVXJ+ZOMA1iyyUm6xiqNFfK+JQgsBug6UbD3RY9g1ZSTydX2oKiHV7nDydX4psOV8fbtlRnZ+iaI9Vi3IA2FRYwfulLqrcHu6cmWYeV2gEGtWvy0xSAkIxqLGuiPsyRY4hhKx2xxd3HeeRBZd2WLaxAdnT+aX8+eMz7C+vY8XCbB74r9ovwi1bCYcesmpRjikYUhJilWAIINCIfl1mklItKYYE1hXxw/Oy+uR+7kgINZxv67DsZbMz+fPHZyjS97hfNjuTB7pQtlIr9ZCVW0pMwVDl9gTZILrDUEr5PRSM6gpFKPorcDSUWjacstftcbJfFwz7y+uCbBCdEu5m05H2M23atC5vrt3brHjzkJz06DtyxZuHQn7uLr25obhCoeh9+vMZNa790/dKZe5T2+XaD8o6LXvtB2Uy/dF35NoPyvw+24cnnpBhvmOVWqkHfOis9bMxGL8/dNb26Lr9pc9UKBTdY+0Hx1k+N8NvRbx8bgZrPzjeq89pKLXs0o0HeGTBpSFX48axfWU1rFiYbdoejN//vG7YyHDLVkFwEUxfp81QKBTdo78CVHs7iLQrQXBKOEQog2mzIIXiYmQwPqMqQnqQEwlpxxUKRccM9fgdJRx6QHe9ijr7Xnc9fAbCy6mzMoeS51VXMdpu7QPr5/7sg74ah/YicZdsKAo67zsbi/zqsG6Pk9tf2Dso74U1u52s2+P08xhat8cZ1Jae9vua3U6uf2aHnxfk5MfzuXRFvl8mhlnP7CDj8fxOy7UPTxwbbhuVcOgB3Y2S7Ox73U2bMRB5jDor82LOrWS03W6DhzYXs26P0+9zf/ZBX41De5G4N2QlBZ23s9TF/a9okb3r9jhZlV/KsTPnBuW9YLdpAWbL52bwyIIpLJ+bwdP5pdgD3qg97fec1ARqzjWbmRgKnNVICa0+OO0+D2iCocrtYdzI2E7L9bV6msJto7I59JDu6h37Sl85EHrQzsocjLrZ3sJo+5zLxvBWcRVfy53A7qOuAemDvhoHQyDM0P3prV4ygeetyi8lyiZo80niou28dO/0QXkvrNntxG6DF3cdN/tz+dwMvD6CJnE97fcCZzVLXi6ixSsRgARi7IJm74V3d1K8g2VfyvQrO1S5N2QlK5tDf9FdvWNf6SsHQg/aWZlDXTfbEUbbtxRXMSN9NFuKTw5YH/TVOCybncmM9NEUldcxQ4/Ebe+8vPTRtPm0l9r9N04etPfCg3MyWTY7068/l83ODLm672m/W7UGEk0QxMc6/M6RiKDVSE/LVcKhh3Q3SrKvoisHYrvPzsq8mLcgNdq+KDeF/eV1LMqdMGB90FfjEG4k7ro9TorK64iyCQBe2vvZoL4Xwu3Pnva71UYhgJrGVho9rX7nCGTQy7/H4x1utFyk/URChPRjfzgkpz6xzS9SceoT2+Rjf+g4QrqvoisHIrK6szIv5mhvo61GRGvg7/7sg74ah/YicY3P1vMmPfqOvPyHW+W+MlfQ58FGuP3Z037fV+aSl67INzMv7CtzyUmPviMnPfqOzHhc+33lj7bKSY++I69/+i+dliti4o7IMN+xauUwAPRVvqGByGPUWZkXc24lo+1eHzy/OJdlszP9PvdnH/TVOISKxF2xMJt9ZTVB583LTjZtDMtmZ7JyYTaXjh0+KO+FcPuzp/1eUukmaXiMmYlhVuYYhAC7ACnh4XlZREfZSYp3cLre02m5NkdsXLhtVAbpHnIxG1sVCkX/05PobBUE148MdmPrxRyHoFAMRvprNa6EQw8Z7MbWizkOQaEYjPTX9sGdCgchRJoQ4n0hxKdCiI+FEN/XjycKIf4shDim/x6tHxdCiNVCiDIhRIkQ4lrLte7Vzz8mhLjXcnyaEOIj/TurhRCiV1vZRzz+ZgnfffUgzy/OJS4miuVzM/juqwd5/E0tmrHAWc2SDUV9NjO/9qntLN14IRJ1zW4ni17Yy7VPbQ+7LLXHc88ZyquvcNvW2XnhRlIPFoz9463tNvaP7+2xD9yrfsmGIha9sNcvQjqwL631Mvq+LyKk24B/k1JeDlwHfE8IcQXwGLBDSnkpsEP/DHArcKn+8wDwImjCBHgCmAnkAU8YAkU/5wHL924JtwGRQk5qAqt3lNHm9QEXZuA3ZCX12cw8d+IodpS6TAHx3uFTFFe4mZQU16WyBrtqbKAZyquvcNvW2XnhRlIPFoz94/d/VsNDm4tZurGITYUVTB4T1+tjH7hXvbupheIKNwnDtB0XQvWldTyMvl+6cX/fRkgLIf4IPK//zJVSnhJCjAd2SSmnCCF+rf/9mn7+EWCu8SOl/K5+/NfALv3nfSlltn7829bz2iMSDdIbCsoBuG9Wup9xui+N1ks3FrGj1MXwGDvnmr3kpiXwee35LpWljOo9Zyj3Ybht6+y8cCOpBwsrt5SwqbCCpHgHNY2tTJ0wkqqznj4Ze6MsY8fJ3LQE/l7h7rAvjfG4fNwI9pfX0uqVVL60/Fxr9YkR4ZTZJZuDECIdyAUKgbFSylMA+u9L9NMmABWWr1Xqxzo6XhnieKjyHxBCHBBCHHC5XF2pep9hnXXfNyud+2alB83A+3Jmvn5JnikYhsfY2fK9G7tUlsoA2zsM5dVXuG3r7LxwI6kHC6sW5ZCSEEtNYyvDY+wcPlnfZ2NvlGVsSbzlezd22pfGeOxz1mCzCS4bNxybI2Z4uGWGLRyEEMOBPwD/IqWs7+jUEMdkN44HH5RyrZRyupRyenJycmdV7hesBukNBeVsKCgPMk73pdF66cYiUzCca/ay6IW9XSrrYo5D6E0Gu2NCR/RWJHCP9zSOMIz945PiHZxr9jJ1wsg+G/vAveoXvbC30760jofPJzly+hzS29YSbplhCQchhANNMGySUr6pHz6jq5PQf3+hH68E0ixfTwWqOjmeGuJ4xGOddV+XeUHfd11mkjkDNzJx9sXM3FApzc9O5vB/3EJuWoJmc0gcFnZZ/eX5MJQZyquvcNvW2XmGSmnFwmxef3AWKxZm+9kgYHAZ9g01z/zsZCRCewZP1pObltDrY2+UdefMNAoen28+59ekJbTbl9bxGDEsilavJMoGwh4VHW654XgrCWA98KmU8jnLv94GDI+je4E/Wo7fo3stXQe4dbXTe8ACIcRo3RC9AHhP/1+DEOI6vax7LNdql3PNbX6fB+Imss66Syrd/Pruafz67mnmXq7PL85lX1lNn83Mi0+cZX52MuuX5AFw89Txms2hpqnXy1K0z1BeffVWJHCoSOqbspN5p+SUeY2c1IQgb79INewb+8fPmKxNBNcvyePOmWl8Vt3U62MfuFd9Qlw0uWkJuM9r78BQUenW8dhXVsPimWkMi47C1+JpCLvgzvJrADeiqXlKgL/rP7cBSWheSsf034n6+QJ4AXACHwHTLdf6DlCm/9xnOT4dOKx/53l0Q3lHP8NSLr0o8/X0BS/uKguZE+bFXWXtfEOh6Dmh8v9MfWKbnPrENvnT90rVM91LWPsZOCDDzK00aNNnZF91jYz75k+Yc1ky2w6fZv2SwZkXPhLoSTi+QtETQnk4/dVZw+qdZTw8L4tHFkwZ6CoOetbsdpKTmqDnZboI0mcMj4lizmXJbCk+yS1Txw3Jl1h/6WBLKt0sn5vhFwi3fG7GkFCLKCKbQA8nYMga9geKUHbFcBi0wqGirom3ik+ySN9ZayjeRP0VXJWTmsCLu44z57IxrN5ZxpzLxvDiruMRqetVDC0Cvf2MjANDzbA/GBm0wuFsUytfy03hn6ancvOVY/0MWf1FX83sjevOyhxjtu1ff/93lm48wPOLc81zeqv8tR8cJzctgbeKq8hLH81bxVXkpiWw9oPjPWrHxc5g8r7pLuGmxQjVF+v2OM17+pEFU/hKzni//4dr2B+Ifg5MaQEX0mf0Fka7rGlyCpzVXP7DrUz78Xa/NDlLNxb5fe4NBq1wEMC2w6f57qsHyUiOH5A69NXM3nrdr16dQnObz1SfwYXN6Xur/AmjYtlR6uLKCSMpKq/jygkj2VHqYsKo2M6/PMTpyYtnKKfVMAg3LUaovnhu+zEeWXCpqfJ45us5prefQThu1QPRz4EpLQx30+szE3utDKNdsQ47O0pdLHphLw9tLsZhF9Q0tuJp9QIXXNpzJ47qtbJhEO/nMDbzChn3Tz/BYRfEOOz8+u5pA2J36Ku0CcZ151w2hi3FVURH2bAJcNhtfm21lv+rXU6+NSPVdHkD7WHdV1bDxvvy2i1rzW4n+z+rYUepywyymZ+dzIzJSRd9vENPjfVDOa2GQbhpMfqyLwainwNTWljdTcPBaig2KHBWU1LpNp+7Amc13331IOc8bUhgmMPG+Vafeb4R/Gp1ae+Ii8IgfbaplRnpo2nxSq6akDBgD1xfpU2YlTnGFAyLclN48EsZeFp9tHp9QecZ5V+XkcjmwoouJzfLSdWCarLHDqfK7SF77HCKK9xDaobbXXqatXYop9UwCDctRl/2xUD0c2BKi64IBghvxTMrcwz3zUo3U0YYgmHzspl+aXM6EgyhVr/hMGiFw6g4h7lhe+nphgEzWvVV2oQCZzXbDp9hUW4Kf/n0CzMth8Nu40+HqvzOM8r/5FQDi2em8XR+Kd9cU2BGpHaWw6ak0s2tU8dy5Mw58tJHc+TMOW6dOlZ5K+n05MUzlNNqGISbFqMv+6K/+3nNbidLNxb5pbRYurGoS3aOcCYeRrvSk/x39/w/m//mlzbHmro/kEAhFC72J598sktfiBSe+O9fPPn0in/hjYMnWT43g6f+9ClXpSaQlhj2Fqk9xqpi+OaMiVylD0JP62Fc99d3T+PKlAQzinT53Ey+enUKv9xZxlWpCVTUNQWVv3pHGROT4iipdJOXPppnv3F1p+UVV9Txq/ePs2JhNs9+42riY+z86v3jzJkyhmmTek+HOlh1dxdfAAAgAElEQVQpcFbz7LYjLJs9md8Wngh7fHvr/liyoQjXOY/fWKzb4+SXO8v4Wm7IHJX9hjUthnHvPJ1fSnyM3a++ffWs9PW12+PFXWXsKHWRFO9g2ZcyiLYLdpS6iIkSfNHg4Zc7yzhd76HF6/OrQ4GzmvyPTjE9XeubtMQ4GpvbWL2zjGWzJ/PNGROD2hUbZaOi7jw2ATEOG20+yflWH3EOGx8/dSsfVZ5lR6mLjyrPcvs1wfdDWmKc2SeuA1vFjx7/vz8Np42DduUwMTFuQDdsh75Lm7D2g+Msn5vhl5bj4flZrP3guF8Zocq/depYjpxu6FJys3A3ie8L+sLTpDev2ZO8Sb11f0TyXgjh3jvh9EV3xy3cfu7N++Kz6ibmZyfT1OJlVX4pBc4a5mcnU3zirDk24aiNOlrxlFS6ufnKsVQ3arnyHr8tm5eXzMBu03KVGqqm9UvyzLLbw1j92uNHjW/3pEDCDaWOtJ9p06b1Tmx5BBIqrUA4qQTWflAm0x99R679oCzk50iku23tr2tGSmoRYyz/6cV9ET+m3aUv7oW+vv5P3yuVkx59R05qZ2yMMkKlAwmnPvvKXDL737fKFW8ekrlPbZf/8rtimf7oO3LFm4e6dA8a17aPGFMlh3r6jEjZ7Kev6I73xZINRdyQleRnYwjXW6kzr4m+pC88TYail9A31xRQpOv2X39w1kBXp0/oy3Fbs9uJ3QYv7jpuXn/53Ay8Prp1n1vr+sKuMrw+Qo7Nc9uPhEwH0t5zt/aD4zzwpQw/j8TvvnqQhGEOKuvOsyh3Aj/71jVdrufzi3O5ISt56HsrRTI9Xb4a5wWmFejs+xvvywsyPi+bndmhYICB98fvC0+ToeYlNNT2QmiPvhy3C5kAkvVMAMndzgRg3T9+xLAofD6wCSgKGJuO1Ebtpct/4EsZQapLT6uXyrrz5KWP7nJGCKuauisM2pXD6InZsu5Eqfl50Qt7KT3dwKc/vjXsa4SS3Le/sJek+GhetriGtTf7nvc/u7g+M5G0xHjzOobvswDuyEtjUlI8dhs8824pAnA+s9BvVh5qtj/5sXwkYLcJrs9I5FClm0Y9Rfnjt2WbdUl/LJ8Yu+DIqtsAbeWw56gLr4TyZxcC8J2NRdQ0tvDH791oXt9aftaKd2nzafdAYnw0d82cyPPvl6EfMq9jrafRbx9XuXnm3VLGjYzlvhvTzRnYohf28nFVPY8smNLhjMy4DuC31epXcsbzzNdz2h2jUKuaNbudbD18iq/kjGfZ7EwKnNXcvb6IkbFRnGtu45Xv5DErc0zQWFqvb62Pcf2rnnyPsSNi+Mu/zTXLWrqxiOITZ/nbjxa02zaAjMfzGTcylntmpZtlXPXke5zztLFp2UxTJ2634Td7DWyf1ei7bHam32evT3vp/fuWw1yfmciqRTnm7NMuNN34zh/MZcmGIiaMiiUtUQsYNcYv1L1kjPUvdxyj3uPlzplppI+J57ntR/n6tZrB80NnLTt/MJernnwPpGRaeqJ5f6zcUsKHzlq+PTPNvH4442jUcevhM+bM/tapYzl51tPuBCdw3I3rvrTnOD6J3/eufWo7ifHROF2NZkxGZnI8tY0t5lhe+9R2cieO8nMNnfbj7TS1eP3eLemP5QMwIjaKBk8bd85MY1PhhY0uE+MdPL/4WpZuPMDXr00hLTGerYdPcfR0A48suAyvD/56vAa7AK+lnvN/uouqs+f5+rUTzPeI8YYeHefAfb7VfDYBHrs1mwfnZHLFD7fS1OoL+bw+/mYJ75Sc4h+uHs9/33+bu7WmMqxouUG7cmhq1XY9A00wFFe4yR4X1taoJqFmzEdPN/B+qSss4197m4zHOWxI4HdFFRw5Xc+q/FJ8EiaPiQ+alYcyNhpj7/VJ9pbV0OBpwye1gBdrXWLsgmavZMrKdwFMwWDX99Zbt8fJzlIXx86ca3dVYHWRq21sYfXOMr+bz8Baz5zUBO5/5QCr8jXBUOX2sCq/FLvtwlj4JJ3OyIz8/cYMzNgw6Z2SU2Z9u7LB/dHTDTydX8rKLdqsTkpJXVMrU1NG8tDmYlZuKelwI3ZrfXJSEyhwVnO+pY0yV6PpKhgqGtVYKVpXjAXOaobH2Klye1j9l6M8tLmYaT/eToNHE/JGGXYbPK33XXvt68joa9R/8pg4NhVWsHRjEQ9tLsbd1MKOUheTx2jjO2FULJsKK6iobfQbvxuyksw6N3slOU9u44asJFbll1Lv8eKwwabCClbll5I9bgSbCivMSOCVW0po8LTR0OzF3dTC0/mlLHphL5sKK0gYFuXX1+GMo1HHW6eO5ZEFU7h16lg2FVZ0GKlvHfd1e7T+X7pxP++XuoKe2UlJcZS5GrlkZAxF5XVcMjKGMlcjkyzPQO7EUewodfmNd01jK+dbfX7PqIExnoZgMJ49gTbB+Pq1KWwurMBug6/kjOd8q4//2npEG3sBO0pdfs+r09XI+VYfmworiNXfIwZ1Ta1Bz2ZOaoIpGKwvc+vz+tWrU2hp8xl1DLXzZkgG9cohYfFPcdgFrV5JbloCWyyz43AJpeP8uMod9kbo7W0yHhtlo8rtMc+zCXjopqywNl6/KTuZ0lMNft832rkyoC5TVr5Ls/fCGNoF+CR+db8yJaFDPe6Xf7qLMldjUNuMWUioehaV1xEXbef+Gyf7rTQAomyC3yzNC2sZa8xq7puVbtYNCIoSDXeD+6Ub93O+1YdNgJQwLzuZnaUuLhs3giOnG4L6L/D6GwrKAfzqs37PcXaUutqNRjW+v3xuBi/uOu73e1V+qV9Zw2PsaHtaXSjDOL+7enaj/JSEWA5X1ZMUH01NY4vmwVLh9puFby6sCBo/o8wHXz1Avcfrd+08/VzA9Oe3/n3nTG1zx02FFYyMtVPv8ZI8Iprqhpag56azcVyz20lFbaNZx/3ldSyemUZaYnyHK1DruNtt4PMR8plds9vJGwcqKHM1ms9TVnI8/zg9ze/6xgTAOt7XZSYFvROMlVUggf1uHd91e47jafWZ1zHuT+t1gaD7JhwC7+3A5zXKJqjY8H2aTx0LS0AM2pVD5iXDzQF22EW3BAOE1nF2ZSP09jYZ/59v+scX3H7NhLA3Xs+bnMR9N6b7ndPqlaSOHkZ5daNfci9DpWTgfGZhUN1DtdE6y33qa1OD2pUYHx2k17TWMy99NPffOJnVO8t46KYsHPYL99s/zw0/RfAzX8/hvlnpfnULzKcTrh66pNJt5p8yBOTS2RlMGD3MdO/taCP21TvLuG9WelB91i/J6zAa1XCdNDLbPp1fauqzNy+b6XfuuWYvX778Er8yrkxJIHvciHbb15kNy6j/4ap6hsfYqWlsISUhlvVL8vz6bdWinJDjZ5RZ8uQtfmXkWc61RgIHRgUbz0C9x4vDLnA1tIR8bjobxwfnZPrVcUb6aFYtyunUWGwdd69PG/crUxKCbHQ5qQnUNrUyzGGj1SsZ5rBR29QatAoNNd6h3glr7g6266YkxLJ0dobfeC6bnWm2e9nsDL/rrF+SF3Td465GbJ28vm8MWBWFmvRY65w9djhR9rAXDcAgDoJ79D+fe9IxdYEpIHYf+YI78iYGnbdmt7PDQJRQAU7bPj7F7/dXmsa/wIAeKyu3lFDgrCUp3oH7fBtTJ4xk11EXvyvSlpnGcJSebmBR7gT+VHIKmw32l9eZgTDr9jj9youJErzy4Ymgsuo9bXx0sp42n+Sf52YB2srBsnDglzuOcfKsx6/uzW2+oDaOHRlrBgrdu74oaLl6vtVL8Ymz3Dsr3TxmrWdReR0fnXSzfE4mz7+veWoYHPy8junpo8MOFOsswCzcILTiijrWfvAZoOnxK+s8/PHvJ3Gfb+twLK3X31BQzt8rzvLglzLMsp58+zBHzpwzXxihgo2MYKZXPvycvPTR7Cj9gmWzJ/PzvxyjwbKlbazDxuGT9WbfbSgo563ik1Sfa/Er09q+Fq/PL6jLmIHfd0O6+fnZbUfITI6n8qyHpPhovmho5qPKs2z/5Auz307UNvLex2eCxs8oc+HqD2huu3AjGPdRUXkdDc1tplCw/u1q8LCz9AwFzlpGxto53+ojeUQ0ZV80hgyE62wcA5+Fjp69jsZ96+HTLPtSht/18z86RXWDh4o6D8Nj7DS1+MgeN5wRsQ7zWQRt5RA43l80ePzq5Wrw8OTbnwTVpaG5jT/+/SS1Ta3meNps8PK+cpbNnsy6Pcc5UXvevM5HlWfZV1bj1963iquo97QFXdvKidrzfp+LjtfgiLL5tcPoy+yxwyk9cw67TVCz97VT4QbBDVrh8MR//+LJL331W+x7bD67j3xBcYU7pIDo6MEKFWF8z/oidh+tZmVAxGdJiBeCdZPxU/XNzMpMpPCzOqTPh1dqs4iHv5zFnmParM/V4GH53ExtZqlHH4eKMA0lGKxcOX4Ed+RNNFVKMXaB85mF/HLHMdPmsPex+cTH2FmVX8rWw6dZc/c0v+jR264az21XjefOdYV+wiUrOZ7aplZA03H+y5cvA/yNov9wzQS2Hj6tGelOufHoL5SVC7M552mlyu1hS/FJZkxO7FBAFDiruWd9EV/LTeHfv3KlWbcTtY28+tfP+VruBB5/s4Tn/nyUF++61qz/d189SEVtE1++fKzftR7/w0e0+bQZ4cKcFEpPN+CT2jL/t/dfFzJ61+rml5oY5xeNbvTPcT3g6b1/nWNGo75zqIp7dMG5ZEMR+8treLO4ilumjmVnqYupE0byp5JTNDS3kRTvYFh0FAItslWgrQRTRg3j01P1NLdJ/mnaBL8+sE4grBGujc1tPLvtiKmSMfpn+qRRFH5Wx/zsZE7UnWdMfDQlJ+uZlZnIs9+4mhO1jeYm9ffMSjfH78tXXMKSWeksXldIc5tkZKydH9w8xbxnv6j3mBOHrEviOV3fDMA/XDOenNQENhVW8NHJenLTEjhRe57ctAScriZSEmLZ+tFps6/DiWION9o68B4yxj0u2s7Cq7Rxb/VKsseP8Pvei7vKKDhe6zeWBcdriYkS5rNtqJQCx3vPMf93wgvva+nsbUCgYt4nYeLoYbx493QKP6vhNx+e4PrMRL5oaObYF41E2wU3XDqGS0bEsKPURVZyPH96eLb5vFonE50xZdwIas614JXwobOa74d4XmMddo6dOUdzm4/6ojfP/mjFoz8L59qDVq0U57CbqqQt37uR3LQESk8H750dmL9k6cYDftHH1v0RZmWOYVJSHA6b4MoUbal5ZUoCsQ4bNXqUopVNhRXYBcyYnGQmxLMLaPVpgiEu2s5z24+ycmE2NgG1ja28uOs4sQ4bv9dXFoax8a/OGq59ajvLZmciOlj9xTlsHNK9XAzBYKiWZl+WbHo/gLaszEyOZ3xCrF/06PK5Gfz7lsMAfmUJwNPmn9jP4OW95VyTlsCy2ZmUVLp56d7p3DkzzdS5zs9OxuuD//+WbHNJHGo/CGtu+pJKN9+akcqmwgou/+FWM8J7U2FFl6N/SyrdXDZuhL68zmBL8UnGjoghKznerz862ojdiEY30kbPyhxDrEPLhrt0dgag/XbYBGcams1rGIbU3LQEdh+tZl52ModP1pv/X3DlOJ5fnMtLS2YA2stkUe4EthSfxCchNy2B1w9UUuDU9vC4Ji2Bn2w7GqTuCKV6eqfkFOdb2th1tJqs5HiWzs7gfEsbZxqaSYp3sPuo9pLf+tFpspLjOXnWw9oPjvOv/9+lzM9O5sX3nea17AJKnryFVfmlxDlsjIy10+qDO2emEeewUVzh5s6Zadw5M40PnbWsWpRjjrUPTc9vjH91Y4tfX4cTxfzi+07mZSf7Gd7n6XUMZ9zvv3EyW/QNwOZlJwdFaRefOOtnLwoVWRzqnKR4B8McNr96GcTHRhFl08bTysmz/jP7z2uaqGlsISbKZkY4Vze24LAJ4mOjzOumJGjG9/nZyUFtHRlrJyZANXTG7SEmSnuNWyd5VieGU24PP7j5MlYuzEZEDxvZbmcGMGgN0l0NgjMCURblprD7aHWHKZjDNYAaXgJxDhvXZyaxo9QF4PfZuNGsgTAfV7n9/medrRg35bo9znaNUobxPdyUv6FSTi+fm8HqHWUAJMVHU17TZF4jPtpGY4vPLMcIwgHMdOHW6xoG/K/pfWsY4EL1W2BbrcZwY2kdaITsSmDUQATUGYbUTYUVZI8dzpEz58w25KQmhHRLjbIL7DaBAKLsNh6en2UaLQ2juLWvjf63GsqtrtMGhuujofbJTI5nx7/NNb3I7pyZhk/Cm387SXObj3nZydw/O4PvvnrQdCGe9uPt1DS2khTv4OAPFwR9tmK0J9ZhY9nsDNPgGk7Cx0A6ctnt7Fq3v7CXo6cbWDY7w8+xpLMA0O5iuLICxEXbaWrxN0w77IKv5Iwn/6PT+Hw+7DYbWZcM58jpBqKjbFyTNorS0w0hg/CM8W7oRLVkEGWDNh/mWAfS3SC4QatWWrt27ZMPPPBAWOdadZ1/KjnF8rkZPP6HwzhdDX4vMcMWsSg3td1kWFa+N+9S1u520tTq47PqCy/XGIeNI2fOmS/AQF3rv3/lCs7qroYv7Tnud65R36f+9CljR8Zw9nxrULnzL7+E+ZePDVKZGSqG+2dPNpfqFXVNeH2SX+4s81NJXDIi1lSh3DEjjcLPagHt5dLilaaR3fjOi3ddy1evTgmp2pg2KZHPaxrZUlzFVRNGsv2TL9p9Kd9+zQRzqf7SnuOcrm/GYRdcOnYEJZVupowbwaFKt6lPh46TkwWOc18kYOus/Onpicy/fCwFZdUcOllPXvpo1tw93VQJWfXAzW0+3j5URatXcu3EUaYK7zs3TiYxLprVO8t48EsZLJ+bafb1j/M/BTRhEdiuJbMm42rw8JFlpRIXrRlaHTZBs9eHp8XLziMukJJDFW5a23zmyueatNGs3nEMgH9bMIW0xDi+OyeTVz8sp6axlZ//5RjnW30hBQPAtEmJxMfY2VnqovCzWtp8wR514WJc6+n8UgrKqvn9/sqwBEOBs5oNez/D0+oz1WSGO+ud103sk+SRr35YbqbPbvWGnmB/eqoBKSU+qa36Pq6qxyYEUkrKa5q4Zeo43jh40u9eX7PbSfW5Zj44Vo3XJ0mItfvZgULhk9rq7pXvzAz5/4su8Z5BYORxoGeHIYVvvnKsmTjtxV3HmTZpNFuKq5hz2Ri/mbDh3x5u+t9PAoLuAr0c2kvctnR2RrseMA9t+huTEof5zeatvK2n7A5UmRkve2vbH9pczFevTgnyEjFUKIbXDGgzEAlE2wWn3B6uGD8iyIsolLdJgbOa3UerTePlnMuSO5ytW71BABw2wZHTDaQkxHLkdAOeljbueqnQrx3hjEdfJUIMp/xwI5j/dKiKWIfd7KsvXz6WX989jT8dqvIrAy5EyOdMSPDb4Mlo19oPjvP4myWkj4n3c15vatHsGq8szTPH975Z6Wz8Th42G5SeOYdNQHSUjS3FJ2n1+oI2ywoUBKEEg8GVKQlmnIbdhqmS7Q5d8RQ0KKl0s37JDFYszObp/FJ+/uejeFp9ZCTHB9Wlp0kdDVo6eGFnJcebdhqf1LYXOFxVT9roYbT5JC265+FbxSeDIpdzUhN45t1SWtp8LMpNwddBWIKh0rMJePvQqXafC2vGha4k3hvUK4ep87/u57UBwQboX+0q4+iZc+asKC0xDptNW1Z/9erxvFVcxec1Tby4y2naH7oy+7zih1tptbj6tHiln5dDlN3GfTekmzeAIcV/9NZhTtc3h/SA+d8DFXxyqkHT+w6L8tv5KSneQWJ8jOlFZJ3VBs44jdk9EOQlsig3lYq6Jp7ddoRLRsRQr0deDo/RPE5SEmI5+sU5MzbDSBH+7LYjXDtxFO99coZr0kaZRv1bp45l91FtW9O3ik+2a0Sc9z+7+PVup+n62+KVZv81NLfhsAua2yQjYu0sn5vVpdWAMVM3WLPbydiRsSzKTTWPBaZMthLKs23dHieP/+FwyFl7Vw2pBc5qfrmzjIfmZbL9ky+4Zeo43io+SazDxraPz/i18buvHjS9pvI/Ok3WJfF+16qoa2LzX0/w1+O1fKAbj2Pswk/vfLapxc9bSUrJoUpthSHRVok+CVF2zSBrbfe0H2/3u+9e/bCc74ZwKTViDFq9krz00Zys8/DuR6e4dlJ43mqBdMdbyRj3aZMSKSirNt1vVyy8vEMvr57w5t8qzVVfIIHHPa0+4qPtVDe2aPE3aJ6Hi3JTeK2ows+5oqKuibeKq/BJuHz8CD466Q4yeBtINFXsybMepJTYbcLPScOgxesz76cvPtgctrfSoLU5pF02VSbf/bN2dXaGjviXO8u4xhIgV+Cs5t6Xi4iNsvHRf9zCv/7+76YR62ffusZMiWHd1clIB7DzB3P96mDoHW0C7EL4CQkDh03wytI87t+43wxvz3w8H6/uRVN84ixCQE1jK1E2QdnTt/npM9uj/NmF5nlG2otf7XKaqTAAHp6XxQu7nHh9ks3LZporpLteKsQmBCOHOUhLHMahCm1mHWWD3yydyQ9eP2QGO5U/q6X7WLyuEJuA394/kzvXabN6gWaIDKyXkf7j6rQEKmqayJ04iqWzMyipdPPs1lK/c0O11a7Paj/98a3meJw86+GGrCT2ldXgbmrBfb6Nb89M48X3neROHEXxibMsvynT1FXvK6vh4Od1ZqoKo+1LXi4iaXgMHz4+H/BPl3D9MzuobWzhivEj+LymiefvvJa71xeRMCyKv1lmzoF2nVApF6wpNoxUBl6fJvhPuT0syk0x2/TMu6VMHnNBX/z4myW8VXySr+VO4Jmv5zD/p7twuhqZl53My/pq9P5XDgTpuUNhqCut/RwfbafR8l0jBQRgBrIZ4xCoMdm8bCb5JVXm83DhHnRw69RxpI+JN21l4xNiaW718rcfLTDHMX1MvGkHCHyuLv/hVs63+lippwUx7Dg2Acf1tDMPbfobifHR+CTm9y779620eX3cNOVCQJkW9AVXTkigova8uQoTwGeW4M6Mx/LxcSHgM9RYXvHDrbT5JEctaWp2HXF12vfhEh1l4+h/ahoIoz/HjozhTH1zR18DNHXSKbeHnbq90xq4atynL+wso6m1jbjoKD597q5TbfWulHDqNWjVSl80NDPnsjEhE2dZ1R+TkuIornCbHjI/euswrV7J2JGxrNvjZPdRF4tyJ7Dt8GnW7XGSPiYuaKvNzYUVfFuPBA2FTxJSMABIJIvXFZqG6wJntd8DlztxFDWNrebZHe3o1B61jS08smBKkGBYt+c4Xv3YT7aVmr99EoZF23l+cS5fybmwyrQLwUt7jvtFZoPWn0nxDnxS+/6IWDuSYMEQYxdMWfmuOdOxcSEdwT3rC4PH6ZkdIdvjlTBh1DAAvj0zTUs/ILQ0E5W1TRRXuLHpnxPjo9lR6iIxPpqn80tZurFIS0chtNQGEljychHPbT/CkpeLaPFK5lk8QazpEuZlJ9Pc5qO4ws3IYQ7u27Afr0/iCXgJ/+D1Q/z3tgtCbvlNmewMSLmys9TF+VZthy4jlYHdBk5XI00tXj+PLJ/UjluJstv46tXaM3xdhjZz/uBoNc9tP2IKhugwgpoKnMF7coxLuJCOQqDNPg2sEb+hVOn3bdhvps+wqjHqGlvZVFjB0xYnilNuD7VNrazb4zRTzRgpOwxD+vWZF1YFcdF2AP7q1NKCvH6g0uwfIy1IrMNOmSVIbOWWElrafPiklopiXnYyI3TvnzYfjNEnTobqVKIJBLggGKwvwVDpM5pafbR4JSu3lADgbgr2XOwJbbqHYM6T28xj4QgGgNcPVJqCAQiZnuSSkTF4fZrjSVfUSoN25ZCQNkUm3vmcabCyzuYCvUsmJQ6juMLtFw4vgZ2lLnNTcMM7KDctgdHx0bxvmYEEbhxulLX18Clz1h0Ohj755ivHUnqqnuIKt19irWi7oMUriY6y0dKOSynAt/PSeObrOR3OYKxpD+IcNppafSFTjazZ7eQn7x0xhYiVYQ6bmWzMmnogHAy3yZgom2lUt9oZOkOguUa+pufp+XuFm5GxUbg9bThs2iotbfQwKuvOMy87mR2lLrN9ycOjqT7XwriEWBqbW/1eeLlpCSTERfsl3nvv8Cm/+8OKw3bBNbng8fnMemYHVW4PI2PtZkTxkg1FZp4cw1tpXnYyf684S01jK1nJ8XwrLy3I+ywwNUWBvpopcFbzp0NVvPexfwI6q1fSyoXZvLjLSW1jaNWGEQXc5pN+aS/aIyUhllNuT7sqDK0v/FfHifHRTEwcxt/beQaM5+z9Uhepo4dRUXfeLKvK7WF+djKXjIxlUpLmmRZqLKJsgqTh0ZypbzbTghipaozrZCXHh7wvc9MS8IG5cli35zPOt/qPrwAe1ZPXgTaWlbVNlLkazTokxTsA/MqMREbE2HFE2YO86qzP7qmN35fNp8vCWhQM2pWDp83HDVlaqoL0x/JNKXn7C3tZunG/aQBOSxzGRyfd2MA0/l6XmcT+z+pw2ASbCyv4198Xs3pHGQ6boORkPfdbQtyzxw5n6+EzISVyUnx02PV9eF6WacjNSI6n9PQ5hgUk1mrxSqJsdCgYhjkuDNkDX8ogsZ06GC8dgJRRw/xSjVyRMtJMwZGTmkB7EwRrIkMj9YA9zDvmM90bwxAMUTbCFgygCcyn80vxtHoprnAT57Dh9rRpAWQ+iQ2oqDtvpsgYMzza9BpxnWshdXQsrgZPUO6b4gp3UOK9z2vPE+uwca7Z65cGRAD/99ZsBFDl9pD+WD5Vbg8C/FInVNQ2saPURfLwaErPnGPM8Gh9y0g7UTYoczXyi78cM883irCO0Zwp2mqmwFnNveuLeKfklDnjvXzcCNLHxBOlT5eN3/UhPNkMsseNMP3pO3uZJcU7OF3fsWCA4NXxnMvG8ElVfchUDyNjo9h9tJrxCbHMSB+tbXOp/6/K7W7qtywAABYDSURBVCEp3kGBs4bXD1Sa91ROagKlp8+Z98owh40ou+BMfTNRNsxYo5rGVhw2TCEdSjCkjdZWnp9U1ZvvgkcWXBpk3h0dH+23or0hKwmnSwtUO9esrc6MxHtJ8Q6z7n1F1xJc+BMdZQvpMPJfW0sp09tkJvYKg0ErHIbHRLG3rNo0rC2fq+m0k+Kj8bT6+LhKm82MiY+mzaepQIwXwKr8Um3pqXfTluIqznnaaPVJou2C9XuOs7+8jinjRlB65hyTEodxr66asMYM3K8HRoXD6p1lzMpMYkNBOT957yij4xyc12fzVjqQCwCcb/WZ6oa1HxynNkRwnpUom6DM1WgKhlavZFNhBR59BlVS6SZjTHzI7948VVuBrtnt5EdvHaa2scUvTUaH5QrYdvh02O0KxYqF2eaLrVE3jhqvJx/aC2B/eR13vVRI9bkWv76sqPP4lWn8xy78vWlmZY5hUuIwPHrSNkPApCTEIoFntx5hcYBKccXCbD8PqDvytP+7zrUQ67DhOqeNydnzrfxm6UzzRQOQPDw6pLrmd0UVPLf9CPeuL6LVpyWEM7yXPnTWsCq/lDafZvRt80n9c/t9d6jSTXMYnT7MYaOmsZXuKBC2FFfR4pUhs/jWe9qItgs2FVaYkyxrbYwX7tgRMazeUWYGADrsF+6V860+mvVxb/NpAseg1aeNaajEd6BNHIor3Hxzeqr5klw2OzNIANY1tvh5CxmBoy1eiU1oE7as5Hiuz0g0nShq2lmt9QY90ePcMnVcSK8647lo8UranQmGYNAKh3OWEHO7DVbvKOPzmkZeXpJnurR9c02BGZgG/jPyKreHVq80B8P4fb7Vx45SF9ekJeBqaCY3LYHiCjcTRg0LksiL111wtwwHQ//b0uajyu1h7MiYIB/pmKjOBbtRbjhGMasdInl4jPn3mQYP6/ZowVvtqYoM47FVnTRuZEzIcwNp9kpSOki13Bk2oT2o8Y72b9GKuvOa7UNqKrn2/M1BG9/k4Q68Ej832Wk/3k5xhZv0pDg/wdfcpu1j4PVJP3UOaCua9tKReywePpeMiOEn20q1h1KnsZ3UCBJtAtHqk9gF/L3CbbpfR0Vd6IPrMpKICuOpbccEFoSZwTa807tEk6UvSs+cC3lOldtDg6eN7756kPTH8v1e9laVKxAUFBZOnTdbxi6U84MMOL50YxFlrkYSYqPwSUiIjaLM1ciOUhdTU0aa2odIZFNhRci9zq3330WxcrDS5oNmfSa8ZreTK1MSTLWQQWyULewHZnScg+IKN8kjYvh7hZvctAROnj0fVtxDZ1xteamcqW8OWkZ2FvDSHikJsR1+Bn/1gtenveTe/NvJDq976cp3/YRHqKC89qioDR2nES7r9jhpbA329A5lh23pQDAApI4ehutcq/79Cxdwn9deOF80NDM82u53fGGOv1OHYbiVwIOvXojOf01PnWFl3MgYyms047kh8AX+L8z28EqtjC/qtfESlsne6p1lXV6FBaZ2CCTc56IvCRUNHFit7lRTQsjn9YbMpKD7qsBZzY5SF3EOG/UeLVmjNQFeldvDw/OyuqQe7W+MiWtJpdvUpnSXISEcQHs5/O+BSl7YeYy7Xio0A5IMPG2+TtPgGtQ1tTIiNoojpxuYMnY4n9ee55Xv5AVJ5JGxXZtB2AXsDcj30p0bfnxCrN8NP2Xc8CC9cjhGsxULs/182UMROBv3hPFyM5jYiS95R7pbn9SEl6HeseKVF9RENhGenvZk3YVcN7HRdtbtcbJkQxFfukx7mJpavFyRciHtTOroYSzdeEEA3JiVRFF5HVMnaOc0WGa4CcOiKDbdgbXanK5vxia0+rX5tE2VujLWAs3APeuZHX77dXSV4TF2dh/tPbfLwciSl4uY89/v+x3762c15nik6M/TQ5uLibYLmlp9ZCbH8/qDs8hMvqByzU1L4JEFU7r83PcXDssLztgStSdb/Q4Z4QCaCqWh2YtPagnlrsvwT97WlRlSg6fNtDnkpiWYEtgadduevrM9wnnGwzF2nXJ7zFw7AEdOn/MThOGyKr+U2HB0FN3keHXHnk2d6W6tNgfAT7hLNCO/T4YnYAPVE6v0TLufnmog2i7M/X8NymuayLC8GPaV1TBl3AgzoZ71etbZWfa4EWYiNJ/UVopen2w32r2z+vbUM+Zcs5es5NA2pYuFFq/k84BVrFWFWOX2mPnGjBVomauRqU9s81s1G8K6q899f2F1GLBmT+guQ0o4WPFJTN/m7jA/OxlXQzPzdTfJF96/cK3AzWh6k3CNXYG6a+uLrSu0l4W1N+ipumLD3nLzb1uI610XQjUQLjah+eafcnto8wUbVa9MGcnHVRfyFUngSIisv+Av9A9X1fsZgou74OocilDqwa7S3XvjYmLOZck8866/q3Eo9VGkurG2R1e3TrYS1fkp/YMQ4hbgF4AdeElK+exA1mdvWQ23XTWetw9pOvlwMyT2F5GgJ+5rrA9iKBHWVYcAK9b+C9WXVsEwkKSOHjboXkiDkS3FHdveBgtGNoPeICJWDkIIO/ACcCtwBfBtIcQV3blWYL7z7tLc5mNL8Ulz+XmxL80VA4Oa9Su6Qm8JBogQ4QDkAWVSyuNSyhbgd8DtXb1ISkJsjxNqtXfdv4TIkz6sAzdLReSzUt/MvTs8duuF7347r/3UKorBRVS4XisXAZHydpsAWJ3JK/VjfgghHhBCHBBChNzl55Tb06kRNBwcATdITWNLSHe4zjx9FD2jN/Tt7WET/jaNrmJNIFh6KjJUUIqeoXmWXQT62jCJFOEQSlwHjZKUcq2Ucnp7OxkZAVE9xbD6GzKiuc1nJq5T9B99qWv3SS22oTfoSn4tReSi5II/kSIcKgHr2jwVqOrJBeMcNr/0taClJg53NpqVHM/xZxaatobDJyPrBRAYdBXY1sDP3aW3rhOJWGeJgf3ZlVVLX64fQ41rXBfVmUN5DEMRqnu6o0IM1W991Zf9NUa+8w1hB71EinDYD1wqhJgshIgG7gDe7uxL7XVonMNm7tBm1SH++u5pZuZLg2/npQVdJyneYdoY/vJvc8lKjkeG4TQZToyCtaxwb75Qx4ysqu39P9Q1unsDdlbn9s61Es4Lrb0HOPBFHaPHJRiEexPPnRK8aTvgl6XWoC4gLXNX+q8n/RzOdz/58a0h+7O7wVm9cV/09FhvnnPs6YV+AqL82YXsKwtOXR5OWV2593tKb1y/s2sIR2zYvq0Rk7JbCHEb8HM0V9aXpZSrOjp/+vTp8sCBkKYHhUKhUIRACHGwPbV8IBET5yClfBd4d6DroVAoFIrIUSspFAqFIoJQwkGhUCgUQSjhoFAoFIogIsYg3VWEEC7g81685Big+xs19C2qbt0nkusXyXUDVb/uEqn1ApgkpQztthfAoBUOvY0Q4kC4Vvz+RtWt+0Ry/SK5bqDq110itV5dRamVFAqFQhGEEg4KhUKhCEIJhwusHegKdICqW/eJ5PpFct1A1a+7RGq9uoSyOSgUCoUiCLVyUCgUCkUQF41wEEJE7C4ekVw3Rc+I9LFV9esekVqv3uSiEQ6E3jMiUhgFIISImFxXVoQQ84QQ4wa6Hu0hhBhl+TvSxtlMKRuBdQOIHugKdEIk9hlE+DPbGwx54SCEuE0I8UfgJ0KIuQNdHytCiAQhxHZgG4CUsm2Aq+SHEGKWEOJjYAkwfICrE4QQ4lYhxG7gBSHE4wAyQoxoQogFQogC4HkhxJ0QOXUD87nYBvxCCHH3QNcnkEh9biP9me1NhqRwEBrRQoifAk8CawA38G0hxMwBrZw/HqAOmCqE+CcAIUT3kvL3Mno9lgGrpJT3SCnLBrpOVoQQeWhj+1M075BrhRBTB7RSOkKIZOAp4L+BzcC3DOElhBjQZ04IESWEWAH8B1qK/D3AbUKIrw5kvWDQPLcR+8z2NkNSOEiNFuAosFhKuRV4CW0p6B3QyunoN9Qo4K/At4BfAkgpvRGifhiJtqR/V39g7xZCZOmbMUWCiuQG4AMp5dto+4974f+1d+7BVlV1HP98L+KDh4I6amq+wBeimViKyiMLx1J8pfkosyAbKx9Z6qgB44OwJseadEyjP8x3imgOTuKrCUkzAQXxlSJOvs1KBM0XfPtjrcM93osCl3v22Xff32dmzzl773XO/szeZ+3fWY+9FgtqN99m+eXjbgrMtX2b7XuBs4EzJG1se1kzz13+p/sccIztO0mTar1MCaqXyp5vu0Ce7VQqFRwknSppsqQT86bJwHOS1rb9MtAX2KjJbmMkyfZS4C3gINvTgHmSJkgabNtF/9jq/MbmTS3AdsBuwM3AaGAScGXtI03yq13be4DjJF0KzAA2B35D+kdcKJJOkDQKllcdLQH2kbRh3vYE6RxeWrRbW7/MVGChpJ62F5Om5e3VDDcob74te55tOLYrsZDqxf8GHAj8BTgHGFi3vz9wL7BZCdzOBQYAmwATc5oxwIfArLzes4l+44D1gJ8BC4Cjc7o+wL+APZt8/saT/sH1By4BRud0OwPzgV0K8uoPTAFeAeYBPer2XQ1c0ybtQ8C2BZ63FfoBLXVp1gVuA3Ys8pp+wrUtRb4te54tYqlSyeGLwM+diso/Jv3oj6vbvw2wyParkraUtH+T3Y4C/gd8OTdwnQrcR+tIs0U2dK3I7/vABKB3XrC9BLiRlGGLpK1fT+Bk2/8FdqD1nD0FPAisU4RUPv5dpKA0m3S+apwMHCjpc3n9bWAu8NHJqZvnV6MfsK7tpyV9WtJXi/LLlDXflj3PNpwuHxzqGvgeAQ4GsD2LdJPYXNKwvH8LoIekU4A7gIZ3zfwEtweAbYH9gLuBv9ve3fYBwEhJ2zr/FWmS30xgEPAp4CzSTW60pHGkuv4nG+22Er8HgG0kDSJlzt9J6kUq8QwGXizArVaFcLXtN4HLgSMkbZ093yJVcY2XdEKd25JGu63Mz6ndo9YFczugr6QfktofVmk4507wK2W+LXueLZIuFxwk7SJped9x28vy278CLZKG5/X5pOJ07cc0ilRvPhD4iu3rm+j2OPASqS51gu1xdV+zle2Fne22mn7zSTfYIbavJvUa2Q/YCjjYdkNuvh3w28n2JcDTpOqTQcARtl8vwM359d38+jDwJ+CndWkuI/UIGgJsDRxpe1Fnu3XEz61dMIcAQ0n54iDbVzTIb19JA+r8SpFvV8OrKXm2mXSZ4CBpN0kzgYnUNU7VRfpnSBfwaEk98g1sM1I9IcAtwCjbp9l+qcluL5AaULe2/b6kHrW0tt/uTLcO+r1IqlvdPjvdB5xj+7tODYRl8NsU2DHvH0vq3XKs7VcKcpPad0u9DBiYb9SbShqYz93ptk8o+Nytit9GwJ+BEbZPbpDfHrkK5j5gg7rtTc23HfAqNM+WgS4THEjF8im2D6/9SPJFq0X6xaQ+22sDF0vqSaobfx3A9gynboVlcesH/Du7La1LWxa//qTGZ7JjGf1ey27v56qTIt2cq2fWk9Qne/wTuBV4jNSIuX7e3shumB31m0G60c23fX9nS0nqKelK0jMovwamAyPr/JqSb9fQq8g823RKHxwkteRi3xLbv8rbRikNmaC8PpH0sNEiUqNbf9KFXQT8vju6hV8hbhcC15Hq7ZF0LKkh/2JgV9tzSuw3uJF+pE4BM4BhTt0+pwI7S1qrFiwlnU/x17asXqWjlOOCSNob+I/tf+R/P68DwyQdDHyH1M3yNeBJSTeQfvznOD/FK2kM0NupD3e3cQu/wt0GAGe59enxhcDIBrYZdRk/4G3b19Xt7gEstf2hJAG7kqotz7a9IH++Ide2rF6lxyXoT1tbSMW2O0hFunGkC1Lbdy4wBzgkrw8H/ggMrUvT0h3dwq/pbj0a5daV/UglmJb8fiApcPWv7Wv0tS2rV1dZylat1JtUB3hKfj+8bt80Up/nDfP6LOBV0lgnSGpxY+sAy+wWfs11a/TQDl3Sz4llueH2+ZxmRG1fnV+jrm1ZvboETQ8Okr4paYSk9Z0a1H4L3ET6ce8laQsA2/OAM4EfSNoY+AapCFhrIOr0C1lmt/CrrltF/DbP6ZQdat1sa0FLjfArq1dXpCnThOYLsBmp0WcZaYiG3sBptt/IafYFvkZ6NP2aus/+iFQPvT2pi+AT3cUt/KrrVkG/h21fm7f1cBqc7hpgge3zuoNXl6foeixax3fZAbg2v1+LNCjZ1DZpTyf1394A6Fu3vSFjmJTZLfyq61Zxv16N9CurVxWWwqqVlMaRnwRMkjSC9ADTUlj+tOapwNC8r8Zk0mBvdwPP1oqEtj/oLm7hV123buK3sBF+ZfWqEoUEh3yBZpP6Cz8LXAh8AHxBadIWnEL4BaRJPmocROqXPZfUb7wRT3CW1i38qusWftXzqhxFFE+AYcDxdeuXA98jDYs7O29rIdUb3gRsk7cdCgzvrm7hV1238KueV9WWYg6SJhJZh9b6wa8DF+X3jwKn5Pd7AjcUegJK7BZ+1XULv+p5VW0ppFrJ9ju233Nrf+tRtI7b823S4+vTgBtID/Qs71LWnd3Cr7pu4Vc9r6pR6PAZSnOwmjSi5u1582LSU56DgYXOg4c5h/5wC78qu4Vf9byqQtEPwS0jzeL1BrBbju7jgWW2Z7qTh9KukBuEX1XdIPyq5lUNiq7HAvYmXdSZwNiij99V3cKvum7hVz2vKiyFPyEtaUvgeOAS2+8VevCVUGY3CL81ocxuEH4dpaxeVaApw2cEQRAE5abpA+8FQRAE5SOCQxAEQdCOCA5BEARBOyI4BEEQBO2I4BAEQRC0I4JDEGQknSfpjE/Yf5ikQavwPR9JJ+kCSV/qLM8gKIIIDkGw6hwGrDQ4tE1ne4LtexpmFQQNIIJD0K2R9BNJT0u6hzRhDJJOlPSwpLmSbpHUS9I+wCHALyQ9KmlAXu6UNFvS/ZJ2+ph0V0k6Mn/385ImSXpQ0ixJe0iaLmmBpJPqvM7MDvMknd+EUxN0cwodeC8IyoSkIcAxwGdJeWEOaRKZqbYn5zQTScMyXCrpdmCa7Sl5373ASbafkbQXcLnt/VeQru2hX7A9VNIvgauAfUkT3T8OXCHpANJc0J8HBNwuabjtGQ07GUHQhggOQXdmGHCr7XcA8k0dYHAOCv1I00pOb/tBSX2AfYCb627+66zicWvHeQzoY3sxsFjSu5L6AQfk5ZGcrg8pWERwCAojgkPQ3VnR+DFXAYfZnivpW8DIFaRpAd60vXsHjlkbA2hZ3fva+lqk0sJFtq/swHcHQacQbQ5Bd2YGcLik9ST1BUbn7X2BVyT1JM0yVmNx3oftt0iT1B8FaTIZSZ9pm66DTAfG5NIJkraQtMkafF8QrDYRHIJui+05wB9IU0veAtyfd40HHgLuBp6q+8iNwJmSHpE0gBQ4xkqaS2ovOPRj0q2u113A9cCDkh4DprBmwSYIVpsYlTUIgiBoR5QcgiAIgnZEcAiCIAjaEcEhCIIgaEcEhyAIgqAdERyCIAiCdkRwCIIgCNoRwSEIgiBoRwSHIAiCoB3/BxpGqiyZ4qMBAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Plot donations vs. time\n", "df.sort_values(by='datetime').plot(x='datetime',y=\"Amount\", style =\"x\")" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "## Accumulate donations vs. time starting from oldest donation\n", "df['cumsum'] = df.sort_values(by='datetime')['Amount'].cumsum()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Accumulated Donations vs. Time\n", "df.plot(x='datetime',y='cumsum')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyze donations based on size" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "## Restrict attention to donations exceeding a threshold amount\n", "big = df.loc[df['Amount'] > 30000]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.061702853947046846" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Big Donations as a fraction of total donations\n", "big['Amount'].sum()/df['Amount'].sum()" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
2017-Contributions-May-5945Sandman Hotels, Inns & Suites Ltd85000.02017-04-28 00:00:002017-04-2815239725.38
2017-Contributions-May-19433Wesgroup Properties Ltd75000.02017-05-12 00:00:002017-05-1218053801.51
Copy-of-2016-Contributions-v4779Aquilini Investment Group LP75000.02016-11-10 00:00:002016-11-108234965.96
6602Independent Contractors & Businesses Associati...60000.02016-08-07 00:00:002016-08-076123515.38
15516Westbridge Finance Inc50000.02016-04-15 00:00:002016-04-153092883.44
2017-Contributions-May-1234Anthem Properties Group Ltd.50000.02017-05-06 00:00:002017-05-0616739929.01
259Interfor Corporation50000.02017-05-06 00:00:002017-05-0616994279.01
Copy-of-2016-Contributions-v414013Starline Windows (2001) Ltd.50000.02016-03-06 00:00:002016-03-061788467.44
13635Shape Properties Corp.50000.02016-07-13 00:00:002016-07-135701462.88
2017-Contributions-May-19283Maple Ridge Plaza Properties Ltd.50000.02017-05-12 00:00:002017-05-1217573426.01
Copy-of-2016-Contributions-v411933Peter Redekop50000.02016-01-15 00:00:002016-01-15322847.79
2017-Contributions-March-31-2011665The Pacific Investment Corporation Ltd.50000.02017-03-25 00:00:002017-03-2512894264.39
Copy-of-2016-Contributions-v43481Dayhu Investments Ltd.50000.02016-10-06 00:00:002016-10-067088503.35
14471Tech Projects Ltd40000.02016-02-26 00:00:002016-02-261086720.44
6721ITC Management Inc40000.02016-02-26 00:00:002016-02-26868810.44
2017-Contributions-March-31-2011360Polygon Homes Ltd40000.02017-03-25 00:00:002017-03-2513138710.53
2017-Contributions-May-12493Robert Lee40000.02017-05-06 00:00:002017-05-0616816079.01
2017-Contributions-March-31-2011759West Fraser Mills Ltd37500.02017-03-25 00:00:002017-03-2512645513.57
Copy-of-2016-Contributions-v41947Canadian Classified Network Inc35000.02016-01-15 00:00:002016-01-15371222.79
12149Progressive Waste Solutions Canada Inc35000.02016-03-06 00:00:002016-03-061583542.44
\n", "
" ], "text/plain": [ " Donor Name \\\n", "2017-Contributions-May-5 945 Sandman Hotels, Inns & Suites Ltd \n", "2017-Contributions-May-19 433 Wesgroup Properties Ltd \n", "Copy-of-2016-Contributions-v4 779 Aquilini Investment Group LP \n", " 6602 Independent Contractors & Businesses Associati... \n", " 15516 Westbridge Finance Inc \n", "2017-Contributions-May-12 34 Anthem Properties Group Ltd. \n", " 259 Interfor Corporation \n", "Copy-of-2016-Contributions-v4 14013 Starline Windows (2001) Ltd. \n", " 13635 Shape Properties Corp. \n", "2017-Contributions-May-19 283 Maple Ridge Plaza Properties Ltd. \n", "Copy-of-2016-Contributions-v4 11933 Peter Redekop \n", "2017-Contributions-March-31-201 1665 The Pacific Investment Corporation Ltd. \n", "Copy-of-2016-Contributions-v4 3481 Dayhu Investments Ltd. \n", " 14471 Tech Projects Ltd \n", " 6721 ITC Management Inc \n", "2017-Contributions-March-31-201 1360 Polygon Homes Ltd \n", "2017-Contributions-May-12 493 Robert Lee \n", "2017-Contributions-March-31-201 1759 West Fraser Mills Ltd \n", "Copy-of-2016-Contributions-v4 1947 Canadian Classified Network Inc \n", " 12149 Progressive Waste Solutions Canada Inc \n", "\n", " Amount Date \\\n", "2017-Contributions-May-5 945 85000.0 2017-04-28 00:00:00 \n", "2017-Contributions-May-19 433 75000.0 2017-05-12 00:00:00 \n", "Copy-of-2016-Contributions-v4 779 75000.0 2016-11-10 00:00:00 \n", " 6602 60000.0 2016-08-07 00:00:00 \n", " 15516 50000.0 2016-04-15 00:00:00 \n", "2017-Contributions-May-12 34 50000.0 2017-05-06 00:00:00 \n", " 259 50000.0 2017-05-06 00:00:00 \n", "Copy-of-2016-Contributions-v4 14013 50000.0 2016-03-06 00:00:00 \n", " 13635 50000.0 2016-07-13 00:00:00 \n", "2017-Contributions-May-19 283 50000.0 2017-05-12 00:00:00 \n", "Copy-of-2016-Contributions-v4 11933 50000.0 2016-01-15 00:00:00 \n", "2017-Contributions-March-31-201 1665 50000.0 2017-03-25 00:00:00 \n", "Copy-of-2016-Contributions-v4 3481 50000.0 2016-10-06 00:00:00 \n", " 14471 40000.0 2016-02-26 00:00:00 \n", " 6721 40000.0 2016-02-26 00:00:00 \n", "2017-Contributions-March-31-201 1360 40000.0 2017-03-25 00:00:00 \n", "2017-Contributions-May-12 493 40000.0 2017-05-06 00:00:00 \n", "2017-Contributions-March-31-201 1759 37500.0 2017-03-25 00:00:00 \n", "Copy-of-2016-Contributions-v4 1947 35000.0 2016-01-15 00:00:00 \n", " 12149 35000.0 2016-03-06 00:00:00 \n", "\n", " datetime cumsum \n", "2017-Contributions-May-5 945 2017-04-28 15239725.38 \n", "2017-Contributions-May-19 433 2017-05-12 18053801.51 \n", "Copy-of-2016-Contributions-v4 779 2016-11-10 8234965.96 \n", " 6602 2016-08-07 6123515.38 \n", " 15516 2016-04-15 3092883.44 \n", "2017-Contributions-May-12 34 2017-05-06 16739929.01 \n", " 259 2017-05-06 16994279.01 \n", "Copy-of-2016-Contributions-v4 14013 2016-03-06 1788467.44 \n", " 13635 2016-07-13 5701462.88 \n", "2017-Contributions-May-19 283 2017-05-12 17573426.01 \n", "Copy-of-2016-Contributions-v4 11933 2016-01-15 322847.79 \n", "2017-Contributions-March-31-201 1665 2017-03-25 12894264.39 \n", "Copy-of-2016-Contributions-v4 3481 2016-10-06 7088503.35 \n", " 14471 2016-02-26 1086720.44 \n", " 6721 2016-02-26 868810.44 \n", "2017-Contributions-March-31-201 1360 2017-03-25 13138710.53 \n", "2017-Contributions-May-12 493 2017-05-06 16816079.01 \n", "2017-Contributions-March-31-201 1759 2017-03-25 12645513.57 \n", "Copy-of-2016-Contributions-v4 1947 2016-01-15 371222.79 \n", " 12149 2016-03-06 1583542.44 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## 20 biggest single donations\n", "big.sort_values(by=\"Amount\", ascending = False).head(n=20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Identify donations based on a `string` in 'Donor Name'" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "def df_filter(name):\n", " return df.loc[df['Donor Name'].str.contains(name)].sort_values(by='datetime')" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v4911Automotive Retailers Association1750.02016-01-01 00:00:002016-01-0112600.00
912Automotive Retailers Association625.02016-02-29 00:00:002016-02-291370150.44
913Automotive Retailers Association2300.02016-03-31 00:00:002016-03-312102728.44
914Automotive Retailers Association300.02016-05-31 00:00:002016-05-314558536.45
915Automotive Retailers Association1150.02016-05-31 00:00:002016-05-314564366.45
916Automotive Retailers Association700.02016-08-17 00:00:002016-08-176135315.38
Copy-of-2017-Contributions-Janu10Automotive Retailers Association300.01/13/20172017-01-1310818058.78
2017-Contributions-—-February-334Automotive Retailers Association875.02017-01-27 00:00:002017-01-2711202575.63
35Automotive Retailers Association1750.02017-02-01 00:00:002017-02-0111262125.63
2017-Contributions-—-February-112Automotive Retailers Association250.02017-02-03 00:00:002017-02-0311416550.63
2017-Contributions-—-March-17-25Automotive Retailers Association500.02017-03-10 00:00:002017-03-1012065799.34
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 911 Automotive Retailers Association 1750.0 \n", " 912 Automotive Retailers Association 625.0 \n", " 913 Automotive Retailers Association 2300.0 \n", " 914 Automotive Retailers Association 300.0 \n", " 915 Automotive Retailers Association 1150.0 \n", " 916 Automotive Retailers Association 700.0 \n", "Copy-of-2017-Contributions-Janu 10 Automotive Retailers Association 300.0 \n", "2017-Contributions-—-February-3 34 Automotive Retailers Association 875.0 \n", " 35 Automotive Retailers Association 1750.0 \n", "2017-Contributions-—-February-1 12 Automotive Retailers Association 250.0 \n", "2017-Contributions-—-March-17-2 5 Automotive Retailers Association 500.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 911 2016-01-01 00:00:00 2016-01-01 \n", " 912 2016-02-29 00:00:00 2016-02-29 \n", " 913 2016-03-31 00:00:00 2016-03-31 \n", " 914 2016-05-31 00:00:00 2016-05-31 \n", " 915 2016-05-31 00:00:00 2016-05-31 \n", " 916 2016-08-17 00:00:00 2016-08-17 \n", "Copy-of-2017-Contributions-Janu 10 1/13/2017 2017-01-13 \n", "2017-Contributions-—-February-3 34 2017-01-27 00:00:00 2017-01-27 \n", " 35 2017-02-01 00:00:00 2017-02-01 \n", "2017-Contributions-—-February-1 12 2017-02-03 00:00:00 2017-02-03 \n", "2017-Contributions-—-March-17-2 5 2017-03-10 00:00:00 2017-03-10 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 911 12600.00 \n", " 912 1370150.44 \n", " 913 2102728.44 \n", " 914 4558536.45 \n", " 915 4564366.45 \n", " 916 6135315.38 \n", "Copy-of-2017-Contributions-Janu 10 10818058.78 \n", "2017-Contributions-—-February-3 34 11202575.63 \n", " 35 11262125.63 \n", "2017-Contributions-—-February-1 12 11416550.63 \n", "2017-Contributions-—-March-17-2 5 12065799.34 " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Retailers')" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v44611Encana Corporation Ltd1000.02016-02-26 00:00:002016-02-261147310.44
4612Encana Corporation Ltd10000.02016-03-24 00:00:002016-03-242086525.44
4613Encana Corporation Ltd1500.02016-04-15 00:00:002016-04-152816448.44
4614Encana Corporation Ltd1500.02016-04-22 00:00:002016-04-223202678.44
4616Encana Corporation Ltd750.02016-05-20 00:00:002016-05-204241072.78
4617Encana Corporation Ltd5000.02016-05-27 00:00:002016-05-274363478.11
4615Encana Corporation Ltd8000.02016-06-05 00:00:002016-06-054669701.45
4618Encana Corporation Ltd5000.02016-06-24 00:00:002016-06-245201365.78
4619Encana Corporation Ltd500.02016-07-13 00:00:002016-07-135605597.88
4620Encana Corporation Ltd300.02016-07-15 00:00:002016-07-155724372.88
4621Encana Corporation Ltd25000.02016-09-22 00:00:002016-09-226641549.54
4622Encana Corporation Ltd5200.02016-10-31 00:00:002016-10-317863872.96
4623Encana Corporation Ltd1500.02016-12-19 00:00:002016-12-199754678.36
Real-Time-Donations-Jan-25V3572Encana Corporation Ltd17500.02017-01-11 00:00:002017-01-1110805103.78
2017-Contributions-March-31-201544Encana Corporation Ltd3700.02017-03-28 00:00:002017-03-2813431757.53
2017-Contributions-April-21403Encana Corporation Ltd250.02017-04-14 00:00:002017-04-1414658385.86
2017-Contributions-May-5326Encana Corporation Ltd29500.02017-05-04 00:00:002017-05-0416022469.49
2017-Contributions-May-19147Encana Corporation Ltd5000.02017-05-12 00:00:002017-05-1217318690.01
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 4611 Encana Corporation Ltd 1000.0 \n", " 4612 Encana Corporation Ltd 10000.0 \n", " 4613 Encana Corporation Ltd 1500.0 \n", " 4614 Encana Corporation Ltd 1500.0 \n", " 4616 Encana Corporation Ltd 750.0 \n", " 4617 Encana Corporation Ltd 5000.0 \n", " 4615 Encana Corporation Ltd 8000.0 \n", " 4618 Encana Corporation Ltd 5000.0 \n", " 4619 Encana Corporation Ltd 500.0 \n", " 4620 Encana Corporation Ltd 300.0 \n", " 4621 Encana Corporation Ltd 25000.0 \n", " 4622 Encana Corporation Ltd 5200.0 \n", " 4623 Encana Corporation Ltd 1500.0 \n", "Real-Time-Donations-Jan-25V3 572 Encana Corporation Ltd 17500.0 \n", "2017-Contributions-March-31-201 544 Encana Corporation Ltd 3700.0 \n", "2017-Contributions-April-21 403 Encana Corporation Ltd 250.0 \n", "2017-Contributions-May-5 326 Encana Corporation Ltd 29500.0 \n", "2017-Contributions-May-19 147 Encana Corporation Ltd 5000.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 4611 2016-02-26 00:00:00 2016-02-26 \n", " 4612 2016-03-24 00:00:00 2016-03-24 \n", " 4613 2016-04-15 00:00:00 2016-04-15 \n", " 4614 2016-04-22 00:00:00 2016-04-22 \n", " 4616 2016-05-20 00:00:00 2016-05-20 \n", " 4617 2016-05-27 00:00:00 2016-05-27 \n", " 4615 2016-06-05 00:00:00 2016-06-05 \n", " 4618 2016-06-24 00:00:00 2016-06-24 \n", " 4619 2016-07-13 00:00:00 2016-07-13 \n", " 4620 2016-07-15 00:00:00 2016-07-15 \n", " 4621 2016-09-22 00:00:00 2016-09-22 \n", " 4622 2016-10-31 00:00:00 2016-10-31 \n", " 4623 2016-12-19 00:00:00 2016-12-19 \n", "Real-Time-Donations-Jan-25V3 572 2017-01-11 00:00:00 2017-01-11 \n", "2017-Contributions-March-31-201 544 2017-03-28 00:00:00 2017-03-28 \n", "2017-Contributions-April-21 403 2017-04-14 00:00:00 2017-04-14 \n", "2017-Contributions-May-5 326 2017-05-04 00:00:00 2017-05-04 \n", "2017-Contributions-May-19 147 2017-05-12 00:00:00 2017-05-12 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 4611 1147310.44 \n", " 4612 2086525.44 \n", " 4613 2816448.44 \n", " 4614 3202678.44 \n", " 4616 4241072.78 \n", " 4617 4363478.11 \n", " 4615 4669701.45 \n", " 4618 5201365.78 \n", " 4619 5605597.88 \n", " 4620 5724372.88 \n", " 4621 6641549.54 \n", " 4622 7863872.96 \n", " 4623 9754678.36 \n", "Real-Time-Donations-Jan-25V3 572 10805103.78 \n", "2017-Contributions-March-31-201 544 13431757.53 \n", "2017-Contributions-April-21 403 14658385.86 \n", "2017-Contributions-May-5 326 16022469.49 \n", "2017-Contributions-May-19 147 17318690.01 " ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Encana')" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "121200.0" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Encana')['Amount'].sum()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v49070Ledcor Industries Inc.9000.02016-05-08 00:00:002016-05-083592482.44
9069Ledcor Industries Inc.7500.02016-06-24 00:00:002016-06-245151360.78
9067Ledcor Industries Inc.5000.02016-08-04 00:00:002016-08-046003540.38
9068Ledcor Industries Inc.700.02016-10-06 00:00:002016-10-067105143.35
9071Ledcor Industries Inc.1200.02016-11-21 00:00:002016-11-218514081.96
9072Ledcor Industries Inc.2000.02016-11-28 00:00:002016-11-288723601.69
9073Ledcor Industries Inc.5100.02016-12-19 00:00:002016-12-199717643.36
Real-Time-Donations-Jan-25V3595Ledcor Industries Inc.1000.02017-01-11 00:00:002017-01-1110760763.67
2017-Contributions-March-31-2011028Ledcor Industries Inc.1000.02017-03-28 00:00:002017-03-2813513287.53
2017-Contributions-April-28-201277Ledcor Industries Inc.1000.02017-04-21 00:00:002017-04-2114971133.38
2017-Contributions-May-5666Ledcor Industries Inc.5000.02017-05-03 00:00:002017-05-0315866549.49
2017-Contributions-May-12332Ledcor Industries Inc.1300.02017-05-05 00:00:002017-05-0516323461.82
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 9070 Ledcor Industries Inc. 9000.0 \n", " 9069 Ledcor Industries Inc. 7500.0 \n", " 9067 Ledcor Industries Inc. 5000.0 \n", " 9068 Ledcor Industries Inc. 700.0 \n", " 9071 Ledcor Industries Inc. 1200.0 \n", " 9072 Ledcor Industries Inc. 2000.0 \n", " 9073 Ledcor Industries Inc. 5100.0 \n", "Real-Time-Donations-Jan-25V3 595 Ledcor Industries Inc. 1000.0 \n", "2017-Contributions-March-31-201 1028 Ledcor Industries Inc. 1000.0 \n", "2017-Contributions-April-28-201 277 Ledcor Industries Inc. 1000.0 \n", "2017-Contributions-May-5 666 Ledcor Industries Inc. 5000.0 \n", "2017-Contributions-May-12 332 Ledcor Industries Inc. 1300.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 9070 2016-05-08 00:00:00 2016-05-08 \n", " 9069 2016-06-24 00:00:00 2016-06-24 \n", " 9067 2016-08-04 00:00:00 2016-08-04 \n", " 9068 2016-10-06 00:00:00 2016-10-06 \n", " 9071 2016-11-21 00:00:00 2016-11-21 \n", " 9072 2016-11-28 00:00:00 2016-11-28 \n", " 9073 2016-12-19 00:00:00 2016-12-19 \n", "Real-Time-Donations-Jan-25V3 595 2017-01-11 00:00:00 2017-01-11 \n", "2017-Contributions-March-31-201 1028 2017-03-28 00:00:00 2017-03-28 \n", "2017-Contributions-April-28-201 277 2017-04-21 00:00:00 2017-04-21 \n", "2017-Contributions-May-5 666 2017-05-03 00:00:00 2017-05-03 \n", "2017-Contributions-May-12 332 2017-05-05 00:00:00 2017-05-05 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 9070 3592482.44 \n", " 9069 5151360.78 \n", " 9067 6003540.38 \n", " 9068 7105143.35 \n", " 9071 8514081.96 \n", " 9072 8723601.69 \n", " 9073 9717643.36 \n", "Real-Time-Donations-Jan-25V3 595 10760763.67 \n", "2017-Contributions-March-31-201 1028 13513287.53 \n", "2017-Contributions-April-28-201 277 14971133.38 \n", "2017-Contributions-May-5 666 15866549.49 \n", "2017-Contributions-May-12 332 16323461.82 " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Ledcor')" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v411439Pacific Northwest LNG Ltd.500.02016-01-01 00:00:002016-01-0110850.00
14016Steelhead LNG Corp.4000.02016-02-15 00:00:002016-02-15750390.44
14017Steelhead LNG Corp.4000.02016-02-29 00:00:002016-02-291330105.44
11441Pacific Northwest LNG Ltd.2500.02016-02-29 00:00:002016-02-291415020.44
15791Woodfibre LNG Ltd.10000.02016-04-22 00:00:002016-04-223263228.44
15792Woodfibre LNG Ltd.1000.02016-06-24 00:00:002016-06-245196240.78
14018Steelhead LNG Corp.7500.02016-06-24 00:00:002016-06-245254369.52
11440Pacific Northwest LNG Ltd.1250.02016-08-01 00:00:002016-08-015964181.38
15793Woodfibre LNG Ltd.5000.02016-11-15 00:00:002016-11-158440181.96
11438Pacific North West LNG1000.02016-12-08 00:00:002016-12-089328597.66
15794Woodfibre LNG Ltd.5000.02016-12-22 00:00:002016-12-229898556.36
Copy-of-2017-Contributions-Janu203Woodfibre LNG Ltd.7500.01/18/20172017-01-1810931198.78
2017-Contributions-—-February-1186Woodfibre LNG Ltd.4500.02017-02-08 00:00:002017-02-0811474535.63
2017-Contributions-February-17159Steelhead LNG300.02017-02-10 00:00:002017-02-1011551075.63
2017-Contributions-March-10159Steelhead LNG300.02017-02-10 00:00:002017-02-1011614400.63
2017-Contributions-—-March-17-2162Steelhead LNG2225.02017-03-10 00:00:002017-03-1012102489.34
2017-Contributions-April-7720Woodfibre LNG Ltd.7500.02017-04-03 00:00:002017-04-0313877625.86
2017-Contributions-April-14740Woodfibre LNG Ltd.2500.02017-04-09 00:00:002017-04-0914431192.86
2017-Contributions-April-211310Woodfibre LNG Ltd.10000.02017-04-14 00:00:002017-04-1414695085.86
2017-Contributions-April-28-201507Woodfibre LNG Ltd.2500.02017-04-21 00:00:002017-04-2114921129.38
2017-Contributions-May-51117Woodfibre LNG Ltd.2000.02017-04-29 00:00:002017-04-2915625016.49
1118Woodfibre LNG Ltd.10000.02017-05-03 00:00:002017-05-0315921484.49
2017-Contributions-May-19402Steelhead LNG4000.02017-05-12 00:00:002017-05-1217818626.51
2017-Contributions-June-2419Pacific Rim LNG Ltd250.02017-05-30 00:00:002017-05-3018451503.09
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 11439 Pacific Northwest LNG Ltd. 500.0 \n", " 14016 Steelhead LNG Corp. 4000.0 \n", " 14017 Steelhead LNG Corp. 4000.0 \n", " 11441 Pacific Northwest LNG Ltd. 2500.0 \n", " 15791 Woodfibre LNG Ltd. 10000.0 \n", " 15792 Woodfibre LNG Ltd. 1000.0 \n", " 14018 Steelhead LNG Corp. 7500.0 \n", " 11440 Pacific Northwest LNG Ltd. 1250.0 \n", " 15793 Woodfibre LNG Ltd. 5000.0 \n", " 11438 Pacific North West LNG 1000.0 \n", " 15794 Woodfibre LNG Ltd. 5000.0 \n", "Copy-of-2017-Contributions-Janu 203 Woodfibre LNG Ltd. 7500.0 \n", "2017-Contributions-—-February-1 186 Woodfibre LNG Ltd. 4500.0 \n", "2017-Contributions-February-17 159 Steelhead LNG 300.0 \n", "2017-Contributions-March-10 159 Steelhead LNG 300.0 \n", "2017-Contributions-—-March-17-2 162 Steelhead LNG 2225.0 \n", "2017-Contributions-April-7 720 Woodfibre LNG Ltd. 7500.0 \n", "2017-Contributions-April-14 740 Woodfibre LNG Ltd. 2500.0 \n", "2017-Contributions-April-21 1310 Woodfibre LNG Ltd. 10000.0 \n", "2017-Contributions-April-28-201 507 Woodfibre LNG Ltd. 2500.0 \n", "2017-Contributions-May-5 1117 Woodfibre LNG Ltd. 2000.0 \n", " 1118 Woodfibre LNG Ltd. 10000.0 \n", "2017-Contributions-May-19 402 Steelhead LNG 4000.0 \n", "2017-Contributions-June-2 419 Pacific Rim LNG Ltd 250.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 11439 2016-01-01 00:00:00 2016-01-01 \n", " 14016 2016-02-15 00:00:00 2016-02-15 \n", " 14017 2016-02-29 00:00:00 2016-02-29 \n", " 11441 2016-02-29 00:00:00 2016-02-29 \n", " 15791 2016-04-22 00:00:00 2016-04-22 \n", " 15792 2016-06-24 00:00:00 2016-06-24 \n", " 14018 2016-06-24 00:00:00 2016-06-24 \n", " 11440 2016-08-01 00:00:00 2016-08-01 \n", " 15793 2016-11-15 00:00:00 2016-11-15 \n", " 11438 2016-12-08 00:00:00 2016-12-08 \n", " 15794 2016-12-22 00:00:00 2016-12-22 \n", "Copy-of-2017-Contributions-Janu 203 1/18/2017 2017-01-18 \n", "2017-Contributions-—-February-1 186 2017-02-08 00:00:00 2017-02-08 \n", "2017-Contributions-February-17 159 2017-02-10 00:00:00 2017-02-10 \n", "2017-Contributions-March-10 159 2017-02-10 00:00:00 2017-02-10 \n", "2017-Contributions-—-March-17-2 162 2017-03-10 00:00:00 2017-03-10 \n", "2017-Contributions-April-7 720 2017-04-03 00:00:00 2017-04-03 \n", "2017-Contributions-April-14 740 2017-04-09 00:00:00 2017-04-09 \n", "2017-Contributions-April-21 1310 2017-04-14 00:00:00 2017-04-14 \n", "2017-Contributions-April-28-201 507 2017-04-21 00:00:00 2017-04-21 \n", "2017-Contributions-May-5 1117 2017-04-29 00:00:00 2017-04-29 \n", " 1118 2017-05-03 00:00:00 2017-05-03 \n", "2017-Contributions-May-19 402 2017-05-12 00:00:00 2017-05-12 \n", "2017-Contributions-June-2 419 2017-05-30 00:00:00 2017-05-30 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 11439 10850.00 \n", " 14016 750390.44 \n", " 14017 1330105.44 \n", " 11441 1415020.44 \n", " 15791 3263228.44 \n", " 15792 5196240.78 \n", " 14018 5254369.52 \n", " 11440 5964181.38 \n", " 15793 8440181.96 \n", " 11438 9328597.66 \n", " 15794 9898556.36 \n", "Copy-of-2017-Contributions-Janu 203 10931198.78 \n", "2017-Contributions-—-February-1 186 11474535.63 \n", "2017-Contributions-February-17 159 11551075.63 \n", "2017-Contributions-March-10 159 11614400.63 \n", "2017-Contributions-—-March-17-2 162 12102489.34 \n", "2017-Contributions-April-7 720 13877625.86 \n", "2017-Contributions-April-14 740 14431192.86 \n", "2017-Contributions-April-21 1310 14695085.86 \n", "2017-Contributions-April-28-201 507 14921129.38 \n", "2017-Contributions-May-5 1117 15625016.49 \n", " 1118 15921484.49 \n", "2017-Contributions-May-19 402 17818626.51 \n", "2017-Contributions-June-2 419 18451503.09 " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('LNG')" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v414507Telus250.02016-01-01 00:00:002016-01-0175850.00
14508Telus2500.02016-01-22 00:00:002016-01-22379822.79
14509Telus450.02016-01-31 00:00:002016-01-31627937.09
14510Telus7500.02016-03-02 00:00:002016-03-021495920.44
14511Telus5000.02016-03-31 00:00:002016-03-312238668.44
14512Telus300.02016-04-15 00:00:002016-04-153116243.44
14513Telus1300.02016-05-31 00:00:002016-05-314551621.45
14514Telus4450.02016-06-30 00:00:002016-06-305549187.88
14516Telus1250.02016-10-30 00:00:002016-10-307386385.60
14517Telus500.02016-10-31 00:00:002016-10-317855587.96
14519Telus Communications2000.02016-11-30 00:00:002016-11-308849172.69
14518Telus1500.02016-11-30 00:00:002016-11-308850772.69
2017-Contributions-—-February-1171Telus1200.02017-02-03 00:00:002017-02-0311383729.63
2017-Contributions-_-February-2124Telus380.02017-02-17 00:00:002017-02-1711700150.63
2017-Contributions-March-3-20171231Telus5000.02017-02-24 00:00:002017-02-2411920854.34
2017-Contributions-April-14688Telus2000.02017-04-07 00:00:002017-04-0714101890.86
2017-Contributions-April-211211Telus5000.02017-04-14 00:00:002017-04-1414576488.86
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 14507 Telus 250.0 \n", " 14508 Telus 2500.0 \n", " 14509 Telus 450.0 \n", " 14510 Telus 7500.0 \n", " 14511 Telus 5000.0 \n", " 14512 Telus 300.0 \n", " 14513 Telus 1300.0 \n", " 14514 Telus 4450.0 \n", " 14516 Telus 1250.0 \n", " 14517 Telus 500.0 \n", " 14519 Telus Communications 2000.0 \n", " 14518 Telus 1500.0 \n", "2017-Contributions-—-February-1 171 Telus 1200.0 \n", "2017-Contributions-_-February-2 124 Telus 380.0 \n", "2017-Contributions-March-3-2017 1231 Telus 5000.0 \n", "2017-Contributions-April-14 688 Telus 2000.0 \n", "2017-Contributions-April-21 1211 Telus 5000.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 14507 2016-01-01 00:00:00 2016-01-01 \n", " 14508 2016-01-22 00:00:00 2016-01-22 \n", " 14509 2016-01-31 00:00:00 2016-01-31 \n", " 14510 2016-03-02 00:00:00 2016-03-02 \n", " 14511 2016-03-31 00:00:00 2016-03-31 \n", " 14512 2016-04-15 00:00:00 2016-04-15 \n", " 14513 2016-05-31 00:00:00 2016-05-31 \n", " 14514 2016-06-30 00:00:00 2016-06-30 \n", " 14516 2016-10-30 00:00:00 2016-10-30 \n", " 14517 2016-10-31 00:00:00 2016-10-31 \n", " 14519 2016-11-30 00:00:00 2016-11-30 \n", " 14518 2016-11-30 00:00:00 2016-11-30 \n", "2017-Contributions-—-February-1 171 2017-02-03 00:00:00 2017-02-03 \n", "2017-Contributions-_-February-2 124 2017-02-17 00:00:00 2017-02-17 \n", "2017-Contributions-March-3-2017 1231 2017-02-24 00:00:00 2017-02-24 \n", "2017-Contributions-April-14 688 2017-04-07 00:00:00 2017-04-07 \n", "2017-Contributions-April-21 1211 2017-04-14 00:00:00 2017-04-14 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 14507 75850.00 \n", " 14508 379822.79 \n", " 14509 627937.09 \n", " 14510 1495920.44 \n", " 14511 2238668.44 \n", " 14512 3116243.44 \n", " 14513 4551621.45 \n", " 14514 5549187.88 \n", " 14516 7386385.60 \n", " 14517 7855587.96 \n", " 14519 8849172.69 \n", " 14518 8850772.69 \n", "2017-Contributions-—-February-1 171 11383729.63 \n", "2017-Contributions-_-February-2 124 11700150.63 \n", "2017-Contributions-March-3-2017 1231 11920854.34 \n", "2017-Contributions-April-14 688 14101890.86 \n", "2017-Contributions-April-21 1211 14576488.86 " ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Telus')" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v4980Bank of Montreal250.02016-01-31 00:00:002016-01-31547793.09
6448HSBC Bank Canada5000.02016-03-02 00:00:002016-03-021448195.44
14858Toronto Dominion Bank5000.02016-03-24 00:00:002016-03-242068255.44
6449HSBC Bank Canada50.02016-04-03 00:00:002016-04-032579401.44
14639The Toronto-Dominion Bank350.02016-04-22 00:00:002016-04-223291665.44
981Bank of Montreal20.02016-04-30 00:00:002016-04-303449089.44
15353Wayne Banks150.02016-05-08 00:00:002016-05-083596632.44
8454KEB Hana Bank Canada300.02016-05-20 00:00:002016-05-204252072.78
13263Royal Bank of Canada1000.02016-05-27 00:00:002016-05-274340733.11
14859Toronto Dominion Bank20000.02016-09-13 00:00:002016-09-136457109.55
1049Bard & Banker Pub Company Ltd12500.02016-10-21 00:00:002016-10-217287393.35
14640The Toronto-Dominion Bank360.02016-11-10 00:00:002016-11-108109975.96
7033James W. Banks100.02016-12-31 00:00:002016-12-3110278986.32
Real-Time-Donations-Jan-25V3469The Toronto-Dominion Bank50.02017-01-04 00:00:002017-01-0410678908.67
440Royal Bank of Canada25.02017-01-04 00:00:002017-01-0410635003.67
Copy-of-2017-Contributions-Janu189Toronto-Dominion Bank400.01/18/20172017-01-1810933283.78
2017-Contributions-—-February-3490TD Bank Group450.02017-01-27 00:00:002017-01-2711179878.63
2017-Contributions-March-31-2011667The Toronto-Dominion Bank100.02017-03-25 00:00:002017-03-2513005168.86
1644The Toronto-Dominion Bank750.02017-03-25 00:00:002017-03-2512793189.39
736HSBC Bank Canada50.02017-03-25 00:00:002017-03-2513257895.53
2017-Contributions-April-1459Bard & Banker Pub Company Ltd500.02017-04-09 00:00:002017-04-0914223712.86
2017-Contributions-May-51015TD Bank Financial Group5000.02017-05-03 00:00:002017-05-0315911034.49
2017-Contributions-May-19414The Toronto-Dominion Bank15000.02017-05-12 00:00:002017-05-1217854346.51
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 980 Bank of Montreal 250.0 \n", " 6448 HSBC Bank Canada 5000.0 \n", " 14858 Toronto Dominion Bank 5000.0 \n", " 6449 HSBC Bank Canada 50.0 \n", " 14639 The Toronto-Dominion Bank 350.0 \n", " 981 Bank of Montreal 20.0 \n", " 15353 Wayne Banks 150.0 \n", " 8454 KEB Hana Bank Canada 300.0 \n", " 13263 Royal Bank of Canada 1000.0 \n", " 14859 Toronto Dominion Bank 20000.0 \n", " 1049 Bard & Banker Pub Company Ltd 12500.0 \n", " 14640 The Toronto-Dominion Bank 360.0 \n", " 7033 James W. Banks 100.0 \n", "Real-Time-Donations-Jan-25V3 469 The Toronto-Dominion Bank 50.0 \n", " 440 Royal Bank of Canada 25.0 \n", "Copy-of-2017-Contributions-Janu 189 Toronto-Dominion Bank 400.0 \n", "2017-Contributions-—-February-3 490 TD Bank Group 450.0 \n", "2017-Contributions-March-31-201 1667 The Toronto-Dominion Bank 100.0 \n", " 1644 The Toronto-Dominion Bank 750.0 \n", " 736 HSBC Bank Canada 50.0 \n", "2017-Contributions-April-14 59 Bard & Banker Pub Company Ltd 500.0 \n", "2017-Contributions-May-5 1015 TD Bank Financial Group 5000.0 \n", "2017-Contributions-May-19 414 The Toronto-Dominion Bank 15000.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 980 2016-01-31 00:00:00 2016-01-31 \n", " 6448 2016-03-02 00:00:00 2016-03-02 \n", " 14858 2016-03-24 00:00:00 2016-03-24 \n", " 6449 2016-04-03 00:00:00 2016-04-03 \n", " 14639 2016-04-22 00:00:00 2016-04-22 \n", " 981 2016-04-30 00:00:00 2016-04-30 \n", " 15353 2016-05-08 00:00:00 2016-05-08 \n", " 8454 2016-05-20 00:00:00 2016-05-20 \n", " 13263 2016-05-27 00:00:00 2016-05-27 \n", " 14859 2016-09-13 00:00:00 2016-09-13 \n", " 1049 2016-10-21 00:00:00 2016-10-21 \n", " 14640 2016-11-10 00:00:00 2016-11-10 \n", " 7033 2016-12-31 00:00:00 2016-12-31 \n", "Real-Time-Donations-Jan-25V3 469 2017-01-04 00:00:00 2017-01-04 \n", " 440 2017-01-04 00:00:00 2017-01-04 \n", "Copy-of-2017-Contributions-Janu 189 1/18/2017 2017-01-18 \n", "2017-Contributions-—-February-3 490 2017-01-27 00:00:00 2017-01-27 \n", "2017-Contributions-March-31-201 1667 2017-03-25 00:00:00 2017-03-25 \n", " 1644 2017-03-25 00:00:00 2017-03-25 \n", " 736 2017-03-25 00:00:00 2017-03-25 \n", "2017-Contributions-April-14 59 2017-04-09 00:00:00 2017-04-09 \n", "2017-Contributions-May-5 1015 2017-05-03 00:00:00 2017-05-03 \n", "2017-Contributions-May-19 414 2017-05-12 00:00:00 2017-05-12 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 980 547793.09 \n", " 6448 1448195.44 \n", " 14858 2068255.44 \n", " 6449 2579401.44 \n", " 14639 3291665.44 \n", " 981 3449089.44 \n", " 15353 3596632.44 \n", " 8454 4252072.78 \n", " 13263 4340733.11 \n", " 14859 6457109.55 \n", " 1049 7287393.35 \n", " 14640 8109975.96 \n", " 7033 10278986.32 \n", "Real-Time-Donations-Jan-25V3 469 10678908.67 \n", " 440 10635003.67 \n", "Copy-of-2017-Contributions-Janu 189 10933283.78 \n", "2017-Contributions-—-February-3 490 11179878.63 \n", "2017-Contributions-March-31-201 1667 13005168.86 \n", " 1644 12793189.39 \n", " 736 13257895.53 \n", "2017-Contributions-April-14 59 14223712.86 \n", "2017-Contributions-May-5 1015 15911034.49 \n", "2017-Contributions-May-19 414 17854346.51 " ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Bank')" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v45270Gateway Casinos and Entertainment Limited3500.002016-01-01 00:00:002016-01-0144550.00
5272Gateway Casinos and Entertainment Limited1575.002016-01-15 00:00:002016-01-15266045.00
5273Gateway Casinos and Entertainment Limited2000.002016-01-22 00:00:002016-01-22395097.79
12657River Rock Casino Resort500.002016-01-25 00:00:002016-01-25430684.09
5274Gateway Casinos and Entertainment Limited200.002016-01-29 00:00:002016-01-29455258.09
5276Gateway Casinos and Entertainment Limited2200.002016-02-26 00:00:002016-02-261099230.44
5288Gateway Casinos and Entertainment Limited750.002016-03-06 00:00:002016-03-061598617.44
5300Gateway Casinos and Entertainment Limited10300.002016-03-11 00:00:002016-03-111871084.44
4449Elements Casino1775.002016-03-18 00:00:002016-03-181964010.44
5278Gateway Casinos and Entertainment Limited460.002016-03-18 00:00:002016-03-182015285.44
5279Gateway Casinos and Entertainment Limited50.002016-03-31 00:00:002016-03-312332648.44
5292Gateway Casinos and Entertainment Limited520.002016-04-07 00:00:002016-04-072774038.44
5281Gateway Casinos and Entertainment Limited7000.002016-04-15 00:00:002016-04-152977653.44
2179Cascades Casino Ltd500.002016-04-22 00:00:002016-04-223171278.44
5282Gateway Casinos and Entertainment Limited25.002016-04-28 00:00:002016-04-283341275.44
5283Gateway Casinos and Entertainment Limited728.002016-04-30 00:00:002016-04-303491337.44
13982St. Eugene Golf Resort & Casino1500.002016-05-13 00:00:002016-05-134084787.78
5285Gateway Casinos and Entertainment Limited17080.002016-05-13 00:00:002016-05-133790625.44
5286Gateway Casinos and Entertainment Limited760.002016-05-27 00:00:002016-05-274297732.78
5287Gateway Casinos and Entertainment Limited80.002016-05-31 00:00:002016-05-314548281.45
13983St. Eugene Golf Resort & Casino400.002016-05-31 00:00:002016-05-314454708.11
5284Gateway Casinos and Entertainment Limited4000.002016-06-05 00:00:002016-06-054728652.45
5289Gateway Casinos and Entertainment Limited4000.002016-06-17 00:00:002016-06-175090575.78
5290Gateway Casinos and Entertainment Limited1823.742016-06-24 00:00:002016-06-245236344.52
13984St. Eugene Golf Resort & Casino50.002016-06-30 00:00:002016-06-305432487.88
5291Gateway Casinos and Entertainment Limited150.002016-06-30 00:00:002016-06-305365654.52
5293Gateway Casinos and Entertainment Limited3000.002016-07-13 00:00:002016-07-135616517.88
5294Gateway Casinos and Entertainment Limited3000.002016-07-19 00:00:002016-07-195734497.88
5271Gateway Casinos and Entertainment Limited475.002016-08-01 00:00:002016-08-015962931.38
5280Gateway Casinos and Entertainment Limited2000.002016-08-04 00:00:002016-08-046030365.38
5295Gateway Casinos and Entertainment Limited520.002016-09-16 00:00:002016-09-166502268.55
5296Gateway Casinos and Entertainment Limited1000.002016-09-26 00:00:002016-09-266689289.85
5297Gateway Casinos and Entertainment Limited1050.002016-09-30 00:00:002016-09-306778523.10
5298Gateway Casinos and Entertainment Limited600.002016-10-21 00:00:002016-10-217222158.35
5299Gateway Casinos and Entertainment Limited5892.002016-10-31 00:00:002016-10-317723590.60
5277Gateway Casinos and Entertainment Limited1200.002016-11-03 00:00:002016-11-038044460.96
5301Gateway Casinos and Entertainment Limited500.002016-11-21 00:00:002016-11-218527731.96
5275Gateway Casinos and Entertainment Limited7500.002016-12-02 00:00:002016-12-029250927.66
5302Gateway Casinos and Entertainment Limited500.002016-12-12 00:00:002016-12-129488007.66
5303Gateway Casinos and Entertainment Limited200.002016-12-22 00:00:002016-12-229853261.36
Copy-of-2017-Contributions-Janu64Gateway Casinos and Entertainment Limited1500.001/18/20172017-01-1810991938.78
Sheet2357Gateway Casinos44.001/20/20172017-01-2011070178.63
358Gateway Casinos and Entertainment Limited2500.001/25/20172017-01-2511132928.63
2017-Contributions-—-February-3176Gateway Casinos5045.002017-02-01 00:00:002017-02-0111273795.63
2017-Contributions-_-February-235Gateway Casinos and Entertainment Limited1400.002017-02-22 00:00:002017-02-2211736840.63
2017-Contributions-March-31-201613Gateway Casinos and Entertainment Limited4000.002017-03-25 00:00:002017-03-2512738199.39
614Gateway Casinos and Entertainment Limited8800.002017-03-28 00:00:002017-03-2813391502.53
2017-Contributions-April-21455Gateway Casinos and Entertainment Limited2900.002017-04-14 00:00:002017-04-1414677850.86
2017-Contributions-April-28-20153Billy Barker Casino500.002017-04-21 00:00:002017-04-2115072170.38
\n", "
" ], "text/plain": [ " Donor Name \\\n", "Copy-of-2016-Contributions-v4 5270 Gateway Casinos and Entertainment Limited \n", " 5272 Gateway Casinos and Entertainment Limited \n", " 5273 Gateway Casinos and Entertainment Limited \n", " 12657 River Rock Casino Resort \n", " 5274 Gateway Casinos and Entertainment Limited \n", " 5276 Gateway Casinos and Entertainment Limited \n", " 5288 Gateway Casinos and Entertainment Limited \n", " 5300 Gateway Casinos and Entertainment Limited \n", " 4449 Elements Casino \n", " 5278 Gateway Casinos and Entertainment Limited \n", " 5279 Gateway Casinos and Entertainment Limited \n", " 5292 Gateway Casinos and Entertainment Limited \n", " 5281 Gateway Casinos and Entertainment Limited \n", " 2179 Cascades Casino Ltd \n", " 5282 Gateway Casinos and Entertainment Limited \n", " 5283 Gateway Casinos and Entertainment Limited \n", " 13982 St. Eugene Golf Resort & Casino \n", " 5285 Gateway Casinos and Entertainment Limited \n", " 5286 Gateway Casinos and Entertainment Limited \n", " 5287 Gateway Casinos and Entertainment Limited \n", " 13983 St. Eugene Golf Resort & Casino \n", " 5284 Gateway Casinos and Entertainment Limited \n", " 5289 Gateway Casinos and Entertainment Limited \n", " 5290 Gateway Casinos and Entertainment Limited \n", " 13984 St. Eugene Golf Resort & Casino \n", " 5291 Gateway Casinos and Entertainment Limited \n", " 5293 Gateway Casinos and Entertainment Limited \n", " 5294 Gateway Casinos and Entertainment Limited \n", " 5271 Gateway Casinos and Entertainment Limited \n", " 5280 Gateway Casinos and Entertainment Limited \n", " 5295 Gateway Casinos and Entertainment Limited \n", " 5296 Gateway Casinos and Entertainment Limited \n", " 5297 Gateway Casinos and Entertainment Limited \n", " 5298 Gateway Casinos and Entertainment Limited \n", " 5299 Gateway Casinos and Entertainment Limited \n", " 5277 Gateway Casinos and Entertainment Limited \n", " 5301 Gateway Casinos and Entertainment Limited \n", " 5275 Gateway Casinos and Entertainment Limited \n", " 5302 Gateway Casinos and Entertainment Limited \n", " 5303 Gateway Casinos and Entertainment Limited \n", "Copy-of-2017-Contributions-Janu 64 Gateway Casinos and Entertainment Limited \n", "Sheet2 357 Gateway Casinos \n", " 358 Gateway Casinos and Entertainment Limited \n", "2017-Contributions-—-February-3 176 Gateway Casinos \n", "2017-Contributions-_-February-2 35 Gateway Casinos and Entertainment Limited \n", "2017-Contributions-March-31-201 613 Gateway Casinos and Entertainment Limited \n", " 614 Gateway Casinos and Entertainment Limited \n", "2017-Contributions-April-21 455 Gateway Casinos and Entertainment Limited \n", "2017-Contributions-April-28-201 53 Billy Barker Casino \n", "\n", " Amount Date \\\n", "Copy-of-2016-Contributions-v4 5270 3500.00 2016-01-01 00:00:00 \n", " 5272 1575.00 2016-01-15 00:00:00 \n", " 5273 2000.00 2016-01-22 00:00:00 \n", " 12657 500.00 2016-01-25 00:00:00 \n", " 5274 200.00 2016-01-29 00:00:00 \n", " 5276 2200.00 2016-02-26 00:00:00 \n", " 5288 750.00 2016-03-06 00:00:00 \n", " 5300 10300.00 2016-03-11 00:00:00 \n", " 4449 1775.00 2016-03-18 00:00:00 \n", " 5278 460.00 2016-03-18 00:00:00 \n", " 5279 50.00 2016-03-31 00:00:00 \n", " 5292 520.00 2016-04-07 00:00:00 \n", " 5281 7000.00 2016-04-15 00:00:00 \n", " 2179 500.00 2016-04-22 00:00:00 \n", " 5282 25.00 2016-04-28 00:00:00 \n", " 5283 728.00 2016-04-30 00:00:00 \n", " 13982 1500.00 2016-05-13 00:00:00 \n", " 5285 17080.00 2016-05-13 00:00:00 \n", " 5286 760.00 2016-05-27 00:00:00 \n", " 5287 80.00 2016-05-31 00:00:00 \n", " 13983 400.00 2016-05-31 00:00:00 \n", " 5284 4000.00 2016-06-05 00:00:00 \n", " 5289 4000.00 2016-06-17 00:00:00 \n", " 5290 1823.74 2016-06-24 00:00:00 \n", " 13984 50.00 2016-06-30 00:00:00 \n", " 5291 150.00 2016-06-30 00:00:00 \n", " 5293 3000.00 2016-07-13 00:00:00 \n", " 5294 3000.00 2016-07-19 00:00:00 \n", " 5271 475.00 2016-08-01 00:00:00 \n", " 5280 2000.00 2016-08-04 00:00:00 \n", " 5295 520.00 2016-09-16 00:00:00 \n", " 5296 1000.00 2016-09-26 00:00:00 \n", " 5297 1050.00 2016-09-30 00:00:00 \n", " 5298 600.00 2016-10-21 00:00:00 \n", " 5299 5892.00 2016-10-31 00:00:00 \n", " 5277 1200.00 2016-11-03 00:00:00 \n", " 5301 500.00 2016-11-21 00:00:00 \n", " 5275 7500.00 2016-12-02 00:00:00 \n", " 5302 500.00 2016-12-12 00:00:00 \n", " 5303 200.00 2016-12-22 00:00:00 \n", "Copy-of-2017-Contributions-Janu 64 1500.00 1/18/2017 \n", "Sheet2 357 44.00 1/20/2017 \n", " 358 2500.00 1/25/2017 \n", "2017-Contributions-—-February-3 176 5045.00 2017-02-01 00:00:00 \n", "2017-Contributions-_-February-2 35 1400.00 2017-02-22 00:00:00 \n", "2017-Contributions-March-31-201 613 4000.00 2017-03-25 00:00:00 \n", " 614 8800.00 2017-03-28 00:00:00 \n", "2017-Contributions-April-21 455 2900.00 2017-04-14 00:00:00 \n", "2017-Contributions-April-28-201 53 500.00 2017-04-21 00:00:00 \n", "\n", " datetime cumsum \n", "Copy-of-2016-Contributions-v4 5270 2016-01-01 44550.00 \n", " 5272 2016-01-15 266045.00 \n", " 5273 2016-01-22 395097.79 \n", " 12657 2016-01-25 430684.09 \n", " 5274 2016-01-29 455258.09 \n", " 5276 2016-02-26 1099230.44 \n", " 5288 2016-03-06 1598617.44 \n", " 5300 2016-03-11 1871084.44 \n", " 4449 2016-03-18 1964010.44 \n", " 5278 2016-03-18 2015285.44 \n", " 5279 2016-03-31 2332648.44 \n", " 5292 2016-04-07 2774038.44 \n", " 5281 2016-04-15 2977653.44 \n", " 2179 2016-04-22 3171278.44 \n", " 5282 2016-04-28 3341275.44 \n", " 5283 2016-04-30 3491337.44 \n", " 13982 2016-05-13 4084787.78 \n", " 5285 2016-05-13 3790625.44 \n", " 5286 2016-05-27 4297732.78 \n", " 5287 2016-05-31 4548281.45 \n", " 13983 2016-05-31 4454708.11 \n", " 5284 2016-06-05 4728652.45 \n", " 5289 2016-06-17 5090575.78 \n", " 5290 2016-06-24 5236344.52 \n", " 13984 2016-06-30 5432487.88 \n", " 5291 2016-06-30 5365654.52 \n", " 5293 2016-07-13 5616517.88 \n", " 5294 2016-07-19 5734497.88 \n", " 5271 2016-08-01 5962931.38 \n", " 5280 2016-08-04 6030365.38 \n", " 5295 2016-09-16 6502268.55 \n", " 5296 2016-09-26 6689289.85 \n", " 5297 2016-09-30 6778523.10 \n", " 5298 2016-10-21 7222158.35 \n", " 5299 2016-10-31 7723590.60 \n", " 5277 2016-11-03 8044460.96 \n", " 5301 2016-11-21 8527731.96 \n", " 5275 2016-12-02 9250927.66 \n", " 5302 2016-12-12 9488007.66 \n", " 5303 2016-12-22 9853261.36 \n", "Copy-of-2017-Contributions-Janu 64 2017-01-18 10991938.78 \n", "Sheet2 357 2017-01-20 11070178.63 \n", " 358 2017-01-25 11132928.63 \n", "2017-Contributions-—-February-3 176 2017-02-01 11273795.63 \n", "2017-Contributions-_-February-2 35 2017-02-22 11736840.63 \n", "2017-Contributions-March-31-201 613 2017-03-25 12738199.39 \n", " 614 2017-03-28 13391502.53 \n", "2017-Contributions-April-21 455 2017-04-14 14677850.86 \n", "2017-Contributions-April-28-201 53 2017-04-21 15072170.38 " ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Casino')" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "116052.73999999999" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Casino')['Amount'].sum()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v44732Ernst & Young LLP250.02016-01-01 00:00:002016-01-01121225.00
4733Ernst & Young LLP10000.02016-03-31 00:00:002016-03-312390868.44
1769Bruce Ernst Pydee200.02016-07-31 00:00:002016-07-315925572.63
4730Ernst & Young4000.02016-07-31 00:00:002016-07-315919218.88
4731Ernst & Young200.02016-09-29 00:00:002016-09-296727990.10
8355Karl Ernst35.02016-10-31 00:00:002016-10-317704379.60
4734Ernst & Young LLP3500.02016-12-12 00:00:002016-12-129465647.66
4735Ernst & Young LLP4500.02016-12-19 00:00:002016-12-199821501.36
Real-Time-Donations-Jan-25V3290Karl Ernst25.02017-01-04 00:00:002017-01-0410476198.67
2017-Contributions-—-February-3160Ernst & Young LLP3500.02017-02-01 00:00:002017-02-0111255375.63
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 4732 Ernst & Young LLP 250.0 \n", " 4733 Ernst & Young LLP 10000.0 \n", " 1769 Bruce Ernst Pydee 200.0 \n", " 4730 Ernst & Young 4000.0 \n", " 4731 Ernst & Young 200.0 \n", " 8355 Karl Ernst 35.0 \n", " 4734 Ernst & Young LLP 3500.0 \n", " 4735 Ernst & Young LLP 4500.0 \n", "Real-Time-Donations-Jan-25V3 290 Karl Ernst 25.0 \n", "2017-Contributions-—-February-3 160 Ernst & Young LLP 3500.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 4732 2016-01-01 00:00:00 2016-01-01 \n", " 4733 2016-03-31 00:00:00 2016-03-31 \n", " 1769 2016-07-31 00:00:00 2016-07-31 \n", " 4730 2016-07-31 00:00:00 2016-07-31 \n", " 4731 2016-09-29 00:00:00 2016-09-29 \n", " 8355 2016-10-31 00:00:00 2016-10-31 \n", " 4734 2016-12-12 00:00:00 2016-12-12 \n", " 4735 2016-12-19 00:00:00 2016-12-19 \n", "Real-Time-Donations-Jan-25V3 290 2017-01-04 00:00:00 2017-01-04 \n", "2017-Contributions-—-February-3 160 2017-02-01 00:00:00 2017-02-01 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 4732 121225.00 \n", " 4733 2390868.44 \n", " 1769 5925572.63 \n", " 4730 5919218.88 \n", " 4731 6727990.10 \n", " 8355 7704379.60 \n", " 4734 9465647.66 \n", " 4735 9821501.36 \n", "Real-Time-Donations-Jan-25V3 290 10476198.67 \n", "2017-Contributions-—-February-3 160 11255375.63 " ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Ernst')" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v413558Seaspan ULC1000.02016-01-31 00:00:002016-01-31506793.09
13559Seaspan ULC 10.02016-02-26 00:00:002016-02-261093755.44
13560Seaspan ULC5000.02016-03-31 00:00:002016-03-312306368.44
13557Seaspan International Ltd15000.02016-05-13 00:00:002016-05-133961107.11
13561Seaspan ULC1050.02016-06-17 00:00:002016-06-175084075.78
2017-Contributions-March-3-20171151Seaspan ULC5000.02017-02-24 00:00:002017-02-2411898429.17
2017-Contributions-March-31-2011540Seaspan ULC1000.02017-03-25 00:00:002017-03-2512701904.39
2017-Contributions-April-211130Seaspan ULC1000.02017-04-14 00:00:002017-04-1414560783.86
2017-Contributions-May-19392Seaspan ULC15000.02017-05-12 00:00:002017-05-1217791001.51
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 13558 Seaspan ULC 1000.0 \n", " 13559 Seaspan ULC 1 0.0 \n", " 13560 Seaspan ULC 5000.0 \n", " 13557 Seaspan International Ltd 15000.0 \n", " 13561 Seaspan ULC 1050.0 \n", "2017-Contributions-March-3-2017 1151 Seaspan ULC 5000.0 \n", "2017-Contributions-March-31-201 1540 Seaspan ULC 1000.0 \n", "2017-Contributions-April-21 1130 Seaspan ULC 1000.0 \n", "2017-Contributions-May-19 392 Seaspan ULC 15000.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 13558 2016-01-31 00:00:00 2016-01-31 \n", " 13559 2016-02-26 00:00:00 2016-02-26 \n", " 13560 2016-03-31 00:00:00 2016-03-31 \n", " 13557 2016-05-13 00:00:00 2016-05-13 \n", " 13561 2016-06-17 00:00:00 2016-06-17 \n", "2017-Contributions-March-3-2017 1151 2017-02-24 00:00:00 2017-02-24 \n", "2017-Contributions-March-31-201 1540 2017-03-25 00:00:00 2017-03-25 \n", "2017-Contributions-April-21 1130 2017-04-14 00:00:00 2017-04-14 \n", "2017-Contributions-May-19 392 2017-05-12 00:00:00 2017-05-12 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 13558 506793.09 \n", " 13559 1093755.44 \n", " 13560 2306368.44 \n", " 13557 3961107.11 \n", " 13561 5084075.78 \n", "2017-Contributions-March-3-2017 1151 11898429.17 \n", "2017-Contributions-March-31-201 1540 12701904.39 \n", "2017-Contributions-April-21 1130 14560783.86 \n", "2017-Contributions-May-19 392 17791001.51 " ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Seaspan')" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v412056Polygon Homes Ltd500.02016-01-29 00:00:002016-01-29442038.09
12057Polygon Homes Ltd15000.02016-04-15 00:00:002016-04-153041158.44
12058Polygon Homes Ltd10000.02016-05-13 00:00:002016-05-134188977.78
12059Polygon Homes Ltd1500.02016-11-15 00:00:002016-11-158442131.96
2017-Contributions-March-31-2011360Polygon Homes Ltd40000.02017-03-25 00:00:002017-03-2513138710.53
2017-Contributions-May-12452Polygon Homes Ltd10000.02017-05-05 00:00:002017-05-0516520391.82
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 12056 Polygon Homes Ltd 500.0 \n", " 12057 Polygon Homes Ltd 15000.0 \n", " 12058 Polygon Homes Ltd 10000.0 \n", " 12059 Polygon Homes Ltd 1500.0 \n", "2017-Contributions-March-31-201 1360 Polygon Homes Ltd 40000.0 \n", "2017-Contributions-May-12 452 Polygon Homes Ltd 10000.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 12056 2016-01-29 00:00:00 2016-01-29 \n", " 12057 2016-04-15 00:00:00 2016-04-15 \n", " 12058 2016-05-13 00:00:00 2016-05-13 \n", " 12059 2016-11-15 00:00:00 2016-11-15 \n", "2017-Contributions-March-31-201 1360 2017-03-25 00:00:00 2017-03-25 \n", "2017-Contributions-May-12 452 2017-05-05 00:00:00 2017-05-05 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 12056 442038.09 \n", " 12057 3041158.44 \n", " 12058 4188977.78 \n", " 12059 8442131.96 \n", "2017-Contributions-March-31-201 1360 13138710.53 \n", "2017-Contributions-May-12 452 16520391.82 " ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Polygon')" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v411088New Car Dealers Association of BC6000.02016-01-15 00:00:002016-01-15335372.79
11089New Car Dealers Association of BC8500.02016-01-22 00:00:002016-01-22412097.79
11090New Car Dealers Association of BC500.02016-01-31 00:00:002016-01-31507768.09
11092New Car Dealers Association of BC2000.02016-02-29 00:00:002016-02-291409995.44
11100New Car Dealers Association of BC1500.02016-03-06 00:00:002016-03-061690442.44
11106New Car Dealers Association of BC8500.02016-03-11 00:00:002016-03-111857934.44
11093New Car Dealers Association of BC5000.02016-03-24 00:00:002016-03-242038055.44
11094New Car Dealers Association of BC10000.02016-03-31 00:00:002016-03-312380073.44
11102New Car Dealers Association of BC300.02016-04-07 00:00:002016-04-072768668.44
11096New Car Dealers Association of BC1250.02016-04-30 00:00:002016-04-303401549.44
11103New Car Dealers Association of BC7250.02016-05-08 00:00:002016-05-083572132.44
11097New Car Dealers Association of BC2200.02016-05-13 00:00:002016-05-134083287.78
11098New Car Dealers Association of BC3000.02016-05-20 00:00:002016-05-204251772.78
11099New Car Dealers Association of BC1500.02016-05-31 00:00:002016-05-314474758.11
11101New Car Dealers Association of BC30750.02016-06-17 00:00:002016-06-174926212.45
11095New Car Dealers Association of BC5000.02016-08-04 00:00:002016-08-046060415.38
11104New Car Dealers Association of BC9600.02016-09-16 00:00:002016-09-166511998.55
11105New Car Dealers Association of BC2000.02016-09-30 00:00:002016-09-306959594.35
11091New Car Dealers Association of BC3000.02016-12-02 00:00:002016-12-029061112.66
11107New Car Dealers Association of BC2000.02016-12-19 00:00:002016-12-199571630.36
Real-Time-Donations-Jan-25V3532New Car Dealers Association of BC2500.02017-01-05 00:00:002017-01-0510709433.67
Sheet2718New Car Dealers Association250.01/20/20172017-01-2011016471.29
2017-Contributions-—-February-3378New Car Dealers Association of BC3600.02017-01-27 00:00:002017-01-2711156269.63
2017-Contributions-March-10128New Car Dealers Association of BC1200.02017-02-10 00:00:002017-02-1011595500.63
2017-Contributions-February-17128New Car Dealers Association of BC1200.02017-02-10 00:00:002017-02-1011554850.63
2017-Contributions-_-February-286New Car Dealers Association of BC1500.02017-02-17 00:00:002017-02-1711683700.63
2017-Contributions-—-March-17-2118New Car Dealers Association2000.02017-03-10 00:00:002017-03-1012154141.34
2017-Contributions-March-2395New Car Dealers Association1800.02017-03-17 00:00:002017-03-1712160066.34
2017-Contributions-March-31-2011247New Car Dealers Association2000.02017-03-24 00:00:002017-03-2412318748.19
2017-Contributions-April-14503New Car Dealers Association of BC7000.02017-04-07 00:00:002017-04-0714041240.86
504New Car Dealers Association of BC3700.02017-04-08 00:00:002017-04-0814186017.86
2017-Contributions-May-12405New Car Dealers Association of BC2000.02017-05-08 00:00:002017-05-0817140784.01
406New Car Dealers Association of BC4000.02017-05-09 00:00:002017-05-0917230500.01
\n", "
" ], "text/plain": [ " Donor Name \\\n", "Copy-of-2016-Contributions-v4 11088 New Car Dealers Association of BC \n", " 11089 New Car Dealers Association of BC \n", " 11090 New Car Dealers Association of BC \n", " 11092 New Car Dealers Association of BC \n", " 11100 New Car Dealers Association of BC \n", " 11106 New Car Dealers Association of BC \n", " 11093 New Car Dealers Association of BC \n", " 11094 New Car Dealers Association of BC \n", " 11102 New Car Dealers Association of BC \n", " 11096 New Car Dealers Association of BC \n", " 11103 New Car Dealers Association of BC \n", " 11097 New Car Dealers Association of BC \n", " 11098 New Car Dealers Association of BC \n", " 11099 New Car Dealers Association of BC \n", " 11101 New Car Dealers Association of BC \n", " 11095 New Car Dealers Association of BC \n", " 11104 New Car Dealers Association of BC \n", " 11105 New Car Dealers Association of BC \n", " 11091 New Car Dealers Association of BC \n", " 11107 New Car Dealers Association of BC \n", "Real-Time-Donations-Jan-25V3 532 New Car Dealers Association of BC \n", "Sheet2 718 New Car Dealers Association \n", "2017-Contributions-—-February-3 378 New Car Dealers Association of BC \n", "2017-Contributions-March-10 128 New Car Dealers Association of BC \n", "2017-Contributions-February-17 128 New Car Dealers Association of BC \n", "2017-Contributions-_-February-2 86 New Car Dealers Association of BC \n", "2017-Contributions-—-March-17-2 118 New Car Dealers Association \n", "2017-Contributions-March-23 95 New Car Dealers Association \n", "2017-Contributions-March-31-201 1247 New Car Dealers Association \n", "2017-Contributions-April-14 503 New Car Dealers Association of BC \n", " 504 New Car Dealers Association of BC \n", "2017-Contributions-May-12 405 New Car Dealers Association of BC \n", " 406 New Car Dealers Association of BC \n", "\n", " Amount Date \\\n", "Copy-of-2016-Contributions-v4 11088 6000.0 2016-01-15 00:00:00 \n", " 11089 8500.0 2016-01-22 00:00:00 \n", " 11090 500.0 2016-01-31 00:00:00 \n", " 11092 2000.0 2016-02-29 00:00:00 \n", " 11100 1500.0 2016-03-06 00:00:00 \n", " 11106 8500.0 2016-03-11 00:00:00 \n", " 11093 5000.0 2016-03-24 00:00:00 \n", " 11094 10000.0 2016-03-31 00:00:00 \n", " 11102 300.0 2016-04-07 00:00:00 \n", " 11096 1250.0 2016-04-30 00:00:00 \n", " 11103 7250.0 2016-05-08 00:00:00 \n", " 11097 2200.0 2016-05-13 00:00:00 \n", " 11098 3000.0 2016-05-20 00:00:00 \n", " 11099 1500.0 2016-05-31 00:00:00 \n", " 11101 30750.0 2016-06-17 00:00:00 \n", " 11095 5000.0 2016-08-04 00:00:00 \n", " 11104 9600.0 2016-09-16 00:00:00 \n", " 11105 2000.0 2016-09-30 00:00:00 \n", " 11091 3000.0 2016-12-02 00:00:00 \n", " 11107 2000.0 2016-12-19 00:00:00 \n", "Real-Time-Donations-Jan-25V3 532 2500.0 2017-01-05 00:00:00 \n", "Sheet2 718 250.0 1/20/2017 \n", "2017-Contributions-—-February-3 378 3600.0 2017-01-27 00:00:00 \n", "2017-Contributions-March-10 128 1200.0 2017-02-10 00:00:00 \n", "2017-Contributions-February-17 128 1200.0 2017-02-10 00:00:00 \n", "2017-Contributions-_-February-2 86 1500.0 2017-02-17 00:00:00 \n", "2017-Contributions-—-March-17-2 118 2000.0 2017-03-10 00:00:00 \n", "2017-Contributions-March-23 95 1800.0 2017-03-17 00:00:00 \n", "2017-Contributions-March-31-201 1247 2000.0 2017-03-24 00:00:00 \n", "2017-Contributions-April-14 503 7000.0 2017-04-07 00:00:00 \n", " 504 3700.0 2017-04-08 00:00:00 \n", "2017-Contributions-May-12 405 2000.0 2017-05-08 00:00:00 \n", " 406 4000.0 2017-05-09 00:00:00 \n", "\n", " datetime cumsum \n", "Copy-of-2016-Contributions-v4 11088 2016-01-15 335372.79 \n", " 11089 2016-01-22 412097.79 \n", " 11090 2016-01-31 507768.09 \n", " 11092 2016-02-29 1409995.44 \n", " 11100 2016-03-06 1690442.44 \n", " 11106 2016-03-11 1857934.44 \n", " 11093 2016-03-24 2038055.44 \n", " 11094 2016-03-31 2380073.44 \n", " 11102 2016-04-07 2768668.44 \n", " 11096 2016-04-30 3401549.44 \n", " 11103 2016-05-08 3572132.44 \n", " 11097 2016-05-13 4083287.78 \n", " 11098 2016-05-20 4251772.78 \n", " 11099 2016-05-31 4474758.11 \n", " 11101 2016-06-17 4926212.45 \n", " 11095 2016-08-04 6060415.38 \n", " 11104 2016-09-16 6511998.55 \n", " 11105 2016-09-30 6959594.35 \n", " 11091 2016-12-02 9061112.66 \n", " 11107 2016-12-19 9571630.36 \n", "Real-Time-Donations-Jan-25V3 532 2017-01-05 10709433.67 \n", "Sheet2 718 2017-01-20 11016471.29 \n", "2017-Contributions-—-February-3 378 2017-01-27 11156269.63 \n", "2017-Contributions-March-10 128 2017-02-10 11595500.63 \n", "2017-Contributions-February-17 128 2017-02-10 11554850.63 \n", "2017-Contributions-_-February-2 86 2017-02-17 11683700.63 \n", "2017-Contributions-—-March-17-2 118 2017-03-10 12154141.34 \n", "2017-Contributions-March-23 95 2017-03-17 12160066.34 \n", "2017-Contributions-March-31-201 1247 2017-03-24 12318748.19 \n", "2017-Contributions-April-14 503 2017-04-07 14041240.86 \n", " 504 2017-04-08 14186017.86 \n", "2017-Contributions-May-12 405 2017-05-08 17140784.01 \n", " 406 2017-05-09 17230500.01 " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Car Dealers')" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "142600.0" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Car Dealers')['Amount'].sum()" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v4774Aquilini Investment Group LP2500.02016-01-01 00:00:002016-01-0178350.00
777Aquilini Investment Group LP10000.02016-01-04 00:00:002016-01-04220045.00
775Aquilini Investment Group LP2500.02016-01-31 00:00:002016-01-31667362.09
776Aquilini Investment Group LP10000.02016-02-26 00:00:002016-02-26983310.44
778Aquilini Investment Group LP25000.02016-04-22 00:00:002016-04-223328120.44
780Aquilini Investment Group LP5000.02016-10-30 00:00:002016-10-307479604.85
781Aquilini Investment Group LP1000.02016-10-31 00:00:002016-10-317713993.60
779Aquilini Investment Group LP75000.02016-11-10 00:00:002016-11-108234965.96
2017-Contributions-—-February-325Aquilini Investment Group2500.02017-01-27 00:00:002017-01-2711185925.63
26Aquilini Investments2500.02017-01-27 00:00:002017-01-2711188425.63
2017-Contributions-March-31-20186Aquilini Investment Group LP2400.02017-03-28 00:00:002017-03-2813536152.53
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 774 Aquilini Investment Group LP 2500.0 \n", " 777 Aquilini Investment Group LP 10000.0 \n", " 775 Aquilini Investment Group LP 2500.0 \n", " 776 Aquilini Investment Group LP 10000.0 \n", " 778 Aquilini Investment Group LP 25000.0 \n", " 780 Aquilini Investment Group LP 5000.0 \n", " 781 Aquilini Investment Group LP 1000.0 \n", " 779 Aquilini Investment Group LP 75000.0 \n", "2017-Contributions-—-February-3 25 Aquilini Investment Group 2500.0 \n", " 26 Aquilini Investments 2500.0 \n", "2017-Contributions-March-31-201 86 Aquilini Investment Group LP 2400.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 774 2016-01-01 00:00:00 2016-01-01 \n", " 777 2016-01-04 00:00:00 2016-01-04 \n", " 775 2016-01-31 00:00:00 2016-01-31 \n", " 776 2016-02-26 00:00:00 2016-02-26 \n", " 778 2016-04-22 00:00:00 2016-04-22 \n", " 780 2016-10-30 00:00:00 2016-10-30 \n", " 781 2016-10-31 00:00:00 2016-10-31 \n", " 779 2016-11-10 00:00:00 2016-11-10 \n", "2017-Contributions-—-February-3 25 2017-01-27 00:00:00 2017-01-27 \n", " 26 2017-01-27 00:00:00 2017-01-27 \n", "2017-Contributions-March-31-201 86 2017-03-28 00:00:00 2017-03-28 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 774 78350.00 \n", " 777 220045.00 \n", " 775 667362.09 \n", " 776 983310.44 \n", " 778 3328120.44 \n", " 780 7479604.85 \n", " 781 7713993.60 \n", " 779 8234965.96 \n", "2017-Contributions-—-February-3 25 11185925.63 \n", " 26 11188425.63 \n", "2017-Contributions-March-31-201 86 13536152.53 " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Aquilini')" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v412784Robert J Macdonald500.02016-01-31 00:00:002016-01-31671187.09
12789Robert J Macdonald1000.02016-03-11 00:00:002016-03-111877254.44
12788Robert J Macdonald500.02016-05-08 00:00:002016-05-083601962.44
12786Robert J Macdonald10000.02016-05-27 00:00:002016-05-274319305.11
12787Robert J Macdonald1000.02016-06-28 00:00:002016-06-285293254.52
12785Robert J Macdonald10000.02016-11-03 00:00:002016-11-038062085.96
Real-Time-Donations-Jan-25V3426Robert J Macdonald1000.02017-01-04 00:00:002017-01-0410658903.67
2017-Contributions-March-31-2011453Robert J Macdonald3000.02017-03-28 00:00:002017-03-2813634677.53
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 12784 Robert J Macdonald 500.0 \n", " 12789 Robert J Macdonald 1000.0 \n", " 12788 Robert J Macdonald 500.0 \n", " 12786 Robert J Macdonald 10000.0 \n", " 12787 Robert J Macdonald 1000.0 \n", " 12785 Robert J Macdonald 10000.0 \n", "Real-Time-Donations-Jan-25V3 426 Robert J Macdonald 1000.0 \n", "2017-Contributions-March-31-201 1453 Robert J Macdonald 3000.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 12784 2016-01-31 00:00:00 2016-01-31 \n", " 12789 2016-03-11 00:00:00 2016-03-11 \n", " 12788 2016-05-08 00:00:00 2016-05-08 \n", " 12786 2016-05-27 00:00:00 2016-05-27 \n", " 12787 2016-06-28 00:00:00 2016-06-28 \n", " 12785 2016-11-03 00:00:00 2016-11-03 \n", "Real-Time-Donations-Jan-25V3 426 2017-01-04 00:00:00 2017-01-04 \n", "2017-Contributions-March-31-201 1453 2017-03-28 00:00:00 2017-03-28 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 12784 671187.09 \n", " 12789 1877254.44 \n", " 12788 3601962.44 \n", " 12786 4319305.11 \n", " 12787 5293254.52 \n", " 12785 8062085.96 \n", "Real-Time-Donations-Jan-25V3 426 10658903.67 \n", "2017-Contributions-March-31-201 1453 13634677.53 " ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Robert J Macdonald')" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v46634Insurance Brokers Association of BC1000.02016-01-04 00:00:002016-01-04172750.00
6639Insurance Bureau of Canada1000.02016-01-04 00:00:002016-01-04201100.00
932B & W Insurance Brokers250.02016-02-29 00:00:002016-02-291387680.44
6647Insurance Bureau of Canada1350.02016-03-11 00:00:002016-03-111874704.44
6637Insurance Bureau of Canada1100.02016-03-18 00:00:002016-03-182007325.44
6638Insurance Bureau of Canada250.02016-03-24 00:00:002016-03-242025700.44
1464Boehmer Insurance And Investment Group Inc.180.02016-03-31 00:00:002016-03-312198873.44
10575Michael K Wong Magc Insurance Adjus100.02016-03-31 00:00:002016-03-312151828.44
2008Capri Insurance Services Ltd.1000.02016-04-15 00:00:002016-04-153159703.44
6641Insurance Bureau of Canada7500.02016-05-13 00:00:002016-05-134103787.78
6642Insurance Bureau of Canada428.02016-05-27 00:00:002016-05-274339693.11
933B & W Insurance Brokers1000.02016-05-31 00:00:002016-05-314578481.45
6644Insurance Bureau of Canada400.02016-06-17 00:00:002016-06-174963812.45
6635Insurance Brokers Association of BC2500.02016-06-17 00:00:002016-06-174928712.45
6645Insurance Bureau of Canada8000.02016-07-13 00:00:002016-07-135597897.88
6640Insurance Bureau of Canada250.02016-08-04 00:00:002016-08-046036315.38
6646Insurance Bureau of Canada100.02016-08-19 00:00:002016-08-196149840.38
6643Insurance Bureau of Canada1000.02016-10-06 00:00:002016-10-067145593.35
6041Halsey Insurance & Investment Services Ltd5000.02016-10-14 00:00:002016-10-147211098.35
14844Tony Lau Insurance100.02016-10-30 00:00:002016-10-307396145.60
11084Network Bonding & Insurance Services Inc550.02016-11-03 00:00:002016-11-038020129.96
6636Insurance Bureau of Canada500.02016-11-03 00:00:002016-11-038091375.96
7985Johnston Meier Insurance Agencies Group100.02016-11-10 00:00:002016-11-108110075.96
430Allied Insurance Services Inc100.02016-11-15 00:00:002016-11-158372891.96
485AMC Insurance Services Ltd1000.02016-11-15 00:00:002016-11-158489556.96
6042Halsey Insurance & Investment Services Ltd1000.02016-11-15 00:00:002016-11-158339225.96
6648Insurance Bureau of Canada2500.02016-11-21 00:00:002016-11-218506761.96
15417Waypoint Insurance500.02016-11-30 00:00:002016-11-308961176.66
13336RW Schmunk Insurance Services Ltd.2500.02016-12-02 00:00:002016-12-029201597.66
4746ES3 Insurance Services Ltd2600.02016-12-02 00:00:002016-12-029237312.66
Real-Time-Donations-Jan-25V3318Lynn Valley Insurance Agency Ltd.250.02017-01-04 00:00:002017-01-0410466453.67
239Insurance Bureau of Canada300.02017-01-04 00:00:002017-01-0410511948.67
2017-Contributions-—-February-3238Insurance Bureau of Canada550.02017-02-01 00:00:002017-02-0111318230.63
2017-Contributions-March-3-2017789Londsdale Insurance Brokers100.02017-02-28 00:00:002017-02-2812018259.34
2017-Contributions-March-31-201745Insurance Bureau of Canada250.02017-03-25 00:00:002017-03-2513203430.53
41Allied Insurance Services Inc100.02017-03-25 00:00:002017-03-2513028725.53
746Insurance Bureau of Canada2300.02017-03-28 00:00:002017-03-2813416807.53
241Capital West Insurance Services LTD.3000.02017-03-28 00:00:002017-03-2813447007.53
2017-Contributions-April-722Allwest Insurance Services Ltd2500.02017-04-03 00:00:002017-04-0313841525.86
276Greg Andrews Insurance Services Inc.500.02017-04-03 00:00:002017-04-0313929475.86
2017-Contributions-April-14474Maxxam Insurance Services Inc1000.02017-04-09 00:00:002017-04-0914510418.86
73Boehmer Insurance And Investment Group Inc.500.02017-04-09 00:00:002017-04-0914233162.86
2017-Contributions-April-21556Insurance Bureau of Canada3100.02017-04-14 00:00:002017-04-1414618678.86
15AKT Insurance Services Ltd1000.02017-04-14 00:00:002017-04-1414805486.53
2017-Contributions-April-28-201210Insurance Bureau of Canada500.02017-04-21 00:00:002017-04-2115130680.38
209Insurance Brokers Association of BC1000.02017-04-21 00:00:002017-04-2115131680.38
24Alport Insurance Agencies Inc1000.02017-04-21 00:00:002017-04-2114841622.38
11A & S Insurance Services Ltd.2500.02017-04-21 00:00:002017-04-2114875454.38
2017-Contributions-May-5497Insurance Bureau of Canada1000.02017-04-28 00:00:002017-04-2815439965.38
495Insurance Bureau of Canada4000.02017-04-29 00:00:002017-04-2915592516.49
496Insurance Bureau of Canada1500.02017-05-03 00:00:002017-05-0315718034.49
2017-Contributions-June-2228Great Pacific Captive Insurance Ltd.10000.02017-05-26 00:00:002017-05-2618157627.59
260Insurance Bureau of Canada1050.02017-05-30 00:00:002017-05-3018345298.09
244Hendry Swinton McKenzie Insurance Services (We...300.02017-05-30 00:00:002017-05-3018325148.09
\n", "
" ], "text/plain": [ " Donor Name \\\n", "Copy-of-2016-Contributions-v4 6634 Insurance Brokers Association of BC \n", " 6639 Insurance Bureau of Canada \n", " 932 B & W Insurance Brokers \n", " 6647 Insurance Bureau of Canada \n", " 6637 Insurance Bureau of Canada \n", " 6638 Insurance Bureau of Canada \n", " 1464 Boehmer Insurance And Investment Group Inc. \n", " 10575 Michael K Wong Magc Insurance Adjus \n", " 2008 Capri Insurance Services Ltd. \n", " 6641 Insurance Bureau of Canada \n", " 6642 Insurance Bureau of Canada \n", " 933 B & W Insurance Brokers \n", " 6644 Insurance Bureau of Canada \n", " 6635 Insurance Brokers Association of BC \n", " 6645 Insurance Bureau of Canada \n", " 6640 Insurance Bureau of Canada \n", " 6646 Insurance Bureau of Canada \n", " 6643 Insurance Bureau of Canada \n", " 6041 Halsey Insurance & Investment Services Ltd \n", " 14844 Tony Lau Insurance \n", " 11084 Network Bonding & Insurance Services Inc \n", " 6636 Insurance Bureau of Canada \n", " 7985 Johnston Meier Insurance Agencies Group \n", " 430 Allied Insurance Services Inc \n", " 485 AMC Insurance Services Ltd \n", " 6042 Halsey Insurance & Investment Services Ltd \n", " 6648 Insurance Bureau of Canada \n", " 15417 Waypoint Insurance \n", " 13336 RW Schmunk Insurance Services Ltd. \n", " 4746 ES3 Insurance Services Ltd \n", "Real-Time-Donations-Jan-25V3 318 Lynn Valley Insurance Agency Ltd. \n", " 239 Insurance Bureau of Canada \n", "2017-Contributions-—-February-3 238 Insurance Bureau of Canada \n", "2017-Contributions-March-3-2017 789 Londsdale Insurance Brokers \n", "2017-Contributions-March-31-201 745 Insurance Bureau of Canada \n", " 41 Allied Insurance Services Inc \n", " 746 Insurance Bureau of Canada \n", " 241 Capital West Insurance Services LTD. \n", "2017-Contributions-April-7 22 Allwest Insurance Services Ltd \n", " 276 Greg Andrews Insurance Services Inc. \n", "2017-Contributions-April-14 474 Maxxam Insurance Services Inc \n", " 73 Boehmer Insurance And Investment Group Inc. \n", "2017-Contributions-April-21 556 Insurance Bureau of Canada \n", " 15 AKT Insurance Services Ltd \n", "2017-Contributions-April-28-201 210 Insurance Bureau of Canada \n", " 209 Insurance Brokers Association of BC \n", " 24 Alport Insurance Agencies Inc \n", " 11 A & S Insurance Services Ltd. \n", "2017-Contributions-May-5 497 Insurance Bureau of Canada \n", " 495 Insurance Bureau of Canada \n", " 496 Insurance Bureau of Canada \n", "2017-Contributions-June-2 228 Great Pacific Captive Insurance Ltd. \n", " 260 Insurance Bureau of Canada \n", " 244 Hendry Swinton McKenzie Insurance Services (We... \n", "\n", " Amount Date \\\n", "Copy-of-2016-Contributions-v4 6634 1000.0 2016-01-04 00:00:00 \n", " 6639 1000.0 2016-01-04 00:00:00 \n", " 932 250.0 2016-02-29 00:00:00 \n", " 6647 1350.0 2016-03-11 00:00:00 \n", " 6637 1100.0 2016-03-18 00:00:00 \n", " 6638 250.0 2016-03-24 00:00:00 \n", " 1464 180.0 2016-03-31 00:00:00 \n", " 10575 100.0 2016-03-31 00:00:00 \n", " 2008 1000.0 2016-04-15 00:00:00 \n", " 6641 7500.0 2016-05-13 00:00:00 \n", " 6642 428.0 2016-05-27 00:00:00 \n", " 933 1000.0 2016-05-31 00:00:00 \n", " 6644 400.0 2016-06-17 00:00:00 \n", " 6635 2500.0 2016-06-17 00:00:00 \n", " 6645 8000.0 2016-07-13 00:00:00 \n", " 6640 250.0 2016-08-04 00:00:00 \n", " 6646 100.0 2016-08-19 00:00:00 \n", " 6643 1000.0 2016-10-06 00:00:00 \n", " 6041 5000.0 2016-10-14 00:00:00 \n", " 14844 100.0 2016-10-30 00:00:00 \n", " 11084 550.0 2016-11-03 00:00:00 \n", " 6636 500.0 2016-11-03 00:00:00 \n", " 7985 100.0 2016-11-10 00:00:00 \n", " 430 100.0 2016-11-15 00:00:00 \n", " 485 1000.0 2016-11-15 00:00:00 \n", " 6042 1000.0 2016-11-15 00:00:00 \n", " 6648 2500.0 2016-11-21 00:00:00 \n", " 15417 500.0 2016-11-30 00:00:00 \n", " 13336 2500.0 2016-12-02 00:00:00 \n", " 4746 2600.0 2016-12-02 00:00:00 \n", "Real-Time-Donations-Jan-25V3 318 250.0 2017-01-04 00:00:00 \n", " 239 300.0 2017-01-04 00:00:00 \n", "2017-Contributions-—-February-3 238 550.0 2017-02-01 00:00:00 \n", "2017-Contributions-March-3-2017 789 100.0 2017-02-28 00:00:00 \n", "2017-Contributions-March-31-201 745 250.0 2017-03-25 00:00:00 \n", " 41 100.0 2017-03-25 00:00:00 \n", " 746 2300.0 2017-03-28 00:00:00 \n", " 241 3000.0 2017-03-28 00:00:00 \n", "2017-Contributions-April-7 22 2500.0 2017-04-03 00:00:00 \n", " 276 500.0 2017-04-03 00:00:00 \n", "2017-Contributions-April-14 474 1000.0 2017-04-09 00:00:00 \n", " 73 500.0 2017-04-09 00:00:00 \n", "2017-Contributions-April-21 556 3100.0 2017-04-14 00:00:00 \n", " 15 1000.0 2017-04-14 00:00:00 \n", "2017-Contributions-April-28-201 210 500.0 2017-04-21 00:00:00 \n", " 209 1000.0 2017-04-21 00:00:00 \n", " 24 1000.0 2017-04-21 00:00:00 \n", " 11 2500.0 2017-04-21 00:00:00 \n", "2017-Contributions-May-5 497 1000.0 2017-04-28 00:00:00 \n", " 495 4000.0 2017-04-29 00:00:00 \n", " 496 1500.0 2017-05-03 00:00:00 \n", "2017-Contributions-June-2 228 10000.0 2017-05-26 00:00:00 \n", " 260 1050.0 2017-05-30 00:00:00 \n", " 244 300.0 2017-05-30 00:00:00 \n", "\n", " datetime cumsum \n", "Copy-of-2016-Contributions-v4 6634 2016-01-04 172750.00 \n", " 6639 2016-01-04 201100.00 \n", " 932 2016-02-29 1387680.44 \n", " 6647 2016-03-11 1874704.44 \n", " 6637 2016-03-18 2007325.44 \n", " 6638 2016-03-24 2025700.44 \n", " 1464 2016-03-31 2198873.44 \n", " 10575 2016-03-31 2151828.44 \n", " 2008 2016-04-15 3159703.44 \n", " 6641 2016-05-13 4103787.78 \n", " 6642 2016-05-27 4339693.11 \n", " 933 2016-05-31 4578481.45 \n", " 6644 2016-06-17 4963812.45 \n", " 6635 2016-06-17 4928712.45 \n", " 6645 2016-07-13 5597897.88 \n", " 6640 2016-08-04 6036315.38 \n", " 6646 2016-08-19 6149840.38 \n", " 6643 2016-10-06 7145593.35 \n", " 6041 2016-10-14 7211098.35 \n", " 14844 2016-10-30 7396145.60 \n", " 11084 2016-11-03 8020129.96 \n", " 6636 2016-11-03 8091375.96 \n", " 7985 2016-11-10 8110075.96 \n", " 430 2016-11-15 8372891.96 \n", " 485 2016-11-15 8489556.96 \n", " 6042 2016-11-15 8339225.96 \n", " 6648 2016-11-21 8506761.96 \n", " 15417 2016-11-30 8961176.66 \n", " 13336 2016-12-02 9201597.66 \n", " 4746 2016-12-02 9237312.66 \n", "Real-Time-Donations-Jan-25V3 318 2017-01-04 10466453.67 \n", " 239 2017-01-04 10511948.67 \n", "2017-Contributions-—-February-3 238 2017-02-01 11318230.63 \n", "2017-Contributions-March-3-2017 789 2017-02-28 12018259.34 \n", "2017-Contributions-March-31-201 745 2017-03-25 13203430.53 \n", " 41 2017-03-25 13028725.53 \n", " 746 2017-03-28 13416807.53 \n", " 241 2017-03-28 13447007.53 \n", "2017-Contributions-April-7 22 2017-04-03 13841525.86 \n", " 276 2017-04-03 13929475.86 \n", "2017-Contributions-April-14 474 2017-04-09 14510418.86 \n", " 73 2017-04-09 14233162.86 \n", "2017-Contributions-April-21 556 2017-04-14 14618678.86 \n", " 15 2017-04-14 14805486.53 \n", "2017-Contributions-April-28-201 210 2017-04-21 15130680.38 \n", " 209 2017-04-21 15131680.38 \n", " 24 2017-04-21 14841622.38 \n", " 11 2017-04-21 14875454.38 \n", "2017-Contributions-May-5 497 2017-04-28 15439965.38 \n", " 495 2017-04-29 15592516.49 \n", " 496 2017-05-03 15718034.49 \n", "2017-Contributions-June-2 228 2017-05-26 18157627.59 \n", " 260 2017-05-30 18345298.09 \n", " 244 2017-05-30 18325148.09 " ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Insurance')" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "82158.0" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Insurance')['Amount'].sum()" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "23492.0" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Automotive')['Amount'].sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Accumulate donations across 'Donor Name' " ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAIcCAYAAAAKdfKqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzsnXe4HVXV/z9fQofQgwZCSOAXQEAEDIiKVKWJUgQMUkKRWEDB9gqWFwR9QbFQVDCY0IQEpAgiCggBBGkJvRNCCyBVIYqUwPr9sfbkzp07c87MuTfkclmf55nnnNmzZp89c2ZmzV5r7bVlZgRBEARBHeab1w0IgiAI3jmE0giCIAhqE0ojCIIgqE0ojSAIgqA2oTSCIAiC2oTSCIIgCGoTSiMIgiCoTSiNIAiCoDahNIIgCILazD+vG9DXLLfccjZixIh53YwgCIJ3FNOmTXvezIa0kxtwSmPEiBFMnTp1XjcjCILgHYWkx+rIhXkqCIIgqE0ojSAIgqA2oTSCIAiC2gw4n0YQBO9O3njjDWbOnMmrr746r5vSr1l44YUZNmwYCyywQEf7h9IIgmBAMHPmTAYPHsyIESOQNK+b0y8xM1544QVmzpzJyJEjO6qjrXlK0kRJz0q6O1d2jqTb0/KopNtT+QhJ/81tOzm3zwcl3SVpuqQTlP5VSctIukLSQ+lz6VSuJDdd0p2S1u/oCIMgeFfw6quvsuyyy4bCaIEkll122V71xur4NE4DtskXmNlnzWxdM1sXOB+4ILf54WybmX0xV34SMA4YlZaszkOBK81sFHBlWgfYNic7Lu0fBEFQSSiM9vT2HLVVGmZ2LfBixY8L2A2Y1KoOSUOBJczsBvP5Zc8AdkybdwBOT99PL5SfYc6NwFKpniAIgmAe0VufxseAZ8zsoVzZSEm3AS8D3zOzvwErAjNzMjNTGcB7zOxpADN7WtLyqXxF4ImSfZ4uNkLSOLw3wvDhw3t5SEEQDARGHPqnPq3v0WM+WUvuwgsvZOedd+a+++5jjTXW6NM21OW4445j3LhxLLroon1ed2+Vxu5072U8DQw3sxckfRD4g6S1gLL+kLWpu/Y+ZjYeGA8wevToOTJlF03dPz4IgqATJk2axMYbb8zkyZM54ogj5kkbjjvuOPbcc8+5ojQ6HqchaX5gZ+CcrMzMXjOzF9L3acDDwGp4L2FYbvdhwFPp+zOZ2Sl9PpvKZwIrVewTBEHQ7/j3v//N9ddfz4QJE5g8eTIAV199NZtuuim77bYbq622GoceeihnnXUWG264Ie9///t5+OGHAXjsscfYcsstWWedddhyyy15/PHHAdhnn30477zz5vzG4osvPqfezTbbjF122YU11liDPfbYAzPjhBNO4KmnnmLzzTdn88037/Nj7M3gvo8D95vZHLOTpCGSBqXvq+BO7BnJ/DRL0kbJD7I3cFHa7WJgbPo+tlC+d4qi2gh4KTNjBUEQ9Ef+8Ic/sM0227DaaquxzDLLcOuttwJwxx13cPzxx3PXXXdx5pln8uCDD3LzzTfz+c9/nhNPPBGAgw46iL333ps777yTPfbYg69+9attf++2227juOOO495772XGjBlcf/31fPWrX2WFFVZgypQpTJkypc+PsU7I7STgBmB1STMl7Z82jaGnA3wT4E5JdwDnAV80s8yJ/iXgt8B0vAfy51R+DPAJSQ8Bn0jrAJcCM5L8KcCXmx9eEATB28ekSZMYM2YMAGPGjGHSJH9EbrDBBgwdOpSFFlqIVVddla222gqA97///Tz66KMA3HDDDXzuc58DYK+99uK6665r+3sbbrghw4YNY7755mPdddedU9fcpK1Pw8x2ryjfp6TsfDwEt0x+KrB2SfkLwJYl5QYc2K59QRAE/YEXXniBq666irvvvhtJvPnmm0hiu+22Y6GFFpojN998881Zn2+++Zg9e3ZpfVlo7Pzzz89bb70F+OC8119/fY5Mvt5BgwZV1tWXRO6pIAiCPuC8885j77335rHHHuPRRx/liSeeYOTIkbV6DAAf+chH5vhBzjrrLDbeeGPAp3uYNm0aABdddBFvvPFG27oGDx7MrFmzOjyS1kQakSAIBiRvd6TkpEmTOPTQQ7uVfeYzn+Gkk05i1VVXbbv/CSecwH777cexxx7LkCFDOPXUUwE44IAD2GGHHdhwww3ZcsstWWyxxdrWNW7cOLbddluGDh3a534NuRVo4DB69GjLJmGKkNsgePdw33338b73vW9eN+MdQdm5kjTNzEa32zfMU0EQBEFtQmkEQRAEtQmlEQTBgGGgmdvnBr09R6E0giAYECy88MK88MILoThakM2nsfDCC3dcR0RPBUEwIBg2bBgzZ87kueeem9dN6ddkM/d1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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pd.pivot_table(df,index=['Donor Name'], \n", " aggfunc = sum, values = ['Amount']).sort_values(by=['Amount'], \n", " ascending=[False]).head(n=30).plot(kind='bar')" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Amount
Donor Name
Independent Contractors & Businesses Association of BC174700.00
New Car Dealers Association of BC136550.00
Aquilini Investment Group LP133400.00
Progressive Waste Solutions Canada Inc123700.00
Wesgroup Properties Ltd121750.00
Encana Corporation Ltd121200.00
West Fraser Mills Ltd114300.00
Gateway Casinos and Entertainment Limited105738.74
Interfor Corporation97050.00
Sandman Hotels, Inns & Suites Ltd95000.00
Canadian Forest Products Ltd90650.00
LifeLabs Inc85955.00
Anthem Properties Group Ltd.84000.00
Fasken Martineau DuMoulin LLP83025.00
Polygon Homes Ltd77000.00
Starline Windows (2001) Ltd.75000.00
Wesbild Holdings Ltd72500.00
Shato Holdings Ltd.70200.00
Great Canadian Gaming Corp.68995.00
Anthem Properties Corp Ltd68200.00
Tolko Industries Ltd67850.00
Woodfibre LNG Ltd.67500.00
The Pacific Investment Corporation Ltd.65000.00
Burnco Rock Products Ltd.64000.00
Western Forest Products Inc.63300.00
\n", "
" ], "text/plain": [ " Amount\n", "Donor Name \n", "Independent Contractors & Businesses Associatio... 174700.00\n", "New Car Dealers Association of BC 136550.00\n", "Aquilini Investment Group LP 133400.00\n", "Progressive Waste Solutions Canada Inc 123700.00\n", "Wesgroup Properties Ltd 121750.00\n", "Encana Corporation Ltd 121200.00\n", "West Fraser Mills Ltd 114300.00\n", "Gateway Casinos and Entertainment Limited 105738.74\n", "Interfor Corporation 97050.00\n", "Sandman Hotels, Inns & Suites Ltd 95000.00\n", "Canadian Forest Products Ltd 90650.00\n", "LifeLabs Inc 85955.00\n", "Anthem Properties Group Ltd. 84000.00\n", "Fasken Martineau DuMoulin LLP 83025.00\n", "Polygon Homes Ltd 77000.00\n", "Starline Windows (2001) Ltd. 75000.00\n", "Wesbild Holdings Ltd 72500.00\n", "Shato Holdings Ltd. 70200.00\n", "Great Canadian Gaming Corp. 68995.00\n", "Anthem Properties Corp Ltd 68200.00\n", "Tolko Industries Ltd 67850.00\n", "Woodfibre LNG Ltd. 67500.00\n", "The Pacific Investment Corporation Ltd. 65000.00\n", "Burnco Rock Products Ltd. 64000.00\n", "Western Forest Products Inc. 63300.00" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Top 25 Donors \n", "pd.pivot_table(df,index=['Donor Name'], \n", " aggfunc = sum, values = ['Amount']).sort_values(by=['Amount'], ascending=[False]).head(n=25)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Amount
Donor Name
Gateway Casinos and Entertainment Limited40.0
Great Canadian Gaming Corp.30.0
New Car Dealers Association of BC29.0
Insurance Bureau of Canada23.0
Janet Smukowich22.0
Independent Contractors & Businesses Association of BC20.0
LifeLabs Inc20.0
Stewart Vinnels19.0
Stephen P. Roberts19.0
Wazuku Advisory Group Inc.18.0
Encana Corporation Ltd18.0
Marina Guest17.0
Jess Ketchum17.0
Telus16.0
Tek S. Manhas15.0
Richard Lane15.0
Michael Lee15.0
Mark Robertson15.0
Anthem Properties Corp Ltd15.0
Cynthia Shore14.0
Lonnie Neufeld14.0
Niall Paltiel14.0
FortisBC Energy Inc.14.0
Wesbild Holdings Ltd14.0
Jeff Guignard14.0
\n", "
" ], "text/plain": [ " Amount\n", "Donor Name \n", "Gateway Casinos and Entertainment Limited 40.0\n", "Great Canadian Gaming Corp. 30.0\n", "New Car Dealers Association of BC 29.0\n", "Insurance Bureau of Canada 23.0\n", "Janet Smukowich 22.0\n", "Independent Contractors & Businesses Associatio... 20.0\n", "LifeLabs Inc 20.0\n", "Stewart Vinnels 19.0\n", "Stephen P. Roberts 19.0\n", "Wazuku Advisory Group Inc. 18.0\n", "Encana Corporation Ltd 18.0\n", "Marina Guest 17.0\n", "Jess Ketchum 17.0\n", "Telus 16.0\n", "Tek S. Manhas 15.0\n", "Richard Lane 15.0\n", "Michael Lee 15.0\n", "Mark Robertson 15.0\n", "Anthem Properties Corp Ltd 15.0\n", "Cynthia Shore 14.0\n", "Lonnie Neufeld 14.0\n", "Niall Paltiel 14.0\n", "FortisBC Energy Inc. 14.0\n", "Wesbild Holdings Ltd 14.0\n", "Jeff Guignard 14.0" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Most frequent Donors \n", "pd.pivot_table(df,index=['Donor Name'], \n", " aggfunc = len, values = ['Amount']).sort_values(by=['Amount'], ascending=[False]).head(n=25)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5012371.4699999997" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Donation yield from top 100 donors\n", "pd.pivot_table(df,index=['Donor Name'], \n", " aggfunc = sum, values = ['Amount']).sort_values(by=['Amount'], ascending=[False]).head(n=100)['Amount'].sum()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAD8CAYAAACLrvgBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvFvnyVgAAEylJREFUeJzt3XuwXWV5x/HvQwJyEYTIAVNCPMFGKnbKxSPFoq1yUQQF7HiBOk6qaFqxrWhbDeIo7dQZUCvo6AgothFBuQhCQYtAQduZFki4CQImQMQYhgSV4q1i8Okf6z3JTjwneffJXnvvcL6fmT17rXevvdZz3nP5nbXetdeKzESSpBrbDLoASdLWw9CQJFUzNCRJ1QwNSVI1Q0OSVM3QkCRVMzQkSdUMDUlSNUNDklRt5qALqLH77rvn6OjooMuQpK3K0qVLH8vMkV6uc6sIjdHRUZYsWTLoMiRpqxIR3+/1Oj08JUmqZmhIkqoZGpKkaoaGJKmaoSFJqmZoSJKqGRqSpGqGhiSpmqEhSaq2VXwifEuMLrpmINtdccYxA9muJLXJPQ1JUjVDQ5JUzdCQJFUzNCRJ1QwNSVI1Q0OSVM3QkCRVMzQkSdUMDUlSNUNDklSt1cuIRMQK4KfAU8DazByLiFnAxcAosAJ4Y2b+pM06JEm90Y89jVdk5gGZOVbmFwE3ZOZ84IYyL0naCgzi8NRxwOIyvRg4fgA1SJKmoO3QSOCbEbE0IhaWtj0z8xGA8rxHyzVIknqk7UujH5qZqyJiD+C6iLiv9o0lZBYCzJ07t636JEldaHVPIzNXlefVwBXAwcCjETEboDyvnuS952XmWGaOjYyMtFmmJKlSa6ERETtFxM7j08ArgbuBq4AFZbEFwJVt1SBJ6q02D0/tCVwREePbuSgz/z0ibgUuiYiTgIeBN7RYgySph1oLjcx8ENh/gvYfAYe3tV1JUnv8RLgkqZqhIUmqZmhIkqoZGpKkaoaGJKmaoSFJqmZoSJKqGRqSpGqGhiSpmqEhSapmaEiSqhkakqRqhoYkqZqhIUmqZmhIkqoZGpKkaoaGJKmaoSFJqmZoSJKqGRqSpGqGhiSpmqEhSapmaEiSqhkakqRqhoYkqZqhIUmqZmhIkqoZGpKkaoaGJKmaoSFJqtZ6aETEjIi4PSKuLvPzIuLmiFgWERdHxHZt1yBJ6o1+7Gm8G7i3Y/5M4KzMnA/8BDipDzVIknqg1dCIiDnAMcDny3wAhwGXlUUWA8e3WYMkqXfa3tM4G3gf8Jsy/2zg8cxcW+ZXAntN9MaIWBgRSyJiyZo1a1ouU5JUo7XQiIjXAKszc2ln8wSL5kTvz8zzMnMsM8dGRkZaqVGS1J2ZLa77UODYiDga2B7YhWbPY9eImFn2NuYAq1qsQZLUQ63taWTmqZk5JzNHgROA/8jMNwM3Aq8viy0ArmyrBklSbw3icxrvB94bEctpxjjOH0ANkqQpaPPw1DqZeRNwU5l+EDi4H9uVJPWWnwiXJFUzNCRJ1QwNSVI1Q0OSVM3QkCRVMzQkSdUMDUlSNUNDklTN0JAkVTM0JEnVDA1JUjVDQ5JUzdCQJFUzNCRJ1QwNSVK1qtCIiN9vuxBJ0vCr3dM4JyJuiYiTI2LXViuSJA2tqtDIzJcCbwb2BpZExEURcWSrlUmShk71mEZmLgM+SHOP7z8BPhUR90XEn7ZVnCRpuNSOafxBRJwF3AscBrw2M19Qps9qsT5J0hCZWbncp4HPAR/IzF+ON2bmqoj4YCuVSZKGTm1oHA38MjOfAoiIbYDtM/MXmXlBa9VJkoZK7ZjG9cAOHfM7ljZJ0jRSGxrbZ+bPxmfK9I7tlCRJGla1ofHziDhofCYiXgT8chPLS5KehmrHNE4BLo2IVWV+NvCmdkqSJA2rqtDIzFsj4veAfYEA7svMX7damSRp6NTuaQC8GBgt7zkwIsjML7ZSlSRpKFWFRkRcADwPuAN4qjQnYGhI0jRSu6cxBuyXmVm74ojYHvg28Iyyncsy88MRMQ/4CjALuA14S2Y+2V3ZkqRBqD176m7gOV2u+1fAYZm5P3AAcFREHAKcCZyVmfOBnwAndbleSdKA1O5p7A58NyJuoQkDADLz2MneUPZKxj/bsW15JM31qv6stC8GTgc+21XVkqSBqA2N06ey8oiYASwFfhf4DPAA8Hhmri2LrAT2msq6JUn9V3vK7bci4rnA/My8PiJ2BGZUvO8p4IBy46YrgBdMtNhE742IhcBCgLlz59aUKUlqWe2l0d8BXAacW5r2Ar5Wu5HMfBy4CTgE2DUixsNqDrBqkvecl5ljmTk2MjJSuylJUotqB8LfBRwKPAHrbsi0x6beEBEj47eGjYgdgCNo7sdxI/D6stgC4Mruy5YkDULtmMavMvPJiACg7Cls7vTb2cDiMq6xDXBJZl4dEd8FvhIR/wTcDpw/tdIlSf1WGxrfiogPADuUe4OfDPzbpt6QmXcBB07Q/iBwcLeFSpIGr/bw1CJgDfAd4C+Ar9PcL1ySNI3Unj31G5rbvX6u3XIkScOs9tpTDzHBGEZm7tPziiRJQ6uba0+N2x54A821oyRJ00jVmEZm/qjj8cPMPJvmciCSpGmk9vDUQR2z29DseezcSkWSpKFVe3jqnzum1wIrgDf2vBpJ0lCrPXvqFW0XIkkafrWHp967qdcz8xO9KUeSNMy6OXvqxcBVZf61NHfl+0EbRUmShlM3N2E6KDN/ChARpwOXZubb2ypMkjR8ai8jMhfovI/3k8Boz6uRJA212j2NC4BbIuIKmk+Gvw74YmtVSZKGUu3ZUx+JiG8ALytNb83M29srS5I0jGoPTwHsCDyRmZ8EVkbEvJZqkiQNqdrbvX4YeD9wamnaFvhSW0VJkoZT7Z7G64BjgZ8DZOYqvIyIJE07taHxZGYm5fLoEbFTeyVJkoZVbWhcEhHnArtGxDuA6/GGTJI07dSePfXxcm/wJ4B9gQ9l5nWtViZJGjqbDY2ImAFcm5lHAAaFJE1jmz08lZlPAb+IiGf1oR5J0hCr/UT4/wHfiYjrKGdQAWTm37RSlSRpKNWGxjXlIUmaxjYZGhExNzMfzszF/SpIkjS8Njem8bXxiYj4asu1SJKG3OZCIzqm92mzEEnS8NtcaOQk05KkaWhzA+H7R8QTNHscO5Rpynxm5i6tVidJGiqb3NPIzBmZuUtm7pyZM8v0+PwmAyMi9o6IGyPi3oi4JyLeXdpnRcR1EbGsPO/Wyy9IktSebu6n0a21wN9m5guAQ4B3RcR+wCLghsycD9xQ5iVJW4HWQiMzH8nM28r0T4F7gb2A44DxU3gXA8e3VYMkqbfa3NNYJyJGgQOBm4E9M/MRaIIF2KMfNUiStlzroRERzwS+CpySmU9sbvmO9y2MiCURsWTNmjXtFShJqtZqaETEtjSBcWFmXl6aH42I2eX12cDqid6bmedl5lhmjo2MjLRZpiSpUmuhEREBnA/cm5mf6HjpKmBBmV4AXNlWDZKk3qq9YOFUHAq8hebquHeUtg8AZ9DcCfAk4GHgDS3WIEnqodZCIzP/iw0vQ9Lp8La2K0lqT1/OnpIkPT0YGpKkaoaGJKmaoSFJqmZoSJKqGRqSpGqGhiSpmqEhSapmaEiSqhkakqRqbV57alobXXTNwLa94oxjBrZtSU9v7mlIkqoZGpKkaoaGJKmaoSFJqmZoSJKqGRqSpGqGhiSpmqEhSapmaEiSqhkakqRqhoYkqZqhIUmqZmhIkqoZGpKkaoaGJKma99N4GhrUvTy8j4f09OeehiSpmqEhSapmaEiSqrUWGhHxhYhYHRF3d7TNiojrImJZed6tre1LknqvzT2NfwWO2qhtEXBDZs4HbijzkqStRGuhkZnfBn68UfNxwOIyvRg4vq3tS5J6r99jGntm5iMA5XmPyRaMiIURsSQilqxZs6ZvBUqSJje0A+GZeV5mjmXm2MjIyKDLkSTR/9B4NCJmA5Tn1X3eviRpC/Q7NK4CFpTpBcCVfd6+JGkLtHnK7ZeB/wb2jYiVEXEScAZwZEQsA44s85KkrURr157KzBMneenwtrYpSWrX0A6ES5KGj6EhSapmaEiSqhkakqRqhoYkqZqhIUmqZmhIkqoZGpKkaoaGJKmaoSFJqtbaZUQ0/YwuumZg215xxjED27Y0nbinIUmqZmhIkqoZGpKkaoaGJKmaoSFJqmZoSJKqecqtnhYGdbqvp/pqunFPQ5JUzdCQJFUzNCRJ1RzTkLZSjuNoENzTkCRVMzQkSdUMDUlSNcc0pC0wyMvBD4qXwJ/e3NOQJFUzNCRJ1QwNSVK1gYxpRMRRwCeBGcDnM/OMQdQhSTX8TMx6fd/TiIgZwGeAVwP7ASdGxH79rkOS1L1BHJ46GFiemQ9m5pPAV4DjBlCHJKlLgwiNvYAfdMyvLG2SpCE3iDGNmKAtf2uhiIXAwjL7s4i4f6NFdgce63FtvTbsNQ57fWCNvTDs9UFljXFmHyqZXN/7scuvd6L6ntuzYopBhMZKYO+O+TnAqo0XyszzgPMmW0lELMnMsd6X1zvDXuOw1wfW2AvDXh9YYy/0q75BHJ66FZgfEfMiYjvgBOCqAdQhSepS3/c0MnNtRPwVcC3NKbdfyMx7+l2HJKl7A/mcRmZ+Hfj6Fq5m0kNXQ2TYaxz2+sAae2HY6wNr7IW+1BeZvzUGLUnShLyMiCSpXmYO7EFzFtWNwL3APcC7S/ss4DpgWXnerbQH8ClgOXAXcFDHuhaU5ZcBCzraXwR8p7znU5S9qy7rnAHcDlxd5ucBN5dtXQxsV9qfUeaXl9dHO9Zxamm/H3hVR/tRpW05sGiK/bgrcBlwX+nLlwxhH76nfI/vBr4MbD/ofgS+AKwG7u5oa73fJttGZX0fK9/nu4ArgF2n2jdT6f+aGjte+zua0+l3H1QfbqpG4K9Lv9wDfHRQ/TjJ9/kA4H+AO4AlwMGD7MMN6p3KH6lePYDZ4180sDPwPZpLi3x0/JsCLALOLNNHA98oHXcIcHPHF/9ged6tTI//st9C80c0yntfPYU63wtcxPrQuAQ4oUyfA7yzTJ8MnFOmTwAuLtP7AXeWH6J5wAM0QTSjTO8DbFeW2W8K9S0G3l6mt6MJkaHpQ5oPbz4E7NDRf38+6H4E/hg4iA1/WVvvt8m2UVnfK4GZZfrMjvq67ptu+7+2xtK+N83JLt9nfWj0vQ830Y+vAK4HnlHm9xhUP05S3zc7vtajgZsG2Ycb1NvtH6g2H8CVwJE0aT67tM0G7i/T5wIndix/f3n9RODcjvZzS9ts4L6O9g2Wq6xpDnADcBhwden4x1j/i/sS4NoyfS3wkjI9sywXNP+5nNqxzmvL+9a9t7RvsFxlfbvQ/EGOjdqHqQ/HrwIwq/TL1cCrhqEfgVE2/GVtvd8m20ZNfRu99jrgwom+5s31zVR+jrupkWbPd39gBetDYyB9OMn3+RLgiAmWG0g/TlDftcCbOr7uiwbdh+OPoRnTiIhR4ECa3bg9M/MRgPK8R1lsskuQbKp95QTt3TgbeB/wmzL/bODxzFw7wTrX1VFe/9+yfLd1d2MfYA3wLxFxe0R8PiJ2Yoj6MDN/CHwceBh4hKZfljJc/TiuH/022Ta69Taa/xynUt9Ufo6rRMSxwA8z886NXhqmPnw+8LKIuDkivhURL55ijW314ynAxyLiBzS/O6dOsb6e9+FQhEZEPBP4KnBKZj6xqUUnaMsptNfW9RpgdWYuraih7/UVM2l2bT+bmQcCP6fZ1ZxM32uMiN1oLko5D/gdYCeaqxxPtt5B9OPmDFVNEXEasBa4cLypyzqm8nNcU9eOwGnAhyZ6uYc1bqmZNIdxDgH+HrgkIqLHNW5J/e8E3pOZe9OMB56/mXX2rQ8HHhoRsS1NYFyYmZeX5kcjYnZ5fTbNIBFMfgmSTbXPmaC91qHAsRGxguZqvIfR7HnsGhHjn3HpXOe6OsrrzwJ+PIW6u7ESWJmZN5f5y2hCZFj6EOAI4KHMXJOZvwYuB/6I4erHcf3ot8m2USUiFgCvAd6c5djCFOp7jO77v8bzaP45uLP83swBbouI50yhxtb6sKz78mzcQnMkYfcp1NhWPy6g+T0BuJTm6uAbrLOyvt73Yc0xrLYeNCn4ReDsjdo/xoYDNB8t08ew4SDQLaV9Fs1x/d3K4yFgVnnt1rLs+CDQ0VOs9eWsHwi/lA0Hvk4u0+9iw4GvS8r0C9lwcO1BmoG1mWV6HusH1144hdr+E9i3TJ9e+m9o+hD4Q5ozVHYs61hMc+bKwPuR3z6W3Hq/TbaNyvqOAr4LjGy0XNd9023/19a40WsrWD+mMZA+nKQf/xL4xzL9fJpDOzGofpygvnuBl5fpw4Glg+7DdbV1+weqlw/gpTS7SnfRnFp2B83ZAc+mGXxeVp7Hv/iguYHTAzSnkI11rOttNKeULQfe2tE+RnOa5wPAp5nC6aJlPS9nfWjsQ3NGwvLyAzN+Bsb2ZX55eX2fjvefVmq4n46zj8rX+73y2mlTrO0AmtPy7gK+Vn5ohqoPgX+gOVX0buACml/KgfYjzam/jwC/pvmP7KR+9Ntk26isbznNH7jx35dzpto3U+n/mho3en0FG55y29c+3EQ/bgd8qaz7NuCwQfXjJPW9lGbc706acd4XDbIPOx9+IlySVG3gYxqSpK2HoSFJqmZoSJKqGRqSpGqGhiSpmqEhSapmaEiSqhkakqRq/w/oOtS1J24ghQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "## Donation yield from top 100 donors\n", "pd.pivot_table(df,index=['Donor Name'], \n", " aggfunc = sum, values = ['Amount']).sort_values(by=['Amount'], \n", " ascending=[False]).head(n=100)['Amount'].plot(kind='hist')" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.27005249922877489" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "## Fraction of total donations from top 100 donors\n", "pd.pivot_table(df,index=['Donor Name'], \n", " aggfunc = sum, \n", " values = ['Amount']).sort_values(by=['Amount'], ascending=[False]).head(n=100)['Amount'].sum()/df['Amount'].sum()" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "15306" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(df['Donor Name'].unique())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Donation Amount by Day" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAFpCAYAAABgcnRFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJztnXncXVV5779PEuaZkAIm0FAEgRZFiAGVXsEoBByCA4ryMaBo1IpobdV4e+8FtVqs91bEK7RcEcHSBMQBqoxCtMUyJWESAhIZIw7IbC0yPfePtd5w2Nnnfdc651056z35fT+f/XnPWfu313n2s9baz7v3XoO5O0IIIUQKkwZtgBBCiImDgoYQQohkFDSEEEIko6AhhBAiGQUNIYQQyShoCCGESEZBQwghRDIKGkIIIZJR0BBCCJHMlEEbMN5ss802PnPmzEGbIYQQE4ply5b91t2njaUbuqAxc+ZMli5dOmgzhBBiQmFm96To9HhKCCFEMgoaQgghklHQEEIIkczQvdMQQqybPPXUU6xatYonnnhi0KZUzYYbbsiMGTNYb731ejpeQUMIMRSsWrWKzTbbjJkzZ2JmgzanStydBx98kFWrVrHTTjv1lIceTwkhhoInnniCqVOnKmCMgpkxderUvu7GFDSEEEODAsbY9OsjBQ0hhBDJDPU7jZkLf7BG2t0nvm4Alggh1jZt7b8fUq8d3/3ud3nzm9/MihUr2G233cbVhlROOukkFixYwMYbbzzueetOQwghxpFFixax//77s3jx4oHZcNJJJ/H73/++SN4KGkIIMU787ne/4yc/+Qmnn3766qDxox/9iFe96lW87W1vY9ddd2XhwoWcffbZzJ49mz333JOf//znANxzzz3MmTOHF7/4xcyZM4d7770XgKOPPprzzjtv9W9suummq/M94IADeOtb38puu+3GkUceibtz8sknc//993PggQdy4IEHjvs5KmgIIcQ48b3vfY+5c+ey6667svXWW7N8+XIAbrzxRr785S9z8803881vfpOf/exnXHvttbz3ve/lK1/5CgDHHnss8+fP56abbuLII4/kuOOOG/P3rr/+ek466SRuvfVW7rzzTn7yk59w3HHH8YIXvIAlS5awZMmScT9HBQ0hhBgnFi1axBFHHAHAEUccwaJFiwB42ctexvbb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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pd.pivot_table(df,index=['datetime'], \n", " aggfunc = sum, values = ['Amount']).sort_values(by=['Amount'], \n", " ascending=[False]).head(n=30).plot(kind='bar')" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Amount
datetime
2017-03-25938817.34
2017-05-12814751.50
2016-02-26548565.00
2017-05-05546109.52
\n", "
" ], "text/plain": [ " Amount\n", "datetime \n", "2017-03-25 938817.34\n", "2017-05-12 814751.50\n", "2016-02-26 548565.00\n", "2017-05-05 546109.52" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.pivot_table(df,index=['datetime'], \n", " aggfunc = sum, values = ['Amount']).sort_values(by=['Amount'], \n", " ascending=[False]).head(n=4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The BC Liberal Party received $939K in donations on 2017-03-25." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyzing UBC BoG Donations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Copied from [UBCBoG site](http://bog.ubc.ca/?page_id=12657)\n", "\n", "Appointed by the Province\n", "\n", "Stuart Belkin (Chair)\tDecember 2018 \n", "Sandra Cawley\tDecember 2018 \n", "Raghwa Gopal\tDecember 2017 \n", "Celeste Haldane\tDecember 2017 \n", "Michael Korenberg (Vice-Chair)\tDecember 2017 \n", "Graham Lee\tDecember 2017 \n", "Fiona Macfarlane\tDecember 2018 \n", "Beverlee Park\tDecember 2017 \n", "Alan Shuster\tFebruary 2020 \n", "David Sidoo\tDecember 2017 \n", "Kevin Smith\tDecember 2018 \n" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "ubc_board = ['Stuart Belkin',\n", "'Sandra Cawley',\n", "'Raghwa Gopal',\n", "'Celeste Haldane',\n", "'Michael Korenberg',\n", "'Graham Lee',\n", "'Fiona Macfarlan',\n", "'Beverlee Park',\n", "'Alan Shuster',\n", "'David Sidoo',\n", "'Kevin Smith',\n", "]" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Stuart Belkin 0\n", "Sandra Cawley 0\n", "Raghwa Gopal 1000.0\n", "Celeste Haldane 0\n", "Michael Korenberg 2500.0\n", "Graham Lee 2300.0\n", "Fiona Macfarlan 1800.0\n", "Beverlee Park 0\n", "Alan Shuster 0\n", "David Sidoo 10000.0\n", "Kevin Smith 0\n" ] } ], "source": [ "for name in ubc_board:\n", " print(name, df_filter(name)['Amount'].sum())" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "[Alan Shuster used to work for Premier Clark](http://old.ubyssey.ca/news/clark-manager-bog-333/)." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v45813Graham Lee1150.02016-04-30 00:00:002016-04-303389935.44
2017-Contributions-March-3-2017490Graham Lee1150.02017-02-24 00:00:002017-02-2411745080.63
\n", "
" ], "text/plain": [ " Donor Name Amount Date \\\n", "Copy-of-2016-Contributions-v4 5813 Graham Lee 1150.0 2016-04-30 00:00:00 \n", "2017-Contributions-March-3-2017 490 Graham Lee 1150.0 2017-02-24 00:00:00 \n", "\n", " datetime cumsum \n", "Copy-of-2016-Contributions-v4 5813 2016-04-30 3389935.44 \n", "2017-Contributions-March-3-2017 490 2017-02-24 11745080.63 " ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('Graham Lee')" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Donor NameAmountDatedatetimecumsum
Copy-of-2016-Contributions-v43416David Sidoo2500.02016-01-31 00:00:002016-01-31470908.09
3417David Sidoo5000.02016-02-29 00:00:002016-02-291306830.44
2017-Contributions-March-31-201390David Sidoo2500.02017-03-25 00:00:002017-03-2513079040.53
\n", "
" ], "text/plain": [ " Donor Name Amount \\\n", "Copy-of-2016-Contributions-v4 3416 David Sidoo 2500.0 \n", " 3417 David Sidoo 5000.0 \n", "2017-Contributions-March-31-201 390 David Sidoo 2500.0 \n", "\n", " Date datetime \\\n", "Copy-of-2016-Contributions-v4 3416 2016-01-31 00:00:00 2016-01-31 \n", " 3417 2016-02-29 00:00:00 2016-02-29 \n", "2017-Contributions-March-31-201 390 2017-03-25 00:00:00 2017-03-25 \n", "\n", " cumsum \n", "Copy-of-2016-Contributions-v4 3416 470908.09 \n", " 3417 1306830.44 \n", "2017-Contributions-March-31-201 390 13079040.53 " ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_filter('David Sidoo')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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 }