{
"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",
" \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",
" \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n",
" \"use INLINE resources instead, as so: \\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 \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n \"use INLINE resources instead, as so: \\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",
" Amount \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 29509.000000 \n",
" \n",
" \n",
" mean \n",
" 628.985388 \n",
" \n",
" \n",
" std \n",
" 2279.642803 \n",
" \n",
" \n",
" min \n",
" 0.000000 \n",
" \n",
" \n",
" 25% \n",
" 36.000000 \n",
" \n",
" \n",
" 50% \n",
" 100.000000 \n",
" \n",
" \n",
" 75% \n",
" 300.000000 \n",
" \n",
" \n",
" max \n",
" 85000.000000 \n",
" \n",
" \n",
"
\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": "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\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" 2017-Contributions-May-5 \n",
" 945 \n",
" Sandman Hotels, Inns & Suites Ltd \n",
" 85000.0 \n",
" 2017-04-28 00:00:00 \n",
" 2017-04-28 \n",
" 15239725.38 \n",
" \n",
" \n",
" 2017-Contributions-May-19 \n",
" 433 \n",
" Wesgroup Properties Ltd \n",
" 75000.0 \n",
" 2017-05-12 00:00:00 \n",
" 2017-05-12 \n",
" 18053801.51 \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 779 \n",
" Aquilini Investment Group LP \n",
" 75000.0 \n",
" 2016-11-10 00:00:00 \n",
" 2016-11-10 \n",
" 8234965.96 \n",
" \n",
" \n",
" 6602 \n",
" Independent Contractors & Businesses Associati... \n",
" 60000.0 \n",
" 2016-08-07 00:00:00 \n",
" 2016-08-07 \n",
" 6123515.38 \n",
" \n",
" \n",
" 15516 \n",
" Westbridge Finance Inc \n",
" 50000.0 \n",
" 2016-04-15 00:00:00 \n",
" 2016-04-15 \n",
" 3092883.44 \n",
" \n",
" \n",
" 2017-Contributions-May-12 \n",
" 34 \n",
" Anthem Properties Group Ltd. \n",
" 50000.0 \n",
" 2017-05-06 00:00:00 \n",
" 2017-05-06 \n",
" 16739929.01 \n",
" \n",
" \n",
" 259 \n",
" Interfor Corporation \n",
" 50000.0 \n",
" 2017-05-06 00:00:00 \n",
" 2017-05-06 \n",
" 16994279.01 \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 14013 \n",
" Starline Windows (2001) Ltd. \n",
" 50000.0 \n",
" 2016-03-06 00:00:00 \n",
" 2016-03-06 \n",
" 1788467.44 \n",
" \n",
" \n",
" 13635 \n",
" Shape Properties Corp. \n",
" 50000.0 \n",
" 2016-07-13 00:00:00 \n",
" 2016-07-13 \n",
" 5701462.88 \n",
" \n",
" \n",
" 2017-Contributions-May-19 \n",
" 283 \n",
" Maple Ridge Plaza Properties Ltd. \n",
" 50000.0 \n",
" 2017-05-12 00:00:00 \n",
" 2017-05-12 \n",
" 17573426.01 \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 11933 \n",
" Peter Redekop \n",
" 50000.0 \n",
" 2016-01-15 00:00:00 \n",
" 2016-01-15 \n",
" 322847.79 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1665 \n",
" The Pacific Investment Corporation Ltd. \n",
" 50000.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 12894264.39 \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 3481 \n",
" Dayhu Investments Ltd. \n",
" 50000.0 \n",
" 2016-10-06 00:00:00 \n",
" 2016-10-06 \n",
" 7088503.35 \n",
" \n",
" \n",
" 14471 \n",
" Tech Projects Ltd \n",
" 40000.0 \n",
" 2016-02-26 00:00:00 \n",
" 2016-02-26 \n",
" 1086720.44 \n",
" \n",
" \n",
" 6721 \n",
" ITC Management Inc \n",
" 40000.0 \n",
" 2016-02-26 00:00:00 \n",
" 2016-02-26 \n",
" 868810.44 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1360 \n",
" Polygon Homes Ltd \n",
" 40000.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 13138710.53 \n",
" \n",
" \n",
" 2017-Contributions-May-12 \n",
" 493 \n",
" Robert Lee \n",
" 40000.0 \n",
" 2017-05-06 00:00:00 \n",
" 2017-05-06 \n",
" 16816079.01 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1759 \n",
" West Fraser Mills Ltd \n",
" 37500.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 12645513.57 \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 1947 \n",
" Canadian Classified Network Inc \n",
" 35000.0 \n",
" 2016-01-15 00:00:00 \n",
" 2016-01-15 \n",
" 371222.79 \n",
" \n",
" \n",
" 12149 \n",
" Progressive Waste Solutions Canada Inc \n",
" 35000.0 \n",
" 2016-03-06 00:00:00 \n",
" 2016-03-06 \n",
" 1583542.44 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 911 \n",
" Automotive Retailers Association \n",
" 1750.0 \n",
" 2016-01-01 00:00:00 \n",
" 2016-01-01 \n",
" 12600.00 \n",
" \n",
" \n",
" 912 \n",
" Automotive Retailers Association \n",
" 625.0 \n",
" 2016-02-29 00:00:00 \n",
" 2016-02-29 \n",
" 1370150.44 \n",
" \n",
" \n",
" 913 \n",
" Automotive Retailers Association \n",
" 2300.0 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2102728.44 \n",
" \n",
" \n",
" 914 \n",
" Automotive Retailers Association \n",
" 300.0 \n",
" 2016-05-31 00:00:00 \n",
" 2016-05-31 \n",
" 4558536.45 \n",
" \n",
" \n",
" 915 \n",
" Automotive Retailers Association \n",
" 1150.0 \n",
" 2016-05-31 00:00:00 \n",
" 2016-05-31 \n",
" 4564366.45 \n",
" \n",
" \n",
" 916 \n",
" Automotive Retailers Association \n",
" 700.0 \n",
" 2016-08-17 00:00:00 \n",
" 2016-08-17 \n",
" 6135315.38 \n",
" \n",
" \n",
" Copy-of-2017-Contributions-Janu \n",
" 10 \n",
" Automotive Retailers Association \n",
" 300.0 \n",
" 1/13/2017 \n",
" 2017-01-13 \n",
" 10818058.78 \n",
" \n",
" \n",
" 2017-Contributions-—-February-3 \n",
" 34 \n",
" Automotive Retailers Association \n",
" 875.0 \n",
" 2017-01-27 00:00:00 \n",
" 2017-01-27 \n",
" 11202575.63 \n",
" \n",
" \n",
" 35 \n",
" Automotive Retailers Association \n",
" 1750.0 \n",
" 2017-02-01 00:00:00 \n",
" 2017-02-01 \n",
" 11262125.63 \n",
" \n",
" \n",
" 2017-Contributions-—-February-1 \n",
" 12 \n",
" Automotive Retailers Association \n",
" 250.0 \n",
" 2017-02-03 00:00:00 \n",
" 2017-02-03 \n",
" 11416550.63 \n",
" \n",
" \n",
" 2017-Contributions-—-March-17-2 \n",
" 5 \n",
" Automotive Retailers Association \n",
" 500.0 \n",
" 2017-03-10 00:00:00 \n",
" 2017-03-10 \n",
" 12065799.34 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 4611 \n",
" Encana Corporation Ltd \n",
" 1000.0 \n",
" 2016-02-26 00:00:00 \n",
" 2016-02-26 \n",
" 1147310.44 \n",
" \n",
" \n",
" 4612 \n",
" Encana Corporation Ltd \n",
" 10000.0 \n",
" 2016-03-24 00:00:00 \n",
" 2016-03-24 \n",
" 2086525.44 \n",
" \n",
" \n",
" 4613 \n",
" Encana Corporation Ltd \n",
" 1500.0 \n",
" 2016-04-15 00:00:00 \n",
" 2016-04-15 \n",
" 2816448.44 \n",
" \n",
" \n",
" 4614 \n",
" Encana Corporation Ltd \n",
" 1500.0 \n",
" 2016-04-22 00:00:00 \n",
" 2016-04-22 \n",
" 3202678.44 \n",
" \n",
" \n",
" 4616 \n",
" Encana Corporation Ltd \n",
" 750.0 \n",
" 2016-05-20 00:00:00 \n",
" 2016-05-20 \n",
" 4241072.78 \n",
" \n",
" \n",
" 4617 \n",
" Encana Corporation Ltd \n",
" 5000.0 \n",
" 2016-05-27 00:00:00 \n",
" 2016-05-27 \n",
" 4363478.11 \n",
" \n",
" \n",
" 4615 \n",
" Encana Corporation Ltd \n",
" 8000.0 \n",
" 2016-06-05 00:00:00 \n",
" 2016-06-05 \n",
" 4669701.45 \n",
" \n",
" \n",
" 4618 \n",
" Encana Corporation Ltd \n",
" 5000.0 \n",
" 2016-06-24 00:00:00 \n",
" 2016-06-24 \n",
" 5201365.78 \n",
" \n",
" \n",
" 4619 \n",
" Encana Corporation Ltd \n",
" 500.0 \n",
" 2016-07-13 00:00:00 \n",
" 2016-07-13 \n",
" 5605597.88 \n",
" \n",
" \n",
" 4620 \n",
" Encana Corporation Ltd \n",
" 300.0 \n",
" 2016-07-15 00:00:00 \n",
" 2016-07-15 \n",
" 5724372.88 \n",
" \n",
" \n",
" 4621 \n",
" Encana Corporation Ltd \n",
" 25000.0 \n",
" 2016-09-22 00:00:00 \n",
" 2016-09-22 \n",
" 6641549.54 \n",
" \n",
" \n",
" 4622 \n",
" Encana Corporation Ltd \n",
" 5200.0 \n",
" 2016-10-31 00:00:00 \n",
" 2016-10-31 \n",
" 7863872.96 \n",
" \n",
" \n",
" 4623 \n",
" Encana Corporation Ltd \n",
" 1500.0 \n",
" 2016-12-19 00:00:00 \n",
" 2016-12-19 \n",
" 9754678.36 \n",
" \n",
" \n",
" Real-Time-Donations-Jan-25V3 \n",
" 572 \n",
" Encana Corporation Ltd \n",
" 17500.0 \n",
" 2017-01-11 00:00:00 \n",
" 2017-01-11 \n",
" 10805103.78 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 544 \n",
" Encana Corporation Ltd \n",
" 3700.0 \n",
" 2017-03-28 00:00:00 \n",
" 2017-03-28 \n",
" 13431757.53 \n",
" \n",
" \n",
" 2017-Contributions-April-21 \n",
" 403 \n",
" Encana Corporation Ltd \n",
" 250.0 \n",
" 2017-04-14 00:00:00 \n",
" 2017-04-14 \n",
" 14658385.86 \n",
" \n",
" \n",
" 2017-Contributions-May-5 \n",
" 326 \n",
" Encana Corporation Ltd \n",
" 29500.0 \n",
" 2017-05-04 00:00:00 \n",
" 2017-05-04 \n",
" 16022469.49 \n",
" \n",
" \n",
" 2017-Contributions-May-19 \n",
" 147 \n",
" Encana Corporation Ltd \n",
" 5000.0 \n",
" 2017-05-12 00:00:00 \n",
" 2017-05-12 \n",
" 17318690.01 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 9070 \n",
" Ledcor Industries Inc. \n",
" 9000.0 \n",
" 2016-05-08 00:00:00 \n",
" 2016-05-08 \n",
" 3592482.44 \n",
" \n",
" \n",
" 9069 \n",
" Ledcor Industries Inc. \n",
" 7500.0 \n",
" 2016-06-24 00:00:00 \n",
" 2016-06-24 \n",
" 5151360.78 \n",
" \n",
" \n",
" 9067 \n",
" Ledcor Industries Inc. \n",
" 5000.0 \n",
" 2016-08-04 00:00:00 \n",
" 2016-08-04 \n",
" 6003540.38 \n",
" \n",
" \n",
" 9068 \n",
" Ledcor Industries Inc. \n",
" 700.0 \n",
" 2016-10-06 00:00:00 \n",
" 2016-10-06 \n",
" 7105143.35 \n",
" \n",
" \n",
" 9071 \n",
" Ledcor Industries Inc. \n",
" 1200.0 \n",
" 2016-11-21 00:00:00 \n",
" 2016-11-21 \n",
" 8514081.96 \n",
" \n",
" \n",
" 9072 \n",
" Ledcor Industries Inc. \n",
" 2000.0 \n",
" 2016-11-28 00:00:00 \n",
" 2016-11-28 \n",
" 8723601.69 \n",
" \n",
" \n",
" 9073 \n",
" Ledcor Industries Inc. \n",
" 5100.0 \n",
" 2016-12-19 00:00:00 \n",
" 2016-12-19 \n",
" 9717643.36 \n",
" \n",
" \n",
" Real-Time-Donations-Jan-25V3 \n",
" 595 \n",
" Ledcor Industries Inc. \n",
" 1000.0 \n",
" 2017-01-11 00:00:00 \n",
" 2017-01-11 \n",
" 10760763.67 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1028 \n",
" Ledcor Industries Inc. \n",
" 1000.0 \n",
" 2017-03-28 00:00:00 \n",
" 2017-03-28 \n",
" 13513287.53 \n",
" \n",
" \n",
" 2017-Contributions-April-28-201 \n",
" 277 \n",
" Ledcor Industries Inc. \n",
" 1000.0 \n",
" 2017-04-21 00:00:00 \n",
" 2017-04-21 \n",
" 14971133.38 \n",
" \n",
" \n",
" 2017-Contributions-May-5 \n",
" 666 \n",
" Ledcor Industries Inc. \n",
" 5000.0 \n",
" 2017-05-03 00:00:00 \n",
" 2017-05-03 \n",
" 15866549.49 \n",
" \n",
" \n",
" 2017-Contributions-May-12 \n",
" 332 \n",
" Ledcor Industries Inc. \n",
" 1300.0 \n",
" 2017-05-05 00:00:00 \n",
" 2017-05-05 \n",
" 16323461.82 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 11439 \n",
" Pacific Northwest LNG Ltd. \n",
" 500.0 \n",
" 2016-01-01 00:00:00 \n",
" 2016-01-01 \n",
" 10850.00 \n",
" \n",
" \n",
" 14016 \n",
" Steelhead LNG Corp. \n",
" 4000.0 \n",
" 2016-02-15 00:00:00 \n",
" 2016-02-15 \n",
" 750390.44 \n",
" \n",
" \n",
" 14017 \n",
" Steelhead LNG Corp. \n",
" 4000.0 \n",
" 2016-02-29 00:00:00 \n",
" 2016-02-29 \n",
" 1330105.44 \n",
" \n",
" \n",
" 11441 \n",
" Pacific Northwest LNG Ltd. \n",
" 2500.0 \n",
" 2016-02-29 00:00:00 \n",
" 2016-02-29 \n",
" 1415020.44 \n",
" \n",
" \n",
" 15791 \n",
" Woodfibre LNG Ltd. \n",
" 10000.0 \n",
" 2016-04-22 00:00:00 \n",
" 2016-04-22 \n",
" 3263228.44 \n",
" \n",
" \n",
" 15792 \n",
" Woodfibre LNG Ltd. \n",
" 1000.0 \n",
" 2016-06-24 00:00:00 \n",
" 2016-06-24 \n",
" 5196240.78 \n",
" \n",
" \n",
" 14018 \n",
" Steelhead LNG Corp. \n",
" 7500.0 \n",
" 2016-06-24 00:00:00 \n",
" 2016-06-24 \n",
" 5254369.52 \n",
" \n",
" \n",
" 11440 \n",
" Pacific Northwest LNG Ltd. \n",
" 1250.0 \n",
" 2016-08-01 00:00:00 \n",
" 2016-08-01 \n",
" 5964181.38 \n",
" \n",
" \n",
" 15793 \n",
" Woodfibre LNG Ltd. \n",
" 5000.0 \n",
" 2016-11-15 00:00:00 \n",
" 2016-11-15 \n",
" 8440181.96 \n",
" \n",
" \n",
" 11438 \n",
" Pacific North West LNG \n",
" 1000.0 \n",
" 2016-12-08 00:00:00 \n",
" 2016-12-08 \n",
" 9328597.66 \n",
" \n",
" \n",
" 15794 \n",
" Woodfibre LNG Ltd. \n",
" 5000.0 \n",
" 2016-12-22 00:00:00 \n",
" 2016-12-22 \n",
" 9898556.36 \n",
" \n",
" \n",
" Copy-of-2017-Contributions-Janu \n",
" 203 \n",
" Woodfibre LNG Ltd. \n",
" 7500.0 \n",
" 1/18/2017 \n",
" 2017-01-18 \n",
" 10931198.78 \n",
" \n",
" \n",
" 2017-Contributions-—-February-1 \n",
" 186 \n",
" Woodfibre LNG Ltd. \n",
" 4500.0 \n",
" 2017-02-08 00:00:00 \n",
" 2017-02-08 \n",
" 11474535.63 \n",
" \n",
" \n",
" 2017-Contributions-February-17 \n",
" 159 \n",
" Steelhead LNG \n",
" 300.0 \n",
" 2017-02-10 00:00:00 \n",
" 2017-02-10 \n",
" 11551075.63 \n",
" \n",
" \n",
" 2017-Contributions-March-10 \n",
" 159 \n",
" Steelhead LNG \n",
" 300.0 \n",
" 2017-02-10 00:00:00 \n",
" 2017-02-10 \n",
" 11614400.63 \n",
" \n",
" \n",
" 2017-Contributions-—-March-17-2 \n",
" 162 \n",
" Steelhead LNG \n",
" 2225.0 \n",
" 2017-03-10 00:00:00 \n",
" 2017-03-10 \n",
" 12102489.34 \n",
" \n",
" \n",
" 2017-Contributions-April-7 \n",
" 720 \n",
" Woodfibre LNG Ltd. \n",
" 7500.0 \n",
" 2017-04-03 00:00:00 \n",
" 2017-04-03 \n",
" 13877625.86 \n",
" \n",
" \n",
" 2017-Contributions-April-14 \n",
" 740 \n",
" Woodfibre LNG Ltd. \n",
" 2500.0 \n",
" 2017-04-09 00:00:00 \n",
" 2017-04-09 \n",
" 14431192.86 \n",
" \n",
" \n",
" 2017-Contributions-April-21 \n",
" 1310 \n",
" Woodfibre LNG Ltd. \n",
" 10000.0 \n",
" 2017-04-14 00:00:00 \n",
" 2017-04-14 \n",
" 14695085.86 \n",
" \n",
" \n",
" 2017-Contributions-April-28-201 \n",
" 507 \n",
" Woodfibre LNG Ltd. \n",
" 2500.0 \n",
" 2017-04-21 00:00:00 \n",
" 2017-04-21 \n",
" 14921129.38 \n",
" \n",
" \n",
" 2017-Contributions-May-5 \n",
" 1117 \n",
" Woodfibre LNG Ltd. \n",
" 2000.0 \n",
" 2017-04-29 00:00:00 \n",
" 2017-04-29 \n",
" 15625016.49 \n",
" \n",
" \n",
" 1118 \n",
" Woodfibre LNG Ltd. \n",
" 10000.0 \n",
" 2017-05-03 00:00:00 \n",
" 2017-05-03 \n",
" 15921484.49 \n",
" \n",
" \n",
" 2017-Contributions-May-19 \n",
" 402 \n",
" Steelhead LNG \n",
" 4000.0 \n",
" 2017-05-12 00:00:00 \n",
" 2017-05-12 \n",
" 17818626.51 \n",
" \n",
" \n",
" 2017-Contributions-June-2 \n",
" 419 \n",
" Pacific Rim LNG Ltd \n",
" 250.0 \n",
" 2017-05-30 00:00:00 \n",
" 2017-05-30 \n",
" 18451503.09 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 14507 \n",
" Telus \n",
" 250.0 \n",
" 2016-01-01 00:00:00 \n",
" 2016-01-01 \n",
" 75850.00 \n",
" \n",
" \n",
" 14508 \n",
" Telus \n",
" 2500.0 \n",
" 2016-01-22 00:00:00 \n",
" 2016-01-22 \n",
" 379822.79 \n",
" \n",
" \n",
" 14509 \n",
" Telus \n",
" 450.0 \n",
" 2016-01-31 00:00:00 \n",
" 2016-01-31 \n",
" 627937.09 \n",
" \n",
" \n",
" 14510 \n",
" Telus \n",
" 7500.0 \n",
" 2016-03-02 00:00:00 \n",
" 2016-03-02 \n",
" 1495920.44 \n",
" \n",
" \n",
" 14511 \n",
" Telus \n",
" 5000.0 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2238668.44 \n",
" \n",
" \n",
" 14512 \n",
" Telus \n",
" 300.0 \n",
" 2016-04-15 00:00:00 \n",
" 2016-04-15 \n",
" 3116243.44 \n",
" \n",
" \n",
" 14513 \n",
" Telus \n",
" 1300.0 \n",
" 2016-05-31 00:00:00 \n",
" 2016-05-31 \n",
" 4551621.45 \n",
" \n",
" \n",
" 14514 \n",
" Telus \n",
" 4450.0 \n",
" 2016-06-30 00:00:00 \n",
" 2016-06-30 \n",
" 5549187.88 \n",
" \n",
" \n",
" 14516 \n",
" Telus \n",
" 1250.0 \n",
" 2016-10-30 00:00:00 \n",
" 2016-10-30 \n",
" 7386385.60 \n",
" \n",
" \n",
" 14517 \n",
" Telus \n",
" 500.0 \n",
" 2016-10-31 00:00:00 \n",
" 2016-10-31 \n",
" 7855587.96 \n",
" \n",
" \n",
" 14519 \n",
" Telus Communications \n",
" 2000.0 \n",
" 2016-11-30 00:00:00 \n",
" 2016-11-30 \n",
" 8849172.69 \n",
" \n",
" \n",
" 14518 \n",
" Telus \n",
" 1500.0 \n",
" 2016-11-30 00:00:00 \n",
" 2016-11-30 \n",
" 8850772.69 \n",
" \n",
" \n",
" 2017-Contributions-—-February-1 \n",
" 171 \n",
" Telus \n",
" 1200.0 \n",
" 2017-02-03 00:00:00 \n",
" 2017-02-03 \n",
" 11383729.63 \n",
" \n",
" \n",
" 2017-Contributions-_-February-2 \n",
" 124 \n",
" Telus \n",
" 380.0 \n",
" 2017-02-17 00:00:00 \n",
" 2017-02-17 \n",
" 11700150.63 \n",
" \n",
" \n",
" 2017-Contributions-March-3-2017 \n",
" 1231 \n",
" Telus \n",
" 5000.0 \n",
" 2017-02-24 00:00:00 \n",
" 2017-02-24 \n",
" 11920854.34 \n",
" \n",
" \n",
" 2017-Contributions-April-14 \n",
" 688 \n",
" Telus \n",
" 2000.0 \n",
" 2017-04-07 00:00:00 \n",
" 2017-04-07 \n",
" 14101890.86 \n",
" \n",
" \n",
" 2017-Contributions-April-21 \n",
" 1211 \n",
" Telus \n",
" 5000.0 \n",
" 2017-04-14 00:00:00 \n",
" 2017-04-14 \n",
" 14576488.86 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 980 \n",
" Bank of Montreal \n",
" 250.0 \n",
" 2016-01-31 00:00:00 \n",
" 2016-01-31 \n",
" 547793.09 \n",
" \n",
" \n",
" 6448 \n",
" HSBC Bank Canada \n",
" 5000.0 \n",
" 2016-03-02 00:00:00 \n",
" 2016-03-02 \n",
" 1448195.44 \n",
" \n",
" \n",
" 14858 \n",
" Toronto Dominion Bank \n",
" 5000.0 \n",
" 2016-03-24 00:00:00 \n",
" 2016-03-24 \n",
" 2068255.44 \n",
" \n",
" \n",
" 6449 \n",
" HSBC Bank Canada \n",
" 50.0 \n",
" 2016-04-03 00:00:00 \n",
" 2016-04-03 \n",
" 2579401.44 \n",
" \n",
" \n",
" 14639 \n",
" The Toronto-Dominion Bank \n",
" 350.0 \n",
" 2016-04-22 00:00:00 \n",
" 2016-04-22 \n",
" 3291665.44 \n",
" \n",
" \n",
" 981 \n",
" Bank of Montreal \n",
" 20.0 \n",
" 2016-04-30 00:00:00 \n",
" 2016-04-30 \n",
" 3449089.44 \n",
" \n",
" \n",
" 15353 \n",
" Wayne Banks \n",
" 150.0 \n",
" 2016-05-08 00:00:00 \n",
" 2016-05-08 \n",
" 3596632.44 \n",
" \n",
" \n",
" 8454 \n",
" KEB Hana Bank Canada \n",
" 300.0 \n",
" 2016-05-20 00:00:00 \n",
" 2016-05-20 \n",
" 4252072.78 \n",
" \n",
" \n",
" 13263 \n",
" Royal Bank of Canada \n",
" 1000.0 \n",
" 2016-05-27 00:00:00 \n",
" 2016-05-27 \n",
" 4340733.11 \n",
" \n",
" \n",
" 14859 \n",
" Toronto Dominion Bank \n",
" 20000.0 \n",
" 2016-09-13 00:00:00 \n",
" 2016-09-13 \n",
" 6457109.55 \n",
" \n",
" \n",
" 1049 \n",
" Bard & Banker Pub Company Ltd \n",
" 12500.0 \n",
" 2016-10-21 00:00:00 \n",
" 2016-10-21 \n",
" 7287393.35 \n",
" \n",
" \n",
" 14640 \n",
" The Toronto-Dominion Bank \n",
" 360.0 \n",
" 2016-11-10 00:00:00 \n",
" 2016-11-10 \n",
" 8109975.96 \n",
" \n",
" \n",
" 7033 \n",
" James W. Banks \n",
" 100.0 \n",
" 2016-12-31 00:00:00 \n",
" 2016-12-31 \n",
" 10278986.32 \n",
" \n",
" \n",
" Real-Time-Donations-Jan-25V3 \n",
" 469 \n",
" The Toronto-Dominion Bank \n",
" 50.0 \n",
" 2017-01-04 00:00:00 \n",
" 2017-01-04 \n",
" 10678908.67 \n",
" \n",
" \n",
" 440 \n",
" Royal Bank of Canada \n",
" 25.0 \n",
" 2017-01-04 00:00:00 \n",
" 2017-01-04 \n",
" 10635003.67 \n",
" \n",
" \n",
" Copy-of-2017-Contributions-Janu \n",
" 189 \n",
" Toronto-Dominion Bank \n",
" 400.0 \n",
" 1/18/2017 \n",
" 2017-01-18 \n",
" 10933283.78 \n",
" \n",
" \n",
" 2017-Contributions-—-February-3 \n",
" 490 \n",
" TD Bank Group \n",
" 450.0 \n",
" 2017-01-27 00:00:00 \n",
" 2017-01-27 \n",
" 11179878.63 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1667 \n",
" The Toronto-Dominion Bank \n",
" 100.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 13005168.86 \n",
" \n",
" \n",
" 1644 \n",
" The Toronto-Dominion Bank \n",
" 750.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 12793189.39 \n",
" \n",
" \n",
" 736 \n",
" HSBC Bank Canada \n",
" 50.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 13257895.53 \n",
" \n",
" \n",
" 2017-Contributions-April-14 \n",
" 59 \n",
" Bard & Banker Pub Company Ltd \n",
" 500.0 \n",
" 2017-04-09 00:00:00 \n",
" 2017-04-09 \n",
" 14223712.86 \n",
" \n",
" \n",
" 2017-Contributions-May-5 \n",
" 1015 \n",
" TD Bank Financial Group \n",
" 5000.0 \n",
" 2017-05-03 00:00:00 \n",
" 2017-05-03 \n",
" 15911034.49 \n",
" \n",
" \n",
" 2017-Contributions-May-19 \n",
" 414 \n",
" The Toronto-Dominion Bank \n",
" 15000.0 \n",
" 2017-05-12 00:00:00 \n",
" 2017-05-12 \n",
" 17854346.51 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 5270 \n",
" Gateway Casinos and Entertainment Limited \n",
" 3500.00 \n",
" 2016-01-01 00:00:00 \n",
" 2016-01-01 \n",
" 44550.00 \n",
" \n",
" \n",
" 5272 \n",
" Gateway Casinos and Entertainment Limited \n",
" 1575.00 \n",
" 2016-01-15 00:00:00 \n",
" 2016-01-15 \n",
" 266045.00 \n",
" \n",
" \n",
" 5273 \n",
" Gateway Casinos and Entertainment Limited \n",
" 2000.00 \n",
" 2016-01-22 00:00:00 \n",
" 2016-01-22 \n",
" 395097.79 \n",
" \n",
" \n",
" 12657 \n",
" River Rock Casino Resort \n",
" 500.00 \n",
" 2016-01-25 00:00:00 \n",
" 2016-01-25 \n",
" 430684.09 \n",
" \n",
" \n",
" 5274 \n",
" Gateway Casinos and Entertainment Limited \n",
" 200.00 \n",
" 2016-01-29 00:00:00 \n",
" 2016-01-29 \n",
" 455258.09 \n",
" \n",
" \n",
" 5276 \n",
" Gateway Casinos and Entertainment Limited \n",
" 2200.00 \n",
" 2016-02-26 00:00:00 \n",
" 2016-02-26 \n",
" 1099230.44 \n",
" \n",
" \n",
" 5288 \n",
" Gateway Casinos and Entertainment Limited \n",
" 750.00 \n",
" 2016-03-06 00:00:00 \n",
" 2016-03-06 \n",
" 1598617.44 \n",
" \n",
" \n",
" 5300 \n",
" Gateway Casinos and Entertainment Limited \n",
" 10300.00 \n",
" 2016-03-11 00:00:00 \n",
" 2016-03-11 \n",
" 1871084.44 \n",
" \n",
" \n",
" 4449 \n",
" Elements Casino \n",
" 1775.00 \n",
" 2016-03-18 00:00:00 \n",
" 2016-03-18 \n",
" 1964010.44 \n",
" \n",
" \n",
" 5278 \n",
" Gateway Casinos and Entertainment Limited \n",
" 460.00 \n",
" 2016-03-18 00:00:00 \n",
" 2016-03-18 \n",
" 2015285.44 \n",
" \n",
" \n",
" 5279 \n",
" Gateway Casinos and Entertainment Limited \n",
" 50.00 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2332648.44 \n",
" \n",
" \n",
" 5292 \n",
" Gateway Casinos and Entertainment Limited \n",
" 520.00 \n",
" 2016-04-07 00:00:00 \n",
" 2016-04-07 \n",
" 2774038.44 \n",
" \n",
" \n",
" 5281 \n",
" Gateway Casinos and Entertainment Limited \n",
" 7000.00 \n",
" 2016-04-15 00:00:00 \n",
" 2016-04-15 \n",
" 2977653.44 \n",
" \n",
" \n",
" 2179 \n",
" Cascades Casino Ltd \n",
" 500.00 \n",
" 2016-04-22 00:00:00 \n",
" 2016-04-22 \n",
" 3171278.44 \n",
" \n",
" \n",
" 5282 \n",
" Gateway Casinos and Entertainment Limited \n",
" 25.00 \n",
" 2016-04-28 00:00:00 \n",
" 2016-04-28 \n",
" 3341275.44 \n",
" \n",
" \n",
" 5283 \n",
" Gateway Casinos and Entertainment Limited \n",
" 728.00 \n",
" 2016-04-30 00:00:00 \n",
" 2016-04-30 \n",
" 3491337.44 \n",
" \n",
" \n",
" 13982 \n",
" St. Eugene Golf Resort & Casino \n",
" 1500.00 \n",
" 2016-05-13 00:00:00 \n",
" 2016-05-13 \n",
" 4084787.78 \n",
" \n",
" \n",
" 5285 \n",
" Gateway Casinos and Entertainment Limited \n",
" 17080.00 \n",
" 2016-05-13 00:00:00 \n",
" 2016-05-13 \n",
" 3790625.44 \n",
" \n",
" \n",
" 5286 \n",
" Gateway Casinos and Entertainment Limited \n",
" 760.00 \n",
" 2016-05-27 00:00:00 \n",
" 2016-05-27 \n",
" 4297732.78 \n",
" \n",
" \n",
" 5287 \n",
" Gateway Casinos and Entertainment Limited \n",
" 80.00 \n",
" 2016-05-31 00:00:00 \n",
" 2016-05-31 \n",
" 4548281.45 \n",
" \n",
" \n",
" 13983 \n",
" St. Eugene Golf Resort & Casino \n",
" 400.00 \n",
" 2016-05-31 00:00:00 \n",
" 2016-05-31 \n",
" 4454708.11 \n",
" \n",
" \n",
" 5284 \n",
" Gateway Casinos and Entertainment Limited \n",
" 4000.00 \n",
" 2016-06-05 00:00:00 \n",
" 2016-06-05 \n",
" 4728652.45 \n",
" \n",
" \n",
" 5289 \n",
" Gateway Casinos and Entertainment Limited \n",
" 4000.00 \n",
" 2016-06-17 00:00:00 \n",
" 2016-06-17 \n",
" 5090575.78 \n",
" \n",
" \n",
" 5290 \n",
" Gateway Casinos and Entertainment Limited \n",
" 1823.74 \n",
" 2016-06-24 00:00:00 \n",
" 2016-06-24 \n",
" 5236344.52 \n",
" \n",
" \n",
" 13984 \n",
" St. Eugene Golf Resort & Casino \n",
" 50.00 \n",
" 2016-06-30 00:00:00 \n",
" 2016-06-30 \n",
" 5432487.88 \n",
" \n",
" \n",
" 5291 \n",
" Gateway Casinos and Entertainment Limited \n",
" 150.00 \n",
" 2016-06-30 00:00:00 \n",
" 2016-06-30 \n",
" 5365654.52 \n",
" \n",
" \n",
" 5293 \n",
" Gateway Casinos and Entertainment Limited \n",
" 3000.00 \n",
" 2016-07-13 00:00:00 \n",
" 2016-07-13 \n",
" 5616517.88 \n",
" \n",
" \n",
" 5294 \n",
" Gateway Casinos and Entertainment Limited \n",
" 3000.00 \n",
" 2016-07-19 00:00:00 \n",
" 2016-07-19 \n",
" 5734497.88 \n",
" \n",
" \n",
" 5271 \n",
" Gateway Casinos and Entertainment Limited \n",
" 475.00 \n",
" 2016-08-01 00:00:00 \n",
" 2016-08-01 \n",
" 5962931.38 \n",
" \n",
" \n",
" 5280 \n",
" Gateway Casinos and Entertainment Limited \n",
" 2000.00 \n",
" 2016-08-04 00:00:00 \n",
" 2016-08-04 \n",
" 6030365.38 \n",
" \n",
" \n",
" 5295 \n",
" Gateway Casinos and Entertainment Limited \n",
" 520.00 \n",
" 2016-09-16 00:00:00 \n",
" 2016-09-16 \n",
" 6502268.55 \n",
" \n",
" \n",
" 5296 \n",
" Gateway Casinos and Entertainment Limited \n",
" 1000.00 \n",
" 2016-09-26 00:00:00 \n",
" 2016-09-26 \n",
" 6689289.85 \n",
" \n",
" \n",
" 5297 \n",
" Gateway Casinos and Entertainment Limited \n",
" 1050.00 \n",
" 2016-09-30 00:00:00 \n",
" 2016-09-30 \n",
" 6778523.10 \n",
" \n",
" \n",
" 5298 \n",
" Gateway Casinos and Entertainment Limited \n",
" 600.00 \n",
" 2016-10-21 00:00:00 \n",
" 2016-10-21 \n",
" 7222158.35 \n",
" \n",
" \n",
" 5299 \n",
" Gateway Casinos and Entertainment Limited \n",
" 5892.00 \n",
" 2016-10-31 00:00:00 \n",
" 2016-10-31 \n",
" 7723590.60 \n",
" \n",
" \n",
" 5277 \n",
" Gateway Casinos and Entertainment Limited \n",
" 1200.00 \n",
" 2016-11-03 00:00:00 \n",
" 2016-11-03 \n",
" 8044460.96 \n",
" \n",
" \n",
" 5301 \n",
" Gateway Casinos and Entertainment Limited \n",
" 500.00 \n",
" 2016-11-21 00:00:00 \n",
" 2016-11-21 \n",
" 8527731.96 \n",
" \n",
" \n",
" 5275 \n",
" Gateway Casinos and Entertainment Limited \n",
" 7500.00 \n",
" 2016-12-02 00:00:00 \n",
" 2016-12-02 \n",
" 9250927.66 \n",
" \n",
" \n",
" 5302 \n",
" Gateway Casinos and Entertainment Limited \n",
" 500.00 \n",
" 2016-12-12 00:00:00 \n",
" 2016-12-12 \n",
" 9488007.66 \n",
" \n",
" \n",
" 5303 \n",
" Gateway Casinos and Entertainment Limited \n",
" 200.00 \n",
" 2016-12-22 00:00:00 \n",
" 2016-12-22 \n",
" 9853261.36 \n",
" \n",
" \n",
" Copy-of-2017-Contributions-Janu \n",
" 64 \n",
" Gateway Casinos and Entertainment Limited \n",
" 1500.00 \n",
" 1/18/2017 \n",
" 2017-01-18 \n",
" 10991938.78 \n",
" \n",
" \n",
" Sheet2 \n",
" 357 \n",
" Gateway Casinos \n",
" 44.00 \n",
" 1/20/2017 \n",
" 2017-01-20 \n",
" 11070178.63 \n",
" \n",
" \n",
" 358 \n",
" Gateway Casinos and Entertainment Limited \n",
" 2500.00 \n",
" 1/25/2017 \n",
" 2017-01-25 \n",
" 11132928.63 \n",
" \n",
" \n",
" 2017-Contributions-—-February-3 \n",
" 176 \n",
" Gateway Casinos \n",
" 5045.00 \n",
" 2017-02-01 00:00:00 \n",
" 2017-02-01 \n",
" 11273795.63 \n",
" \n",
" \n",
" 2017-Contributions-_-February-2 \n",
" 35 \n",
" Gateway Casinos and Entertainment Limited \n",
" 1400.00 \n",
" 2017-02-22 00:00:00 \n",
" 2017-02-22 \n",
" 11736840.63 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 613 \n",
" Gateway Casinos and Entertainment Limited \n",
" 4000.00 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 12738199.39 \n",
" \n",
" \n",
" 614 \n",
" Gateway Casinos and Entertainment Limited \n",
" 8800.00 \n",
" 2017-03-28 00:00:00 \n",
" 2017-03-28 \n",
" 13391502.53 \n",
" \n",
" \n",
" 2017-Contributions-April-21 \n",
" 455 \n",
" Gateway Casinos and Entertainment Limited \n",
" 2900.00 \n",
" 2017-04-14 00:00:00 \n",
" 2017-04-14 \n",
" 14677850.86 \n",
" \n",
" \n",
" 2017-Contributions-April-28-201 \n",
" 53 \n",
" Billy Barker Casino \n",
" 500.00 \n",
" 2017-04-21 00:00:00 \n",
" 2017-04-21 \n",
" 15072170.38 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 4732 \n",
" Ernst & Young LLP \n",
" 250.0 \n",
" 2016-01-01 00:00:00 \n",
" 2016-01-01 \n",
" 121225.00 \n",
" \n",
" \n",
" 4733 \n",
" Ernst & Young LLP \n",
" 10000.0 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2390868.44 \n",
" \n",
" \n",
" 1769 \n",
" Bruce Ernst Pydee \n",
" 200.0 \n",
" 2016-07-31 00:00:00 \n",
" 2016-07-31 \n",
" 5925572.63 \n",
" \n",
" \n",
" 4730 \n",
" Ernst & Young \n",
" 4000.0 \n",
" 2016-07-31 00:00:00 \n",
" 2016-07-31 \n",
" 5919218.88 \n",
" \n",
" \n",
" 4731 \n",
" Ernst & Young \n",
" 200.0 \n",
" 2016-09-29 00:00:00 \n",
" 2016-09-29 \n",
" 6727990.10 \n",
" \n",
" \n",
" 8355 \n",
" Karl Ernst \n",
" 35.0 \n",
" 2016-10-31 00:00:00 \n",
" 2016-10-31 \n",
" 7704379.60 \n",
" \n",
" \n",
" 4734 \n",
" Ernst & Young LLP \n",
" 3500.0 \n",
" 2016-12-12 00:00:00 \n",
" 2016-12-12 \n",
" 9465647.66 \n",
" \n",
" \n",
" 4735 \n",
" Ernst & Young LLP \n",
" 4500.0 \n",
" 2016-12-19 00:00:00 \n",
" 2016-12-19 \n",
" 9821501.36 \n",
" \n",
" \n",
" Real-Time-Donations-Jan-25V3 \n",
" 290 \n",
" Karl Ernst \n",
" 25.0 \n",
" 2017-01-04 00:00:00 \n",
" 2017-01-04 \n",
" 10476198.67 \n",
" \n",
" \n",
" 2017-Contributions-—-February-3 \n",
" 160 \n",
" Ernst & Young LLP \n",
" 3500.0 \n",
" 2017-02-01 00:00:00 \n",
" 2017-02-01 \n",
" 11255375.63 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 13558 \n",
" Seaspan ULC \n",
" 1000.0 \n",
" 2016-01-31 00:00:00 \n",
" 2016-01-31 \n",
" 506793.09 \n",
" \n",
" \n",
" 13559 \n",
" Seaspan ULC 1 \n",
" 0.0 \n",
" 2016-02-26 00:00:00 \n",
" 2016-02-26 \n",
" 1093755.44 \n",
" \n",
" \n",
" 13560 \n",
" Seaspan ULC \n",
" 5000.0 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2306368.44 \n",
" \n",
" \n",
" 13557 \n",
" Seaspan International Ltd \n",
" 15000.0 \n",
" 2016-05-13 00:00:00 \n",
" 2016-05-13 \n",
" 3961107.11 \n",
" \n",
" \n",
" 13561 \n",
" Seaspan ULC \n",
" 1050.0 \n",
" 2016-06-17 00:00:00 \n",
" 2016-06-17 \n",
" 5084075.78 \n",
" \n",
" \n",
" 2017-Contributions-March-3-2017 \n",
" 1151 \n",
" Seaspan ULC \n",
" 5000.0 \n",
" 2017-02-24 00:00:00 \n",
" 2017-02-24 \n",
" 11898429.17 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1540 \n",
" Seaspan ULC \n",
" 1000.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 12701904.39 \n",
" \n",
" \n",
" 2017-Contributions-April-21 \n",
" 1130 \n",
" Seaspan ULC \n",
" 1000.0 \n",
" 2017-04-14 00:00:00 \n",
" 2017-04-14 \n",
" 14560783.86 \n",
" \n",
" \n",
" 2017-Contributions-May-19 \n",
" 392 \n",
" Seaspan ULC \n",
" 15000.0 \n",
" 2017-05-12 00:00:00 \n",
" 2017-05-12 \n",
" 17791001.51 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 12056 \n",
" Polygon Homes Ltd \n",
" 500.0 \n",
" 2016-01-29 00:00:00 \n",
" 2016-01-29 \n",
" 442038.09 \n",
" \n",
" \n",
" 12057 \n",
" Polygon Homes Ltd \n",
" 15000.0 \n",
" 2016-04-15 00:00:00 \n",
" 2016-04-15 \n",
" 3041158.44 \n",
" \n",
" \n",
" 12058 \n",
" Polygon Homes Ltd \n",
" 10000.0 \n",
" 2016-05-13 00:00:00 \n",
" 2016-05-13 \n",
" 4188977.78 \n",
" \n",
" \n",
" 12059 \n",
" Polygon Homes Ltd \n",
" 1500.0 \n",
" 2016-11-15 00:00:00 \n",
" 2016-11-15 \n",
" 8442131.96 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1360 \n",
" Polygon Homes Ltd \n",
" 40000.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 13138710.53 \n",
" \n",
" \n",
" 2017-Contributions-May-12 \n",
" 452 \n",
" Polygon Homes Ltd \n",
" 10000.0 \n",
" 2017-05-05 00:00:00 \n",
" 2017-05-05 \n",
" 16520391.82 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 11088 \n",
" New Car Dealers Association of BC \n",
" 6000.0 \n",
" 2016-01-15 00:00:00 \n",
" 2016-01-15 \n",
" 335372.79 \n",
" \n",
" \n",
" 11089 \n",
" New Car Dealers Association of BC \n",
" 8500.0 \n",
" 2016-01-22 00:00:00 \n",
" 2016-01-22 \n",
" 412097.79 \n",
" \n",
" \n",
" 11090 \n",
" New Car Dealers Association of BC \n",
" 500.0 \n",
" 2016-01-31 00:00:00 \n",
" 2016-01-31 \n",
" 507768.09 \n",
" \n",
" \n",
" 11092 \n",
" New Car Dealers Association of BC \n",
" 2000.0 \n",
" 2016-02-29 00:00:00 \n",
" 2016-02-29 \n",
" 1409995.44 \n",
" \n",
" \n",
" 11100 \n",
" New Car Dealers Association of BC \n",
" 1500.0 \n",
" 2016-03-06 00:00:00 \n",
" 2016-03-06 \n",
" 1690442.44 \n",
" \n",
" \n",
" 11106 \n",
" New Car Dealers Association of BC \n",
" 8500.0 \n",
" 2016-03-11 00:00:00 \n",
" 2016-03-11 \n",
" 1857934.44 \n",
" \n",
" \n",
" 11093 \n",
" New Car Dealers Association of BC \n",
" 5000.0 \n",
" 2016-03-24 00:00:00 \n",
" 2016-03-24 \n",
" 2038055.44 \n",
" \n",
" \n",
" 11094 \n",
" New Car Dealers Association of BC \n",
" 10000.0 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2380073.44 \n",
" \n",
" \n",
" 11102 \n",
" New Car Dealers Association of BC \n",
" 300.0 \n",
" 2016-04-07 00:00:00 \n",
" 2016-04-07 \n",
" 2768668.44 \n",
" \n",
" \n",
" 11096 \n",
" New Car Dealers Association of BC \n",
" 1250.0 \n",
" 2016-04-30 00:00:00 \n",
" 2016-04-30 \n",
" 3401549.44 \n",
" \n",
" \n",
" 11103 \n",
" New Car Dealers Association of BC \n",
" 7250.0 \n",
" 2016-05-08 00:00:00 \n",
" 2016-05-08 \n",
" 3572132.44 \n",
" \n",
" \n",
" 11097 \n",
" New Car Dealers Association of BC \n",
" 2200.0 \n",
" 2016-05-13 00:00:00 \n",
" 2016-05-13 \n",
" 4083287.78 \n",
" \n",
" \n",
" 11098 \n",
" New Car Dealers Association of BC \n",
" 3000.0 \n",
" 2016-05-20 00:00:00 \n",
" 2016-05-20 \n",
" 4251772.78 \n",
" \n",
" \n",
" 11099 \n",
" New Car Dealers Association of BC \n",
" 1500.0 \n",
" 2016-05-31 00:00:00 \n",
" 2016-05-31 \n",
" 4474758.11 \n",
" \n",
" \n",
" 11101 \n",
" New Car Dealers Association of BC \n",
" 30750.0 \n",
" 2016-06-17 00:00:00 \n",
" 2016-06-17 \n",
" 4926212.45 \n",
" \n",
" \n",
" 11095 \n",
" New Car Dealers Association of BC \n",
" 5000.0 \n",
" 2016-08-04 00:00:00 \n",
" 2016-08-04 \n",
" 6060415.38 \n",
" \n",
" \n",
" 11104 \n",
" New Car Dealers Association of BC \n",
" 9600.0 \n",
" 2016-09-16 00:00:00 \n",
" 2016-09-16 \n",
" 6511998.55 \n",
" \n",
" \n",
" 11105 \n",
" New Car Dealers Association of BC \n",
" 2000.0 \n",
" 2016-09-30 00:00:00 \n",
" 2016-09-30 \n",
" 6959594.35 \n",
" \n",
" \n",
" 11091 \n",
" New Car Dealers Association of BC \n",
" 3000.0 \n",
" 2016-12-02 00:00:00 \n",
" 2016-12-02 \n",
" 9061112.66 \n",
" \n",
" \n",
" 11107 \n",
" New Car Dealers Association of BC \n",
" 2000.0 \n",
" 2016-12-19 00:00:00 \n",
" 2016-12-19 \n",
" 9571630.36 \n",
" \n",
" \n",
" Real-Time-Donations-Jan-25V3 \n",
" 532 \n",
" New Car Dealers Association of BC \n",
" 2500.0 \n",
" 2017-01-05 00:00:00 \n",
" 2017-01-05 \n",
" 10709433.67 \n",
" \n",
" \n",
" Sheet2 \n",
" 718 \n",
" New Car Dealers Association \n",
" 250.0 \n",
" 1/20/2017 \n",
" 2017-01-20 \n",
" 11016471.29 \n",
" \n",
" \n",
" 2017-Contributions-—-February-3 \n",
" 378 \n",
" New Car Dealers Association of BC \n",
" 3600.0 \n",
" 2017-01-27 00:00:00 \n",
" 2017-01-27 \n",
" 11156269.63 \n",
" \n",
" \n",
" 2017-Contributions-March-10 \n",
" 128 \n",
" New Car Dealers Association of BC \n",
" 1200.0 \n",
" 2017-02-10 00:00:00 \n",
" 2017-02-10 \n",
" 11595500.63 \n",
" \n",
" \n",
" 2017-Contributions-February-17 \n",
" 128 \n",
" New Car Dealers Association of BC \n",
" 1200.0 \n",
" 2017-02-10 00:00:00 \n",
" 2017-02-10 \n",
" 11554850.63 \n",
" \n",
" \n",
" 2017-Contributions-_-February-2 \n",
" 86 \n",
" New Car Dealers Association of BC \n",
" 1500.0 \n",
" 2017-02-17 00:00:00 \n",
" 2017-02-17 \n",
" 11683700.63 \n",
" \n",
" \n",
" 2017-Contributions-—-March-17-2 \n",
" 118 \n",
" New Car Dealers Association \n",
" 2000.0 \n",
" 2017-03-10 00:00:00 \n",
" 2017-03-10 \n",
" 12154141.34 \n",
" \n",
" \n",
" 2017-Contributions-March-23 \n",
" 95 \n",
" New Car Dealers Association \n",
" 1800.0 \n",
" 2017-03-17 00:00:00 \n",
" 2017-03-17 \n",
" 12160066.34 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1247 \n",
" New Car Dealers Association \n",
" 2000.0 \n",
" 2017-03-24 00:00:00 \n",
" 2017-03-24 \n",
" 12318748.19 \n",
" \n",
" \n",
" 2017-Contributions-April-14 \n",
" 503 \n",
" New Car Dealers Association of BC \n",
" 7000.0 \n",
" 2017-04-07 00:00:00 \n",
" 2017-04-07 \n",
" 14041240.86 \n",
" \n",
" \n",
" 504 \n",
" New Car Dealers Association of BC \n",
" 3700.0 \n",
" 2017-04-08 00:00:00 \n",
" 2017-04-08 \n",
" 14186017.86 \n",
" \n",
" \n",
" 2017-Contributions-May-12 \n",
" 405 \n",
" New Car Dealers Association of BC \n",
" 2000.0 \n",
" 2017-05-08 00:00:00 \n",
" 2017-05-08 \n",
" 17140784.01 \n",
" \n",
" \n",
" 406 \n",
" New Car Dealers Association of BC \n",
" 4000.0 \n",
" 2017-05-09 00:00:00 \n",
" 2017-05-09 \n",
" 17230500.01 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 774 \n",
" Aquilini Investment Group LP \n",
" 2500.0 \n",
" 2016-01-01 00:00:00 \n",
" 2016-01-01 \n",
" 78350.00 \n",
" \n",
" \n",
" 777 \n",
" Aquilini Investment Group LP \n",
" 10000.0 \n",
" 2016-01-04 00:00:00 \n",
" 2016-01-04 \n",
" 220045.00 \n",
" \n",
" \n",
" 775 \n",
" Aquilini Investment Group LP \n",
" 2500.0 \n",
" 2016-01-31 00:00:00 \n",
" 2016-01-31 \n",
" 667362.09 \n",
" \n",
" \n",
" 776 \n",
" Aquilini Investment Group LP \n",
" 10000.0 \n",
" 2016-02-26 00:00:00 \n",
" 2016-02-26 \n",
" 983310.44 \n",
" \n",
" \n",
" 778 \n",
" Aquilini Investment Group LP \n",
" 25000.0 \n",
" 2016-04-22 00:00:00 \n",
" 2016-04-22 \n",
" 3328120.44 \n",
" \n",
" \n",
" 780 \n",
" Aquilini Investment Group LP \n",
" 5000.0 \n",
" 2016-10-30 00:00:00 \n",
" 2016-10-30 \n",
" 7479604.85 \n",
" \n",
" \n",
" 781 \n",
" Aquilini Investment Group LP \n",
" 1000.0 \n",
" 2016-10-31 00:00:00 \n",
" 2016-10-31 \n",
" 7713993.60 \n",
" \n",
" \n",
" 779 \n",
" Aquilini Investment Group LP \n",
" 75000.0 \n",
" 2016-11-10 00:00:00 \n",
" 2016-11-10 \n",
" 8234965.96 \n",
" \n",
" \n",
" 2017-Contributions-—-February-3 \n",
" 25 \n",
" Aquilini Investment Group \n",
" 2500.0 \n",
" 2017-01-27 00:00:00 \n",
" 2017-01-27 \n",
" 11185925.63 \n",
" \n",
" \n",
" 26 \n",
" Aquilini Investments \n",
" 2500.0 \n",
" 2017-01-27 00:00:00 \n",
" 2017-01-27 \n",
" 11188425.63 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 86 \n",
" Aquilini Investment Group LP \n",
" 2400.0 \n",
" 2017-03-28 00:00:00 \n",
" 2017-03-28 \n",
" 13536152.53 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 12784 \n",
" Robert J Macdonald \n",
" 500.0 \n",
" 2016-01-31 00:00:00 \n",
" 2016-01-31 \n",
" 671187.09 \n",
" \n",
" \n",
" 12789 \n",
" Robert J Macdonald \n",
" 1000.0 \n",
" 2016-03-11 00:00:00 \n",
" 2016-03-11 \n",
" 1877254.44 \n",
" \n",
" \n",
" 12788 \n",
" Robert J Macdonald \n",
" 500.0 \n",
" 2016-05-08 00:00:00 \n",
" 2016-05-08 \n",
" 3601962.44 \n",
" \n",
" \n",
" 12786 \n",
" Robert J Macdonald \n",
" 10000.0 \n",
" 2016-05-27 00:00:00 \n",
" 2016-05-27 \n",
" 4319305.11 \n",
" \n",
" \n",
" 12787 \n",
" Robert J Macdonald \n",
" 1000.0 \n",
" 2016-06-28 00:00:00 \n",
" 2016-06-28 \n",
" 5293254.52 \n",
" \n",
" \n",
" 12785 \n",
" Robert J Macdonald \n",
" 10000.0 \n",
" 2016-11-03 00:00:00 \n",
" 2016-11-03 \n",
" 8062085.96 \n",
" \n",
" \n",
" Real-Time-Donations-Jan-25V3 \n",
" 426 \n",
" Robert J Macdonald \n",
" 1000.0 \n",
" 2017-01-04 00:00:00 \n",
" 2017-01-04 \n",
" 10658903.67 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 1453 \n",
" Robert J Macdonald \n",
" 3000.0 \n",
" 2017-03-28 00:00:00 \n",
" 2017-03-28 \n",
" 13634677.53 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 6634 \n",
" Insurance Brokers Association of BC \n",
" 1000.0 \n",
" 2016-01-04 00:00:00 \n",
" 2016-01-04 \n",
" 172750.00 \n",
" \n",
" \n",
" 6639 \n",
" Insurance Bureau of Canada \n",
" 1000.0 \n",
" 2016-01-04 00:00:00 \n",
" 2016-01-04 \n",
" 201100.00 \n",
" \n",
" \n",
" 932 \n",
" B & W Insurance Brokers \n",
" 250.0 \n",
" 2016-02-29 00:00:00 \n",
" 2016-02-29 \n",
" 1387680.44 \n",
" \n",
" \n",
" 6647 \n",
" Insurance Bureau of Canada \n",
" 1350.0 \n",
" 2016-03-11 00:00:00 \n",
" 2016-03-11 \n",
" 1874704.44 \n",
" \n",
" \n",
" 6637 \n",
" Insurance Bureau of Canada \n",
" 1100.0 \n",
" 2016-03-18 00:00:00 \n",
" 2016-03-18 \n",
" 2007325.44 \n",
" \n",
" \n",
" 6638 \n",
" Insurance Bureau of Canada \n",
" 250.0 \n",
" 2016-03-24 00:00:00 \n",
" 2016-03-24 \n",
" 2025700.44 \n",
" \n",
" \n",
" 1464 \n",
" Boehmer Insurance And Investment Group Inc. \n",
" 180.0 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2198873.44 \n",
" \n",
" \n",
" 10575 \n",
" Michael K Wong Magc Insurance Adjus \n",
" 100.0 \n",
" 2016-03-31 00:00:00 \n",
" 2016-03-31 \n",
" 2151828.44 \n",
" \n",
" \n",
" 2008 \n",
" Capri Insurance Services Ltd. \n",
" 1000.0 \n",
" 2016-04-15 00:00:00 \n",
" 2016-04-15 \n",
" 3159703.44 \n",
" \n",
" \n",
" 6641 \n",
" Insurance Bureau of Canada \n",
" 7500.0 \n",
" 2016-05-13 00:00:00 \n",
" 2016-05-13 \n",
" 4103787.78 \n",
" \n",
" \n",
" 6642 \n",
" Insurance Bureau of Canada \n",
" 428.0 \n",
" 2016-05-27 00:00:00 \n",
" 2016-05-27 \n",
" 4339693.11 \n",
" \n",
" \n",
" 933 \n",
" B & W Insurance Brokers \n",
" 1000.0 \n",
" 2016-05-31 00:00:00 \n",
" 2016-05-31 \n",
" 4578481.45 \n",
" \n",
" \n",
" 6644 \n",
" Insurance Bureau of Canada \n",
" 400.0 \n",
" 2016-06-17 00:00:00 \n",
" 2016-06-17 \n",
" 4963812.45 \n",
" \n",
" \n",
" 6635 \n",
" Insurance Brokers Association of BC \n",
" 2500.0 \n",
" 2016-06-17 00:00:00 \n",
" 2016-06-17 \n",
" 4928712.45 \n",
" \n",
" \n",
" 6645 \n",
" Insurance Bureau of Canada \n",
" 8000.0 \n",
" 2016-07-13 00:00:00 \n",
" 2016-07-13 \n",
" 5597897.88 \n",
" \n",
" \n",
" 6640 \n",
" Insurance Bureau of Canada \n",
" 250.0 \n",
" 2016-08-04 00:00:00 \n",
" 2016-08-04 \n",
" 6036315.38 \n",
" \n",
" \n",
" 6646 \n",
" Insurance Bureau of Canada \n",
" 100.0 \n",
" 2016-08-19 00:00:00 \n",
" 2016-08-19 \n",
" 6149840.38 \n",
" \n",
" \n",
" 6643 \n",
" Insurance Bureau of Canada \n",
" 1000.0 \n",
" 2016-10-06 00:00:00 \n",
" 2016-10-06 \n",
" 7145593.35 \n",
" \n",
" \n",
" 6041 \n",
" Halsey Insurance & Investment Services Ltd \n",
" 5000.0 \n",
" 2016-10-14 00:00:00 \n",
" 2016-10-14 \n",
" 7211098.35 \n",
" \n",
" \n",
" 14844 \n",
" Tony Lau Insurance \n",
" 100.0 \n",
" 2016-10-30 00:00:00 \n",
" 2016-10-30 \n",
" 7396145.60 \n",
" \n",
" \n",
" 11084 \n",
" Network Bonding & Insurance Services Inc \n",
" 550.0 \n",
" 2016-11-03 00:00:00 \n",
" 2016-11-03 \n",
" 8020129.96 \n",
" \n",
" \n",
" 6636 \n",
" Insurance Bureau of Canada \n",
" 500.0 \n",
" 2016-11-03 00:00:00 \n",
" 2016-11-03 \n",
" 8091375.96 \n",
" \n",
" \n",
" 7985 \n",
" Johnston Meier Insurance Agencies Group \n",
" 100.0 \n",
" 2016-11-10 00:00:00 \n",
" 2016-11-10 \n",
" 8110075.96 \n",
" \n",
" \n",
" 430 \n",
" Allied Insurance Services Inc \n",
" 100.0 \n",
" 2016-11-15 00:00:00 \n",
" 2016-11-15 \n",
" 8372891.96 \n",
" \n",
" \n",
" 485 \n",
" AMC Insurance Services Ltd \n",
" 1000.0 \n",
" 2016-11-15 00:00:00 \n",
" 2016-11-15 \n",
" 8489556.96 \n",
" \n",
" \n",
" 6042 \n",
" Halsey Insurance & Investment Services Ltd \n",
" 1000.0 \n",
" 2016-11-15 00:00:00 \n",
" 2016-11-15 \n",
" 8339225.96 \n",
" \n",
" \n",
" 6648 \n",
" Insurance Bureau of Canada \n",
" 2500.0 \n",
" 2016-11-21 00:00:00 \n",
" 2016-11-21 \n",
" 8506761.96 \n",
" \n",
" \n",
" 15417 \n",
" Waypoint Insurance \n",
" 500.0 \n",
" 2016-11-30 00:00:00 \n",
" 2016-11-30 \n",
" 8961176.66 \n",
" \n",
" \n",
" 13336 \n",
" RW Schmunk Insurance Services Ltd. \n",
" 2500.0 \n",
" 2016-12-02 00:00:00 \n",
" 2016-12-02 \n",
" 9201597.66 \n",
" \n",
" \n",
" 4746 \n",
" ES3 Insurance Services Ltd \n",
" 2600.0 \n",
" 2016-12-02 00:00:00 \n",
" 2016-12-02 \n",
" 9237312.66 \n",
" \n",
" \n",
" Real-Time-Donations-Jan-25V3 \n",
" 318 \n",
" Lynn Valley Insurance Agency Ltd. \n",
" 250.0 \n",
" 2017-01-04 00:00:00 \n",
" 2017-01-04 \n",
" 10466453.67 \n",
" \n",
" \n",
" 239 \n",
" Insurance Bureau of Canada \n",
" 300.0 \n",
" 2017-01-04 00:00:00 \n",
" 2017-01-04 \n",
" 10511948.67 \n",
" \n",
" \n",
" 2017-Contributions-—-February-3 \n",
" 238 \n",
" Insurance Bureau of Canada \n",
" 550.0 \n",
" 2017-02-01 00:00:00 \n",
" 2017-02-01 \n",
" 11318230.63 \n",
" \n",
" \n",
" 2017-Contributions-March-3-2017 \n",
" 789 \n",
" Londsdale Insurance Brokers \n",
" 100.0 \n",
" 2017-02-28 00:00:00 \n",
" 2017-02-28 \n",
" 12018259.34 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 745 \n",
" Insurance Bureau of Canada \n",
" 250.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 13203430.53 \n",
" \n",
" \n",
" 41 \n",
" Allied Insurance Services Inc \n",
" 100.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 13028725.53 \n",
" \n",
" \n",
" 746 \n",
" Insurance Bureau of Canada \n",
" 2300.0 \n",
" 2017-03-28 00:00:00 \n",
" 2017-03-28 \n",
" 13416807.53 \n",
" \n",
" \n",
" 241 \n",
" Capital West Insurance Services LTD. \n",
" 3000.0 \n",
" 2017-03-28 00:00:00 \n",
" 2017-03-28 \n",
" 13447007.53 \n",
" \n",
" \n",
" 2017-Contributions-April-7 \n",
" 22 \n",
" Allwest Insurance Services Ltd \n",
" 2500.0 \n",
" 2017-04-03 00:00:00 \n",
" 2017-04-03 \n",
" 13841525.86 \n",
" \n",
" \n",
" 276 \n",
" Greg Andrews Insurance Services Inc. \n",
" 500.0 \n",
" 2017-04-03 00:00:00 \n",
" 2017-04-03 \n",
" 13929475.86 \n",
" \n",
" \n",
" 2017-Contributions-April-14 \n",
" 474 \n",
" Maxxam Insurance Services Inc \n",
" 1000.0 \n",
" 2017-04-09 00:00:00 \n",
" 2017-04-09 \n",
" 14510418.86 \n",
" \n",
" \n",
" 73 \n",
" Boehmer Insurance And Investment Group Inc. \n",
" 500.0 \n",
" 2017-04-09 00:00:00 \n",
" 2017-04-09 \n",
" 14233162.86 \n",
" \n",
" \n",
" 2017-Contributions-April-21 \n",
" 556 \n",
" Insurance Bureau of Canada \n",
" 3100.0 \n",
" 2017-04-14 00:00:00 \n",
" 2017-04-14 \n",
" 14618678.86 \n",
" \n",
" \n",
" 15 \n",
" AKT Insurance Services Ltd \n",
" 1000.0 \n",
" 2017-04-14 00:00:00 \n",
" 2017-04-14 \n",
" 14805486.53 \n",
" \n",
" \n",
" 2017-Contributions-April-28-201 \n",
" 210 \n",
" Insurance Bureau of Canada \n",
" 500.0 \n",
" 2017-04-21 00:00:00 \n",
" 2017-04-21 \n",
" 15130680.38 \n",
" \n",
" \n",
" 209 \n",
" Insurance Brokers Association of BC \n",
" 1000.0 \n",
" 2017-04-21 00:00:00 \n",
" 2017-04-21 \n",
" 15131680.38 \n",
" \n",
" \n",
" 24 \n",
" Alport Insurance Agencies Inc \n",
" 1000.0 \n",
" 2017-04-21 00:00:00 \n",
" 2017-04-21 \n",
" 14841622.38 \n",
" \n",
" \n",
" 11 \n",
" A & S Insurance Services Ltd. \n",
" 2500.0 \n",
" 2017-04-21 00:00:00 \n",
" 2017-04-21 \n",
" 14875454.38 \n",
" \n",
" \n",
" 2017-Contributions-May-5 \n",
" 497 \n",
" Insurance Bureau of Canada \n",
" 1000.0 \n",
" 2017-04-28 00:00:00 \n",
" 2017-04-28 \n",
" 15439965.38 \n",
" \n",
" \n",
" 495 \n",
" Insurance Bureau of Canada \n",
" 4000.0 \n",
" 2017-04-29 00:00:00 \n",
" 2017-04-29 \n",
" 15592516.49 \n",
" \n",
" \n",
" 496 \n",
" Insurance Bureau of Canada \n",
" 1500.0 \n",
" 2017-05-03 00:00:00 \n",
" 2017-05-03 \n",
" 15718034.49 \n",
" \n",
" \n",
" 2017-Contributions-June-2 \n",
" 228 \n",
" Great Pacific Captive Insurance Ltd. \n",
" 10000.0 \n",
" 2017-05-26 00:00:00 \n",
" 2017-05-26 \n",
" 18157627.59 \n",
" \n",
" \n",
" 260 \n",
" Insurance Bureau of Canada \n",
" 1050.0 \n",
" 2017-05-30 00:00:00 \n",
" 2017-05-30 \n",
" 18345298.09 \n",
" \n",
" \n",
" 244 \n",
" Hendry Swinton McKenzie Insurance Services (We... \n",
" 300.0 \n",
" 2017-05-30 00:00:00 \n",
" 2017-05-30 \n",
" 18325148.09 \n",
" \n",
" \n",
"
\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",
" Amount \n",
" \n",
" \n",
" Donor Name \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Independent Contractors & Businesses Association of BC \n",
" 174700.00 \n",
" \n",
" \n",
" New Car Dealers Association of BC \n",
" 136550.00 \n",
" \n",
" \n",
" Aquilini Investment Group LP \n",
" 133400.00 \n",
" \n",
" \n",
" Progressive Waste Solutions Canada Inc \n",
" 123700.00 \n",
" \n",
" \n",
" Wesgroup Properties Ltd \n",
" 121750.00 \n",
" \n",
" \n",
" Encana Corporation Ltd \n",
" 121200.00 \n",
" \n",
" \n",
" West Fraser Mills Ltd \n",
" 114300.00 \n",
" \n",
" \n",
" Gateway Casinos and Entertainment Limited \n",
" 105738.74 \n",
" \n",
" \n",
" Interfor Corporation \n",
" 97050.00 \n",
" \n",
" \n",
" Sandman Hotels, Inns & Suites Ltd \n",
" 95000.00 \n",
" \n",
" \n",
" Canadian Forest Products Ltd \n",
" 90650.00 \n",
" \n",
" \n",
" LifeLabs Inc \n",
" 85955.00 \n",
" \n",
" \n",
" Anthem Properties Group Ltd. \n",
" 84000.00 \n",
" \n",
" \n",
" Fasken Martineau DuMoulin LLP \n",
" 83025.00 \n",
" \n",
" \n",
" Polygon Homes Ltd \n",
" 77000.00 \n",
" \n",
" \n",
" Starline Windows (2001) Ltd. \n",
" 75000.00 \n",
" \n",
" \n",
" Wesbild Holdings Ltd \n",
" 72500.00 \n",
" \n",
" \n",
" Shato Holdings Ltd. \n",
" 70200.00 \n",
" \n",
" \n",
" Great Canadian Gaming Corp. \n",
" 68995.00 \n",
" \n",
" \n",
" Anthem Properties Corp Ltd \n",
" 68200.00 \n",
" \n",
" \n",
" Tolko Industries Ltd \n",
" 67850.00 \n",
" \n",
" \n",
" Woodfibre LNG Ltd. \n",
" 67500.00 \n",
" \n",
" \n",
" The Pacific Investment Corporation Ltd. \n",
" 65000.00 \n",
" \n",
" \n",
" Burnco Rock Products Ltd. \n",
" 64000.00 \n",
" \n",
" \n",
" Western Forest Products Inc. \n",
" 63300.00 \n",
" \n",
" \n",
"
\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",
" Amount \n",
" \n",
" \n",
" Donor Name \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" Gateway Casinos and Entertainment Limited \n",
" 40.0 \n",
" \n",
" \n",
" Great Canadian Gaming Corp. \n",
" 30.0 \n",
" \n",
" \n",
" New Car Dealers Association of BC \n",
" 29.0 \n",
" \n",
" \n",
" Insurance Bureau of Canada \n",
" 23.0 \n",
" \n",
" \n",
" Janet Smukowich \n",
" 22.0 \n",
" \n",
" \n",
" Independent Contractors & Businesses Association of BC \n",
" 20.0 \n",
" \n",
" \n",
" LifeLabs Inc \n",
" 20.0 \n",
" \n",
" \n",
" Stewart Vinnels \n",
" 19.0 \n",
" \n",
" \n",
" Stephen P. Roberts \n",
" 19.0 \n",
" \n",
" \n",
" Wazuku Advisory Group Inc. \n",
" 18.0 \n",
" \n",
" \n",
" Encana Corporation Ltd \n",
" 18.0 \n",
" \n",
" \n",
" Marina Guest \n",
" 17.0 \n",
" \n",
" \n",
" Jess Ketchum \n",
" 17.0 \n",
" \n",
" \n",
" Telus \n",
" 16.0 \n",
" \n",
" \n",
" Tek S. Manhas \n",
" 15.0 \n",
" \n",
" \n",
" Richard Lane \n",
" 15.0 \n",
" \n",
" \n",
" Michael Lee \n",
" 15.0 \n",
" \n",
" \n",
" Mark Robertson \n",
" 15.0 \n",
" \n",
" \n",
" Anthem Properties Corp Ltd \n",
" 15.0 \n",
" \n",
" \n",
" Cynthia Shore \n",
" 14.0 \n",
" \n",
" \n",
" Lonnie Neufeld \n",
" 14.0 \n",
" \n",
" \n",
" Niall Paltiel \n",
" 14.0 \n",
" \n",
" \n",
" FortisBC Energy Inc. \n",
" 14.0 \n",
" \n",
" \n",
" Wesbild Holdings Ltd \n",
" 14.0 \n",
" \n",
" \n",
" Jeff Guignard \n",
" 14.0 \n",
" \n",
" \n",
"
\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": "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\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",
" Amount \n",
" \n",
" \n",
" datetime \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" 2017-03-25 \n",
" 938817.34 \n",
" \n",
" \n",
" 2017-05-12 \n",
" 814751.50 \n",
" \n",
" \n",
" 2016-02-26 \n",
" 548565.00 \n",
" \n",
" \n",
" 2017-05-05 \n",
" 546109.52 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 5813 \n",
" Graham Lee \n",
" 1150.0 \n",
" 2016-04-30 00:00:00 \n",
" 2016-04-30 \n",
" 3389935.44 \n",
" \n",
" \n",
" 2017-Contributions-March-3-2017 \n",
" 490 \n",
" Graham Lee \n",
" 1150.0 \n",
" 2017-02-24 00:00:00 \n",
" 2017-02-24 \n",
" 11745080.63 \n",
" \n",
" \n",
"
\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",
" Donor Name \n",
" Amount \n",
" Date \n",
" datetime \n",
" cumsum \n",
" \n",
" \n",
" \n",
" \n",
" Copy-of-2016-Contributions-v4 \n",
" 3416 \n",
" David Sidoo \n",
" 2500.0 \n",
" 2016-01-31 00:00:00 \n",
" 2016-01-31 \n",
" 470908.09 \n",
" \n",
" \n",
" 3417 \n",
" David Sidoo \n",
" 5000.0 \n",
" 2016-02-29 00:00:00 \n",
" 2016-02-29 \n",
" 1306830.44 \n",
" \n",
" \n",
" 2017-Contributions-March-31-201 \n",
" 390 \n",
" David Sidoo \n",
" 2500.0 \n",
" 2017-03-25 00:00:00 \n",
" 2017-03-25 \n",
" 13079040.53 \n",
" \n",
" \n",
"
\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
}