From a02be5dac30a1ce8881fd444d604cfb72e6e107f Mon Sep 17 00:00:00 2001 From: Michael M Date: Tue, 29 Jan 2019 18:01:29 +0300 Subject: [PATCH 01/14] Update log.md Week 1 Progress update --- log.md | 83 ++++------------------------------------------------------ 1 file changed, 5 insertions(+), 78 deletions(-) diff --git a/log.md b/log.md index cd30141..b258791 100644 --- a/log.md +++ b/log.md @@ -1,87 +1,14 @@ # Master Python for Data Science Handbook - Log -## Week 1: Introduction: IPython: Beyond Normal Python -**(delete me or comment me out)** +## Week 1: Introduction -**Today's Progress**: Finished going through Numpy and Pandas +**Week 1 Progress**: Finished going through Chapter 1 – IPython:Beyond Normal Python -**Thoughts**: I really struggled through..., but I feel like I am slowly getting better at it +**Thoughts**: The first chapter is very insightful. I did work using the Jupyter IPython command-line, I just realized there're alot of thing i didn't know. The chapter is worthwhile. -**Link to work**: [introduction(Ipython)](www.example.com) - -## Week 2: Chapter 2: Introduction to Numpy - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 3: Chapter 3: Data Manipulation with Pandas - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 4: Practice(Challenge 1) - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 5: Chapter 4: Data Visualization - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 6: Chapter 4: Data Visualization - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 7: Practice(Challenge 2) - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 8: Chapter 5: Machine Learning - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 9: Chapter 5: Machine Learning - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: - -## Week 10&11: Practice(Challenge 3&4) - -**This week's Progress**: - -**Thoughts**: - -**Link to work**: -## Capstone project +**Link to work**: N/A +26/01/2019 ## Contents * [Rules](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/rules.md) From 20506605ceb2573b91d119f3df56016477d179a1 Mon Sep 17 00:00:00 2001 From: Michael M Date: Thu, 31 Jan 2019 10:17:50 +0300 Subject: [PATCH 02/14] Week 2 progress update --- Numpy.ipynb | 4032 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4032 insertions(+) create mode 100644 Numpy.ipynb diff --git a/Numpy.ipynb b/Numpy.ipynb new file mode 100644 index 0000000..9b2a2c2 --- /dev/null +++ b/Numpy.ipynb @@ -0,0 +1,4032 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'1.15.4'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy\n", + "numpy.__version__" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'reult' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m100\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mreult\u001b[0m \u001b[1;33m+=\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mNameError\u001b[0m: name 'reult' is not defined" + ] + } + ], + "source": [ + "result = 0\n", + "for i in range(100):\n", + " reult += i" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "x = 4\n", + "x = \"four\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "L = list(range(10))\n", + "L" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n" + ] + } + ], + "source": [ + "print(L)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "list" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(L)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "int" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(L[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "L2 = [str(c) for c in L]\n", + "L2" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "str" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(L2[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[bool, str, float, int]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "L3 = [True, \"2\", 3.0, 4]\n", + "[type(item) for item in L3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fixed-Type Arrays in Python" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array('i', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import array\n", + "L = list(range(10))\n", + "A = array.array('i', L)\n", + "A" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating Arrays from Python Lists" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 4, 2, 5, 3])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "\n", + "#inter array:\n", + "np.array([1, 4,2,5,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([3.14, 4. , 2. , 3. ])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#NumPy is constrained to arrays that all containthe same type. If types do not match, NumPy will upcast if possible (here, integers areupcast to floating point)\n", + "\n", + "np.array([3.14, 4, 2, 3])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1., 2., 3., 4.], dtype=float32)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#If we want to explicitly set the data type of the resulting array, we can use the dtype keyword: \n", + "\n", + "np.array([1, 2, 3, 4], dtype='float32')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2, 3, 4],\n", + " [4, 5, 6],\n", + " [6, 7, 8]])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Finally, unlike Python lists, NumPy arrays can explicitly be multidimensional; here’s one way of initializing a multidimensional array using a list of lists:\n", + "# nested lists result in multidimensional arrays\n", + "\n", + "np.array([range(i, i + 3) for i in [2, 4, 6]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating Arrays from Scratch" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "## Create a length-10 integer array filled with zeros\n", + "np.zeros(10, dtype=int)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 1., 1., 1., 1.],\n", + " [1., 1., 1., 1., 1.],\n", + " [1., 1., 1., 1., 1.]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a 3x5 floating-point array filled with 1s\n", + "np.ones((3, 5), dtype=float)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[3.14, 3.14, 3.14, 3.14, 3.14],\n", + " [3.14, 3.14, 3.14, 3.14, 3.14],\n", + " [3.14, 3.14, 3.14, 3.14, 3.14]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a 3x5 array filled with 3.14\n", + "np.full((3, 5), 3.14)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create an array filled with a linear sequence\n", + "# Starting at 0, ending at 20, stepping by 2\n", + "# (this is similar to the built-in range() function)\n", + "np.arange(0, 20, 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0. , 0.25, 0.5 , 0.75, 1. ])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create an array of five values evenly spaced between 0 and 1\n", + "np.linspace(0, 1, 5)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.10883819, 0.03506377, 0.21827789],\n", + " [0.0789569 , 0.3908108 , 0.32703846],\n", + " [0.34837155, 0.82638193, 0.81809279]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a 3x3 array of uniformly distributed\n", + "# random values between 0 and 1\n", + "np.random.random((3, 3))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[-0.78973522, -1.14502407, 0.61507359],\n", + " [-0.30659717, -1.556689 , -0.3622906 ],\n", + " [-1.40754053, 0.51600192, 0.48435517]])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a 3x3 array of normally distributed random values\n", + "# with mean 0 and standard deviation 1\n", + "np.random.normal(0, 1, (3, 3))" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 2],\n", + " [6, 7, 8],\n", + " [9, 7, 6]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a 3x3 array of random integers in the interval [0, 10)\n", + "np.random.randint(0, 10, (3, 3))" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [0., 1., 0.],\n", + " [0., 0., 1.]])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a 3x3 identity matrix\n", + "np.eye(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1., 1., 1.])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create an uninitialized array of three integers\n", + "# The values will be whatever happens to already exist at that\n", + "# memory location\n", + "np.empty(3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NumPy Array Attributes\n", + "First let’s discuss some useful array attributes. We’ll start by defining three random arrays: \n", + "- one-dimensional, \n", + "- two-dimensional, and \n", + "- three-dimensional array. \n", + "\n", + "We’ll use NumPy’s random number generator, which we will seed with a set value in order to ensure that the same random arrays are generated each time this code is run:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(0) # seed for reproducibility\n", + "\n", + "x1 = np.random.randint(10, size=6) # One-dimensional array\n", + "x2 = np.random.randint(10, size=(3, 4)) # Two-dimensional array\n", + "x3 = np.random.randint(10, size=(3, 4, 5)) # Three-dimensional array" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Each array has attributes ndim (the number of dimensions), shape (the size of each dimension), and size (the total size of the array):" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x3 ndim: 3\n", + "x3 shape: (3, 4, 5)\n", + "x3 size: 60\n" + ] + } + ], + "source": [ + "print(\"x3 ndim: \", x3.ndim)\n", + "print(\"x3 shape:\", x3.shape)\n", + "print(\"x3 size: \", x3.size)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dtype: int32\n" + ] + } + ], + "source": [ + "print(\"dtype:\", x3.dtype)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "itemsize: 4 bytes\n", + "nbytes: 240 bytes\n" + ] + } + ], + "source": [ + "print(\"itemsize:\", x3.itemsize, \"bytes\")\n", + "print(\"nbytes:\", x3.nbytes, \"bytes\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Array Indexing: Accessing Single Elements" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5, 0, 3, 3, 7, 9])" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x1" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x1[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x1[4]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To index from the end of the array, you can use negative indices:" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x1[-1]" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x1[-2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In a multidimensional array, you access items using a comma-separated tuple of indices:" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[3, 5, 2, 4],\n", + " [7, 6, 8, 8],\n", + " [1, 6, 7, 7]])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2[0,0]" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2[2,0]" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2[2,-1]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also modify values using any of the above index notation:" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[12, 5, 2, 4],\n", + " [ 7, 6, 8, 8],\n", + " [ 1, 6, 7, 7]])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2[0,0]=12\n", + "x2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Keep in mind that, unlike Python lists, NumPy arrays have a fixed type. This means, for example, that if you attempt to insert a floating-point value to an integer array, the value will be silently truncated. Don’t be caught unaware by this behavior!" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([3, 0, 3, 3, 7, 9])" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x1[0] = 3.14159 #this will be truncated\n", + "x1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Array Slicing: Accessing Subarrays\n", + "Just as we can use square brackets to access individual array elements, we can also use them to access subarrays with the slice notation, marked by the colon (:) character.\n", + "The NumPy slicing syntax follows that of the standard Python list; to access a slice of an array x, use this:\n", + " x[start:stop:step]\n", + "If any of these are unspecified, they default to the values start=0, stop=size of dimension, step=1. We’ll take a look at accessing subarrays in one dimension and in multiple dimensions.\n", + "#### One-dimensional subarrays" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.arange(10)\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4])" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[:5] #first five elements" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5, 6, 7, 8, 9])" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[5:] # elements after index 5" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4, 5, 6])" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[4:7] # middle subarray" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 2, 4, 6, 8])" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[::2] # every other element" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 3, 5, 7, 9])" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[1::2] # every other element, starting at index 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A potentially confusing case is when the step value is negative. In this case, the defaults for start and stop are swapped. This becomes a convenient way to reverse an array:" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[::-1] # all elements, reversed" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5, 3, 1])" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[5::-2] # reversed every other from index 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Multidimensional subarrays\n", + "Multidimensional slices work in the same way, with multiple slices separated by commas. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[12, 5, 2, 4],\n", + " [ 7, 6, 8, 8],\n", + " [ 1, 6, 7, 7]])" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[12, 5, 2],\n", + " [ 7, 6, 8]])" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2[:2, :3] # two rows, three columns" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[12, 2],\n", + " [ 7, 8],\n", + " [ 1, 7]])" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2[:3, ::2] # all rows, every other column" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, subarray dimensions can even be reversed together:" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 7, 7, 6, 1],\n", + " [ 8, 8, 6, 7],\n", + " [ 4, 2, 5, 12]])" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x2[::-1, ::-1]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Accessing array rows and columns**. One commonly needed routine is accessing single rows or columns of an array. You can do this by combining indexing and slicing, using an empty slice marked by a single colon (:):" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[12 7 1]\n" + ] + } + ], + "source": [ + "print(x2[:, 0]) # first column of x2" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[12 5 2 4]\n" + ] + } + ], + "source": [ + "print(x2[0, :]) # first row of x2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the case of row access, the empty slice can be omitted for a more compact syntax:" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[12 5 2 4]\n" + ] + } + ], + "source": [ + "print(x2[0]) # equivalent to x2[0, :]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Subarrays as no-copy views\n", + "One important—and extremely useful—thing to know about array slices is that they return views rather than copies of the array data. This is one area in which NumPy array slicing differs from Python list slicing: in lists, slices will be copies. Consider our\n", + "two-dimensional array from before:" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[12 5 2 4]\n", + " [ 7 6 8 8]\n", + " [ 1 6 7 7]]\n" + ] + } + ], + "source": [ + "print(x2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's extract 1 2x2 subarray from this:" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[12 5]\n", + " [ 7 6]]\n" + ] + } + ], + "source": [ + "x2_sub = x2[:2, :2]\n", + "print(x2_sub)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now if we modify this subarray, we’ll see that the original array is changed! Observe:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[99 5]\n", + " [ 7 6]]\n" + ] + } + ], + "source": [ + "x2_sub[0, 0] = 99\n", + "print(x2_sub)" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[99 5 2 4]\n", + " [ 7 6 8 8]\n", + " [ 1 6 7 7]]\n" + ] + } + ], + "source": [ + "print(x2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Creating copies of arrays\n", + "Despite the nice features of array views, it is sometimes useful to instead explicitly copy the data within an array or a subarray. This can be most easily done with the copy() method:" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[99 5]\n", + " [ 7 6]]\n" + ] + } + ], + "source": [ + "x2_sub_copy = x2[:2, :2].copy()\n", + "print(x2_sub_copy)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we now modify this subarray, the original array is not touched:" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[42 5]\n", + " [ 7 6]]\n" + ] + } + ], + "source": [ + " x2_sub_copy[0, 0] = 42\n", + "print(x2_sub_copy)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[99 5 2 4]\n", + " [ 7 6 8 8]\n", + " [ 1 6 7 7]]\n" + ] + } + ], + "source": [ + "print(x2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reshaping of Arrays\n", + "Another useful type of operation is reshaping of arrays. The most flexible way of doing this is with the reshape() method. For example, if you want to put the numbers 1 through 9 in a 3×3 grid, you can do the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3]])" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([1, 2, 3])\n", + "# row vector via reshape\n", + "x.reshape((1, 3))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3]])" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# row vector via newaxis\n", + "x[np.newaxis, :]" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1],\n", + " [2],\n", + " [3]])" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# column vector via reshape\n", + "x.reshape((3, 1))" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1],\n", + " [2],\n", + " [3]])" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " # column vector via newaxis\n", + "x[:, np.newaxis]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Array Concatenation and Splitting\n", + "All of the preceding routines worked on single arrays. It’s also possible to combine multiple arrays into one, and to conversely split a single array into multiple arrays.\n", + "We’ll take a look at those operations here.\n", + "\n", + "#### Concatenation of arrays\n", + "Concatenation, or joining of two arrays in NumPy, is primarily accomplished through the routines np.concatenate, np.vstack, and np.hstack. np.concatenate takes a tuple or list of arrays as its first argument, as we can see here:" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3, 3, 2, 1])" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([1, 2, 3])\n", + "y = np.array([3, 2, 1])\n", + "np.concatenate([x, y])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also concatenate more than two arrays at once:" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 1 2 3 3 2 1 99 99 99]\n" + ] + } + ], + "source": [ + "z = [99, 99, 99]\n", + "print(np.concatenate([x, y, z]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "np.concatenate can also be used for two-dimensional arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "grid = np.array([[1, 2, 3],\n", + " [4, 5, 6]])" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3],\n", + " [4, 5, 6],\n", + " [1, 2, 3],\n", + " [4, 5, 6]])" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# concatenate along the first axis\n", + "np.concatenate([grid, grid])" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3, 1, 2, 3],\n", + " [4, 5, 6, 4, 5, 6]])" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# concatenate along the second axis (zero-indexed)\n", + "np.concatenate([grid, grid], axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For working with arrays of mixed dimensions, it can be clearer to use the np.vstack (vertical stack) and np.hstack (horizontal stack) functions:" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3],\n", + " [9, 8, 7],\n", + " [6, 5, 4]])" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([1, 2, 3])\n", + "\n", + "grid = np.array([[9, 8, 7],\n", + " [6, 5, 4]])\n", + "\n", + "# vertically stack the arrays\n", + "np.vstack([x, grid])" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 9, 8, 7, 99],\n", + " [ 6, 5, 4, 99]])" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# horizontally stack the arrays\n", + "y = np.array([[99],\n", + " [99]])\n", + "\n", + "np.hstack([grid, y])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, np.dstack will stack arrays along the third axis." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_**Note:**_\n", + "\n", + "**A 2-dimensional array has two corresponding axes: the first running vertically downwards across rows (axis 0), and the second running horizontally across columns (axis 1).**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Splitting of arrays\n", + "The opposite of concatenation is splitting, which is implemented by the functions np.split, np.hsplit, and np.vsplit. For each of these, we can pass a list of indices giving the split points:" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1 2 3] [99 99] [3 2 1]\n" + ] + } + ], + "source": [ + "x = [1, 2, 3, 99, 99, 3, 2, 1]\n", + "x1, x2, x3 = np.split(x, [3, 5])\n", + "print(x1, x2, x3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that N split points lead to N + 1 subarrays. The related functions np.hsplit and np.vsplit are similar:" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2, 3],\n", + " [ 4, 5, 6, 7],\n", + " [ 8, 9, 10, 11],\n", + " [12, 13, 14, 15]])" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grid = np.arange(16).reshape((4, 4))\n", + "grid" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**numpy.vsplit** _(ary, indices_or_sections)_\n", + "Split an array into multiple sub-arrays vertically (row-wise).\n", + "vsplit is equivalent to split with axis=0 (default), the array is always split along the first axis regardless of the array dimension." + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[0 1 2 3]\n", + " [4 5 6 7]]\n", + "[[ 8 9 10 11]\n", + " [12 13 14 15]]\n" + ] + } + ], + "source": [ + "upper, lower = np.vsplit(grid, [2])\n", + "print(upper)\n", + "print(lower)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**numpy.hsplit** _(ary, indices_or_sections)_\n", + "Split an array into multiple sub-arrays horizontally (column-wise). hsplit is equivalent to split with axis=1, the array is always split along the second axis regardless of the array dimension." + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0 1]\n", + " [ 4 5]\n", + " [ 8 9]\n", + " [12 13]]\n", + "[[ 2 3]\n", + " [ 6 7]\n", + " [10 11]\n", + " [14 15]]\n" + ] + } + ], + "source": [ + "left, right = np.hsplit(grid, [2])\n", + "print(left)\n", + "print(right)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, np.dsplit will split arrays along the third axis." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "'head' is not recognized as an internal or external command,\n", + "operable program or batch file.\n" + ] + } + ], + "source": [ + "!head -4 E:/Python_4_DS/datasets/president_heights.csv" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " order name height(cm)\n", + "0 1 George Washington 189\n", + "1 2 John Adams 170\n", + "2 3 Thomas Jefferson 189\n", + "3 4 James Madison 163\n", + "4 5 James Monroe 183\n", + "5 6 John Quincy Adams 171\n", + "6 7 Andrew Jackson 185\n", + "7 8 Martin Van Buren 168\n", + "8 9 William Henry Harrison 173\n", + "9 10 John Tyler 183\n", + "10 11 James K. Polk 173\n", + "11 12 Zachary Taylor 173\n", + "12 13 Millard Fillmore 175\n", + "13 14 Franklin Pierce 178\n", + "14 15 James Buchanan 183\n", + "15 16 Abraham Lincoln 193\n", + "16 17 Andrew Johnson 178\n", + "17 18 Ulysses S. Grant 173\n", + "18 19 Rutherford B. Hayes 174\n", + "19 20 James A. Garfield 183\n", + "20 21 Chester A. Arthur 183\n", + "21 23 Benjamin Harrison 168\n", + "22 25 William McKinley 170\n", + "23 26 Theodore Roosevelt 178\n", + "24 27 William Howard Taft 182\n", + "25 28 Woodrow Wilson 180\n", + "26 29 Warren G. Harding 183\n", + "27 30 Calvin Coolidge 178\n", + "28 31 Herbert Hoover 182\n", + "29 32 Franklin D. Roosevelt 188\n", + "30 33 Harry S. Truman 175\n", + "31 34 Dwight D. Eisenhower 179\n", + "32 35 John F. Kennedy 183\n", + "33 36 Lyndon B. Johnson 193\n", + "34 37 Richard Nixon 182\n", + "35 38 Gerald Ford 183\n", + "36 39 Jimmy Carter 177\n", + "37 40 Ronald Reagan 185\n", + "38 41 George H. W. Bush 188\n", + "39 42 Bill Clinton 188\n", + "40 43 George W. Bush 182\n", + "41 44 Barack Obama 185\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "data = pd.read_csv('E:/Python_4_DS/datasets/president_heights.csv')\n", + "print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[189 170 189 163 183 171 185 168 173 183 173 173 175 178 183 193 178 173\n", + " 174 183 183 168 170 178 182 180 183 178 182 188 175 179 183 193 182 183\n", + " 177 185 188 188 182 185]\n" + ] + } + ], + "source": [ + "heights = np.array(data['height(cm)'])\n", + "print(heights)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have this data array, we can compute a variety of summary statistics:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean height: 179.73809523809524\n", + "Standard deviation: 6.931843442745892\n", + "Minimum height: 163\n", + "Maximum height: 193\n" + ] + } + ], + "source": [ + "print(\"Mean height: \", heights.mean())\n", + "print(\"Standard deviation:\", heights.std())\n", + "print(\"Minimum height: \", heights.min())\n", + "print(\"Maximum height: \", heights.max())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that in each case, the aggregation operation reduced the entire array to a singlesummarizing value, which gives us information about the distribution of values. We may also wish to compute quantiles:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "25th percentile/ lower percentile: 174.25\n", + "Median: 182.0\n", + "75th percentile/ upper percentile: 183.0\n" + ] + } + ], + "source": [ + "print(\"25th percentile/ lower percentile: \", np.percentile(heights, 25))\n", + "print(\"Median: \", np.median(heights))\n", + "print(\"75th percentile/ upper percentile: \", np.percentile(heights, 75))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Sometimes it’s more useful to see a visual representation of this data, which we can accomplish using tools in Matplotlib" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import seaborn; seaborn.set() # set plot style" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(heights)\n", + "plt.title('Height Distribution of US Presidents')\n", + "plt.xlabel('height (cm)')\n", + "plt.ylabel('number');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Computation on Arrays: Broadcasting\n", + "\n", + "Broadcasting is simply a set of rules for applying binary ufuncs (addition, subtraction, multiplication, etc.) on arrays of different sizes\n", + "\n", + "#### Rules of Broadcasting\n", + "Broadcasting in NumPy follows a strict set of rules to determine the interaction between the two arrays\n", + "\n", + "- Rule 1: If the two arrays differ in their number of dimensions, the shape of the one with fewer dimensions is padded with ones on its leading (left) side.\n", + "- Rule 2: If the shape of the two arrays does not match in any dimension, the arraywith shape equal to 1 in that dimension is stretched to match the other shape.\n", + "- Rule 3: If in any dimension the sizes disagree and neither is equal to 1, an error is raised." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "x = np.random.random((10,3))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.46894359, 0.49046798, 0.59296873])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "xmean = x.mean(0)\n", + "xmean" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([-4.44089210e-17, -5.55111512e-17, 0.00000000e+00])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_centered = x - xmean\n", + "x_centered.mean(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plotting a two-dimensional function\n", + "One place that broadcasting is very useful is in displaying images based on twodimensional functions. If we want to define a function z = f(x, y), broadcasting can be used to compute the function across the grid:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# x and y have 50 steps from 0 to 5\n", + "x = np.linspace(0, 5, 50)\n", + "y = np.linspace(0, 5, 50)[:, np.newaxis]\n", + "z = np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We’ll use Matplotlib to plot this two-dimensional array" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + " %matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.imshow(z, origin='lower', extent=[0, 5, 0, 5], cmap='viridis')\n", + "plt.colorbar();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Comparisons, Masks, and Boolean Logic\n", + "Boolean masks are used to examine and manipulate values within NumPy arrays. Masking comes up when you want to extract, modify, count, or otherwise manipulate values in an array based on some criterion: for example, you might wish to count all values greater than a certain value, or perhaps remove all outliers that are above some threshold. In NumPy, Boolean masking is often the most efficient way to accomplish these types of tasks." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(365,)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "# use Pandas to extract rainfall inches as a NumPy array\n", + "rainfall = pd.read_csv('E:/Python_4_DS/datasets/Seattle2014.csv')['PRCP'].values\n", + "inches = rainfall / 254 # 1/10mm -> inches\n", + "inches.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(inches, 40);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "NumPy also implements comparison operators such as < (less than) and > (greater than) as element-wise ufuncs. The result of these comparison operators is always an array with a Boolean data type. All six of the standard comparison operations are available:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + " x = np.array([1, 2, 3, 4, 5])" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, True, False, False, False])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x < 3 # less than" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, True, True])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x > 3 # greater than" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, True, True, False, False])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x <= 3 # less than or equal" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, True, True, True])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x >= 3 # greater than or equal" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, True, False, True, True])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x != 3 # not equal" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, True, False, False])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x == 3 # equal" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, True, False, False, False])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(2 * x) == (x ** 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 0, 3, 3],\n", + " [7, 9, 3, 5],\n", + " [2, 4, 7, 6]])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rng = np.random.RandomState(0)\n", + "x = rng.randint(10, size=(3, 4))\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ True, True, True, True],\n", + " [False, False, True, True],\n", + " [ True, True, False, False]])" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x < 6" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Counting entries working with boolean arrays\n", + "To count the number of True entries in a Boolean array, np.count_nonzero is useful:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# how many values less than 6?\n", + "np.count_nonzero(x < 6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that there are eight array entries that are less than 6. Another way to get at this information is to use np.sum; in this case, False is interpreted as 0, and True is interpreted as 1:" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sum(x < 6)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4, 2, 2])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " # how many values less than 6 in each row?\n", + "np.sum(x < 6, axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we’re interested in quickly checking whether any or all the values are true, we can use (you guessed it) np.any() or np.all():" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# are there any values greater than 8?\n", + "np.any(x > 8)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# are there any values less than zero?\n", + "np.any(x < 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# are all values less than 10?\n", + "np.all(x < 10)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# are all values equal to 6?\n", + "np.all(x == 6)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "np.all() and np.any() can be used along particular axes as well." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, False, True])" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# are all values in each row less than 8?\n", + "np.all(x < 8, axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Boolean operators" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "29" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sum((inches > 0.5) & (inches < 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that the parentheses here are important—because of operator precedence rules, with parentheses removed this expression would be evaluated as follows, which results in an error:\n", + "\n", + "_inches > (0.5 & inches) < 1_\n", + "\n", + "Using the equivalence of A AND B and NOT (A OR B) (which you may remember if you’ve taken an introductory logic course), we can compute the same result in a different manner:" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "29" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sum(~( (inches <= 0.5) | (inches >= 1) ))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Combining comparison operators and Boolean operators on arrays can lead to a wide range of efficient logical operations.\n", + "The following table summarizes the bitwise Boolean operators and their equivalentufuncs:\n", + "\n", + "& np.bitwise_and\n", + "\n", + "| np.bitwise_or\n", + "\n", + "^ np.bitwise_xor\n", + "\n", + "~ np.bitwise_not" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number days without rain: 215\n", + "Number days with rain: 150\n", + "Days with more than 0.5 inches: 37\n", + "Rainy days with < 0.1 inches : 75\n" + ] + } + ], + "source": [ + "print(\"Number days without rain: \", np.sum(inches == 0))\n", + "print(\"Number days with rain: \", np.sum(inches != 0))\n", + "print(\"Days with more than 0.5 inches:\", np.sum(inches > 0.5))\n", + "print(\"Rainy days with < 0.1 inches :\", np.sum((inches > 0) & (inches < 0.2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Boolean Arrays as Masks" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[5, 0, 3, 3],\n", + " [7, 9, 3, 5],\n", + " [2, 4, 7, 6]])" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[False, True, True, True],\n", + " [False, False, True, False],\n", + " [ True, True, False, False]])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x < 5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now to select these values from the array, we can simply index on this Boolean array; this is known as a masking operation:" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 3, 3, 3, 2, 4])" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[x < 5]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What is returned is a one-dimensional array filled with all the values that meet this condition; in other words, all the values in positions at which the mask array is True. We are then free to operate on these values as we wish. For example, we can compute some relevant statistics on our Seattle rain data:" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Median precip on rainy days in 2014 (inches): 0.19488188976377951\n", + "Median precip on summer days in 2014 (inches): 0.0\n", + "Maximum precip on summer days in 2014 (inches): 0.8503937007874016\n", + "Median precip on non-summer rainy days (inches): 0.20078740157480315\n" + ] + } + ], + "source": [ + "# construct a mask of all rainy days\n", + "rainy = (inches > 0)\n", + "# construct a mask of all summer days (June 21st is the 172nd day)\n", + "summer = (np.arange(365) - 172 < 90) & (np.arange(365) - 172 > 0)\n", + "print(\"Median precip on rainy days in 2014 (inches): \", np.median(inches[rainy]))\n", + "print(\"Median precip on summer days in 2014 (inches): \", np.median(inches[summer]))\n", + "print(\"Maximum precip on summer days in 2014 (inches): \", np.max(inches[summer]))\n", + "print(\"Median precip on non-summer rainy days (inches):\", np.median(inches[rainy & ~summer]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Using the Keywords _and/or_ Versus the Operators &/| \n", + "One common point of confusion is the difference between the keywords and and or on one hand, and the operators & and | on the other hand. When would you use one\n", + "versus the other?\n", + "The difference is this: and and or gauge the truth or falsehood of entire object, while & and | refer to bits within each object.\n", + "When you use and or or, it’s equivalent to asking Python to treat the object as a single Boolean entity. In Python, all nonzero integers will evaluate as True. Thus:" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(True, False)" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " bool(42), bool(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bool(42 and 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bool(42 or 0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When you use & and | on integers, the expression operates on the bits of the element, applying the and or the or to the individual bits making up the number:" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0b101010'" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bin(42)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0b111011'" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bin(59)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0b101010'" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bin(42 & 59)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0b111011'" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bin(42 | 59)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that the corresponding bits of the binary representation are compared in order to yield the result.\n", + "When you have an array of Boolean values in NumPy, this can be thought of as a string of bits where 1 = True and 0 = False, and the result of & and | operates in a similar manner as before:" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, True, True, False, True, True])" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " A = np.array([1, 0, 1, 0, 1, 0], dtype=bool)\n", + "B = np.array([1, 1, 1, 0, 1, 1], dtype=bool)\n", + "A | B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using or on these arrays will try to evaluate the truth or falsehood of the entire array object, which is not a well-defined value:" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mA\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mB\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mValueError\u001b[0m: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()" + ] + } + ], + "source": [ + "A or B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, when doing a Boolean expression on a given array, you should use | or & rather than or or and:" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, False, False, True, True, True, False,\n", + " False])" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.arange(10)\n", + "(x > 4) & (x < 8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Trying to evaluate the truth or falsehood of the entire array will give the same ValueError we saw previously:" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m4\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;36m8\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mValueError\u001b[0m: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()" + ] + } + ], + "source": [ + "(x > 4) and (x < 8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fancy Indexing\n", + "Fancy indexing is like the simple indexing we’ve already seen, but we pass arrays of indices in place of single scalars. This allows us to very quickly access and modify complicated subsets of an array’s values.\n", + "\n", + "Fancy indexing is conceptually simple: it means passing an array of indices to access multiple array elements at once. For example, consider the following array:" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[51 92 14 71 60 20 82 86 74 74]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "rand = np.random.RandomState(42)\n", + "x = rand.randint(100, size=10)\n", + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Suppose we want to access three different elements. We could do it like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[71, 86, 14]" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[x[3], x[7], x[2]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Alternatively, we can pass a single list or array of indices to obtain the same result:" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([71, 86, 60])" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind = [3, 7, 4]\n", + "x[ind]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With fancy indexing, the shape of the result reflects the shape of the index arrays rather than the shape of the array being indexed:" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[71, 86],\n", + " [60, 20]])" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind = np.array([[3, 7],\n", + " [4, 5]])\n", + "x[ind]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Fancy indexing also works in multiple dimensions. Consider the following array:" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2, 3],\n", + " [ 4, 5, 6, 7],\n", + " [ 8, 9, 10, 11]])" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X = np.arange(12).reshape((3, 4))\n", + "X" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like with standard indexing, the first index refers to the row, and the second to the column:" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 2, 5, 11])" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "row = np.array([0, 1, 2])\n", + "col = np.array([2, 1, 3])\n", + "X[row, col]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that the first value in the result is X[0, 2], the second is X[1, 1], and the third is X[2, 3]. The pairing of indices in fancy indexing follows all the broadcasting rules.\n", + "\n", + "If we combine a column vector and a row vector within the indices, we get a two-dimensional result:" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2, 1, 3],\n", + " [ 6, 5, 7],\n", + " [10, 9, 11]])" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X[row[:, np.newaxis], col]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here, each row value is matched with each column vector, exactly as we saw in broadcasting of arithmetic operations. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 0, 0],\n", + " [2, 1, 3],\n", + " [4, 2, 6]])" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "row[:, np.newaxis] * col" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It is always important to remember with fancy indexing that the return value reflects the broadcasted shape of the indices, rather than the shape of the array being indexed." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Combined Indexing\n", + "For even more powerful operations, fancy indexing can be combined with the other indexing schemes we’ve seen:" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0 1 2 3]\n", + " [ 4 5 6 7]\n", + " [ 8 9 10 11]]\n" + ] + } + ], + "source": [ + "print(X)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can combine fancy and simple indices:" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([10, 8, 9])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X[2, [2, 0, 1]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also combine fancy indexing with slicing:" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 6, 4, 5],\n", + " [10, 8, 9]])" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " X[1:, [2, 0, 1]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And we can combine fancy indexing with masking:" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 2],\n", + " [ 4, 6],\n", + " [ 8, 10]])" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mask = np.array([1, 0, 1, 0], dtype=bool)\n", + "X[row[:, np.newaxis], mask]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All of these indexing options combined lead to a very flexible set of operations for accessing and modifying array values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example Exercise" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(100, 2)" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mean = [0, 0]\n", + "cov = [[1, 2],\n", + " [2,5]]\n", + "x = rand.multivariate_normal(mean, cov, 100)\n", + "x.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-0.644508 -0.46220608]\n", + " [ 0.7376352 1.21236921]\n", + " [ 0.88151763 1.12795177]\n", + " [ 2.04998983 5.97778598]\n", + " [-0.1711348 -2.06258746]\n", + " [ 0.67956979 0.83705124]\n", + " [ 1.46860232 1.22961093]\n", + " [ 0.35282131 1.49875397]\n", + " [-2.51552505 -5.64629995]\n", + " [ 0.0843329 -0.3543059 ]\n", + " [ 0.19199272 1.48901291]\n", + " [-0.02566217 -0.74987887]\n", + " [ 1.00569227 2.25287315]\n", + " [ 0.49514263 1.18939673]\n", + " [ 0.0629872 0.57349278]\n", + " [ 0.75093031 2.99487004]\n", + " [-3.0236127 -6.00766046]\n", + " [-0.53943081 -0.3478899 ]\n", + " [ 1.53817376 1.99973464]\n", + " [-0.50886808 -1.81099656]\n", + " [ 1.58115602 2.86410319]\n", + " [ 0.99305043 2.54294059]\n", + " [-0.87753796 -1.15767204]\n", + " [-1.11518048 -1.87508012]\n", + " [ 0.4299908 0.36324254]\n", + " [ 0.97253528 3.53815717]\n", + " [ 0.32124996 0.33137032]\n", + " [-0.74618649 -2.77366681]\n", + " [-0.88473953 -1.81495444]\n", + " [ 0.98783862 2.30280401]\n", + " [-1.2033623 -2.04402725]\n", + " [-1.51101746 -3.2818741 ]\n", + " [-2.76337717 -7.66760648]\n", + " [ 0.39158553 0.87949228]\n", + " [ 0.91181024 3.32968944]\n", + " [-0.84202629 -2.01226547]\n", + " [ 1.06586877 0.95500019]\n", + " [ 0.44457363 1.87828298]\n", + " [ 0.35936721 0.40554974]\n", + " [-0.90649669 -0.93486441]\n", + " [-0.35790389 -0.52363012]\n", + " [-1.33461668 -3.03203218]\n", + " [ 0.02815138 0.79654924]\n", + " [ 0.37785618 0.51409383]\n", + " [-1.06505097 -2.88726779]\n", + " [ 2.32083881 5.97698647]\n", + " [ 0.47605744 0.83634485]\n", + " [-0.35490984 -1.03657119]\n", + " [ 0.57532883 -0.79997124]\n", + " [ 0.33399913 2.32597923]\n", + " [ 0.6575612 -0.22389518]\n", + " [ 1.3707365 2.2348831 ]\n", + " [ 0.07099548 -0.29685467]\n", + " [ 0.6074983 1.47089233]\n", + " [-0.34226126 -1.10666237]\n", + " [ 0.69226246 1.21504303]\n", + " [-0.31112937 -0.75912097]\n", + " [-0.26888327 -1.89366817]\n", + " [ 0.42044896 1.85189522]\n", + " [ 0.21115245 2.00781492]\n", + " [-1.83106042 -2.91352836]\n", + " [ 0.7841796 1.97640753]\n", + " [ 0.10259314 1.24690575]\n", + " [-1.91100558 -3.66800923]\n", + " [ 0.13143756 -0.07833855]\n", + " [-0.1317045 -1.64159158]\n", + " [-0.14547282 -1.34125678]\n", + " [-0.51172373 -1.40960773]\n", + " [ 0.69758045 0.72563649]\n", + " [ 0.11677083 0.88385162]\n", + " [-1.16586444 -2.24482237]\n", + " [-2.23176235 -2.63958101]\n", + " [ 0.37857234 0.69112594]\n", + " [ 0.87475323 3.400675 ]\n", + " [-0.86864365 -3.03568353]\n", + " [-1.03637857 -1.18469125]\n", + " [-0.53334959 -0.37039911]\n", + " [ 0.30414557 -0.5828419 ]\n", + " [-1.47656656 -2.13046298]\n", + " [-0.31332021 -1.7895623 ]\n", + " [ 1.12659538 1.49627535]\n", + " [-1.19675798 -1.51633442]\n", + " [-0.75210154 -0.79770535]\n", + " [ 0.74577693 1.95834451]\n", + " [ 1.56094354 2.9330816 ]\n", + " [-0.72009966 -1.99780959]\n", + " [-1.32319163 -2.61218347]\n", + " [-2.56215914 -6.08410838]\n", + " [ 1.31256297 3.13143269]\n", + " [ 0.51575983 2.30284639]\n", + " [ 0.01374713 -0.11539344]\n", + " [-0.16863279 0.39422355]\n", + " [ 0.12065651 1.13236323]\n", + " [-0.83504984 -2.38632016]\n", + " [ 1.05185885 1.98418223]\n", + " [-0.69144553 -1.56919875]\n", + " [-1.2567603 -1.125898 ]\n", + " [ 0.09619333 -0.64335574]\n", + " [-0.99658689 -2.35038099]\n", + " [-1.21405259 -1.77693724]]\n" + ] + } + ], + "source": [ + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using the plotting tools we can visualize these points as on a scatter plot" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import seaborn; seaborn.set() # for plot styling\n", + "plt.scatter(x[:, 0], x[:, 1]);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s use fancy indexing to select 20 random points. We’ll do this by first choosing 20 random indices with no repeats, and use these indices to select a portion of the original array:" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([17, 45, 16, 11, 37, 88, 38, 66, 70, 71, 60, 27, 24, 49, 23, 86, 52,\n", + " 25, 87, 55])" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indices = np.random.choice(x.shape[0], 20, replace=False)\n", + "indices" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(20, 2)" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "selection = x[indices] # fancy indexing here\n", + "selection.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEBCAYAAACdctWRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XuQW9Wd4PHvvZKu1JJa/W532+AXdtpgMJhMpiDZJfEUFQLGODZOxiQbqGxSASqDCbOL12FYGAbCO+UMdoVMJZlQYTIh8VYMZhcnEPIgPPKgMWnAuGMHGz9axv2UWu/HvfuHrHY/pG7pSmp13/59qqjCaunqHNP87rm/c87vKIZhGAghhLAktdoNEEIIUTkS5IUQwsIkyAshhIVJkBdCCAuTIC+EEBYmQV4IISxMgrwQQliYBHkhhLAwCfJCCGFhEuSFEMLCJMgLIYSFSZAXQggLkyAvhBAWZq/WFw8OhtH1yhTAbGry0t8fqsi1q0n6NftYtW9W7RfM3L6pqkJDg6foz1UtyOu6UbEgn72+FUm/Zh+r9s2q/QJr9U3SNUIIYWES5IUQwsIkyAshhIVJkBdCCAuTIC+EEBYmQV4IISxMgrwQQpRRCggqkK52Q06r2jp5IYSwijiwx2lnh1uj26ZiJxPsO9I6t0QSXBNP4axS22QkL4QQJXjDrrKqyctWr4sDdhuGopBUFAxF4YDdxlavi1VNXvbZqxNuJcgLIYRJ++wqG+vdDKoKYVXJ+Z6wqjCoKmyod1cl0Jf0jb/61a/YuHEjV155Jffdd1+52iSEEDNeHNhc5yai5A7u40UUhc11buKVbdYEpoP8sWPHuPvuu/n2t7/Nnj172L9/P7/97W/L2TYhhJh2fUMROrtP8Zt9J+jsPsVAMJbzfXucdhJFXjsBPOuc3qlQ00H+hRde4KqrrqKtrQ2Hw8H27du58MILy9k2IYSYVgPBGL9/+ySJpE6dRyOR1HnzUF/OQL/DreVN0eQTVhUec2vlam5BFMMwTJVbu/vuu3E4HBw/fhy/388nPvEJvva1r6EU+OgihBAzzWtdPcSTadwux8hrkVgSp8PGpavmj7yWBhyAmeCpAEnAVmJbC2X6uSGdTvP666/z5JNP4na7ufnmm9m9ezcbN24s6PP9/aGKlfNsaamlt3e4IteuJunX7GPVvlm1X8dPBlk4v45AIDrymmEY9PaH6W2vHXktqIC9yUvSxKDWbhgc6Q/hKzL8qapCU5O36O8zna5pbm7m0ksvpbGxEZfLxeWXX05XV5fZywkhRNXVuh1E46kxr8USaWrdjjGveYzMOngzUqc/P11MB/k1a9bw8ssvEwwGSafT/O53v2PlypXlbJsQQkyrJe0+QtEk0XgKwzCIxlNEEymWtPvGvM9GZqOTGR1pfdpSNVBCkL/wwgv58pe/zOc+9zmuuuoq5s+fz7XXXlvOtgkhxLRq9Lm45Pw2NIdKIJxAc6hctKyZRp9rwntviSTwFJly9ugGWyLFrskpjemJ11JJTr540q/Zx6p9s2q/oPC+xYFVTV4Gi1hh06AbdPWHTJU4mPacvBBCzGVO4KlABHeB42S3YfBUIDLtNWwkyAshhEmrUzq7hyI06Ebe1I1HN2jQDXYPRVidMpfHL4UEeSGEKMHqlE5Xf4hHQjFWpNIohoHDMFAMgxWpNI+EYnT1h6oS4EFKDQshRMmcwKZ4ik3xFGkgrGSWSU7nKpp8JMgLIUQZ2aDojU6VJOkaIYSwMAnyQghhYRLkhRDCwiTICyGEhUmQF0IIC5MgL4QQFiZBXgghLEyCvBBCWJgEeSGEsDAJ8kIIYWES5IUQwsIkyAshhIVJkBdCCAuTIC+EEBZWliD/0EMPsW3btnJcSgghRBmVHORfe+01du/eXY62CCGEKLOSgvzQ0BDbt2/npptuKld7hBAzWAoIKpCudkNEwUo6Gequu+7itttuw+/3F/3ZpiZvKV89pZaW2opev1qkX7PPbO9bHNgFPAS8AziAJLCypZb/BXyGzPF3VjLb/5uNZjrI79q1i/b2di699FJ+9rOfFf35/v4Qep7TzUvV0lJLb+9wRa5dTdKv2We29+0Nu8p1dW4SQFhVAEic/tnbwE26wRbgqUCkagdVl9tM/W+mqoqpwbHpIP/cc8/R29vL+vXrCQQCRCIR7r//fu644w6zlxRCzCD77Cob691EFCXve8KqQhjYUO9m95B1Ar2VmA7yP/jBD0b+/Wc/+xl//OMfJcALYRFxYHPd5AF+tIiisLnOTVd/yHKpm9lO1skLISbY47SPpGUKlQCedRY2bpQJ3OlT0sRr1saNG9m4cWM5LiWEmAF2uLWRHHyhwqrCY26NTfFUzp/Hydw8drg1um0qdjLBviOtc0skwTXxlDwFVICM5IUQY/QGY3TbzIWGbpuac3T+hl1lVZOXrV4XB+w2DEUhqSgYisIBu42tXhermrzss0tIKjf5GxVCjBgIxvjDkQFsJhe+2YHwuAeA7ATuoKrkfToIqwqDqsKGercE+jKTv00hxIjD/iD1qkq6uEzNiBTgGXWDMDuBGzf39SIHCfJCiBHDkSQezUZbMGbq8x1pHduoP1d6AldMTYK8EGJErdtBLJFmzdt+nMni1r54dIMtkbEhvZQJXFEeEuSFmKMGgjE6u0/xm30n6Ow+xUAwxpJ2H9FEiouPDWIrcke6BqwbtbImDWWfwBXFkyAvxBw0EIzx5qE+EkmdOo9GIqnz5qE+AC5a1syiRjdf2LsfLVVYqHUbBk8FImOWQIYV82u0c03g5ropialJkBdiDjrsD1Kj2alx2lEUhRqnnRrNzmF/kEafi4+vPovbLmjn4bf9eBNpavKUK/DoBg26kbOkgcfITMSaMX4CN3tTGhiO0TsU4c1DfTzzymHeOzFk8hvmDgnyQsxBw5EkLs025jWXZmM4khz5c6PPxecW1PFuIMI3I3FWpNIohoHDMFCAFak0j4RidPWHctassZGZiDVj/ATuYX+QtK7j74uQ1qHB68SmKLzU5ZcR/RQkyAsxB2UnWEeLJdLUuh0T3usENsVTvDQYoacvxLv9IZLAS4MRNk2xS/WWSAJPkbn9XBO4w5EkQ8NxNIcNzW4DFDwuB3ra4LA/WNT15xoJ8kLMcJWo85KdYI3GUxiGQTSeIppIsaTdN+nnbIDPANuk7zrjmniKYtfJjJ/AhcxNKRhJoo3aKJVM6fg82pinDzGRBHkhZqA4sMtp57IGNwuavZzb5GV+s5fLGtzsctpL3izU6HNx0bJmNIdKIJxAc6hctKyZRp+rHM0f4SRTa95tFDaazzWBC5mbkqoqhKJJDMMgkUyTSKap82o5nz7EGbLjQIgZJtdBHdmxarbOy53e0g/qaPS5ig7qA8FYJj1yqB/SaZa0+6a8xuqUzu6hCJvH9Wk0j26gkb9PjT4XH1/VzktdfgKhOD6PRlOdG5tNnfLpY66TkbwQM8hMrvMyetllQ61zZNllIROfq1M6Xf0hHgnFxk7gGsaUE7hZSxfUc83HlnDh8maa62tGnkbK/fRhNTKSF2KGmOkHdeRadpl9vZBAm53A3RRPkSazDt5TRH4fzD19zHUS5IWYIUqp8/J3vSEO+4MMR5LUuh0FpVGKNRxJoipwoi8M/mHQdVrrXcSLLH8AZyZwReVJkBdihjBb52W700HjoT5qNDt1Ho1YIs2bh/oqkMowOHg8iGqDtA6DwRh/PTHEBUsaTV8xm+Ov5M1prpOcvBAzQCl1Xg5qNm7/2FJeWVBHUh27e7WcFDJr6XsHY6TTBk6HDV03ONYbNrUhKV9pBdncVF4lBfmdO3eydu1a1q5dy8MPP1yuNgkx55RS5wVF4ZjXyY5zmrnubxbS7dUm7F4tBwOFWrcdp8NGSgebTeXsVi8Om2rqhjJZaQVRPqaD/KuvvsrLL7/M7t27efrpp3nnnXd44YUXytk2IeaEgWCMAwdOma7zkhW1qQw7bNy+sp23nPaC148XWvir1u0gmTY4u9XLsrPqqPdo9AfjDIXjvP3eQNEj8EJKKxTbRjGR6SDf0tLCtm3b0DQNh8PBOeecQ09PTznbJoTlZVMW6aTOokix0665xWwq/7xqPgsmWT+eDZr/77Uj7HnlMAPB2JQpk9EbksLRBCf6wsQTaRq8Thx2pehUS6GlFSStUxrTQX758uVcdNFFABw5coS9e/fy8Y9/vGwNE2IuGJ2y+OyJADUmC3qNp9tVXm7x5vzZ6KAZiSVRFQV/X4RQNDlpyiS7IUk3DI6eHMbpUGltqMmkbebVFp1qKbS0gqR1SqMYRoH7jfM4ePAgN954I7fccgsbNmwoV7uEmBN+/toRGmqdKIpCQoG1H2olWKYNTucDb+V4/bWuHuLJNG6Xg84DH+CtcZBI6jjsKisWN2IYBoPDcT516eKc1+0bivDTF/4CCnhrNOa3ePB5nFN+Lt+1Dh4dIhBOUOfRWL6wnuZ695j3jP47yjLzXXNVSUsoOzs72bJlC3fccQdr164t6rP9/SH0IqvTFaqlpZbe3uGKXLuapF+zz5R9S6f5oDc0srHoG/v9/M+V7cRNrrQZ7R3D4GRfaMJmo+Mng9R5NJLxFOg6Q8EYDptKcDhFoKGGaDyF5lAnbffqjlZ6+8PUOO0YKZ1AIFrQ53JZ1l478u9GMj3x8+P+jgDT31WImfr7qKoKTU25n84m/ZzZL/T7/Xz1q1/l0UcfLTrACyEyxqcsFvZHuOuP71OX1osu0TtertOVYGwufF6jm0QyTTiWmQQttBrl8oX1pqpYmmG2YqbIMB3kv//97xOPx3nwwQdZv34969ev58c//nE52yaE5eWqBnltq5e3B8IjdV4wmVEdf7pS1tntPvp1nVA8hdfloL3ZTdowqHHaCq5G2VzvnpYqljB9FTOtquScvFmSrime9Gv2mapvhez4/KivhkPO4jOrK1JpXhqMAJm6OHucdna4NbptKnYyN4GzQnE29wT4gl2lrYigmatfVtm9OlN/H6c9XSOEKE0hSwMHgjGu6P4AV5ElhT26wZf6w3R2n+J7f+3nvHo3W71ODthtGIpCUlEwFIVjtS6+vbyVjy9pLqmipSxznLkkyAtRJYUsDTzsD7JmIIqjyAduu2HQ9uce3nE5+JePLGTYYSOs5v7fvRyli2WZ48wlQV6IKilkx+dwJEmtQ+X+d0/iKnANvdswuOetHmo0O/dcuIBYgSt1sqWLzZw6VczuVTG9pAqlENNkfM4aDGKJ9JilgeN3fGZXwnSEEjzyjp87zm0jqSjEcoy4Xak0DgP+/YMgxqkQf1zcSKrIqpbZ0sWb4sUVWci2c7K+FMMq+f2ZQIK8ENNgpHxBWicQSvDeiQDJtE69V2PhPB8uzUYskSaaSNGxsHnkc0vafbx5qA+ADxkGP3jlML9prOEXHfM4pNmwkalgeXY4wXU9AT7SEyQVT2JT4Kn5dUSLXG8fVhUec2tF16cf3c58fSn276rypZPnBgnyQkyDw/4g6bSOvy+C5rBR53USjiUZCiWY15ginsyMejsWjg1k2eWDh/1BAuEEtW4H/+DRuCsYJQ28cqgPNZbCmx1BazaihkE0meKYRzPV1m6byhuH+vAUEWRztXN8Xwo1Or8PFH0ClRhLgrwQ02A4kiQQSqA5bGiOTO7aW+MgmdapdWt8uKM172fzHXlnA/ThOLXjgrlLszFoGNg5cwB4MWwGUKNRczolVGiQLdfRfMORJHU5+hQIl6eA21wjQV6IaVDrdvDeiQB13jOnsSZSOj63o6TJyXy58GbNZrp0cVqBetvYXH6+IFuJ3Hm58/tznQR5IabBknYfb73Xz0AwRiKVJhJLoaoKy+b7iqr7Pj6gNng1Xuryo6cNfB6NOq+GzaZy0cJmOtI6B+zFHJOdsTCSIJlIY58iyFYqd17O/L6QJZRCVMxAMMZrXT38Zt8JDvuDLG33cioQJRhJ4HLa8Hk0egaiNHinzp2fCsZ49cgA0VGbjV55y887RwZZ0OKh1uMgEElwvC/M4nleGn0ubokkiq5/49EN/iEUr2oJYCljUF4ykheiArKj3HnN3pFR7nv+ECsXN5BKQyyewuW0U+dxMBjKnWseU4qg2Yu6uAldVWgLxrj22BDzBsJ4EinObm2ipS5TnjcaT41c75p4iju9EC6i3RqwWVUIFzCJWsncebny+0KCvBAVkR3lul0OkvEUNU47etogmdJZflbDyPsMw8gZFN+wq1xX5yZBZlkjQPp0ntxfV8NOnwtWtgGwOJLksyeGuKw/PCbIOoGnAhE21LuJKFOvl3cbBk8FIjgBZwFBVnLns4Oka4SogNE7QIejCQ6dGGIwFOc9f5Dh6Jmgniso7rOrbKx3M6gqIwF+AkUZ+eeIRxs5xHv82a6rUzq7hyLUJtM4k+mcl6pJ6TToBruHIqwuokaOlACeHSTIC1EB2VFuMBzncE+QVNqgsdYJhkL30UGCkXjOoBgHNtcVNvIeLXuI9z9ddBahxY1jfrY6pfPK0QGufvk92ociKIaBLa2jGAYLQzG+vP8kXf2hogI8SO58tpB0jRAVkF0h8sFQDIddBQNsqsqqcxoZHE5w2B/k/CVNE3Lde5x2Sslox+0qX5lfT1d/COeo19t8LjYnU/zX5/aTNEB1Ozjb58KpqmgOFeeo05mKIbnzmU+CvBBFKmRteHaU+8s3TpBK69Q4HZlVMG6NtsZMHj7XBqgdbi1/iqZA+erPXHBOM2kDajS7LE2cQyRdI0QRiqmb3uhzcXFHK8sW1LNsQR217sxKlHyTk2kyJQVKla0/k6s9kl6Ze2QkL0QRiq2rsnxhPUf9AWDqjT1hBdOlCMbrtqmkYcIh3pJemXtkJC9EEYqtm17MWageA9OlCMbLd4i3mHtKGsk/++yzPP7446RSKW644QY+//nPl6tdQsxIZtaGZ0fPKSCi5D5cGzKjbrOlCMbLd4i3mHtMj+Q/+OADtm/fzn/+53/y9NNP85Of/IRDhw6Vs21ClEUKCCqZnHepil0bHgd2Oe1c1uBmQbOXc5u8zG/2clmDm11O+4RTmMyUIsilI61PSNWIucl0kH/11Ve55JJLqK+vx+12c8UVV/Dzn/+8nG0TwrRig2uhipm8fMOuMh/Y6nVNOED7gN3G/3BrnFfv5rejVsFcE09hrgr8GR7dYEtEyvKKDNPpmlOnTtHS0jLy59bWVrq6usrSKCFKkaskQDZjfsBuY6vXxZ3ezJb/YjcAQWGTl/vsKhvq3EQB8iyJjNltxID/1lbHf5wM8HGnvehSBLlowLoij+8T1mU6yOu6jjLql9AwjDF/nkpTk9fsVxekpcXc5o6ZTvo1uT8B1zJ5Ua6wqhAGNjZ4+DXwkbJ88xlxYLNuEC1wvXvcrvKltjpO2VWcwCeB3wCfIrPmPVTEd3uAX6gKZ437++wbinDw6BCBcII6j8byhfU017uLuPJEVv1dBGv1zXSQb2tr4/XXXx/5c29vL62t+U+3Ga+/P4RehtxjLi0ttfT2Dlfk2tUk/ZpcHLiiyVvwZqIwcIVuTNgdWqpdTjsxtzPvCD6XBAb/HoyObGBaDPyZzKamx9waB0avn88xmPLoBhqZp4DFKZ3eUT8bXffdpdno7Q9z1B8oaY28VX8XYeb2TVUVU4Nj0zn5j370o7z22msMDAwQjUZ5/vnnueyyy8xeToiSmSkJkN0dWk473BpRe3H/a8XstgkbmJzApniKlwYj+PtCvNMfYudwjBWpNIph4DAMFMNgRSrNI6FY3vozlar7LmYH07/d8+bN47bbbuP6668nmUyyadMmVq1aVc62CVEUMyUBsrtDx5cAMKuUXav5NjBx+rUWAz4bT/HZeIo0mXXwHiP3+0eTM1PntpKGMOvWrWPdunXlaosQppUaXHuDMY6WcFZp9oCPb7k1zCYhsxuYfAVcwEZh7wOp+z7XSVkDYQnHQ3FsTR5SJlak2IA/HBmgSVVNnVWaazWPGaM3MJXzgGw5M3Vuk7IGwhI+OBEgbXLJYRqoV1VTOeuCDvgoUHYDUzFF0AohhcnmNhnJC0uIRJIsiiQ44il+ncxZoTieHPVopspZmz3gI5fRG5iKLYJWCClMNndJkBezTq5URq3bwYb3B/lORyvRInLzHt1gc09gTM56OJLg2KkQyXSazu78qZJSD/gYbfQGplInSsuZ6hGzn6RrxKySL5XR4NW4+PgQtiL3XmjAF+zqSD2aYDjOX44NEYknWdLumzRVUo4DPmDsAdpwZqJ0tEInSsud6hGznwR5MeMMBGN0dp/iN/tO0Nl9akyAyrfmezCU4CPnNHHfO36cBZYqyAbXtlE568P+YWqcNjoWNuBzO/Pm58txwIcrlaY2mZ5wgHYpB2TLmngxngR5MaNMNRKdrJ57o8/F5xbUsWc4SoNu5K3m6NENGnRjTHBt9Ln4cEcri9pqOXdRI7U12oTrjxZWpl6fnpdhcFYozpf3n+SVowMTNjCVMlFabL17YX2SkxczylSTjoWs+V6d0unqD42UBOi2qdjJLFHsSOtsiSRYF09NKGUwEIxxaijCX3sC1Hk05jW6qa3Rxlw/ux7+MbdW0gEf33nzOMsmyZWbnSiVNfFiPAnyomTlnOjLTjoORxN8MBAhGk/j0lTcrkyQKnTNd7YkwKYCd4cOBGO88paf4XCSU0MRhobj9AdiLF3gw6aqdCxsLtt6+BVpnb/NcYh3OciaeDGepGtEScxM9I3PufcNRUZ+Vut20BeMcrgnSCpt4HHZicbT9A5FGQjGTKUysrtDJ0uvdP21j1ODUTwuB2e3eLHbVPqGYvT0hrloWTPvN7rLsh6+0rXeZU28GE9G8qIkxa7pHl0RMbu79Pdvn2R5ey2NPhdL2n10vdePTVFw2FQSSR0MWNDsGblmJdZ8v38yhMdlR3PY0Bw23C6NRDJFPKnj8bnKth5+Omq9y5p4MZqM5EVJip3oy7X6w1vjGFn90ehz0Vrnwu20E42nsNtVlsz30VxXU9nJQ8WYUHPGOP16udbDj18qKcR0kJG8KEmxE325NvrUOO309p855qOtyUMiqY+5ZjSeKmnycKp5g8Xzajl4IoCiKGh2lURKJxxLsnxBHf+7xPXwo2u9mzmJSohSyEhelCTXmu6+QJThSGLMOvfsYdruHBt9xgfwUtaJ51LIvMEF5zQzr8GNruuEokl0XWdeg5vzzmk2vx7eMFgJk9Z6F6LSZCQvSpKd6DvsDxIIJ1BOJz2cDjuq08bz9W7+T2stx73OzDLGj3k5KxRn07Eh/m4ogh5PE9cNlo8K4OOvWet20LEw9+RhISt7Cpk3aPS5+NgF7ROuZa9zYefMGbHFcACvAAk5b1VUkQR5UbLRE32d3afQHHbeb3LzT+e2kVKUkVOSsoHyWK2L73yole/qBvft9/P5xY0YyXTea+aTaxI3V4ngQmvB5PrOtIHp9fApwAsMmPy8EOUg6RpRVsORJO83utm6sp1hhy3vMXhRu0pIs3HHhQs4bPJA6UK38JdSC8ZGZgOVGdnSwUJUk4zkRVklFdi2Yh6xAvPYEUXhU2QOrR696qSQNEyhI/Ql7b7MRqdIglTawG5TqHVrfOyC9pxtGv/d/315C/e01BY1+TqyHt5XU/BnhKgEGcmLshkIxvh1g7vo05nGH6Zd6Aar4kfoCpmm5W9fru9u/3MPdqP46paVXg8vRCFMB/nOzk42bdrE+vXrueGGGzhx4kQ52yVmocP+IL9YMY+EVlySIgQ85j4zIi80DVPoKpzD/iDNdTWct7iRC5Y2c97iRprranJWZhz93aFYkhN9IY73BPjKr/5CTYFljGU9vJhJTAf522+/nfvuu49nnnmGdevWcd9995WzXWIW6rTbODYufVKobptKdkw+eoPVcCTBoRMBDp0Y4u33BiaM5lUF/nJsiK73+kgkUzm38BezYSv73uFoYqS0Qr1Ho+l4gDv/cIS6tJ63uqUrlaYurU8oHSxENZkK8olEgltvvZUVK1YA0NHRgd/vL2vDxOyyz67yLx9ZCCa3/tvJFBGDM2mY4cjpQJvSsdtUHHZlJG2TTas4HXZWndPEh85qIJ1noF1MWif73g8GIpkSB3YbyZSBz+vk/FiKH/7+MP/cO8yicBzFMLDpOophsDgc597+MG8PhCXAixnF1MSrpmmsX78eAF3X2blzJ5dffnlZGyaqq5jKktmzThMl7ApNkakSCWcqKZ7sj6A5VFAgmdRZMt+HXVVH0iyF1swppjJj9r2BcIJ6j0YimSaRTLOgxYNLs9HTH+bs0Ake0+w4NBtDaQOiCS6WImBihlIMY/IZpb179/LAAw+MeW3p0qU88cQTJBIJtm3bRiAQ4Dvf+Q4Oh9SstoK+oQi/f/sk3hoHNadryISiSS45v43mHMsd/wO4mUxu3azzgbfGteGnL/wFFPDWaMxv8eDzODEMg8HhOAANtU6UUU8O2Z996tLFOft08OgQgXCCOo/G8oX1OfuSfe///d17BMIJGmpdtDd7qPM6icSSHOkJsHh+3UjpY4BILInTYePSVfNL+BsQojKmDPL5hMNhbr75Zurr63n00UfRtOJysf39IfQiz+MsVEtLLb29wxW5djmkgMgU9c1zma5+dXafylk7RnOofHhUHfRsP9bWu+m2m18R7gUeDkbZNG41ymTtAApqo1mjN1qNHv1HY0nmN3sn3FwC4QSfWL1gwnVm+u+iWVbtF8zcvqmqQlOTt+jPmV4nf/vtt7No0SLuueceVFVWYk4le6LQjhwnFd0SSXBNjpOKqmWy9ee5+lFqbUg1pVP3h6N01tjHpIXOrG9PktZ1bKpKrdsxsr69kodj5CutcNgflJOXxKxiKsjv37+fF198kWXLlrFhwwYAWltb+e53v1vWxllFrhOFsoHxgN3GVq+LO70zp0phvsqSPa1eVjV5c/bDLC2t89DBXppPf2eusgRgkHnePPPk5/O5OOdDLXxwIjBlfRuz8pVWkJOXxGxiKsifd955dHd3l7stlrTPrrKxfvIDJ8KqQhjYUO+eEcvvck1Uvu2yc9+qBURLmFydwDC4d99xLq7RCJxeDw9nJk+z69vPbq0FIKHAi3U1/Eubj6NuDXuzl9TippGnofPDd3eyAAAPg0lEQVSnYfNRMcXThJgJpKxBBWVXnRR6olBEUdhc56arP2QqdWM21z/e+EDm9Dh4+G8XlTfAA2eF4lwUT0HNmdTQ6LIEo9NGB7xa3oJn0/00JCcvidlEgnwFmTlRKLvFf/wkZD6VyvWPDmS7nPaiSxVMxaMbXNcTmHT9ejZtdLQpU/Bssno4M+1pSIiZQmZMK2iHiROFwqoyZov/ZN6wq6xq8rLV6+KA3YahKCQVBUNRRka3q5q87MtTCbJQZvoxFQ34gl0lmkgRiSVzliVY0u4jmEzz9XPbiip4trnOTbysrRVi9pIgXyFpMH2i0Ogt/vlkc/2DqpI3AIdVhUFVYUO923SgL6Uf+WRru7SdTgs5HZkUjeZQx0y6Nvpc+C+cT7rEgmdCzGXyf0KFhBVMLy/MbvH35dlGMJ25/lL6MZ5HN7AbBve81UPgVIjO0ztpL101n9722pyf+fcmT96a9HnbfPppqNCUlxBWJkG+QjwlnijkmWSf2HTk+rNK6QeGgZ3M00BHWudL/WHa/tyDz2HDNeokp6YmT86Pl+NpSA7tEHOdpGsqpJInClU61z9aKf1YkdY50B+ipy/ES4MRzj/Yi89hm1BC+ODRodxtVsyPQkYXPBNiLpMgX0G3RBJ5y9LmM3KiUB6VzvXnUko/fKOWc+Yr+Tv+JKeseCBWsachIeYKCfIVdE08RbFj56lOFKrG6LZc/chX8nd8CQXI1I5561AfZ+e5AUxFzlcVIkOCfAU5yWzOcRdYA66QE4UqmevPp1z9yHeS0/KF9ROukT2haXNPgJoi00VTPQ0JMZdIkK+w1anMSUENupE35eHRDRp0o6BNPJXM9UNmBN3ZfYrf7DtBZ/epkZOYsv2oTaZx5WnjVP3I7qTVHOqYJZO5Sv5mUzuX9YexF5kqkvNVhThDgvw0WJ3S6eoP8UgoxopUGsUwcBgGimGwIpXmkVCMrv5Qwbs0K5Hrh6kP0F6d0nnl6ABf3u9nYSh7MlKmH8vjqYL60ehz8eGOVj6xegEf7mjNWx4gm9rRDLj/3ZO4CryxyfmqQowlSyiniRPYFE+xKZ4iTSY3brbGzDXxFHd6IVzEZwoZ3Y4+xBpyn7bU5nPxD8DaN48TiCSx1zo5t9VLS5lruYwukvYhw+C+fcf551Xz0e0qkRylrT26gcbMqeQpxEwhQb4KbOTf6FSIbI58wxTVLbMKHd1OVkd+tOko0DW+SNpKw+DVY4O83OLlsRx1erZEEqybQTX5hZgpJMjPUtkc+eZxdepHK3Z0m6+OfLUOxMh1MynX05AQc4UE+VlqIBhD9wfZGU3x5sJ6nl7cxCHNVtLotpgDr6ut1KchIeYKCfKz0OjzR5vdDv5LT5APHxnggmXNOOtcpke3ciCGENYjQX4WyjdBetQf5MMlBmQ5EEMIa5EllLNQvvIAw5Fy1IoUQlhJyUF+//79nH/++eVoiyhQvvIA1ZogFULMXCUF+Wg0yr333ksyKSPI6ZSvPED2RCUhhMgqKcg/+OCD3HDDDeVqiyhQvvIAkksXQoxneuL1xRdfJBaL8alPfaqc7REFkglSIUQhFMOYvLTg3r17eeCBB8a8tnTpUkKhEE888QRer5eOjg66u7sr2lAhhBDFmzLI57Jr1y7+7d/+DY8nc2zbgQMHWLFiBT/60Y/wer0FXaO/P4ReZJGtQrW01NLbO1yRa1eT9Gv2sWrfrNovmLl9U1WFpqbC4utoptI1n/nMZ/jMZz4z8ueOjg6eeeYZM5cSQghRQbJOXgghLKwsQV7y8UIIMTPJSF4IISxMgrwQQliYBHkhhLAwCfJCCGFhEuSFEMLCJMgLIYSFSZAXQggLkyAvhBAWJkFeCCEsTIK8EEJYmAR5IYSwMAnyQghhYRLkhRDCwiTICyGEhUmQF0IICzN9kPdMkwIiCngqc6LgGAPBGIf9QYYjSWrdDpa0++RQbSHEjDSrR/JxYJfTzmUNbhY0ezm3ycv8Zi8XnH49XubvSwHvh+K8caiPRFKnzqORSOq8eaiPgWCszN8mhBClm7Uj+TfsKtfVuUkAYVUBIHn6Z28DW70u7vTCU4EIq1O66e+JA3ucdna4NbptKrYmL+nFTSyKJPnsiSEu6w9TAxz2B2U0L4SYcWblSH6fXWVjvZtBVRkJ8OOFVYVBVWFDvZt9dnPdfMOusqrJy1aviwN2G4aikFIVDEXhiEdjxznNXPc3C3m/0c1wJDn1BYUQYpqZDvKnTp3iK1/5Cp/+9KfZvHkzx48fL2e78ooDm+vcRJTcwX28iKKwuc5ddOqmkBtJ1KYy7LBx+/nt9LR6i/wGIYSoPNNBfuvWraxZs4ann36a9evX8+ijj5azXXntcdpJFPmZBPCss/DMVLE3krhN5e4L5pd9DkAIIUplKsgPDAxw4MABNm/eDMC1117L1772tbI2LJ8dbi3vyDqfsKrwmFsr+P1mbiQpRSnqRiKEENPBVJA/duwY8+fP58EHH+Taa69ly5YtOByOcrdtgjTQbTP38NFtU0kX+N7puJEIIcR0UAzDmHRl+d69e3nggQfGvLZo0SL+9Kc/8fjjj7NmzRp27drFnj17ePLJJyva2ADQCkWPsgEcQC9QN8X70qffa2a5vUJmhY/NxGeFEKISpgzyuRw9epQNGzbQ2dkJQDQa5ZJLLuHPf/5zwdfo7w+h68V9dRqY3+zFKDBXPppiGPT0haYMwEEFzm3ykjTxHQ7D4N3+EL4Kbchqaamlt3e4MhevIqv2C6zbN6v2C2Zu31RVoamp+AUepnIfCxcupK2tjd/+9rcA/PrXv2blypVmLlUUG9CRNrfmvSOtFzTC9hiZTU9mpJieHbdCCFEo06trduzYwfe+9z2uvvpqfvjDH3L//feXs1153RJJ4CnyCcCjG2yJFJbkmY4biRBCTBfTy0GWLl1a8Rx8LtfEU9zphXARn9GAdfHCx+e3RBJs9bqKmnwt5kYihBDTZdbteHWSKVXgLnAqwW0YPBWI4CziO66Jpyh2nUyxNxIhhJgOsy7IA6xO6eweitCgG3lTNx7doEE32D1UfO2a6biRCCHEdJiVQR4ygb6rP8QjoRgrUmkUw8BhGCiGwfnAI6EYXf0h08XJKn0jEUKI6TCrt2g6gU3xFJviKdJA+HQ9+baWWnrLkDrJ3kieddp57HQVSjuZVTQdaZ0tkQTr4ikZwQshZqxZHeRHs0FF1qfnu5HIKhohxGxgmSA/HSp1IxFCiEqZtTl5IYQQU5MgL4QQFiZBXgghLEyCvBBCWJgEeSGEsDAJ8kIIYWES5IUQwsIkyAshhIVJkBdCCAub0zteB4IxDvuDDEeS1LodLGn30ehzVbtZQghRNnN2JD8QjPHmoT4SSZ06j0YiqfPmoT4GgrFqN00IIcpmzgb5w/4gNZqdGqcdRVGocdqp0ewc9ger3TQhhCibORvkhyNJXNrYWpIuzcZwJFmlFgkhRPmZDvLHjx/n85//POvXr+cLX/gCJ06cKGe7Kq7W7SCWSI95LZZIU+t2VKlFQghRfqaD/L/+67+ydu1annnmGT75yU+yffv2crar4pa0+4gmUkTjKQzDIBpPEU2kWNLuq3bThBCibEwHeV3XCYVCAESjUVyu2bUqpdHn4qJlzWgOlUA4geZQuWhZs6yuEUJYiukllLfeeiubN2/mySefJJlM8pOf/KSc7ZoWjT6XBHUhhKUphmFMetbR3r17eeCBB8a8tnTpUuLxOF/60pe4/PLL+cUvfsHOnTvZs2cPiqJUtMFCCCEKN2WQz2VgYIArr7ySP/zhDyOvXXLJJTz33HM0NjYWdI3+/hC6Xpmz9FpaauntHa7ItatJ+jX7WLVvVu0XzNy+qapCU5O3+M+Z+bKGhgacTievv/46AJ2dnXg8noIDvBBCiOlhKievKAo7d+7k3nvvJRaL4fF42LFjR7nbJoQQokSmJ15XrVrFrl27TH+xqlY2d1/p61eL9Gv2sWrfrNovmJl9M9smUzl5IYQQs8OcLWsghBBzgQR5IYSwMAnyQghhYRLkhRDCwiTICyGEhUmQF0IIC5MgL4QQFiZBXgghLEyCvBBCWJglg/zrr7/Oxo0bWbduHTfddBOBQKDaTSqLzs5ONm3axPr167nhhhtm3ZGLhfjWt75liTpIzz77LFdddRWf/OQn+dGPflTt5pRVKBTi6quv5vjx49VuSlnt3LmTtWvXsnbtWh5++OFqN6d8DAu6/PLLjYMHDxqGYRiPPPKI8c1vfrPKLSqPNWvWGO+++65hGIaxa9cu46abbqpyi8onGAwaX//6141Vq1YZjz32WLWbU5KTJ08aa9asMQYHB41wOGysW7du5PdxtnvzzTeNq6++2li5cqVx7NixajenbF555RXj7//+7414PG4kEgnj+uuvN55//vlqN6ssLDmSf+6551i2bBnJZJIPPvgAn2/2n9uaSCS49dZbWbFiBQAdHR34/f4qt6p8XnzxRRYvXswXv/jFajelZK+++iqXXHIJ9fX1uN1urrjiCn7+859Xu1ll8dOf/pS7776b1tbWajelrFpaWti2bRuapuFwODjnnHPo6empdrPKwnQVypnM4XDQ3d3NF7/4Rex2O//4j/9Y7SaVTNM01q9fD2TO1925cyeXX355lVtVPp/+9KcBLJGqOXXqFC0tLSN/bm1tpaurq4otKp9vfOMb1W5CRSxfvnzk348cOcLevXv58Y9/XMUWlc+sDvL5jiZ84okn6Ojo4NVXX+Wpp57itttu46mnnqpSK4s3Wb8SiQTbtm0jlUpx4403VqmF5k3WN6vQdX3MMZiGYcixmLPEwYMHufHGG9m6dSuLFy+udnPKYlYH+SuvvJIrr7xyzGvxeJxf/vKXI6Pca665hoceeqgazTMtV78AwuEwN998M/X19Tz++OM4HI4qtK40+fpmJW1tbSOnpgH09vZaLr1hRZ2dnWzZsoU77riDtWvXVrs5ZWO5nLzdbueee+7h7bffBjIjx4svvrjKrSqP22+/nUWLFvGtb30LTdOq3RyRx0c/+lFee+01BgYGiEajPP/881x22WXVbpaYhN/v56tf/SqPPvqopQI8zPKRfC42m43t27dz1113kU6nmTdvniXyiPv37+fFF19k2bJlbNiwAcjker/73e9WuWVivHnz5nHbbbdx/fXXk0wm2bRpE6tWrap2s8Qkvv/97xOPx3nwwQdHXtu8eTPXXXddFVtVHnIylBBCWJjl0jVCCCHOkCAvhBAWJkFeCCEsTIK8EEJYmAR5IYSwMAnyQghhYRLkhRDCwiTICyGEhf1/AQEHhxJ1rxsAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(x[:, 0], x[:, 1], alpha=0.3)\n", + "plt.scatter(selection[:, 0], selection[:, 1], \n", + " facecolor='cyan', s=200);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This sort of strategy is often used to quickly partition datasets, as is often needed in train/test splitting for validation of statistical models _**(“Hyperparameters and Model Validationâ€**_, and in sampling approaches to answering statistical\n", + "questions.\n", + "\n", + "#### Modifying Values with Fancy Indexing\n", + "Just as fancy indexing can be used to access parts of an array, it can also be used to modify parts of an array. For example, imagine we have an array of indices and we’d like to set the corresponding items in an array to some value:" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 0 99 99 3 99 5 6 7 99 9]\n" + ] + } + ], + "source": [ + "m = np.arange(10)\n", + "i = np.array([2, 1, 8, 4])\n", + "m[i] = 99\n", + "print(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use any assignment-type operator for this. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 0 89 89 3 89 5 6 7 89 9]\n" + ] + } + ], + "source": [ + "m[i] -= 10\n", + "print(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice, though, that repeated indices with these operations can cause some potentially unexpected results. Consider the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[6. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n" + ] + } + ], + "source": [ + "m = np.zeros(10)\n", + "m[[0, 0]] = [4, 6]\n", + "print(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Where did the 4 go? The result of this operation is to first assign x[0] = 4, followed by x[0] = 6. The result, of course, is that x[0] contains the value 6. Fair enough, but consider this operation:" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([6., 0., 1., 1., 1., 0., 0., 0., 0., 0.])" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "i = [2, 3, 3, 4, 4, 4]\n", + "m[i] += 1\n", + "m" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You might expect that x[3] would contain the value 2, and x[4] would contain the value 3, as this is how many times each index is repeated. Why is this not the case? Conceptually, this is because x[i] += 1 is meant as a shorthand of x[i] = x[i] + 1. x[i] + 1 is evaluated, and then the result is assigned to the indices in x. With this in mind, it is not the augmentation that happens multiple times, but the assignment, which leads to the rather nonintuitive results.\n", + "So what if you want the other behavior where the operation is repeated? For this, you can use the at() method of ufuncs (available since NumPy 1.8), and do the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0. 0. 1. 2. 3. 0. 0. 0. 0. 0.]\n" + ] + } + ], + "source": [ + "m = np.zeros(10)\n", + "np.add.at(m, i, 1)\n", + "print(m)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The at() method does an in-place application of the given operator at the specified indices (here, i) with the specified value (here, 1). Another method that is similar in spirit is the reduceat() method of ufuncs, which you can read about in the NumPy documentation.\n", + "\n", + "#### Example: Binning Data\n", + "You can use these ideas to efficiently bin data to create a histogram by hand. For example, imagine we have 1,000 values and would like to quickly find where they fall within an array of bins. We could compute it using ufunc.at like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(42)\n", + "x = np.random.randn(100)\n", + "# compute a histogram by hand\n", + "bins = np.linspace(-5, 5, 20)\n", + "counts = np.zeros_like(bins)\n", + "# find the appropriate bin for each x\n", + "i = np.searchsorted(bins, x)\n", + "# add 1 to each of these bins\n", + "np.add.at(counts, i, 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# plot the results\n", + "plt.plot(bins, counts, linestyle='steps');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Of course, it would be silly to have to do this each time you want to plot a histogram. This is why Matplotlib provides the plt.hist() routine, which does the same in a single line:" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEBCAYAAABysL6vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAADpBJREFUeJzt3X9oVfUfx/HX5lxabiiXe1t/iJWK/hEt/8oZKEWu0VxTkNgytfZHK8tSQlljNUqt2xIGoUKE4R8a+AO3bLiVuBBkg3B/TKYkRl7BlHmb39SVm9N7vn/I9/Y1lN1f55573/f5+Kuz7ey8P7vy3O3s3nPyHMdxBAAwJ9/rAQAA7iDwAGAUgQcAowg8ABhF4AHAKAIPAEYReAAwisADgFEEHgCMIvAAYBSBBwCjCDwAGEXgAcCoAq8O/J///KVIJLsuZOnzTdHQ0LDXY6RNrq1XYs25IhvXnJ+fp2nTHoprH88CH4k4WRd4SVk5czJybb0Sa84VubBmTtEAgFEEHgCMIvAAYBSBBwCjCDwAGEXgAcAoAg8ARnn2OnggERt29Gjo2kjC+/uKJ+mLNQtSOBGQuQg8ssrQtRF90/BcwvvXBbtTOA2Q2ThFAwBGEXgAMIrAA4BRBB4AjCLwAGAUgQcAowg8ABjF6+CRU3zFk5J6LTxvlEI2IfDIKePF2e8vUjh8/b6f541SyCacogEAowg8ABhF4AHAKAIPAEYReAAwisADgFEEHgCMIvAAYBSBBwCjCDwAGEXgAcAoAg8ARhF4ADAqpsBv27ZNlZWVqqysVEtLiySpp6dHVVVVKi8vV2trq6tDAgDiN27ge3p6dPz4cbW1tam9vV2nTp1SR0eHGhsbtWPHDh0+fFgDAwM6duxYOuYFAMRo3MD7/X41NDSosLBQEydO1MyZMxUKhTRjxgxNnz5dBQUFqqqqUldXVzrmBQDEaNwbfsyePTv636FQSJ2dnXr11Vfl9/ujHw8EAhocHIzrwD7flLi+PlP4/UVej5BWmbhet2ca7/tn4s8kWRbXNJ5cWHPMd3Q6e/as6uvrtXHjRk2YMEGhUCj6OcdxlJeXF9eBh4aGFYk4ce3jtfHu9mNNpq7XzZliWXMm/kySkamPs5uycc35+XlxPzGO6Y+sfX19eu211/T+++9r2bJlKikpUTgcjn4+HA4rEAjENy0AwFXjBv7SpUt6++23tXXrVlVWVkqSSktLde7cOZ0/f163b99WR0eHFi5c6PqwAIDYjXuKZufOnRodHVUwGIx+rKamRsFgUGvXrtXo6KgWLVqkiooKVwcFAMRn3MA3NTWpqanpnp87dOhQygcCAKQG72QFAKMIPAAYReABwCgCDwBGEXgAMIrAA4BRBB4AjCLwAGAUgQcAowg8ABhF4AHAKAIPAEYReAAwisADgFEEHgCMIvAAYBSBBwCjCDwAGEXgAcAoAg8ARhF4ADCqwOsBgGziK56kumB3Uvt/sWZBCicC7o/AA3FINs7J/HIA4sUpGgAwisADgFEEHgCMIvAAYBSBBwCjCDwAGEXgAcAoAg8ARhF4ADCKwAOAUQQeAIwi8ABgFIEHAKNiDvzw8LCWLFmiCxcuSJI++OADlZeXq7q6WtXV1Tpy5IhrQwIA4hfT5YL7+/vV1NSkUCgU/djAwIB2796tQCDg1mwAgCTE9Ax+3759am5ujsb8xo0bunjxohobG1VVVaUvv/xSkUjE1UEBAPGJ6Rn8li1b7tr+448/NH/+fDU3N6uoqEj19fU6cOCAXn755ZgP7PNNiW/SDOH3F3k9Qlpl4nrdninbv38iMnEmt+XCmhO6o9P06dO1ffv26PbKlSvV3t4eV+CHhoYViTiJHN4zfn+RwuHrXo+RNpm6XjdnSseaM+1nmqmPs5uycc35+XlxPzFO6FU0Z86c0Q8//BDddhxHBQXc/Q8AMklCgXccR59++qmuXr2qsbEx7d27V4sXL071bACAJCT0tHvu3Ll64403VFtbq1u3bqm8vFxLlixJ9WwAgCTEFfju7n/uCL9ixQqtWLEi5QMBAFKDd7ICgFEEHgCMIvAAYBSBBwCjCDwAGEXgAcAoAg8ARhF4ADCKwAOAUQQeAIwi8ABgFIEHAKMIPAAYReABwCgCDwBGEXgAMIrAA4BRBB4AjCLwAGAUgQcAowg8ABhF4AHAKAIPAEYReAAwisADgFEEHgCMIvAAYBSBBwCjCDwAGEXgAcAoAg8ARhF4ADCKwAOAUQQeAIwi8ABgFIEHAKNiCvzw8LCWLFmiCxcuSJJ6enpUVVWl8vJytba2ujogACAx4wa+v79ftbW1CoVCkqSRkRE1NjZqx44dOnz4sAYGBnTs2DG35wQAxGncwO/bt0/Nzc0KBAKSpJMnT2rGjBmaPn26CgoKVFVVpa6uLtcHBQDEp2C8L9iyZctd25cvX5bf749uBwIBDQ4Oxn1gn29K3PtkAr+/yOsR0ioT1+v2TG5+/8C0yaoLdie1/86m8hROdEcmPs5uy4U1jxv4f4tEIsrLy4tuO45z13ashoaGFYk4ce/nJb+/SOHwda/HSJtMXa+bM7m95mB9WVL71wW7Uz5fpj7ObsrGNefn58X9xDjuV9GUlJQoHA5Ht8PhcPT0DQAgc8Qd+NLSUp07d07nz5/X7du31dHRoYULF7oxGwAgCXGfonnggQcUDAa1du1ajY6OatGiRaqoqHBjNgBAEmIOfHf3P38YKisr06FDh1wZCACQGryTFQCMIvAAYBSBBwCj4v4jK5CMDTt6NHRtJOH9fcWTUjgNYBuBR1oNXRvRNw3PeT0GkBM4RQMARhF4ADCKwAOAUQQeAIwi8ABgFIEHAKMIPAAYReABwCgCDwBGEXgAMIrAA4BRBB4AjCLwAGAUgQcAowg8ABhF4AHAKG74gbhwRyZv+YonqS7YndT+X6xZkMKJkMkIPOLCHZm8lWyck/nlgOzDKRoAMIrAA4BRBB4AjCLwAGAUgQcAowg8ABhF4AHAKAIPAEYReAAwisADgFEEHgCMIvAAYBSBBwCjkrqa5MqVK3XlyhUVFNz5Np988olKS0tTMhgAIDkJB95xHIVCIf3000/RwAMAMkfCp2h+++03SVJdXZ1eeukl7d69O2VDAQCSl/BT72vXrqmsrEwffvihxsbGtGrVKj322GN65plnYtrf55uS6KE95fcXeT1CWt1rvdZ/Brm4PutrvpdcWHPCgZ83b57mzZsX3V6+fLmOHTsWc+CHhoYViTiJHt4Tfn+RwuHrXo+RNvdbr+WfQS48xv9eXy6s+d+ycc35+XlxPzFO+BTNiRMn1NvbG912HIdz8QCQQRIO/PXr19XS0qLR0VENDw+rra1NixcvTuVsAIAkJPyU+9lnn1V/f7+WLl2qSCSiV1555a5TNgAAbyV1TmXdunVat25dqmYBAKQQ72QFAKMIPAAYReABwCgCDwBGEXgAMIrAA4BRBB4AjCLwAGAUgQcAowg8ABhF4AHAKAIPAEZxAfccs2FHj4aujSS8v694UgqnAeAmAp9jhq6N6JuG52L62my86w2Af3CKBgCMIvAAYBSBBwCjCDwAGEXgAcAoAg8ARhF4ADCKwAOAUQQeAIwi8ABgFIEHAKMIPAAYReABwCgCDwBGEXgAMIrAA4BR3PAjy3BHJiTDVzxJdcHupPb/Ys2CFE4ENxH4LBPPHZmAf7tXnOO5c1cyvxyQfpyiAQCjCDwAGEXgAcAoAg8ARiUV+O+//14vvviiysvLtWfPnlTNBABIgYRfRTM4OKjW1lYdPHhQhYWFqqmp0dNPP61Zs2alcj4AQIISDnxPT4/mz5+vqVOnSpJeeOEFdXV16Z133olp//z8vEQP7Smv5w5Mm5zWGbxerxdY8/2l+9+fm7JtHYnMm3DgL1++LL/fH90OBAI6efJkzPtPm/ZQoof2lM83xdPj72wqT+vxvF6vF1jz/aX735+bcuFxTvgcfCQSUV7eP79RHMe5axsA4K2EA19SUqJwOBzdDofDCgQCKRkKAJC8hAO/YMEC9fb26sqVK7px44Z+/PFHLVy4MJWzAQCSkPA5+Icffljr16/XqlWrNDY2puXLl+vJJ59M5WwAgCTkOY7jeD0EACD1eCcrABhF4AHAKAIPAEYReAAwisAn4PTp03riiSe8HiMt+vr6tHz5clVXV2v16tX6/fffvR7JNbl28bxt27apsrJSlZWVamlp8XqctPr888/V0NDg9RiuI/BxunHjhjZt2qSxsTGvR0mLDRs2aPPmzfruu+9UVVWlzZs3ez2SK/538bxvv/1W7e3t2rt3r3799Vevx3JNT0+Pjh8/rra2NrW3t+vUqVM6cuSI12OlRW9vr9ra2rweIy0IfJyCwaBWr17t9RhpcfPmTb333nuaO3euJGnOnDm6dOmSx1O54/8vnvfggw9GL55nld/vV0NDgwoLCzVx4kTNnDlTFy9e9Hos1/35559qbW3Vm2++6fUoaUHg43D06FGNjIyooqLC61HSorCwUNXV1ZLuXHto27Ztev755z2eyh33unje4OCghxO5a/bs2XrqqackSaFQSJ2dnVq0aJHHU7nvo48+0vr161VcXOz1KGmR8DtZLevs7NRnn31218cef/xxDQ8Pa9euXd4M5bL7rXnXrl26efOmGhoadOvWLdXX13s0obty9eJ5Z8+eVX19vTZu3KhHH33U63FctX//fj3yyCMqKyvTwYMHvR4nLXgna4z279+vr776Sg89dOcyx7/88ovmzp2rPXv2aMoUu5cd/euvv/TWW29p6tSp2rp1qwoLC70eyRVtbW06ceKEtmzZIknavn27HMeJ+f4G2aivr0/vvvuuGhsbVVlZ6fU4rnv99dcVDoc1YcIEXb16VX///beWLl2qxsZGr0dzDYFP0Jw5c3TmzBmvx3DdmjVr5PP59PHHHys/3+4ZvcHBQdXW1urAgQOaPHmyampqtGnTJrPXV7p06ZKWLVum1tZWlZWVeT1O2h08eFA///yzgsGg16O4ilM0uK/Tp0/r6NGjmjVrlpYtWybpzrnpr7/+2uPJUi/XLp63c+dOjY6O3hW4mpoa1dbWejgVUo1n8ABglN3/5waAHEfgAcAoAg8ARhF4ADCKwAOAUQQeAIwi8ABgFIEHAKP+C1Lor/2bugNZAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(x, bins, histtype='step');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This function will create a nearly identical plot to the one seen here. To compute the binning, Matplotlib uses the np.histogram function, which does a very similar computation to what we did before. Let’s compare the two here:" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "NumPy routine:\n", + "43.4 µs ± 1.39 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n", + "Custom routine:\n", + "23.9 µs ± 1.82 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n" + ] + } + ], + "source": [ + "print(\"NumPy routine:\")\n", + "%timeit counts, edges = np.histogram(x, bins)\n", + "print(\"Custom routine:\")\n", + "%timeit np.add.at(counts, np.searchsorted(bins, x), 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our own one-line algorithm is several times faster than the optimized algorithm in NumPy! NumPy’s algorithm is more flexible, and particularly is designed for better performance when the number of data points becomes large:" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "NumPy routine:\n", + "72.1 ms ± 1.13 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", + "Custom routine:\n", + "146 ms ± 1.82 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + ] + } + ], + "source": [ + " x = np.random.randn(1000000)\n", + "print(\"NumPy routine:\")\n", + "%timeit counts, edges = np.histogram(x, bins)\n", + "print(\"Custom routine:\")\n", + "%timeit np.add.at(counts, np.searchsorted(bins, x), 1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 883b67b527b2d26ff5b09c37016bb9336831b13a Mon Sep 17 00:00:00 2001 From: Michael M Date: Thu, 31 Jan 2019 10:25:00 +0300 Subject: [PATCH 03/14] Update log.md --- log.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/log.md b/log.md index b258791..87033c1 100644 --- a/log.md +++ b/log.md @@ -10,6 +10,16 @@ 26/01/2019 +## Week 2: Introduction to Numpy + +**Week 1 Progress**: Finished going through Chapter 2 – Numpy Introduction + +**Thoughts**: This has been my best chapter so far. There're a lot of thing I learnt on Numpy. I did document while writing code on my jupyter notebook to grasp skill in detail. I like the **fancy indexing**. + +**Link to work**: https://github.com/mickeywise/Python4ds_cohort-1/blob/M_Machira/Numpy.ipynb + +31/01/2019 + ## Contents * [Rules](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/rules.md) * [Log - click here to see my progress](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/log.md) From 54be605b9247b1772857a6aed40f74d43a64a8eb Mon Sep 17 00:00:00 2001 From: Michael M Date: Thu, 31 Jan 2019 10:50:22 +0300 Subject: [PATCH 04/14] Update log.md --- log.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/log.md b/log.md index 87033c1..5ab6fb4 100644 --- a/log.md +++ b/log.md @@ -2,7 +2,7 @@ ## Week 1: Introduction -**Week 1 Progress**: Finished going through Chapter 1 – IPython:Beyond Normal Python +**Week 1 Progress**: Finished going through Chapter 1 – IPython:Beyond Normal Python **Thoughts**: The first chapter is very insightful. I did work using the Jupyter IPython command-line, I just realized there're alot of thing i didn't know. The chapter is worthwhile. @@ -12,7 +12,7 @@ ## Week 2: Introduction to Numpy -**Week 1 Progress**: Finished going through Chapter 2 – Numpy Introduction +**Week 2 Progress**: Finished going through Chapter 2 – Numpy Introduction **Thoughts**: This has been my best chapter so far. There're a lot of thing I learnt on Numpy. I did document while writing code on my jupyter notebook to grasp skill in detail. I like the **fancy indexing**. From 58697779be0961bb37a6be025c64079cd3770bc8 Mon Sep 17 00:00:00 2001 From: Michael M Date: Thu, 31 Jan 2019 10:50:29 +0300 Subject: [PATCH 05/14] Update log.md --- log.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log.md b/log.md index 87033c1..62bedf1 100644 --- a/log.md +++ b/log.md @@ -12,7 +12,7 @@ ## Week 2: Introduction to Numpy -**Week 1 Progress**: Finished going through Chapter 2 – Numpy Introduction +**Week 2 Progress**: Finished going through Chapter 2 – Numpy Introduction **Thoughts**: This has been my best chapter so far. There're a lot of thing I learnt on Numpy. I did document while writing code on my jupyter notebook to grasp skill in detail. I like the **fancy indexing**. From 367eb7f68514631fa0138a235329cba8c025ffb1 Mon Sep 17 00:00:00 2001 From: Michael M Date: Sat, 16 Feb 2019 19:37:10 +0300 Subject: [PATCH 06/14] Week 3 Progress --- Pandas Tutorial.ipynb | 14033 ++++++++++++++++++++++++++++++++++++++++ Pandas Tutorial.py | 2795 ++++++++ 2 files changed, 16828 insertions(+) create mode 100644 Pandas Tutorial.ipynb create mode 100644 Pandas Tutorial.py diff --git a/Pandas Tutorial.ipynb b/Pandas Tutorial.ipynb new file mode 100644 index 0000000..6b7f01a --- /dev/null +++ b/Pandas Tutorial.ipynb @@ -0,0 +1,14033 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The Pandas Series Object" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0.25\n", + "1 0.50\n", + "2 0.75\n", + "3 1.00\n", + "dtype: float64" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = pd.Series([0.25, 0.5, 0.75, 1.0])\n", + "data" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.25, 0.5 , 0.75, 1. ])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.values" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "RangeIndex(start=0, stop=4, step=1)" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.index" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.5" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 0.50\n", + "2 0.75\n", + "dtype: float64" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[1:3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From what we’ve seen so far, it may look like the Series object is basically interchangeable with a one-dimensional NumPy array. The essential difference is the presence of the index: while the NumPy array has an implicitly defned integer index used to access the values, the Pandas Series has an explicitly defned index associated with the values.\n", + "This explicit index definition gives the Series object additional capabilities. For example, the index need not be an integer, but can consist of values of any desired type. For example, if we wish, we can use strings as an index:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 0.25\n", + "b 0.50\n", + "c 0.75\n", + "d 1.00\n", + "dtype: float64" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = pd.Series([0.25, 0.5, 0.75, 1.0],\n", + " index=['a', 'b', 'c', 'd'])\n", + "data" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.5" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['b']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can even use noncontiguous or nonsequential indices:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2 0.25\n", + "5 0.50\n", + "3 0.75\n", + "7 1.00\n", + "dtype: float64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = pd.Series([0.25, 0.5, 0.75, 1.0],\n", + " index=[2, 5, 3, 7])\n", + "data" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.5" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[5]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Series as specialized dictionary\n", + "In this way, you can think of a Pandas Series a bit like a specialization of a Python dictionary. A dictionary is a structure that maps arbitrary keys to a set of arbitrary values, and a Series is a structure that maps typed keys to a set of typed values. This typing is important: just as the type-specific compiled code behind a NumPy array makes it more efficient than a Python list for certain operations, the type information\n", + "of a Pandas Series makes it much more efficient than Python dictionaries for certain operations.\n", + "We can make the Series-as-dictionary analogy even more clear by constructing a Series object directly from a Python dictionary:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 38332521\n", + "Texas 26448193\n", + "New York 19651127\n", + "Florida 19552860\n", + "Illinois 12882135\n", + "dtype: int64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "population_dict = {'California': 38332521,\n", + " 'Texas': 26448193,\n", + " 'New York': 19651127,\n", + " 'Florida': 19552860,\n", + " 'Illinois': 12882135}\n", + "\n", + "population = pd.Series(population_dict)\n", + "population" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By default, a Series will be created where the index is drawn from the sorted keys. From here, typical dictionary-style item access can be performed:" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "38332521" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "population['California']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Unlike a dictionary, though, the Series also supports array-style operations such as slicing:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Texas 26448193\n", + "New York 19651127\n", + "Florida 19552860\n", + "Illinois 12882135\n", + "dtype: int64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "population['Texas':'Illinois']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Constructing Series objects\n", + "For example, data can be a list or NumPy array, in which case index defaults to an integer sequence:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 2\n", + "1 4\n", + "2 6\n", + "dtype: int64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series([2, 4, 6])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "data can be a scalar, which is repeated to fill the specified index:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "100 5\n", + "200 5\n", + "300 5\n", + "dtype: int64" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(5, index=[100, 200, 300])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "data can be a dictionary, in which index defaults to the sorted dictionary keys:\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2 a\n", + "1 b\n", + "3 c\n", + "dtype: object" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series({2:'a', 1:'b', 3:'c'})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In each case, the index can be explicitly set if a different result is preferred:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3 c\n", + "2 a\n", + "dtype: object" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series({2:'a', 1:'b', 3:'c'}, index=[3, 2])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that in this case, the Series is populated only with the explicitly identified keys." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The Pandas Index Object\n", + "If a Series is an analog of a one-dimensional array with flexible indices, a DataFrame is an analog of a two-dimensional array with both flexible row indices and flexible column names. Just as you might think of a two-dimensional array as an ordered sequence of aligned one-dimensional columns, you can think of a DataFrame as a\n", + "sequence of aligned Series objects. Here, by “aligned†we mean that they share the same index." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 423967\n", + "Texas 695662\n", + "New York 141297\n", + "Florida 170312\n", + "Illinois 149995\n", + "dtype: int64" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "area_dict = {'California': 423967, 'Texas': 695662, \n", + " 'New York': 141297,'Florida': 170312, 'Illinois': 149995}\n", + "area = pd.Series(area_dict)\n", + "area" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
populationarea
California38332521423967
Texas26448193695662
New York19651127141297
Florida19552860170312
Illinois12882135149995
\n", + "
" + ], + "text/plain": [ + " population area\n", + "California 38332521 423967\n", + "Texas 26448193 695662\n", + "New York 19651127 141297\n", + "Florida 19552860 170312\n", + "Illinois 12882135 149995" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "states = pd.DataFrame({'population': population,\n", + " 'area': area})\n", + "states" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like the Series object, the DataFrame has an index attribute that gives access to the index labels:" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['California', 'Texas', 'New York', 'Florida', 'Illinois'], dtype='object')" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "states.index" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally, the DataFrame has a columns attribute, which is an Index object holding the column labels:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['population', 'area'], dtype='object')" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "states.columns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Thus the DataFrame can be thought of as a generalization of a two-dimensional NumPy array, where both the rows and columns have a generalized index for accessing the data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### DataFrame as specialized dictionary\n", + "Similarly, we can also think of a DataFrame as a specialization of a dictionary. Where a dictionary maps a key to a value, a DataFrame maps a column name to a Series of column data. For example, asking for the 'area' attribute returns the Series object\n", + "containing the areas we saw earlier:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 423967\n", + "Texas 695662\n", + "New York 141297\n", + "Florida 170312\n", + "Illinois 149995\n", + "Name: area, dtype: int64" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "states['area']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice the potential point of confusion here: in a two-dimensional NumPy array, data[0] will return the first row. For a DataFrame, data['col0'] will return the first column. Because of this, it is probably better to think about DataFrames as generalized dictionaries rather than generalized arrays, though both ways of looking at the situation can be useful. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Constructing DataFrame objects\n", + "A Pandas DataFrame can be constructed in a variety of ways. Here we’ll give several examples.\n", + "\n", + "**From a single Series object.** A DataFrame is a collection of Series objects, and a singlecolumn DataFrame can be constructed from a single Series:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
population
California38332521
Texas26448193
New York19651127
Florida19552860
Illinois12882135
\n", + "
" + ], + "text/plain": [ + " population\n", + "California 38332521\n", + "Texas 26448193\n", + "New York 19651127\n", + "Florida 19552860\n", + "Illinois 12882135" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.DataFrame(population, columns=['population'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**From a list of dicts.** Any list of dictionaries can be made into a DataFrame. We’ll use a simple list comprehension to create some data:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ab
000
112
224
\n", + "
" + ], + "text/plain": [ + " a b\n", + "0 0 0\n", + "1 1 2\n", + "2 2 4" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = [{'a': i, 'b': 2 * i}\n", + " for i in range(3)]\n", + "pd.DataFrame(data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Even if some keys in the dictionary are missing, Pandas will fill them in with NaN (i.e., “not a numberâ€) values:" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
abc
01.02NaN
1NaN34.0
\n", + "
" + ], + "text/plain": [ + " a b c\n", + "0 1.0 2 NaN\n", + "1 NaN 3 4.0" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " pd.DataFrame([{'a': 1, 'b': 2}, {'b': 3, 'c': 4}])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**From a dictionary of Series objects.** As we saw before, a DataFrame can be constructed from a dictionary of Series objects as well:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
populationarea
California38332521423967
Texas26448193695662
New York19651127141297
Florida19552860170312
Illinois12882135149995
\n", + "
" + ], + "text/plain": [ + " population area\n", + "California 38332521 423967\n", + "Texas 26448193 695662\n", + "New York 19651127 141297\n", + "Florida 19552860 170312\n", + "Illinois 12882135 149995" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.DataFrame({'population': population,\n", + " 'area': area})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**From a two-dimensional NumPy array.** Given a two-dimensional array of data, we can create a DataFrame with any specified column and index names. If omitted, an integer index will be used for each:" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
foobar
a0.1451620.521010
b0.7648520.055235
c0.9467330.824080
\n", + "
" + ], + "text/plain": [ + " foo bar\n", + "a 0.145162 0.521010\n", + "b 0.764852 0.055235\n", + "c 0.946733 0.824080" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.DataFrame(np.random.rand(3, 2), columns=['foo', 'bar'],\n", + " index=['a', 'b', 'c'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**From a NumPy structured array.** A Pandas DataFrame operates much like a structured array, and can be created directly from one:" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([(0, 0.), (0, 0.), (0, 0.)], dtype=[('A', '\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AB
000.0
100.0
200.0
\n", + "" + ], + "text/plain": [ + " A B\n", + "0 0 0.0\n", + "1 0 0.0\n", + "2 0 0.0" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.DataFrame(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The Pandas Index Object\n", + "We have seen here that both the Series and DataFrame objects contain an explicit index that lets you reference and modify data. This Index object is an interesting structure in itself, and it can be thought of either as an immutable array or as an ordered set (technically a multiset, as Index objects may contain repeated values).\n", + "Those views have some interesting consequences in the operations available on Index objects. As a simple example, let’s construct an Index from a list of integers:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Int64Index([2, 3, 5, 7, 11], dtype='int64')" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind = pd.Index([2, 3, 5, 7, 11])\n", + "ind" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Index as immutable array\n", + "The Index object in many ways operates like an array. For example, we can use standard Python indexing notation to retrieve values or slices:" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Int64Index([2, 5, 11], dtype='int64')" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ind[::2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Index objects also have many of the attributes familiar from NumPy arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5 (5,) 1 int64\n" + ] + } + ], + "source": [ + "print(ind.size, ind.shape, ind.ndim, ind.dtype)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One difference between Index objects and NumPy arrays is that indices are immutable—that is, they cannot be modified via the normal means:" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "Index does not support mutable operations", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mind\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36m__setitem__\u001b[1;34m(self, key, value)\u001b[0m\n\u001b[0;32m 2063\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2064\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__setitem__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2065\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Index does not support mutable operations\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2066\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2067\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__getitem__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: Index does not support mutable operations" + ] + } + ], + "source": [ + "ind[1]=0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This immutability makes it safer to share indices between multiple DataFrames and arrays, without the potential for side effects from inadvertent index modification.\n", + "#### Index as ordered set\n", + "Pandas objects are designed to facilitate operations such as joins across datasets, which depend on many aspects of set arithmetic. The Index object follows many of he conventions used by Python’s built-in set data structure, so that unions, intersections, differences, and other combinations can be computed in a familiar way:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "indA = pd.Index([1, 3, 5, 7, 9])\n", + "indB = pd.Index([2, 3, 5, 7, 11])" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Int64Index([3, 5, 7], dtype='int64')" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indA & indB # intersection" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Int64Index([1, 2, 3, 5, 7, 9, 11], dtype='int64')" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indA | indB # union" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Int64Index([1, 2, 9, 11], dtype='int64')" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "indA ^ indB # symmetric difference" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These operations may also be accessed via object methods—for example, indA.intersection(indB)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Indexing and Selection\n", + "#### Data Selection in Series\n", + "##### Series as dictionary\n", + "Like a dictionary, the Series object provides a mapping from a collection of keys to a collection of values:" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 0.25\n", + "b 0.50\n", + "c 0.75\n", + "d 1.00\n", + "dtype: float64" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "data = pd.Series([0.25, 0.5, 0.75, 1.0],\n", + " index=['a', 'b', 'c', 'd'])\n", + "data" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.5" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['b']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also use dictionary-like Python expressions and methods to examine the keys/indices and values:" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'a' in data" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['a', 'b', 'c', 'd'], dtype='object')" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[('a', 0.25), ('b', 0.5), ('c', 0.75), ('d', 1.0)]" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(data.items())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Series objects can even be modified with a dictionary-like syntax. Just as you can extend a dictionary by assigning to a new key, you can extend a Series by assigning to a new index value:" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 0.25\n", + "b 0.50\n", + "c 0.75\n", + "d 1.00\n", + "e 1.25\n", + "dtype: float64" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['e'] = 1.25\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This easy mutability of the objects is a convenient feature: under the hood, Pandas is making decisions about memory layout and data copying that might need to take place; the user generally does not need to worry about these issues.\n", + "#### Series as one-dimensional array\n", + "A Series builds on this dictionary-like interface and provides array-style item selection via the same basic mechanisms as NumPy arrays—that is, _slices, masking, and fancy indexing_. Examples of these are as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 0.25\n", + "b 0.50\n", + "c 0.75\n", + "dtype: float64" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# slicing by explicit index\n", + "data['a':'c']" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 0.25\n", + "b 0.50\n", + "dtype: float64" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# slicing by implicit integer index\n", + "data[0:2]" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "b 0.50\n", + "c 0.75\n", + "dtype: float64" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# masking\n", + "data[(data > 0.3) & (data < 0.8)]" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 0.25\n", + "e 1.25\n", + "dtype: float64" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# fancy indexing\n", + "data[['a', 'e']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Indexers: loc, iloc, and ix\n", + "These slicing and indexing conventions can be a source of confusion. For example, if your Series has an explicit integer index, an indexing operation such as data[1] will use the explicit indices, while a slicing operation like data[1:3] will use the implicit Python-style index." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 a\n", + "3 b\n", + "5 c\n", + "dtype: object" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = pd.Series(['a', 'b', 'c'], index=[1, 3, 5])\n", + "data" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'a'" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# explicit index when indexing\n", + "data[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3 b\n", + "5 c\n", + "dtype: object" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# implicit index when slicing\n", + "data[1:3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because of this potential confusion in the case of integer indexes, Pandas provides some special indexer attributes that explicitly expose certain indexing schemes. These are not functional methods, but attributes that expose a particular slicing interface tothe data in the Series.\n", + "\n", + "First, the **loc** attribute allows indexing and slicing that always references the explicit index:" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'a'" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.loc[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 a\n", + "3 b\n", + "dtype: object" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.loc[1:3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The **iloc** attribute allows indexing and slicing that always references the implicit Python-style index:" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'b'" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.iloc[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3 b\n", + "5 c\n", + "dtype: object" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.iloc[1:3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A third indexing attribute, ix, is a hybrid of the two, and for Series objects is equivalent to standard []-based indexing. The purpose of the ix indexer will become more apparent in the context of DataFrame objects, which we will discuss in a moment." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**So, this is what you need to remember:**\n", + "\n", + "**.loc** takes slices based on labels. **.iloc** uses observations’ position. **.ix** uses both labels and positions.\n", + "\n", + "**.loc** includes last element, when using an interval slice (e.g, [“aâ€:â€câ€]). .iloc does not include last element.\n", + "\n", + "When using a integer based index be clear with what you want and avoid confusion by appropriately selecting **.loc** or **iloc** for the task. Avoid using **.ix**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Selection in DataFrame\n", + "#### DataFrame as a dictionary\n", + "The first analogy we will consider is the DataFrame as a dictionary of related Series objects. Let’s return to our example of areas and populations of states:" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapop
California42396738332521
Texas69566226448193
New York14129719651127
Florida17031219552860
Illinois14999512882135
\n", + "
" + ], + "text/plain": [ + " area pop\n", + "California 423967 38332521\n", + "Texas 695662 26448193\n", + "New York 141297 19651127\n", + "Florida 170312 19552860\n", + "Illinois 149995 12882135" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "area = pd.Series({'California': 423967, 'Texas': 695662,\n", + " 'New York': 141297, 'Florida': 170312,\n", + " 'Illinois': 149995})\n", + "\n", + "pop = pd.Series({'California': 38332521, 'Texas': 26448193,\n", + " 'New York': 19651127, 'Florida': 19552860,\n", + " 'Illinois': 12882135})\n", + "data = pd.DataFrame({'area':area, 'pop':pop})\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The individual Series that make up the columns of the DataFrame can be accessed via dictionary-style indexing of the column name:" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 423967\n", + "Texas 695662\n", + "New York 141297\n", + "Florida 170312\n", + "Illinois 149995\n", + "Name: area, dtype: int64" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Dictionary sytle\n", + "data['area']" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 423967\n", + "Texas 695662\n", + "New York 141297\n", + "Florida 170312\n", + "Illinois 149995\n", + "Name: area, dtype: int64" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#attribute style\n", + "data.area" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.area is data['area']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Though this is a useful shorthand, keep in mind that it does not work for all cases! For example, if the column names are not strings, or if the column names conflict with methods of the DataFrame, this attribute-style access is not possible. For example, the DataFrame has a pop() method, so data.pop will point to this rather than the \"pop\" column:" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "data.pop is data['pop']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In particular, you should avoid the temptation to try column assignment via attribute **_(i.e., use data['pop'] = z rather than data.pop = z)_**.\n", + "\n", + "Like with the Series objects discussed earlier, this dictionary-style syntax can also be used to modify the object, in this case to add a new column:" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapopdensity
California4239673833252190.413926
Texas6956622644819338.018740
New York14129719651127139.076746
Florida17031219552860114.806121
Illinois1499951288213585.883763
\n", + "
" + ], + "text/plain": [ + " area pop density\n", + "California 423967 38332521 90.413926\n", + "Texas 695662 26448193 38.018740\n", + "New York 141297 19651127 139.076746\n", + "Florida 170312 19552860 114.806121\n", + "Illinois 149995 12882135 85.883763" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['density'] = data['pop'] / data['area']\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### DataFrame as two-dimensional array\n", + "As mentioned previously, we can also view the DataFrame as an enhanced two-dimensional array. We can examine the raw underlying data array using the values attribute:" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[4.23967000e+05, 3.83325210e+07, 9.04139261e+01],\n", + " [6.95662000e+05, 2.64481930e+07, 3.80187404e+01],\n", + " [1.41297000e+05, 1.96511270e+07, 1.39076746e+02],\n", + " [1.70312000e+05, 1.95528600e+07, 1.14806121e+02],\n", + " [1.49995000e+05, 1.28821350e+07, 8.58837628e+01]])" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.values\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this picture in mind, we can do many familiar array-like observations on the DataFrame itself. For example, we can transpose the full DataFrame to swap rows and columns:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
CaliforniaTexasNew YorkFloridaIllinois
area4.239670e+056.956620e+051.412970e+051.703120e+051.499950e+05
pop3.833252e+072.644819e+071.965113e+071.955286e+071.288214e+07
density9.041393e+013.801874e+011.390767e+021.148061e+028.588376e+01
\n", + "
" + ], + "text/plain": [ + " California Texas New York Florida Illinois\n", + "area 4.239670e+05 6.956620e+05 1.412970e+05 1.703120e+05 1.499950e+05\n", + "pop 3.833252e+07 2.644819e+07 1.965113e+07 1.955286e+07 1.288214e+07\n", + "density 9.041393e+01 3.801874e+01 1.390767e+02 1.148061e+02 8.588376e+01" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When it comes to indexing of DataFrame objects, however, it is clear that the dictionary-style indexing of columns precludes our ability to simply treat it as a NumPy array. In particular, passing a single index to an array accesses a row:" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4.23967000e+05, 3.83325210e+07, 9.04139261e+01])" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.values[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "and passing a single “index†to a DataFrame accesses a column:" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 423967\n", + "Texas 695662\n", + "New York 141297\n", + "Florida 170312\n", + "Illinois 149995\n", + "Name: area, dtype: int64" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['area']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Thus for array-style indexing, we need another convention. Here Pandas again uses the loc, iloc, and ix indexers mentioned earlier. Using the iloc indexer, we can index the underlying array as if it is a simple NumPy array (using the implicit Python-style index), but the DataFrame index and column labels are maintained in the result:" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapop
California42396738332521
Texas69566226448193
New York14129719651127
\n", + "
" + ], + "text/plain": [ + " area pop\n", + "California 423967 38332521\n", + "Texas 695662 26448193\n", + "New York 141297 19651127" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.iloc[:3, :2]" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapop
California42396738332521
Texas69566226448193
New York14129719651127
Florida17031219552860
\n", + "
" + ], + "text/plain": [ + " area pop\n", + "California 423967 38332521\n", + "Texas 695662 26448193\n", + "New York 141297 19651127\n", + "Florida 170312 19552860" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.loc[:'Florida', :'pop']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ix indexer allows a hybrid of these two approaches:" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Michael\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:1: DeprecationWarning: \n", + ".ix is deprecated. Please use\n", + ".loc for label based indexing or\n", + ".iloc for positional indexing\n", + "\n", + "See the documentation here:\n", + "http://pandas.pydata.org/pandas-docs/stable/indexing.html#ix-indexer-is-deprecated\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapop
California42396738332521
Texas69566226448193
New York14129719651127
\n", + "
" + ], + "text/plain": [ + " area pop\n", + "California 423967 38332521\n", + "Texas 695662 26448193\n", + "New York 141297 19651127" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.ix[:3, :'pop']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Keep in mind that for integer indices, the ix indexer is subject to the same potential sources of confusion as discussed for integer-indexed Series objects.\n", + "\n", + "Any of the familiar NumPy-style data access patterns can be used within these indexers. For example, in the loc indexer we can combine masking and fancy indexing as in the following:" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
popdensity
New York19651127139.076746
Florida19552860114.806121
\n", + "
" + ], + "text/plain": [ + " pop density\n", + "New York 19651127 139.076746\n", + "Florida 19552860 114.806121" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.loc[data.density > 100, ['pop', 'density']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Additional indexing conventions\n", + "There are a couple extra indexing conventions that might seem at odds with the preceding discussion, but nevertheless can be very useful in practice. First, while _indexing_ refers to columns, _slicing_ refers to rows:" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapopdensity
Florida17031219552860114.806121
Illinois1499951288213585.883763
\n", + "
" + ], + "text/plain": [ + " area pop density\n", + "Florida 170312 19552860 114.806121\n", + "Illinois 149995 12882135 85.883763" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['Florida':'Illinois']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Such slices can also refer to rows by number rather than by index:" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapopdensity
Texas6956622644819338.018740
New York14129719651127139.076746
\n", + "
" + ], + "text/plain": [ + " area pop density\n", + "Texas 695662 26448193 38.018740\n", + "New York 141297 19651127 139.076746" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[1:3]" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
areapopdensity
New York14129719651127139.076746
Florida17031219552860114.806121
\n", + "
" + ], + "text/plain": [ + " area pop density\n", + "New York 141297 19651127 139.076746\n", + "Florida 170312 19552860 114.806121" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data[data.density > 100]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Operating on Data in Pandas\n", + "One of the essential pieces of NumPy is the ability to perform quick element-wiseoperations, both with basic arithmetic (addition, subtraction, multiplication, etc.) and with more sophisticated operations (trigonometric functions, exponential and logarithmic functions, etc.). Pandas inherits much of this functionality from NumPy, and the ufuncs.\n", + "\n", + "Pandas includes a couple useful twists, however: for unary operations like negation and trigonometric functions, these ufuncs will preserve index and column labels in the output, and for binary operations such as addition and multiplication, Pandas will\n", + "automatically align indices when passing the objects to the ufunc. This means that keeping the context of data and combining data from different sources—both potentially error-prone tasks with raw NumPy arrays—become essentially foolproof ones with Pandas. We will additionally see that there are well-defined operations between one-dimensional Series structures and two-dimensional DataFrame structures." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Ufuncs: Index Preservation\n", + "Because Pandas is designed to work with NumPy, any NumPy ufunc will work on Pandas Series and DataFrame objects. Let’s start by defining a simple Series and DataFrame on which to demonstrate this:" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 6\n", + "1 3\n", + "2 7\n", + "3 4\n", + "dtype: int32" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rng = np.random.RandomState(42)\n", + "ser = pd.Series(rng.randint(0, 10, 4))\n", + "ser" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ABCD
06926
17437
27254
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "0 6 9 2 6\n", + "1 7 4 3 7\n", + "2 7 2 5 4" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame(rng.randint(0, 10, (3, 4)),\n", + " columns=['A', 'B', 'C', 'D'])\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we apply a NumPy ufunc on either of these objects, the result will be another Pandas object _with the indices preserved:_" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 403.428793\n", + "1 20.085537\n", + "2 1096.633158\n", + "3 54.598150\n", + "dtype: float64" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.exp(ser)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Or, for a slightly more complex calculation:" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ABCD
0-1.0000007.071068e-011.000000-1.000000e+00
1-0.7071071.224647e-160.707107-7.071068e-01
2-0.7071071.000000e+00-0.7071071.224647e-16
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "0 -1.000000 7.071068e-01 1.000000 -1.000000e+00\n", + "1 -0.707107 1.224647e-16 0.707107 -7.071068e-01\n", + "2 -0.707107 1.000000e+00 -0.707107 1.224647e-16" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sin(df * np.pi / 4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### UFuncs: Index Alignment\n", + "For binary operations on two Series or DataFrame objects, Pandas will align indices in the process of performing the operation. This is very convenient when you are working with incomplete data, as we’ll see in some of the examples that follow.\n", + "#### Index alignment in Series\n", + "As an example, suppose we are combining two different data sources, and find only the top three US states by area and the top three US states by population:" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [], + "source": [ + "area = pd.Series({'Alaska': 1723337, 'Texas': 695662,\n", + " 'California': 423967}, name='area')\n", + "population = pd.Series({'California': 38332521, 'Texas': 26448193,\n", + " 'New York': 19651127}, name='population')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s see what happens when we divide these to compute the population density:" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Alaska NaN\n", + "California 90.413926\n", + "New York NaN\n", + "Texas 38.018740\n", + "dtype: float64" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "population / area" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Alaska', 'California', 'New York', 'Texas'], dtype='object')" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "area.index | population.index" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 NaN\n", + "1 5.0\n", + "2 9.0\n", + "3 NaN\n", + "dtype: float64" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = pd.Series([2, 4, 6], index=[0, 1, 2])\n", + "B = pd.Series([1, 3, 5], index=[1, 2, 3])\n", + "A + B" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If using NaN values is not the desired behavior, we can modify the fill value using appropriate object methods in place of the operators. For example, calling A.add(B) is equivalent to calling A + B, but allows optional explicit specification of the fill value for any elements in A or B that might be missing:" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 2.0\n", + "1 5.0\n", + "2 9.0\n", + "3 5.0\n", + "dtype: float64" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A.add(B, fill_value=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Index alignment in DataFrame\n", + "A similar type of alignment takes place for both columns and indices when you are performing operations on DataFrames:" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AB
0111
151
\n", + "
" + ], + "text/plain": [ + " A B\n", + "0 1 11\n", + "1 5 1" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = pd.DataFrame(rng.randint(0, 20, (2, 2)),\n", + " columns=list('AB'))\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
BAC
0409
1580
2926
\n", + "
" + ], + "text/plain": [ + " B A C\n", + "0 4 0 9\n", + "1 5 8 0\n", + "2 9 2 6" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "B = pd.DataFrame(rng.randint(0, 10, (3, 3)),\n", + " columns=list('BAC'))\n", + "B" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ABC
01.015.0NaN
113.06.0NaN
2NaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " A B C\n", + "0 1.0 15.0 NaN\n", + "1 13.0 6.0 NaN\n", + "2 NaN NaN NaN" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A + B" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ABC
01.015.013.5
113.06.04.5
26.513.510.5
\n", + "
" + ], + "text/plain": [ + " A B C\n", + "0 1.0 15.0 13.5\n", + "1 13.0 6.0 4.5\n", + "2 6.5 13.5 10.5" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fill = A.stack().mean()\n", + "A.add(B, fill_value=fill)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ufuncs: Operations Between DataFrame and Series\n", + "When you are performing operations between a DataFrame and a Series, the index and column alignment is similarly maintained. Operations between a DataFrame and a Series are similar to operations between a two-dimensional and one-dimensional NumPy array. Consider one common operation, where we find the difference of a two-dimensional array and one of its rows:" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[3, 8, 2, 4],\n", + " [2, 6, 4, 8],\n", + " [6, 1, 3, 8]])" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A = rng.randint(10, size=(3, 4))\n", + "A" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 0, 0, 0],\n", + " [-1, -2, 2, 4],\n", + " [ 3, -7, 1, 4]])" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "A - A[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
QRST
00000
1-1-224
23-714
\n", + "
" + ], + "text/plain": [ + " Q R S T\n", + "0 0 0 0 0\n", + "1 -1 -2 2 4\n", + "2 3 -7 1 4" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame(A, columns=list('QRST'))\n", + "df - df.iloc[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
QRST
0-50-6-4
1-40-22
25027
\n", + "
" + ], + "text/plain": [ + " Q R S T\n", + "0 -5 0 -6 -4\n", + "1 -4 0 -2 2\n", + "2 5 0 2 7" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.subtract(df['R'], axis=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Q 3\n", + "S 2\n", + "Name: 0, dtype: int32" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "halfrow = df.iloc[0, ::2]\n", + "halfrow" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
QRST
00.0NaN0.0NaN
1-1.0NaN2.0NaN
23.0NaN1.0NaN
\n", + "
" + ], + "text/plain": [ + " Q R S T\n", + "0 0.0 NaN 0.0 NaN\n", + "1 -1.0 NaN 2.0 NaN\n", + "2 3.0 NaN 1.0 NaN" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df - halfrow" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Handling Missing Data\n", + "Here and throughout the book, we’ll refer to missing data in general as null, NaN, or NA values.\n", + "#### None: Pythonic missing data\n", + "The first sentinel value used by Pandas is None, a Python singleton object that is often used for missing data in Python code. Because None is a Python object, it cannot be used in any arbitrary NumPy/Pandas array, but only in arrays with data type 'object' (i.e., arrays of Python objects):" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, None, 3, 4], dtype=object)" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vals1 = np.array([1, None, 3, 4])\n", + "vals1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This dtype=object means that the best common type representation NumPy could infer for the contents of the array is that they are Python objects. While this kind of object array is useful for some purposes, any operations on the data will be done at the Python level, with much more overhead than the typically fast operations seen for arrays with native types:" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dtype = object\n", + "129 ms ± 7.52 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", + "\n", + "dtype = int\n", + "4.89 ms ± 403 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", + "\n" + ] + } + ], + "source": [ + "for dtype in ['object', 'int']:\n", + " print(\"dtype =\", dtype)\n", + " %timeit np.arange(1E6, dtype=dtype).sum()\n", + " print()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The use of Python objects in an array also means that if you perform aggregations like sum() or min() across an array with a None value, you will generally get an error:" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "unsupported operand type(s) for +: 'int' and 'NoneType'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mvals1\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\numpy\\core\\_methods.py\u001b[0m in \u001b[0;36m_sum\u001b[1;34m(a, axis, dtype, out, keepdims, initial)\u001b[0m\n\u001b[0;32m 34\u001b[0m def _sum(a, axis=None, dtype=None, out=None, keepdims=False,\n\u001b[0;32m 35\u001b[0m initial=_NoValue):\n\u001b[1;32m---> 36\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mumr_sum\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mout\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkeepdims\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0minitial\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 37\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 38\u001b[0m def _prod(a, axis=None, dtype=None, out=None, keepdims=False,\n", + "\u001b[1;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'int' and 'NoneType'" + ] + } + ], + "source": [ + "vals1.sum()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### NaN: Missing numerical data\n", + "The other missing data representation, NaN (acronym for Not a Number), is different; it is a special floating-point value recognized by all systems that use the standard IEEE floating-point representation:" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('float64')" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vals2 = np.array([1, np.nan, 3, 4])\n", + "vals2.dtype" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that NumPy chose a native floating-point type for this array: this means that unlike the object array from before, this array supports fast operations pushed into compiled code. You should be aware that NaN is a bit like a data virus—it infects any other object it touches. Regardless of the operation, the result of arithmetic with NaN will be another NaN:" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "nan" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "1 + np.nan" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "nan" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "0 * np.nan" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that this means that aggregates over the values are well defined (i.e., they don’t result in an error) but not always useful:" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Michael\\Anaconda3\\lib\\site-packages\\numpy\\core\\_methods.py:32: RuntimeWarning: invalid value encountered in reduce\n", + " return umr_minimum(a, axis, None, out, keepdims, initial)\n", + "C:\\Users\\Michael\\Anaconda3\\lib\\site-packages\\numpy\\core\\_methods.py:28: RuntimeWarning: invalid value encountered in reduce\n", + " return umr_maximum(a, axis, None, out, keepdims, initial)\n" + ] + }, + { + "data": { + "text/plain": [ + "(nan, nan, nan)" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vals2.sum(), vals2.min(), vals2.max()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "NumPy does provide some special aggregations that will ignore these missing values:" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(8.0, 1.0, 4.0)" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " np.nansum(vals2), np.nanmin(vals2), np.nanmax(vals2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Keep in mind that NaN is specifically a floating-point value; there is no equivalent NaN value for integers, strings, or other types.\n", + "#### NaN and None in Pandas\n", + "NaN and None both have their place, and Pandas is built to handle the two of them nearly interchangeably, converting between them where appropriate:" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1.0\n", + "1 NaN\n", + "2 2.0\n", + "3 NaN\n", + "dtype: float64" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " pd.Series([1, np.nan, 2, None])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For types that don’t have an available sentinel value, Pandas automatically type-casts when NA values are present. For example, if we set a value in an integer array to np.nan, it will automatically be upcast to a floating-point type to accommodate the NA:" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0\n", + "1 1\n", + "dtype: int32" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = pd.Series(range(2), dtype=int)\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 NaN\n", + "1 1.0\n", + "dtype: float64" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[0] = None\n", + "x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that in addition to casting the integer array to floating point, Pandas automatically converts the None to a NaN value." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Operating on Null Values\n", + "As we have seen, Pandas treats None and NaN as essentially interchangeable for indicating missing or null values. To facilitate this convention, there are several useful methods for detecting, removing, and replacing null values in Pandas data structures. They are:\n", + "\n", + "isnull()\n", + "\n", + " Generate a Boolean mask indicating missing values\n", + " \n", + "notnull()\n", + "\n", + " Opposite of isnull()\n", + " \n", + "dropna()\n", + "\n", + " Return a filtered version of the data\n", + " \n", + "fillna()\n", + "\n", + " Return a copy of the data with missing values filled or imputed\n", + " \n", + "We will conclude this section with a brief exploration and demonstration of these routines." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Detecting null values\n", + "Pandas data structures have two useful methods for detecting null data: **isnull()** and **notnull()**. Either one will return a Boolean mask over the data. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [], + "source": [ + "data = pd.Series([1, np.nan, 'hello', None])" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 False\n", + "1 True\n", + "2 False\n", + "3 True\n", + "dtype: bool" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.isnull()" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "2 hello\n", + "dtype: object" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " data[data.notnull()]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The isnull() and notnull() methods produce similar Boolean results for Data Frames." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Dropping null values\n", + "In addition to the masking used before, there are the convenience methods, dropna() (which removes NA values) and fillna() (which fills in NA values). For a Series, the result is straightforward:" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "2 hello\n", + "dtype: object" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.dropna()" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
01.0NaN2
12.03.05
2NaN4.06
\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "0 1.0 NaN 2\n", + "1 2.0 3.0 5\n", + "2 NaN 4.0 6" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame([[1, np.nan, 2],\n", + " [2, 3, 5],\n", + " [np.nan, 4, 6]])\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We cannot drop single values from a DataFrame; we can only drop full rows or full columns. Depending on the application, you might want one or the other, so dropna() gives a number of options for a DataFrame.\n", + "By default, dropna() will drop all rows in which any null value is present:" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
12.03.05
\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "1 2.0 3.0 5" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dropna()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Alternatively, you can drop NA values along a different axis; axis=1 drops all columns containing a null value:" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
2
02
15
26
\n", + "
" + ], + "text/plain": [ + " 2\n", + "0 2\n", + "1 5\n", + "2 6" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dropna(axis='columns')" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
12.03.05
\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "1 2.0 3.0 5" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dropna(how ='any')" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
01.0NaN2
12.03.05
2NaN4.06
\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "0 1.0 NaN 2\n", + "1 2.0 3.0 5\n", + "2 NaN 4.0 6" + ] + }, + "execution_count": 114, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dropna(how ='all')" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0123
01.0NaN2NaN
12.03.05NaN
2NaN4.06NaN
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3\n", + "0 1.0 NaN 2 NaN\n", + "1 2.0 3.0 5 NaN\n", + "2 NaN 4.0 6 NaN" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[3] = np.nan\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
01.0NaN2
12.03.05
2NaN4.06
\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "0 1.0 NaN 2\n", + "1 2.0 3.0 5\n", + "2 NaN 4.0 6" + ] + }, + "execution_count": 116, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dropna(axis='columns', how='all')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For finer-grained control, the thresh parameter lets you specify a minimum number of non-null values for the row/column to be kept:" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0123
12.03.05NaN
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3\n", + "1 2.0 3.0 5 NaN" + ] + }, + "execution_count": 117, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dropna(axis='rows', thresh=3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here the first and last row have been dropped, because they contain only two nonnull values." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Filling null values\n", + "Sometimes rather than dropping NA values, you’d rather replace them with a valid value. This value might be a single number like zero, or it might be some sort of imputation or interpolation from the good values. You could do this in-place using the isnull() method as a mask, but because it is such a common operation Pandas provides the fillna() method, which returns a copy of the array with the null values replaced." + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 1.0\n", + "b NaN\n", + "c 2.0\n", + "d NaN\n", + "e 3.0\n", + "dtype: float64" + ] + }, + "execution_count": 118, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde'))\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can fill NA entries with a single value, such as zero:" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 1.0\n", + "b 0.0\n", + "c 2.0\n", + "d 0.0\n", + "e 3.0\n", + "dtype: float64" + ] + }, + "execution_count": 119, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.fillna(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can specify a forward-fill to propagate the previous value forward:" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 1.0\n", + "b 1.0\n", + "c 2.0\n", + "d 2.0\n", + "e 3.0\n", + "dtype: float64" + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# forward-fill\n", + "data.fillna(method='ffill')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For DataFrames, the options are similar, but we can also specify an axis along which the fills take place:" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0123
01.0NaN2NaN
12.03.05NaN
2NaN4.06NaN
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3\n", + "0 1.0 NaN 2 NaN\n", + "1 2.0 3.0 5 NaN\n", + "2 NaN 4.0 6 NaN" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0123
01.01.02.02.0
12.03.05.05.0
2NaN4.06.06.0
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3\n", + "0 1.0 1.0 2.0 2.0\n", + "1 2.0 3.0 5.0 5.0\n", + "2 NaN 4.0 6.0 6.0" + ] + }, + "execution_count": 122, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.fillna(method='ffill', axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that if a previous value is not available during a forward fill, the NA value remains." + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(California, 2000) 33871648\n", + "(California, 2010) 37253956\n", + "(New York, 2000) 18976457\n", + "(New York, 2010) 19378102\n", + "(Texas, 2000) 20851820\n", + "(Texas, 2010) 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "index = [('California', 2000), ('California', 2010),\n", + " ('New York', 2000), ('New York', 2010),\n", + " ('Texas', 2000), ('Texas', 2010)]\n", + "\n", + "populations = [33871648, 37253956,\n", + "18976457, 19378102,\n", + "20851820, 25145561]\n", + "pop = pd.Series(populations, index=index)\n", + "pop" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this indexing scheme, you can straightforwardly index or slice the series based on this multiple index:" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(California, 2010) 37253956\n", + "(New York, 2000) 18976457\n", + "(New York, 2010) 19378102\n", + "(Texas, 2000) 20851820\n", + "dtype: int64" + ] + }, + "execution_count": 125, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop[('California', 2010):('Texas', 2000)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But the convenience ends there. For example, if you need to select all values from 2010, you’ll need to do some messy (and potentially slow) munging to make it happen:" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(California, 2010) 37253956\n", + "(New York, 2010) 19378102\n", + "(Texas, 2010) 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 126, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop[[i for i in pop.index if i[1] == 2010]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This produces the desired result, but is not as clean (or as efficient for large datasets) as the slicing syntax we’ve grown to love in Pandas." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The better way: Pandas MultiIndex\n", + "Fortunately, Pandas provides a better way. Our tuple-based indexing is essentially a rudimentary multi-index, and the Pandas MultiIndex type gives us the type of operations we wish to have. We can create a multi-index from the tuples as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MultiIndex(levels=[['California', 'New York', 'Texas'], [2000, 2010]],\n", + " labels=[[0, 0, 1, 1, 2, 2], [0, 1, 0, 1, 0, 1]])" + ] + }, + "execution_count": 127, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "index = pd.MultiIndex.from_tuples(index)\n", + "index" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that the MultiIndex contains multiple levels of indexing—in this case, the state names and the years, as well as multiple labels for each data point which encode these levels.\n", + "\n", + "If we reindex our series with this MultiIndex, we see the hierarchical representation of the data:" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 2000 33871648\n", + " 2010 37253956\n", + "New York 2000 18976457\n", + " 2010 19378102\n", + "Texas 2000 20851820\n", + " 2010 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop = pop.reindex(index)\n", + "pop" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here the first two columns of the Series representation show the multiple index values, while the third column shows the data. Notice that some entries are missing in the first column: in this multi-index representation, any blank entry indicates the\n", + "same value as the line above it.\n", + "\n", + "Now to access all data for which the second index is 2010, we can simply use the Pandas slicing notation:" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 37253956\n", + "New York 19378102\n", + "Texas 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 129, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop[:, 2010]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The result is a singly indexed array with just the keys we’re interested in. This syntax is much more convenient (and the operation is much more efficient!) than the homespun tuple-based multi-indexing solution that we started with. We’ll now further discuss this sort of indexing operation on hierarchically indexed data.\n", + "#### MultiIndex as extra dimension\n", + "You might notice something else here: we could easily have stored the same data using a simple DataFrame with index and column labels. In fact, Pandas is built with this equivalence in mind. The unstack() method will quickly convert a multiplyindexed Series into a conventionally indexed DataFrame:" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
20002010
California3387164837253956
New York1897645719378102
Texas2085182025145561
\n", + "
" + ], + "text/plain": [ + " 2000 2010\n", + "California 33871648 37253956\n", + "New York 18976457 19378102\n", + "Texas 20851820 25145561" + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop_df = pop.unstack()\n", + "pop_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Naturally, the stack() method provides the opposite operation:" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 2000 33871648\n", + " 2010 37253956\n", + "New York 2000 18976457\n", + " 2010 19378102\n", + "Texas 2000 20851820\n", + " 2010 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 131, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop_df.stack()" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
totalunder18
California2000338716489267089
2010372539569284094
New York2000189764574687374
2010193781024318033
Texas2000208518205906301
2010251455616879014
\n", + "
" + ], + "text/plain": [ + " total under18\n", + "California 2000 33871648 9267089\n", + " 2010 37253956 9284094\n", + "New York 2000 18976457 4687374\n", + " 2010 19378102 4318033\n", + "Texas 2000 20851820 5906301\n", + " 2010 25145561 6879014" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " pop_df = pd.DataFrame({'total': pop,\n", + " 'under18': [9267089, 9284094,\n", + " 4687374, 4318033,\n", + " 5906301, 6879014]})\n", + "pop_df" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
20002010
California0.2735940.249211
New York0.2470100.222831
Texas0.2832510.273568
\n", + "
" + ], + "text/plain": [ + " 2000 2010\n", + "California 0.273594 0.249211\n", + "New York 0.247010 0.222831\n", + "Texas 0.283251 0.273568" + ] + }, + "execution_count": 133, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f_u18 = pop_df['under18'] / pop_df['total']\n", + "f_u18.unstack()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Methods of MultiIndex Creation\n", + "The most straightforward way to construct a multiply indexed Series or DataFrame is to simply pass a list of two or more index arrays to the constructor. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
data1data2
a10.9865450.702909
20.2090800.636198
b10.5903670.415860
20.7291230.735207
\n", + "
" + ], + "text/plain": [ + " data1 data2\n", + "a 1 0.986545 0.702909\n", + " 2 0.209080 0.636198\n", + "b 1 0.590367 0.415860\n", + " 2 0.729123 0.735207" + ] + }, + "execution_count": 134, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame(np.random.rand(4, 2),\n", + " index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]],\n", + " columns=['data1', 'data2'])\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "California 2000 33871648\n", + " 2010 37253956\n", + "Texas 2000 20851820\n", + " 2010 25145561\n", + "New York 2000 18976457\n", + " 2010 19378102\n", + "dtype: int64" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = {('California', 2000): 33871648,\n", + " ('California', 2010): 37253956,\n", + " ('Texas', 2000): 20851820,\n", + " ('Texas', 2010): 25145561,\n", + " ('New York', 2000): 18976457,\n", + " ('New York', 2010): 19378102}\n", + "pd.Series(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
20002010
California3387164837253956
New York1897645719378102
Texas2085182025145561
\n", + "
" + ], + "text/plain": [ + " 2000 2010\n", + "California 33871648 37253956\n", + "New York 18976457 19378102\n", + "Texas 20851820 25145561" + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(data).unstack()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Explicit MultiIndex constructors\n", + "For more flexibility in how the index is constructed, you can instead use the class method constructors available in the pd.MultiIndex. For example, as we did before, you can construct the MultiIndex from a simple list of arrays, giving the index values within each level:" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MultiIndex(levels=[['a', 'b'], [1, 2]],\n", + " labels=[[0, 0, 1, 1], [0, 1, 0, 1]])" + ] + }, + "execution_count": 137, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.MultiIndex.from_arrays([['a', 'a', 'b', 'b'], [1, 2, 1, 2]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can construct it from a list of tuples, giving the multiple index values of each point:" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MultiIndex(levels=[['a', 'b'], [1, 2]],\n", + " labels=[[0, 0, 1, 1], [0, 1, 0, 1]])" + ] + }, + "execution_count": 138, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.MultiIndex.from_tuples([('a', 1), ('a', 2), ('b', 1), ('b', 2)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can even construct it from a Cartesian product of single indices:" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MultiIndex(levels=[['a', 'b'], [1, 2]],\n", + " labels=[[0, 0, 1, 1], [0, 1, 0, 1]])" + ] + }, + "execution_count": 139, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.MultiIndex.from_product([['a', 'b'], [1, 2]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Similarly, you can construct the MultiIndex directly using its internal encoding by passing levels (a list of lists containing available index values for each level) and labels (a list of lists that reference these labels):" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MultiIndex(levels=[['a', 'b'], [1, 2]],\n", + " labels=[[0, 0, 1, 1], [0, 1, 0, 1]])" + ] + }, + "execution_count": 140, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.MultiIndex(levels=[['a', 'b'], [1, 2]],\n", + " labels=[[0, 0, 1, 1], [0, 1, 0, 1]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### MultiIndex level names\n", + "Sometimes it is convenient to name the levels of the MultiIndex. You can accomplish this by passing the names argument to any of the above MultiIndex constructors, or by setting the names attribute of the index after the fact:" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state year\n", + "California 2000 33871648\n", + " 2010 37253956\n", + "New York 2000 18976457\n", + " 2010 19378102\n", + "Texas 2000 20851820\n", + " 2010 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 141, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop.index.names = ['state', 'year']\n", + "pop" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With more involved datasets, this can be a useful way to keep track of the meaning of various index values.\n", + "#### MultiIndex for columns\n", + "In a DataFrame, the rows and columns are completely symmetric, and just as the rows can have multiple levels of indices, the columns can have multiple levels as well. Consider the following, which is a mock-up of some (somewhat realistic) medical data:" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subjectBobGuidoSue
typeHRTempHRTempHRTemp
yearvisit
2013145.037.050.037.728.036.7
236.037.326.035.526.035.7
2014142.036.837.036.034.036.4
225.036.156.037.434.036.1
\n", + "
" + ], + "text/plain": [ + "subject Bob Guido Sue \n", + "type HR Temp HR Temp HR Temp\n", + "year visit \n", + "2013 1 45.0 37.0 50.0 37.7 28.0 36.7\n", + " 2 36.0 37.3 26.0 35.5 26.0 35.7\n", + "2014 1 42.0 36.8 37.0 36.0 34.0 36.4\n", + " 2 25.0 36.1 56.0 37.4 34.0 36.1" + ] + }, + "execution_count": 142, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# hierarchical indices and columns\n", + "index = pd.MultiIndex.from_product([[2013, 2014], [1, 2]],\n", + " names=['year', 'visit'])\n", + "\n", + "columns = pd.MultiIndex.from_product([['Bob', 'Guido', 'Sue'], ['HR', 'Temp']],\n", + " names=['subject', 'type'])\n", + "# mock some data\n", + "data = np.round(np.random.randn(4, 6), 1)\n", + "data[:, ::2] *= 10\n", + "data += 37\n", + "\n", + "# create the DataFrame\n", + "health_data = pd.DataFrame(data, index=index, columns=columns)\n", + "health_data" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
typeHRTemp
yearvisit
2013150.037.7
226.035.5
2014137.036.0
256.037.4
\n", + "
" + ], + "text/plain": [ + "type HR Temp\n", + "year visit \n", + "2013 1 50.0 37.7\n", + " 2 26.0 35.5\n", + "2014 1 37.0 36.0\n", + " 2 56.0 37.4" + ] + }, + "execution_count": 143, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "health_data['Guido']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Indexing and Slicing a MultiIndex\n", + "#### Multiply indexed Series\n", + "Consider the multiply indexed Series of state populations we saw earlier:" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "33871648" + ] + }, + "execution_count": 144, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop['California', 2000]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The MultiIndex also supports _partial indexing_, or indexing just one of the levels in the index. The result is another Series, with the lower-level indices maintained:" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "year\n", + "2000 33871648\n", + "2010 37253956\n", + "dtype: int64" + ] + }, + "execution_count": 145, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " pop['California']" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state year\n", + "California 2000 33871648\n", + " 2010 37253956\n", + "New York 2000 18976457\n", + " 2010 19378102\n", + "dtype: int64" + ] + }, + "execution_count": 146, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop.loc['California':'New York']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With sorted indices, we can perform partial indexing on lower levels by passing an empty slice in the first index:" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state\n", + "California 33871648\n", + "New York 18976457\n", + "Texas 20851820\n", + "dtype: int64" + ] + }, + "execution_count": 147, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop[:, 2000]" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state year\n", + "California 2000 33871648\n", + " 2010 37253956\n", + "Texas 2010 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 148, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " pop[pop > 22000000]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Selection based on fancy indexing also works:" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state year\n", + "California 2000 33871648\n", + " 2010 37253956\n", + "Texas 2000 20851820\n", + " 2010 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 149, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop[['California', 'Texas']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Multiply indexed DataFrames\n", + "A multiply indexed DataFrame behaves in a similar manner. Consider our toy medical DataFrame from before:" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subjectBobGuidoSue
typeHRTempHRTempHRTemp
yearvisit
2013145.037.050.037.728.036.7
236.037.326.035.526.035.7
2014142.036.837.036.034.036.4
225.036.156.037.434.036.1
\n", + "
" + ], + "text/plain": [ + "subject Bob Guido Sue \n", + "type HR Temp HR Temp HR Temp\n", + "year visit \n", + "2013 1 45.0 37.0 50.0 37.7 28.0 36.7\n", + " 2 36.0 37.3 26.0 35.5 26.0 35.7\n", + "2014 1 42.0 36.8 37.0 36.0 34.0 36.4\n", + " 2 25.0 36.1 56.0 37.4 34.0 36.1" + ] + }, + "execution_count": 150, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "health_data" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "year visit\n", + "2013 1 50.0\n", + " 2 26.0\n", + "2014 1 37.0\n", + " 2 56.0\n", + "Name: (Guido, HR), dtype: float64" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "health_data['Guido', 'HR']" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subjectBob
typeHRTemp
yearvisit
2013145.037.0
236.037.3
\n", + "
" + ], + "text/plain": [ + "subject Bob \n", + "type HR Temp\n", + "year visit \n", + "2013 1 45.0 37.0\n", + " 2 36.0 37.3" + ] + }, + "execution_count": 152, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " health_data.iloc[:2, :2]" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "year visit\n", + "2013 1 45.0\n", + " 2 36.0\n", + "2014 1 42.0\n", + " 2 25.0\n", + "Name: (Bob, HR), dtype: float64" + ] + }, + "execution_count": 153, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "health_data.loc[:, ('Bob', 'HR')]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Working with slices within these index tuples is not especially convenient; trying to create a slice within a tuple will lead to a syntax error:" + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "invalid syntax (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m health_data.loc[(:, 1), (:, 'HR')]\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" + ] + } + ], + "source": [ + "health_data.loc[(:, 1), (:, 'HR')]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You could get around this by building the desired slice explicitly using Python’s builtin slice() function, but a better way in this context is to use an IndexSlice object, which Pandas provides for precisely this situation. " + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subjectBobGuidoSue
typeHRHRHR
yearvisit
2013145.050.028.0
2014142.037.034.0
\n", + "
" + ], + "text/plain": [ + "subject Bob Guido Sue\n", + "type HR HR HR\n", + "year visit \n", + "2013 1 45.0 50.0 28.0\n", + "2014 1 42.0 37.0 34.0" + ] + }, + "execution_count": 155, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "idx = pd.IndexSlice\n", + "health_data.loc[idx[:, 1], idx[:, 'HR']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Rearranging Multi-Indices\n", + "#### Sorted and unsorted indices\n", + "Earlier, we briefly mentioned a caveat, but we should emphasize it more here. _Many of the MultiIndex slicing operations will fail if the index is not sorted_. Let’s take a look at this here.\n", + "We’ll start by creating some simple multiply indexed data where the indices are _not lexographically sorted:_\n" + ] + }, + { + "cell_type": "code", + "execution_count": 156, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "char int\n", + "a 1 0.012541\n", + " 2 0.595189\n", + "c 1 0.923177\n", + " 2 0.880255\n", + "b 1 0.908409\n", + " 2 0.941204\n", + "dtype: float64" + ] + }, + "execution_count": 156, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "index = pd.MultiIndex.from_product([['a', 'c', 'b'], [1, 2]])\n", + "data = pd.Series(np.random.rand(6), index=index)\n", + "data.index.names = ['char', 'int']\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we try to take a partial slice of this index, it will result in an error:" + ] + }, + { + "cell_type": "code", + "execution_count": 157, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "'Key length (1) was greater than MultiIndex lexsort depth (0)'\n" + ] + } + ], + "source": [ + "try:\n", + " data['a':'b']\n", + "except KeyError as e:\n", + " print(type(e))\n", + " print(e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For various reasons, partial slices and other similar operations require the levels in the MultiIndex to be in sorted (i.e., lexographical) order. Pandas provides a number of convenience routines to perform this type of sorting; examples are the sort_index() and sortlevel() methods of the DataFrame. We’ll use the simplest, sort_index(), here:" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "char int\n", + "a 1 0.012541\n", + " 2 0.595189\n", + "b 1 0.908409\n", + " 2 0.941204\n", + "c 1 0.923177\n", + " 2 0.880255\n", + "dtype: float64" + ] + }, + "execution_count": 158, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = data.sort_index()\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With the index sorted in this way, partial slicing will work as expected:" + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "char int\n", + "a 1 0.012541\n", + " 2 0.595189\n", + "b 1 0.908409\n", + " 2 0.941204\n", + "dtype: float64" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['a':'b']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Stacking and unstacking indices\n", + "It is possible to convert a dataset from a stacked multi-index to a simple two-dimensional representation, optionally specifying the level to use:" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
stateCaliforniaNew YorkTexas
year
2000338716481897645720851820
2010372539561937810225145561
\n", + "
" + ], + "text/plain": [ + "state California New York Texas\n", + "year \n", + "2000 33871648 18976457 20851820\n", + "2010 37253956 19378102 25145561" + ] + }, + "execution_count": 160, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop.unstack(level=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
year20002010
state
California3387164837253956
New York1897645719378102
Texas2085182025145561
\n", + "
" + ], + "text/plain": [ + "year 2000 2010\n", + "state \n", + "California 33871648 37253956\n", + "New York 18976457 19378102\n", + "Texas 20851820 25145561" + ] + }, + "execution_count": 161, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop.unstack(level=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state year\n", + "California 2000 33871648\n", + " 2010 37253956\n", + "New York 2000 18976457\n", + " 2010 19378102\n", + "Texas 2000 20851820\n", + " 2010 25145561\n", + "dtype: int64" + ] + }, + "execution_count": 162, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop.unstack().stack()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Index setting and resetting\n", + "Another way to rearrange hierarchical data is to turn the index labels into columns; this can be accomplished with the reset_index method. Calling this on the population dictionary will result in a DataFrame with a state and year column holding the information that was formerly in the index. For clarity, we can optionally specify the name of the data for the column representation:" + ] + }, + { + "cell_type": "code", + "execution_count": 163, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
stateyearpopulation
0California200033871648
1California201037253956
2New York200018976457
3New York201019378102
4Texas200020851820
5Texas201025145561
\n", + "
" + ], + "text/plain": [ + " state year population\n", + "0 California 2000 33871648\n", + "1 California 2010 37253956\n", + "2 New York 2000 18976457\n", + "3 New York 2010 19378102\n", + "4 Texas 2000 20851820\n", + "5 Texas 2010 25145561" + ] + }, + "execution_count": 163, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop_flat = pop.reset_index(name='population')\n", + "pop_flat" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Often when you are working with data in the real world, the raw input data looks like this and it’s useful to build a MultiIndex from the column values. This can be done with the set_index method of the DataFrame, which returns a multiply indexed Data Frame:" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
population
stateyear
California200033871648
201037253956
New York200018976457
201019378102
Texas200020851820
201025145561
\n", + "
" + ], + "text/plain": [ + " population\n", + "state year \n", + "California 2000 33871648\n", + " 2010 37253956\n", + "New York 2000 18976457\n", + " 2010 19378102\n", + "Texas 2000 20851820\n", + " 2010 25145561" + ] + }, + "execution_count": 164, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pop_flat.set_index(['state', 'year'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Aggregations on Multi-Indices\n", + "We’ve previously seen that Pandas has built-in data aggregation methods, such as mean(), sum(), and max(). For hierarchically indexed data, these can be passed a level parameter that controls which subset of the data the aggregate is computed on." + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subjectBobGuidoSue
typeHRTempHRTempHRTemp
yearvisit
2013145.037.050.037.728.036.7
236.037.326.035.526.035.7
2014142.036.837.036.034.036.4
225.036.156.037.434.036.1
\n", + "
" + ], + "text/plain": [ + "subject Bob Guido Sue \n", + "type HR Temp HR Temp HR Temp\n", + "year visit \n", + "2013 1 45.0 37.0 50.0 37.7 28.0 36.7\n", + " 2 36.0 37.3 26.0 35.5 26.0 35.7\n", + "2014 1 42.0 36.8 37.0 36.0 34.0 36.4\n", + " 2 25.0 36.1 56.0 37.4 34.0 36.1" + ] + }, + "execution_count": 165, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "health_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Perhaps we’d like to average out the measurements in the two visits each year. We can do this by naming the index level we’d like to explore, in this case the year:" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
subjectBobGuidoSue
typeHRTempHRTempHRTemp
year
201340.537.1538.036.627.036.20
201433.536.4546.536.734.036.25
\n", + "
" + ], + "text/plain": [ + "subject Bob Guido Sue \n", + "type HR Temp HR Temp HR Temp\n", + "year \n", + "2013 40.5 37.15 38.0 36.6 27.0 36.20\n", + "2014 33.5 36.45 46.5 36.7 34.0 36.25" + ] + }, + "execution_count": 166, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_mean = health_data.mean(level='year')\n", + "data_mean" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By further making use of the axis keyword, we can take the mean among levels on the columns as well:" + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
typeHRTemp
year
201335.16666736.650000
201438.00000036.466667
\n", + "
" + ], + "text/plain": [ + "type HR Temp\n", + "year \n", + "2013 35.166667 36.650000\n", + "2014 38.000000 36.466667" + ] + }, + "execution_count": 167, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data_mean.mean(axis=1, level='type')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Combining Datasets: Concat and Append\n", + "These operations can involve anything from very straightforward concatenation of two different datasets, to more complicated database-style joins and merges that correctly handle any overlaps between the datasets. Series and DataFrames are built with this type of operation in mind, and Pandas includes functions and methods that make this sort of data wrangling fast and straightforward." + ] + }, + { + "cell_type": "code", + "execution_count": 168, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ABC
0A0B0C0
1A1B1C1
2A2B2C2
\n", + "
" + ], + "text/plain": [ + " A B C\n", + "0 A0 B0 C0\n", + "1 A1 B1 C1\n", + "2 A2 B2 C2" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def make_df(cols, ind):\n", + " \"\"\"Quickly make a DataFrame\"\"\"\n", + " data = {c: [str(c) + str(i) for i in ind]\n", + " for c in cols}\n", + " return pd.DataFrame(data, ind)\n", + " \n", + "# example DataFrame\n", + "make_df('ABC', range(3))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Recall: Concatenation of NumPy Arrays\n", + "Concatenation of Series and DataFrame objects is very similar to concatenation of NumPy arrays, which can be done via the np.concatenate function. Recall that with it, you can combine the contents of two or more arrays into a single array:" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 170, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = [1, 2, 3]\n", + "y = [4, 5, 6]\n", + "z = [7, 8, 9]\n", + "np.concatenate([x, y, z])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first argument is a list or tuple of arrays to concatenate. Additionally, it takes an axis keyword that allows you to specify the axis along which the result will be concatenated:" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 1, 2],\n", + " [3, 4, 3, 4]])" + ] + }, + "execution_count": 171, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = [[1, 2],\n", + " [3, 4]]\n", + "np.concatenate([x, x], axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Recall: Concatenation of NumPy Arrays\n", + "Pandas has a function, pd.concat(), which has a similar syntax to np.concatenate but contains a number of options." + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'objs' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Signature in Pandas v0.18\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,\n\u001b[0m\u001b[0;32m 3\u001b[0m \u001b[0mkeys\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevels\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mverify_integrity\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m copy=True)\n", + "\u001b[1;31mNameError\u001b[0m: name 'objs' is not defined" + ] + } + ], + "source": [ + "# Signature in Pandas v0.18\n", + "pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,\n", + " keys=None, levels=None, names=None, verify_integrity=False,\n", + " copy=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "pd.concat() can be used for a simple concatenation of Series or DataFrame objects, just as np.concatenate() can be used for simple concatenations of arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 173, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 A\n", + "2 B\n", + "3 C\n", + "4 D\n", + "5 E\n", + "6 F\n", + "dtype: object" + ] + }, + "execution_count": 173, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ser1 = pd.Series(['A', 'B', 'C'], index=[1, 2, 3])\n", + "ser2 = pd.Series(['D', 'E', 'F'], index=[4, 5, 6])\n", + "pd.concat([ser1, ser2])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It also works to concatenate higher-dimensional objects, such as DataFrames:" + ] + }, + { + "cell_type": "code", + "execution_count": 174, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B\n", + "1 A1 B1\n", + "2 A2 B2\n", + " A B\n", + "3 A3 B3\n", + "4 A4 B4\n", + " A B\n", + "1 A1 B1\n", + "2 A2 B2\n", + "3 A3 B3\n", + "4 A4 B4\n" + ] + } + ], + "source": [ + "df1 = make_df('AB', [1, 2])\n", + "df2 = make_df('AB', [3, 4])\n", + "print(df1); print(df2); print(pd.concat([df1, df2]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By default, the concatenation takes place row-wise within the DataFrame (i.e., axis=0). Like np.concatenate, pd.concat allows specification of an axis along which concatenation will take place. Consider the following example:" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B\n", + "0 A0 B0\n", + "1 A1 B1\n", + " C D\n", + "0 C0 D0\n", + "1 C1 D1\n" + ] + }, + { + "ename": "ValueError", + "evalue": "No axis named col for object type ", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mdf3\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmake_df\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'AB'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0mdf4\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmake_df\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'CD'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf3\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m;\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf4\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m;\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconcat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mdf3\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdf4\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'col'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\reshape\\concat.py\u001b[0m in \u001b[0;36mconcat\u001b[1;34m(objs, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[0;32m 223\u001b[0m \u001b[0mkeys\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mkeys\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlevels\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlevels\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnames\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnames\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 224\u001b[0m \u001b[0mverify_integrity\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mverify_integrity\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 225\u001b[1;33m copy=copy, sort=sort)\n\u001b[0m\u001b[0;32m 226\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_result\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 227\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\reshape\\concat.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, objs, axis, join, join_axes, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[0;32m 322\u001b[0m \u001b[0maxis\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mDataFrame\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_axis_number\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 323\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 324\u001b[1;33m \u001b[0maxis\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msample\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_axis_number\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 325\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 326\u001b[0m \u001b[1;31m# Need to flip BlockManager axis in the DataFrame special case\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Anaconda3\\lib\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36m_get_axis_number\u001b[1;34m(self, axis)\u001b[0m\n\u001b[0;32m 373\u001b[0m \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 374\u001b[0m raise ValueError('No axis named {0} for object type {1}'\n\u001b[1;32m--> 375\u001b[1;33m .format(axis, type(self)))\n\u001b[0m\u001b[0;32m 376\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 377\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_get_axis_name\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mValueError\u001b[0m: No axis named col for object type " + ] + } + ], + "source": [ + "df3 = make_df('AB', [0, 1])\n", + "df4 = make_df('CD', [0, 1])\n", + "print(df3); print(df4); print(pd.concat([df3, df4], axis='col'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One important difference between np.concatenate and pd.concat is that Pandas concatenation preserves indices, even if the result will have duplicate indices! Consider this simple example:" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B\n", + "0 A0 B0\n", + "1 A1 B1\n", + " A B\n", + "0 A2 B2\n", + "1 A3 B3\n", + " A B\n", + "0 A0 B0\n", + "1 A1 B1\n", + "0 A2 B2\n", + "1 A3 B3\n" + ] + } + ], + "source": [ + "x = make_df('AB', [0, 1])\n", + "y = make_df('AB', [2, 3])\n", + "y.index = x.index # make duplicate indices!\n", + "print(x); print(y); print(pd.concat([x, y]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice the repeated indices in the result. While this is valid within DataFrames, the outcome is often undesirable. pd.concat() gives us a few ways to handle it\n", + "**Catching the repeats as an error**. If you’d like to simply verify that the indices in the result of pd.concat() do not overlap, you can specify the verify_integrity flag. With this set to True, the concatenation will raise an exception if there are duplicate indices. Here is an example, where for clarity we’ll catch and print the error message:" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ValueError: Indexes have overlapping values: Int64Index([0, 1], dtype='int64')\n" + ] + } + ], + "source": [ + "try:\n", + " pd.concat([x, y], verify_integrity=True)\n", + "except ValueError as e:\n", + " print(\"ValueError:\", e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Ignoring the index**. Sometimes the index itself does not matter, and you would prefer it to simply be ignored. You can specify this option using the ignore_index flag. With this set to True, the concatenation will create a new integer index for the resulting Series:" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B\n", + "0 A0 B0\n", + "1 A1 B1\n", + " A B\n", + "0 A2 B2\n", + "1 A3 B3\n", + " A B\n", + "0 A0 B0\n", + "1 A1 B1\n", + "2 A2 B2\n", + "3 A3 B3\n" + ] + } + ], + "source": [ + "print(x); print(y); print(pd.concat([x, y], ignore_index=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Adding MultiIndex keys**. Another alternative is to use the keys option to specify a label for the data sources; the result will be a hierarchically indexed series containing the data:" + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B\n", + "0 A0 B0\n", + "1 A1 B1\n", + " A B\n", + "0 A2 B2\n", + "1 A3 B3\n", + " A B\n", + "x 0 A0 B0\n", + " 1 A1 B1\n", + "y 0 A2 B2\n", + " 1 A3 B3\n" + ] + } + ], + "source": [ + "print(x); print(y); print(pd.concat([x, y], keys=['x', 'y']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Concatenation with joins\n", + "We just looked at, we were mainly concatenating DataFrames with shared column names. In practice, data from different sources might have different sets of column names, and pd.concat offers several options in this case. Consider the concatenation of the following two DataFrames, which have some (but not all!) columns in common:" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B C\n", + "1 A1 B1 C1\n", + "2 A2 B2 C2\n", + " B C D\n", + "3 B3 C3 D3\n", + "4 B4 C4 D4\n" + ] + } + ], + "source": [ + "df7 = make_df('ABC', [1, 2])\n", + "df8 = make_df('BCD', [3, 4])\n", + "print(df7); print(df8);" + ] + }, + { + "cell_type": "code", + "execution_count": 181, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "unexpected EOF while parsing (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m print(pd.concat([df7, df8])\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m unexpected EOF while parsing\n" + ] + } + ], + "source": [ + " print(pd.concat([df7, df8])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By default, the entries for which no data is available are filled with NA values. To change this, we can specify one of several options for the join and join_axes parameters of the concatenate function. By default, the join is a union of the input columns (join='outer'), but we can change this to an intersection of the columns using join='inner':" + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B C\n", + "1 A1 B1 C1\n", + "2 A2 B2 C2\n", + " B C D\n", + "3 B3 C3 D3\n", + "4 B4 C4 D4\n", + " B C\n", + "1 B1 C1\n", + "2 B2 C2\n", + "3 B3 C3\n", + "4 B4 C4\n" + ] + } + ], + "source": [ + "print(df7); print(df8);\n", + "print(pd.concat([df7, df8], join='inner'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another option is to directly specify the index of the remaining colums using the join_axes argument, which takes a list of index objects. Here we’ll specify that the returned columns should be the same as those of the first input:" + ] + }, + { + "cell_type": "code", + "execution_count": 183, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B C\n", + "1 A1 B1 C1\n", + "2 A2 B2 C2\n", + " B C D\n", + "3 B3 C3 D3\n", + "4 B4 C4 D4\n", + " A B C\n", + "1 A1 B1 C1\n", + "2 A2 B2 C2\n", + "3 NaN B3 C3\n", + "4 NaN B4 C4\n" + ] + } + ], + "source": [ + "print(df7); print(df8);\n", + "print(pd.concat([df7, df8], join_axes=[df7.columns]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The append() method\n", + "Because direct array concatenation is so common, Series and DataFrame objects have an append method that can accomplish the same thing in fewer keystrokes. For example, rather than calling pd.concat([df1, df2]), you can simply call df1.append(df2):" + ] + }, + { + "cell_type": "code", + "execution_count": 184, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " A B\n", + "1 A1 B1\n", + "2 A2 B2\n", + " A B\n", + "3 A3 B3\n", + "4 A4 B4\n", + " A B\n", + "1 A1 B1\n", + "2 A2 B2\n", + "3 A3 B3\n", + "4 A4 B4\n" + ] + } + ], + "source": [ + "print(df1); print(df2); print(df1.append(df2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Keep in mind that unlike the append() and extend() methods of Python lists, the append() method in Pandas does not modify the original object—instead, it creates a new object with the combined data. It also is not a very efficient method, because it involves creation of a new index and data buffer. Thus, if you plan to do multiple append operations, it is generally better to build a list of DataFrames and pass them all at once to the concat() function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Combining Datasets: Merge and Join\n", + "One essential feature offered by Pandas is its high-performance, in-memory join and merge operations. If you have ever worked with databases, you should be familiar with this type of data interaction. The main interface for this is the pd.merge function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Relational Algebra\n", + "The behavior implemented in pd.merge() is a subset of what is known as relational algebra, which is a formal set of rules for manipulating relational data, and forms the conceptual foundation of operations available in most databases. The strength of the relational algebra approach is that it proposes several primitive operations, which become the building blocks of more complicated operations on any dataset. With this lexicon of fundamental operations implemented efficiently in a database or other program, a wide range of fairly complicated composite operations can be performed.\n", + "\n", + "Pandas implements several of these fundamental building blocks in the pd.merge() function and the related join() method of Series and DataFrames. As we will see, these let you efficiently link data from different sources.\n", + "#### Categories of Joins\n", + "The pd.merge() function implements a number of types of joins: the one-to-one, many-to-one, and many-to-many joins. All three types of joins are accessed via an identical call to the pd.merge() interface; the type of join performed depends on the form of the input data. Here we will show simple examples of the three types of merges, and discuss detailed options further below.\n", + "#### One-to-one joins\n", + "Perhaps the simplest type of merge expression is the one-to-one join, which is in many ways very similar to the column-wise concatenation." + ] + }, + { + "cell_type": "code", + "execution_count": 185, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "df1 employee group\n", + "0 Bob Accounting\n", + "1 Jake Engineering\n", + "2 Lisa Engineering\n", + "3 Sue HR\n", + "df2 employee hire_date\n", + "0 Lisa 2004\n", + "1 Bob 2008\n", + "2 Jake 2012\n", + "3 Sue 2014\n" + ] + } + ], + "source": [ + "df1 = pd.DataFrame({'employee': ['Bob', 'Jake', 'Lisa', 'Sue'],\n", + " 'group': ['Accounting', 'Engineering', 'Engineering', 'HR']})\n", + "df2 = pd.DataFrame({'employee': ['Lisa', 'Bob', 'Jake', 'Sue'],\n", + " 'hire_date': [2004, 2008, 2012, 2014]})\n", + "print('df1', df1); print('df2', df2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To combine this information into a single DataFrame, we can use the pd.merge() function:" + ] + }, + { + "cell_type": "code", + "execution_count": 186, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
employeegrouphire_date
0BobAccounting2008
1JakeEngineering2012
2LisaEngineering2004
3SueHR2014
\n", + "
" + ], + "text/plain": [ + " employee group hire_date\n", + "0 Bob Accounting 2008\n", + "1 Jake Engineering 2012\n", + "2 Lisa Engineering 2004\n", + "3 Sue HR 2014" + ] + }, + "execution_count": 186, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df3 = pd.merge(df1, df2)\n", + "df3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The pd.merge() function recognizes that each DataFrame has an “employee†column, and automatically joins using this column as a key. The result of the merge is a new DataFrame that combines the information from the two inputs. Notice that the order of entries in each column is not necessarily maintained: in this case, the order of the “employee†column differs between df1 and df2, and the pd.merge() function correctly accounts for this. Additionally, keep in mind that the merge in general discards the index, except in the special case of merges by index.\n", + "#### Many-to-one joins\n", + "Many-to-one joins are joins in which one of the two key columns contains duplicate entries. For the many-to-one case, the resulting DataFrame will preserve those duplicate entries as appropriate. Consider the following example of a many-to-one join:" + ] + }, + { + "cell_type": "code", + "execution_count": 187, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " employee group hire_date\n", + "0 Bob Accounting 2008\n", + "1 Jake Engineering 2012\n", + "2 Lisa Engineering 2004\n", + "3 Sue HR 2014\n", + " group supervisor\n", + "0 Accounting Carly\n", + "1 Engineering Guido\n", + "2 HR Steve\n", + " employee group hire_date supervisor\n", + "0 Bob Accounting 2008 Carly\n", + "1 Jake Engineering 2012 Guido\n", + "2 Lisa Engineering 2004 Guido\n", + "3 Sue HR 2014 Steve\n" + ] + } + ], + "source": [ + "df4 = pd.DataFrame({'group': ['Accounting', 'Engineering', 'HR'],\n", + " 'supervisor': ['Carly', 'Guido', 'Steve']})\n", + "print(df3); print(df4); print(pd.merge(df3, df4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Many-to-many joins\n", + "Many-to-many joins are a bit confusing conceptually, but are nevertheless well defined. If the key column in both the left and right array contains duplicates, then the result is a many-to-many merge. This will be perhaps most clear with a concrete example. Consider the following, where we have a DataFrame showing one or more skills associated with a particular group." + ] + }, + { + "cell_type": "code", + "execution_count": 188, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " employee group\n", + "0 Bob Accounting\n", + "1 Jake Engineering\n", + "2 Lisa Engineering\n", + "3 Sue HR\n", + " group skills\n", + "0 Accounting math\n", + "1 Accounting spreadsheets\n", + "2 Engineering coding\n", + "3 Engineering linux\n", + "4 HR spreadsheets\n", + "5 HR organization\n", + " employee group skills\n", + "0 Bob Accounting math\n", + "1 Bob Accounting spreadsheets\n", + "2 Jake Engineering coding\n", + "3 Jake Engineering linux\n", + "4 Lisa Engineering coding\n", + "5 Lisa Engineering linux\n", + "6 Sue HR spreadsheets\n", + "7 Sue HR organization\n" + ] + } + ], + "source": [ + "df5 = pd.DataFrame({'group': ['Accounting', 'Accounting',\n", + " 'Engineering', 'Engineering', 'HR', 'HR'],\n", + " 'skills': ['math', 'spreadsheets', 'coding', 'linux',\n", + " 'spreadsheets', 'organization']})\n", + "print(df1); print(df5); print(pd.merge(df1, df5))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These three types of joins can be used with other Pandas tools to implement a wide array of functionality. But in practice, datasets are rarely as clean as the one we’re working with here." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Specifcation of the Merge Key\n", + "We’ve already seen the default behavior of pd.merge(): it looks for one or more matching column names between the two inputs, and uses this as the key. However, often the column names will not match so nicely, and pd.merge() provides a variety of options for handling this.\n", + "#### The on keyword\n", + "Most simply, you can explicitly specify the name of the key column using the on keyword, which takes a column name or a list of column names:" + ] + }, + { + "cell_type": "code", + "execution_count": 189, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " employee group\n", + "0 Bob Accounting\n", + "1 Jake Engineering\n", + "2 Lisa Engineering\n", + "3 Sue HR\n", + " employee hire_date\n", + "0 Lisa 2004\n", + "1 Bob 2008\n", + "2 Jake 2012\n", + "3 Sue 2014\n", + " employee group hire_date\n", + "0 Bob Accounting 2008\n", + "1 Jake Engineering 2012\n", + "2 Lisa Engineering 2004\n", + "3 Sue HR 2014\n" + ] + } + ], + "source": [ + "print(df1); print(df2); print(pd.merge(df1, df2, on='employee'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This option works only if both the left and right DataFrames have the specified column name." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The left_on and right_on keywords\n", + "At times you may wish to merge two datasets with different column names; for example, we may have a dataset in which the employee name is labeled as “name†rather than “employeeâ€. In this case, we can use the left_on and right_on keywords to specify the two column names:" + ] + }, + { + "cell_type": "code", + "execution_count": 190, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " employee group\n", + "0 Bob Accounting\n", + "1 Jake Engineering\n", + "2 Lisa Engineering\n", + "3 Sue HR\n", + " name salary\n", + "0 Bob 70000\n", + "1 Jake 80000\n", + "2 Lisa 120000\n", + "3 Sue 90000\n", + " employee group name salary\n", + "0 Bob Accounting Bob 70000\n", + "1 Jake Engineering Jake 80000\n", + "2 Lisa Engineering Lisa 120000\n", + "3 Sue HR Sue 90000\n" + ] + } + ], + "source": [ + "df3 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'],\n", + " 'salary': [70000, 80000, 120000, 90000]})\n", + "print(df1); print(df3);\n", + "print(pd.merge(df1, df3, left_on=\"employee\", right_on=\"name\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The result has a redundant column that we can drop if desired—for example, by using the drop() method of DataFrames:" + ] + }, + { + "cell_type": "code", + "execution_count": 191, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
employeegroupsalary
0BobAccounting70000
1JakeEngineering80000
2LisaEngineering120000
3SueHR90000
\n", + "
" + ], + "text/plain": [ + " employee group salary\n", + "0 Bob Accounting 70000\n", + "1 Jake Engineering 80000\n", + "2 Lisa Engineering 120000\n", + "3 Sue HR 90000" + ] + }, + "execution_count": 191, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(df1, df3, left_on=\"employee\", right_on=\"name\").drop('name', axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The left_index and right_index keywords\n", + "Sometimes, rather than merging on a column, you would instead like to merge on an index. For example, your data might look like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " group\n", + "employee \n", + "Bob Accounting\n", + "Jake Engineering\n", + "Lisa Engineering\n", + "Sue HR\n", + " hire_date\n", + "employee \n", + "Lisa 2004\n", + "Bob 2008\n", + "Jake 2012\n", + "Sue 2014\n" + ] + } + ], + "source": [ + "df1a = df1.set_index('employee')\n", + "df2a = df2.set_index('employee')\n", + "print(df1a); print(df2a)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can use the index as the key for merging by specifying the left_index and/or right_index flags in pd.merge():" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " group\n", + "employee \n", + "Bob Accounting\n", + "Jake Engineering\n", + "Lisa Engineering\n", + "Sue HR\n", + " hire_date\n", + "employee \n", + "Lisa 2004\n", + "Bob 2008\n", + "Jake 2012\n", + "Sue 2014\n", + " group hire_date\n", + "employee \n", + "Bob Accounting 2008\n", + "Jake Engineering 2012\n", + "Lisa Engineering 2004\n", + "Sue HR 2014\n" + ] + } + ], + "source": [ + "print(df1a); print(df2a);\n", + "print(pd.merge(df1a, df2a, left_index=True, right_index=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For convenience, DataFrames implement the join() method, which performs a merge that defaults to joining on indices:" + ] + }, + { + "cell_type": "code", + "execution_count": 194, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " group\n", + "employee \n", + "Bob Accounting\n", + "Jake Engineering\n", + "Lisa Engineering\n", + "Sue HR\n", + " hire_date\n", + "employee \n", + "Lisa 2004\n", + "Bob 2008\n", + "Jake 2012\n", + "Sue 2014\n", + " group hire_date\n", + "employee \n", + "Bob Accounting 2008\n", + "Jake Engineering 2012\n", + "Lisa Engineering 2004\n", + "Sue HR 2014\n" + ] + } + ], + "source": [ + " print(df1a); print(df2a); print(df1a.join(df2a))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you’d like to mix indices and columns, you can combine left_index with right_on or left_on with right_index to get the desired behavior:" + ] + }, + { + "cell_type": "code", + "execution_count": 195, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " group\n", + "employee \n", + "Bob Accounting\n", + "Jake Engineering\n", + "Lisa Engineering\n", + "Sue HR\n", + " name salary\n", + "0 Bob 70000\n", + "1 Jake 80000\n", + "2 Lisa 120000\n", + "3 Sue 90000\n", + " group name salary\n", + "0 Accounting Bob 70000\n", + "1 Engineering Jake 80000\n", + "2 Engineering Lisa 120000\n", + "3 HR Sue 90000\n" + ] + } + ], + "source": [ + "print(df1a); print(df3);\n", + "print(pd.merge(df1a, df3, left_index=True, right_on='name'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Specifying Set Arithmetic for Joins\n", + "In all the preceding examples we have glossed over one important consideration in performing a join: the type of set arithmetic used in the join. This comes up when a value appears in one key column but not the other. Consider this example:" + ] + }, + { + "cell_type": "code", + "execution_count": 196, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name food\n", + "0 Peter fish\n", + "1 Paul beans\n", + "2 Mary bread\n", + " name drink\n", + "0 Mary wine\n", + "1 Joseph beer\n", + " name food drink\n", + "0 Mary bread wine\n" + ] + } + ], + "source": [ + "df6 = pd.DataFrame({'name': ['Peter', 'Paul', 'Mary'],\n", + " 'food': ['fish', 'beans', 'bread']},\n", + " columns=['name', 'food'])\n", + "df7 = pd.DataFrame({'name': ['Mary', 'Joseph'],\n", + " 'drink': ['wine', 'beer']},\n", + " columns=['name', 'drink'])\n", + "print(df6); print(df7); print(pd.merge(df6, df7))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we have merged two datasets that have only a single “name†entry in common: Mary. By default, the result contains the intersection of the two sets of inputs; this is what is known as an inner join. We can specify this explicitly using the how keyword, which defaults to 'inner':" + ] + }, + { + "cell_type": "code", + "execution_count": 197, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
namefooddrink
0Marybreadwine
\n", + "
" + ], + "text/plain": [ + " name food drink\n", + "0 Mary bread wine" + ] + }, + "execution_count": 197, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(df6, df7, how='inner')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Other options for the how keyword are 'outer', 'left', and 'right'. An outer join returns a join over the union of the input columns, and fills in all missing values with NAs:" + ] + }, + { + "cell_type": "code", + "execution_count": 198, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name food\n", + "0 Peter fish\n", + "1 Paul beans\n", + "2 Mary bread\n", + " name drink\n", + "0 Mary wine\n", + "1 Joseph beer\n", + " name food drink\n", + "0 Peter fish NaN\n", + "1 Paul beans NaN\n", + "2 Mary bread wine\n", + "3 Joseph NaN beer\n" + ] + } + ], + "source": [ + "print(df6); print(df7); print(pd.merge(df6, df7, how='outer'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The lef join and right join return join over the left entries and right entries, respectively. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 199, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name food\n", + "0 Peter fish\n", + "1 Paul beans\n", + "2 Mary bread\n", + " name drink\n", + "0 Mary wine\n", + "1 Joseph beer\n", + " name food drink\n", + "0 Peter fish NaN\n", + "1 Paul beans NaN\n", + "2 Mary bread wine\n" + ] + } + ], + "source": [ + "print(df6); print(df7); print(pd.merge(df6, df7, how='left'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Overlapping Column Names: The sufxes Keyword\n", + "Finally, you may end up in a case where your two input DataFrames have conflicting column names. Consider this example:`" + ] + }, + { + "cell_type": "code", + "execution_count": 200, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name rank\n", + "0 Bob 1\n", + "1 Jake 2\n", + "2 Lisa 3\n", + "3 Sue 4\n", + " name rank\n", + "0 Bob 3\n", + "1 Jake 1\n", + "2 Lisa 4\n", + "3 Sue 2\n", + " name rank_x rank_y\n", + "0 Bob 1 3\n", + "1 Jake 2 1\n", + "2 Lisa 3 4\n", + "3 Sue 4 2\n" + ] + } + ], + "source": [ + "df8 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'],\n", + " 'rank': [1, 2, 3, 4]})\n", + "df9 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'],\n", + " 'rank': [3, 1, 4, 2]})\n", + "print(df8); print(df9); print(pd.merge(df8, df9, on=\"name\"))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because the output would have two conflicting column names, the merge function automatically appends a suffix _x or _y_ to make the output columns unique. If these defaults are inappropriate, it is possible to specify a custom suffix using the suffixes keyword:" + ] + }, + { + "cell_type": "code", + "execution_count": 201, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " name rank\n", + "0 Bob 1\n", + "1 Jake 2\n", + "2 Lisa 3\n", + "3 Sue 4\n", + " name rank\n", + "0 Bob 3\n", + "1 Jake 1\n", + "2 Lisa 4\n", + "3 Sue 2\n", + " name rank_L rank_R\n", + "0 Bob 1 3\n", + "1 Jake 2 1\n", + "2 Lisa 3 4\n", + "3 Sue 4 2\n" + ] + } + ], + "source": [ + "print(df8); print(df9);\n", + "print(pd.merge(df8, df9, on=\"name\", suffixes=[\"_L\", \"_R\"]))" + ] + }, + { + "cell_type": "code", + "execution_count": 202, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " state/region ages year population\n", + "0 AL under18 2012 1117489.0\n", + "1 AL total 2012 4817528.0\n", + "2 AL under18 2010 1130966.0\n", + "3 AL total 2010 4785570.0\n", + "4 AL under18 2011 1125763.0\n", + " state area (sq. mi)\n", + "0 Alabama 52423\n", + "1 Alaska 656425\n", + "2 Arizona 114006\n", + "3 Arkansas 53182\n", + "4 California 163707\n", + " state abbreviation\n", + "0 Alabama AL\n", + "1 Alaska AK\n", + "2 Arizona AZ\n", + "3 Arkansas AR\n", + "4 California CA\n" + ] + } + ], + "source": [ + "pop = pd.read_csv('E:/Python_4_DS/notebooks/data/state-population.csv')\n", + "areas = pd.read_csv('E:/Python_4_DS/notebooks/data/state-areas.csv')\n", + "abbrevs = pd.read_csv('E:/Python_4_DS/notebooks/data/state-abbrevs.csv')\n", + "\n", + "print(pop.head()); print(areas.head()); print(abbrevs.head())" + ] + }, + { + "cell_type": "code", + "execution_count": 203, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
state/regionagesyearpopulationstate
0ALunder1820121117489.0Alabama
1ALtotal20124817528.0Alabama
2ALunder1820101130966.0Alabama
3ALtotal20104785570.0Alabama
4ALunder1820111125763.0Alabama
\n", + "
" + ], + "text/plain": [ + " state/region ages year population state\n", + "0 AL under18 2012 1117489.0 Alabama\n", + "1 AL total 2012 4817528.0 Alabama\n", + "2 AL under18 2010 1130966.0 Alabama\n", + "3 AL total 2010 4785570.0 Alabama\n", + "4 AL under18 2011 1125763.0 Alabama" + ] + }, + "execution_count": 203, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged = pd.merge(pop, abbrevs, how='outer',\n", + "left_on='state/region', right_on='abbreviation')\n", + "merged = merged.drop('abbreviation', 1) # drop duplicate info\n", + "merged.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 204, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state/region False\n", + "ages False\n", + "year False\n", + "population True\n", + "state True\n", + "dtype: bool" + ] + }, + "execution_count": 204, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged.isnull().any()" + ] + }, + { + "cell_type": "code", + "execution_count": 205, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
state/regionagesyearpopulationstate
2448PRunder181990NaNNaN
2449PRtotal1990NaNNaN
2450PRtotal1991NaNNaN
2451PRunder181991NaNNaN
2452PRtotal1993NaNNaN
\n", + "
" + ], + "text/plain": [ + " state/region ages year population state\n", + "2448 PR under18 1990 NaN NaN\n", + "2449 PR total 1990 NaN NaN\n", + "2450 PR total 1991 NaN NaN\n", + "2451 PR under18 1991 NaN NaN\n", + "2452 PR total 1993 NaN NaN" + ] + }, + "execution_count": 205, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " merged[merged['population'].isnull()].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 206, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['PR', 'USA'], dtype=object)" + ] + }, + "execution_count": 206, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged.loc[merged['state'].isnull(), 'state/region'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 207, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state/region False\n", + "ages False\n", + "year False\n", + "population True\n", + "state False\n", + "dtype: bool" + ] + }, + "execution_count": 207, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "merged.loc[merged['state/region'] == 'PR', 'state'] = 'Puerto Rico'\n", + "merged.loc[merged['state/region'] == 'USA', 'state'] = 'United States'\n", + "merged.isnull().any()" + ] + }, + { + "cell_type": "code", + "execution_count": 208, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
state/regionagesyearpopulationstatearea (sq. mi)
0ALunder1820121117489.0Alabama52423.0
1ALtotal20124817528.0Alabama52423.0
2ALunder1820101130966.0Alabama52423.0
3ALtotal20104785570.0Alabama52423.0
4ALunder1820111125763.0Alabama52423.0
\n", + "
" + ], + "text/plain": [ + " state/region ages year population state area (sq. mi)\n", + "0 AL under18 2012 1117489.0 Alabama 52423.0\n", + "1 AL total 2012 4817528.0 Alabama 52423.0\n", + "2 AL under18 2010 1130966.0 Alabama 52423.0\n", + "3 AL total 2010 4785570.0 Alabama 52423.0\n", + "4 AL under18 2011 1125763.0 Alabama 52423.0" + ] + }, + "execution_count": 208, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final = pd.merge(merged, areas, on='state', how='left')\n", + "final.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 209, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state/region False\n", + "ages False\n", + "year False\n", + "population True\n", + "state False\n", + "area (sq. mi) True\n", + "dtype: bool" + ] + }, + "execution_count": 209, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final.isnull().any()" + ] + }, + { + "cell_type": "code", + "execution_count": 210, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['United States'], dtype=object)" + ] + }, + "execution_count": 210, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " final['state'][final['area (sq. mi)'].isnull()].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 211, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
state/regionagesyearpopulationstatearea (sq. mi)
0ALunder1820121117489.0Alabama52423.0
1ALtotal20124817528.0Alabama52423.0
2ALunder1820101130966.0Alabama52423.0
3ALtotal20104785570.0Alabama52423.0
4ALunder1820111125763.0Alabama52423.0
\n", + "
" + ], + "text/plain": [ + " state/region ages year population state area (sq. mi)\n", + "0 AL under18 2012 1117489.0 Alabama 52423.0\n", + "1 AL total 2012 4817528.0 Alabama 52423.0\n", + "2 AL under18 2010 1130966.0 Alabama 52423.0\n", + "3 AL total 2010 4785570.0 Alabama 52423.0\n", + "4 AL under18 2011 1125763.0 Alabama 52423.0" + ] + }, + "execution_count": 211, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "final.dropna(inplace=True)\n", + "final.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 212, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
state/regionagesyearpopulationstatearea (sq. mi)
3ALtotal20104785570.0Alabama52423.0
91AKtotal2010713868.0Alaska656425.0
101AZtotal20106408790.0Arizona114006.0
189ARtotal20102922280.0Arkansas53182.0
197CAtotal201037333601.0California163707.0
\n", + "
" + ], + "text/plain": [ + " state/region ages year population state area (sq. mi)\n", + "3 AL total 2010 4785570.0 Alabama 52423.0\n", + "91 AK total 2010 713868.0 Alaska 656425.0\n", + "101 AZ total 2010 6408790.0 Arizona 114006.0\n", + "189 AR total 2010 2922280.0 Arkansas 53182.0\n", + "197 CA total 2010 37333601.0 California 163707.0" + ] + }, + "execution_count": 212, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data2010 = final.query(\"year == 2010 & ages == 'total'\")\n", + "data2010.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 213, + "metadata": {}, + "outputs": [], + "source": [ + "data2010.set_index('state', inplace=True)\n", + "density = data2010['population'] / data2010['area (sq. mi)']" + ] + }, + { + "cell_type": "code", + "execution_count": 214, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state\n", + "District of Columbia 8898.897059\n", + "Puerto Rico 1058.665149\n", + "New Jersey 1009.253268\n", + "Rhode Island 681.339159\n", + "Connecticut 645.600649\n", + "dtype: float64" + ] + }, + "execution_count": 214, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "density.sort_values(ascending=False, inplace=True)\n", + "density.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 215, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "state\n", + "South Dakota 10.583512\n", + "North Dakota 9.537565\n", + "Montana 6.736171\n", + "Wyoming 5.768079\n", + "Alaska 1.087509\n", + "dtype: float64" + ] + }, + "execution_count": 215, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "density.tail()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Aggregation and Grouping\n", + "An essential piece of analysis of large data is efficient summarization: computing aggregations like sum(), mean(), median(), min(), and max(), in which a single number gives insight into the nature of a potentially large dataset. In this section, we’ll explore aggregations in Pandas, from simple operations akin to what we’ve seen on NumPy arrays, to more sophisticated operations based on the concept of a groupby." + ] + }, + { + "cell_type": "code", + "execution_count": 216, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(1035, 6)" + ] + }, + "execution_count": 216, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import seaborn as sns\n", + "planets = sns.load_dataset('planets')\n", + "planets.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 217, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
methodnumberorbital_periodmassdistanceyear
0Radial Velocity1269.3007.1077.402006
1Radial Velocity1874.7742.2156.952008
2Radial Velocity1763.0002.6019.842011
3Radial Velocity1326.03019.40110.622007
4Radial Velocity1516.22010.50119.472009
\n", + "
" + ], + "text/plain": [ + " method number orbital_period mass distance year\n", + "0 Radial Velocity 1 269.300 7.10 77.40 2006\n", + "1 Radial Velocity 1 874.774 2.21 56.95 2008\n", + "2 Radial Velocity 1 763.000 2.60 19.84 2011\n", + "3 Radial Velocity 1 326.030 19.40 110.62 2007\n", + "4 Radial Velocity 1 516.220 10.50 119.47 2009" + ] + }, + "execution_count": 217, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " planets.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Simple Aggregation in Pandas\n", + "As with a one dimensional NumPy array, for a Pandas Series the aggregates return a single value:" + ] + }, + { + "cell_type": "code", + "execution_count": 218, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0.374540\n", + "1 0.950714\n", + "2 0.731994\n", + "3 0.598658\n", + "4 0.156019\n", + "dtype: float64" + ] + }, + "execution_count": 218, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rng = np.random.RandomState(42)\n", + "ser = pd.Series(rng.rand(5))\n", + "ser" + ] + }, + { + "cell_type": "code", + "execution_count": 219, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.811925491708157" + ] + }, + "execution_count": 219, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ser.sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 220, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.811925491708157" + ] + }, + "execution_count": 220, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ser.sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 221, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AB
00.1559950.020584
10.0580840.969910
20.8661760.832443
30.6011150.212339
40.7080730.181825
\n", + "
" + ], + "text/plain": [ + " A B\n", + "0 0.155995 0.020584\n", + "1 0.058084 0.969910\n", + "2 0.866176 0.832443\n", + "3 0.601115 0.212339\n", + "4 0.708073 0.181825" + ] + }, + "execution_count": 221, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame({'A': rng.rand(5),\n", + " 'B': rng.rand(5)})\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 222, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "A 0.477888\n", + "B 0.443420\n", + "dtype: float64" + ] + }, + "execution_count": 222, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "By specifying the axis argument, you can instead aggregate within each row:" + ] + }, + { + "cell_type": "code", + "execution_count": 223, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0.088290\n", + "1 0.513997\n", + "2 0.849309\n", + "3 0.406727\n", + "4 0.444949\n", + "dtype: float64" + ] + }, + "execution_count": 223, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.mean(axis='columns')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In addition, there is a convenience method describe() that computes several common aggregates for each column and returns the result. Let’s use this on the Planets data, for now dropâ€\n", + "ping rows with missing values:" + ] + }, + { + "cell_type": "code", + "execution_count": 224, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
numberorbital_periodmassdistanceyear
count498.00000498.000000498.000000498.000000498.000000
mean1.73494835.7786712.50932052.0682132007.377510
std1.175721469.1282593.63627446.5960414.167284
min1.000001.3283000.0036001.3500001989.000000
25%1.0000038.2722500.21250024.4975002005.000000
50%1.00000357.0000001.24500039.9400002009.000000
75%2.00000999.6000002.86750059.3325002011.000000
max6.0000017337.50000025.000000354.0000002014.000000
\n", + "
" + ], + "text/plain": [ + " number orbital_period mass distance year\n", + "count 498.00000 498.000000 498.000000 498.000000 498.000000\n", + "mean 1.73494 835.778671 2.509320 52.068213 2007.377510\n", + "std 1.17572 1469.128259 3.636274 46.596041 4.167284\n", + "min 1.00000 1.328300 0.003600 1.350000 1989.000000\n", + "25% 1.00000 38.272250 0.212500 24.497500 2005.000000\n", + "50% 1.00000 357.000000 1.245000 39.940000 2009.000000\n", + "75% 2.00000 999.600000 2.867500 59.332500 2011.000000\n", + "max 6.00000 17337.500000 25.000000 354.000000 2014.000000" + ] + }, + "execution_count": 224, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "planets.dropna().describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "### GroupBy: Split, Apply, Combine\n", + "#### Split, Apply, Combine\n", + "- The split step involves breaking up and grouping a DataFrame depending on the value of the specified key.\n", + "- The apply step involves computing some function, usually an aggregate, transformation, or filtering, within the individual groups.\n", + "- The combine step merges the results of these operations into an output array.\n", + "\n", + "\n", + "\n", + "While we could certainly do this manually using some combination of the masking, aggregation, and merging commands covered earlier, it’s important to realize that the intermediate splits do not need to be explicitly instantiated. Rather, the GroupBy can (often) do this in a single pass over the data, updating the sum, mean, count, min, or other aggregate for each group along the way. The power of the GroupBy is that it abstracts away these steps: the user need not think about how the computation is done under the hood, but rather thinks about the operation as a whole. " + ] + }, + { + "cell_type": "code", + "execution_count": 225, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
keydata
0A0
1B1
2C2
3A3
4B4
5C5
\n", + "
" + ], + "text/plain": [ + " key data\n", + "0 A 0\n", + "1 B 1\n", + "2 C 2\n", + "3 A 3\n", + "4 B 4\n", + "5 C 5" + ] + }, + "execution_count": 225, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],\n", + " 'data': range(6)}, columns=['key', 'data'])\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 226, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 226, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('key')" + ] + }, + { + "cell_type": "code", + "execution_count": 227, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
data
key
A3
B5
C7
\n", + "
" + ], + "text/plain": [ + " data\n", + "key \n", + "A 3\n", + "B 5\n", + "C 7" + ] + }, + "execution_count": 227, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('key').sum()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The GroupBy object\n", + "The GroupBy object is a very flexible abstraction. In many ways, you can simply treat it as if it’s a collection of DataFrames, and it does the difficult things under the hood. Let’s introduce some of the other functionality that can be used with the basic GroupBy operation.\n", + "\n", + "**Column indexing.** The GroupBy object supports column indexing in the same way as the DataFrame, and returns a modified GroupBy object." + ] + }, + { + "cell_type": "code", + "execution_count": 228, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 228, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "planets.groupby('method')" + ] + }, + { + "cell_type": "code", + "execution_count": 229, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 229, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "planets.groupby('method')['orbital_period']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we’ve selected a particular Series group from the original DataFrame group by reference to its column name. As with the GroupBy object, no computation is done until we call some aggregate on the object:" + ] + }, + { + "cell_type": "code", + "execution_count": 230, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "method\n", + "Astrometry 631.180000\n", + "Eclipse Timing Variations 4343.500000\n", + "Imaging 27500.000000\n", + "Microlensing 3300.000000\n", + "Orbital Brightness Modulation 0.342887\n", + "Pulsar Timing 66.541900\n", + "Pulsation Timing Variations 1170.000000\n", + "Radial Velocity 360.200000\n", + "Transit 5.714932\n", + "Transit Timing Variations 57.011000\n", + "Name: orbital_period, dtype: float64" + ] + }, + "execution_count": 230, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "planets.groupby('method')['orbital_period'].median()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Iteration over groups.** The GroupBy object supports direct iteration over the groups, returning each group as a Series or DataFrame:" + ] + }, + { + "cell_type": "code", + "execution_count": 231, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Astrometry shape=(2, 6)\n", + "Eclipse Timing Variations shape=(9, 6)\n", + "Imaging shape=(38, 6)\n", + "Microlensing shape=(23, 6)\n", + "Orbital Brightness Modulation shape=(3, 6)\n", + "Pulsar Timing shape=(5, 6)\n", + "Pulsation Timing Variations shape=(1, 6)\n", + "Radial Velocity shape=(553, 6)\n", + "Transit shape=(397, 6)\n", + "Transit Timing Variations shape=(4, 6)\n" + ] + } + ], + "source": [ + "for (method, group) in planets.groupby('method'):\n", + " print(\"{0:30s} shape={1}\".format(method, group.shape))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Dispatch methods.** Through some Python class magic, any method not explicitly implemented by the GroupBy object will be passed through and called on the groups, whether they are DataFrame or Series objects. For example, you can use the describe() method of DataFrames to perform a set of aggregations that describe each group in the data:" + ] + }, + { + "cell_type": "code", + "execution_count": 232, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " method \n", + "count Astrometry 2.000000\n", + " Eclipse Timing Variations 9.000000\n", + " Imaging 38.000000\n", + " Microlensing 23.000000\n", + " Orbital Brightness Modulation 3.000000\n", + " Pulsar Timing 5.000000\n", + " Pulsation Timing Variations 1.000000\n", + " Radial Velocity 553.000000\n", + " Transit 397.000000\n", + " Transit Timing Variations 4.000000\n", + "mean Astrometry 2011.500000\n", + " Eclipse Timing Variations 2010.000000\n", + " Imaging 2009.131579\n", + " Microlensing 2009.782609\n", + " Orbital Brightness Modulation 2011.666667\n", + " Pulsar Timing 1998.400000\n", + " Pulsation Timing Variations 2007.000000\n", + " Radial Velocity 2007.518987\n", + " Transit 2011.236776\n", + " Transit Timing Variations 2012.500000\n", + "std Astrometry 2.121320\n", + " Eclipse Timing Variations 1.414214\n", + " Imaging 2.781901\n", + " Microlensing 2.859697\n", + " Orbital Brightness Modulation 1.154701\n", + " Pulsar Timing 8.384510\n", + " Pulsation Timing Variations NaN\n", + " Radial Velocity 4.249052\n", + " Transit 2.077867\n", + " Transit Timing Variations 1.290994\n", + " ... \n", + "50% Astrometry 2011.500000\n", + " Eclipse Timing Variations 2010.000000\n", + " Imaging 2009.000000\n", + " Microlensing 2010.000000\n", + " Orbital Brightness Modulation 2011.000000\n", + " Pulsar Timing 1994.000000\n", + " Pulsation Timing Variations 2007.000000\n", + " Radial Velocity 2009.000000\n", + " Transit 2012.000000\n", + " Transit Timing Variations 2012.500000\n", + "75% Astrometry 2012.250000\n", + " Eclipse Timing Variations 2011.000000\n", + " Imaging 2011.000000\n", + " Microlensing 2012.000000\n", + " Orbital Brightness Modulation 2012.000000\n", + " Pulsar Timing 2003.000000\n", + " Pulsation Timing Variations 2007.000000\n", + " Radial Velocity 2011.000000\n", + " Transit 2013.000000\n", + " Transit Timing Variations 2013.250000\n", + "max Astrometry 2013.000000\n", + " Eclipse Timing Variations 2012.000000\n", + " Imaging 2013.000000\n", + " Microlensing 2013.000000\n", + " Orbital Brightness Modulation 2013.000000\n", + " Pulsar Timing 2011.000000\n", + " Pulsation Timing Variations 2007.000000\n", + " Radial Velocity 2014.000000\n", + " Transit 2014.000000\n", + " Transit Timing Variations 2014.000000\n", + "Length: 80, dtype: float64" + ] + }, + "execution_count": 232, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "planets.groupby('method')['year'].describe().unstack()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Aggregate, flter, transform, apply\n", + "The preceding discussion focused on aggregation for the combine operation, but there are more options available. In particular, GroupBy objects have aggregate(), filter(), transform(), and apply() methods that efficiently implement a variety of useful operations before combining the grouped data." + ] + }, + { + "cell_type": "code", + "execution_count": 233, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
keydata1data2
0A05
1B10
2C23
3A33
4B47
5C59
\n", + "
" + ], + "text/plain": [ + " key data1 data2\n", + "0 A 0 5\n", + "1 B 1 0\n", + "2 C 2 3\n", + "3 A 3 3\n", + "4 B 4 7\n", + "5 C 5 9" + ] + }, + "execution_count": 233, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rng = np.random.RandomState(0)\n", + "df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'],\n", + " 'data1': range(6),\n", + " 'data2': rng.randint(0, 10, 6)},\n", + " columns = ['key', 'data1', 'data2'])\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Aggregation.** We’re now familiar with GroupBy aggregations with sum(), median(), and the like, but the aggregate() method allows for even more flexibility. It can take a string, a function, or a list thereof, and compute all the aggregates at once. Here is a\n", + "quick example combining all these:" + ] + }, + { + "cell_type": "code", + "execution_count": 234, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
data1data2
minmedianmaxminmedianmax
key
A01.5334.05
B12.5403.57
C23.5536.09
\n", + "
" + ], + "text/plain": [ + " data1 data2 \n", + " min median max min median max\n", + "key \n", + "A 0 1.5 3 3 4.0 5\n", + "B 1 2.5 4 0 3.5 7\n", + "C 2 3.5 5 3 6.0 9" + ] + }, + "execution_count": 234, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('key').aggregate(['min', np.median, max])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Another useful pattern is to pass a dictionary mapping column names to operations to be applied on that column:" + ] + }, + { + "cell_type": "code", + "execution_count": 235, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
data1data2
key
A05
B17
C29
\n", + "
" + ], + "text/plain": [ + " data1 data2\n", + "key \n", + "A 0 5\n", + "B 1 7\n", + "C 2 9" + ] + }, + "execution_count": 235, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('key').aggregate({'data1': 'min',\n", + " 'data2': 'max'})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Filtering. A filtering operation allows you to drop data based on the group properties. For example, we might want to keep all groups in which the standard deviation is larger than some critical value:" + ] + }, + { + "cell_type": "code", + "execution_count": 236, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " key data1 data2\n", + "0 A 0 5\n", + "1 B 1 0\n", + "2 C 2 3\n", + "3 A 3 3\n", + "4 B 4 7\n", + "5 C 5 9\n", + " data1 data2\n", + "key \n", + "A 2.12132 1.414214\n", + "B 2.12132 4.949747\n", + "C 2.12132 4.242641\n", + " key data1 data2\n", + "1 B 1 0\n", + "2 C 2 3\n", + "4 B 4 7\n", + "5 C 5 9\n" + ] + } + ], + "source": [ + "def filter_func(x):\n", + " return x['data2'].std() > 4\n", + "print(df); print(df.groupby('key').std());\n", + "print(df.groupby('key').filter(filter_func))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The filter() function should return a Boolean value specifying whether the group passes the filtering. Here because group A does not have a standard deviation greater than 4, it is dropped from the result.\n", + "\n", + "**Transformation.** While aggregation must return a reduced version of the data, transformation can return some transformed version of the full data to recombine. For such a transformation, the output is the same shape as the input. A common example is to center the data by subtracting the group-wise mean:" + ] + }, + { + "cell_type": "code", + "execution_count": 237, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
data1data2
0-1.51.0
1-1.5-3.5
2-1.5-3.0
31.5-1.0
41.53.5
51.53.0
\n", + "
" + ], + "text/plain": [ + " data1 data2\n", + "0 -1.5 1.0\n", + "1 -1.5 -3.5\n", + "2 -1.5 -3.0\n", + "3 1.5 -1.0\n", + "4 1.5 3.5\n", + "5 1.5 3.0" + ] + }, + "execution_count": 237, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('key').transform(lambda x: x - x.mean())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**The apply() method.** The apply() method lets you apply an arbitrary function to the group results. The function should take a DataFrame, and return either a Pandas object (e.g., DataFrame, Series) or a scalar; the combine operation will be tailored to the type of output returned." + ] + }, + { + "cell_type": "code", + "execution_count": 238, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " key data1 data2\n", + "0 A 0 5\n", + "1 B 1 0\n", + "2 C 2 3\n", + "3 A 3 3\n", + "4 B 4 7\n", + "5 C 5 9\n", + " key data1 data2\n", + "0 A 0.000000 5\n", + "1 B 0.142857 0\n", + "2 C 0.166667 3\n", + "3 A 0.375000 3\n", + "4 B 0.571429 7\n", + "5 C 0.416667 9\n" + ] + } + ], + "source": [ + "def norm_by_data2(x):\n", + " # x is a DataFrame of group values\n", + " x['data1'] /= x['data2'].sum()\n", + " return x\n", + "print(df); print(df.groupby('key').apply(norm_by_data2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Specifying the split key\n", + "In the simple examples presented before, we split the DataFrame on a single column name. This is just one of many options by which the groups can be defined, and we’ll go through some other options for group specification here.\n", + "\n", + "**A list, array, series, or index providing the grouping keys.** The key can be any series or list with a length matching that of the DataFrame." + ] + }, + { + "cell_type": "code", + "execution_count": 239, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " key data1 data2\n", + "0 A 0 5\n", + "1 B 1 0\n", + "2 C 2 3\n", + "3 A 3 3\n", + "4 B 4 7\n", + "5 C 5 9\n", + " data1 data2\n", + "0 7 17\n", + "1 4 3\n", + "2 4 7\n" + ] + } + ], + "source": [ + "L = [0, 1, 0, 1, 2, 0]\n", + "print(df); print(df.groupby(L).sum())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Of course, this means there’s another, more verbose way of accomplishing the df.groupby('key') from before:" + ] + }, + { + "cell_type": "code", + "execution_count": 240, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " key data1 data2\n", + "0 A 0 5\n", + "1 B 1 0\n", + "2 C 2 3\n", + "3 A 3 3\n", + "4 B 4 7\n", + "5 C 5 9\n", + " data1 data2\n", + "key \n", + "A 3 8\n", + "B 5 7\n", + "C 7 12\n" + ] + } + ], + "source": [ + "print(df); print(df.groupby(df['key']).sum())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**A dictionary or series mapping index to group.** Another method is to provide a dictionary that maps index values to the group keys:" + ] + }, + { + "cell_type": "code", + "execution_count": 241, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " data1 data2\n", + "key \n", + "A 0 5\n", + "B 1 0\n", + "C 2 3\n", + "A 3 3\n", + "B 4 7\n", + "C 5 9\n", + " data1 data2\n", + "consonant 12 19\n", + "vowel 3 8\n" + ] + } + ], + "source": [ + "df2 = df.set_index('key')\n", + "mapping = {'A': 'vowel', 'B': 'consonant', 'C': 'consonant'}\n", + "print(df2); print(df2.groupby(mapping).sum())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Any Python function. Similar to mapping, you can pass any Python function that will input the index value and output the group:" + ] + }, + { + "cell_type": "code", + "execution_count": 242, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " data1 data2\n", + "key \n", + "A 0 5\n", + "B 1 0\n", + "C 2 3\n", + "A 3 3\n", + "B 4 7\n", + "C 5 9\n", + " data1 data2\n", + "a 1.5 4.0\n", + "b 2.5 3.5\n", + "c 3.5 6.0\n" + ] + } + ], + "source": [ + "print(df2); print(df2.groupby(str.lower).mean())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A list of valid keys. Further, any of the preceding key choices can be combined to group on a multi-index:" + ] + }, + { + "cell_type": "code", + "execution_count": 243, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
data1data2
avowel1.54.0
bconsonant2.53.5
cconsonant3.56.0
\n", + "
" + ], + "text/plain": [ + " data1 data2\n", + "a vowel 1.5 4.0\n", + "b consonant 2.5 3.5\n", + "c consonant 3.5 6.0" + ] + }, + "execution_count": 243, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2.groupby([str.lower, mapping]).mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Grouping example" + ] + }, + { + "cell_type": "code", + "execution_count": 244, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
decade1980s1990s2000s2010s
method
Astrometry0.00.00.02.0
Eclipse Timing Variations0.00.05.010.0
Imaging0.00.029.021.0
Microlensing0.00.012.015.0
Orbital Brightness Modulation0.00.00.05.0
Pulsar Timing0.09.01.01.0
Pulsation Timing Variations0.00.01.00.0
Radial Velocity1.052.0475.0424.0
Transit0.00.064.0712.0
Transit Timing Variations0.00.00.09.0
\n", + "
" + ], + "text/plain": [ + "decade 1980s 1990s 2000s 2010s\n", + "method \n", + "Astrometry 0.0 0.0 0.0 2.0\n", + "Eclipse Timing Variations 0.0 0.0 5.0 10.0\n", + "Imaging 0.0 0.0 29.0 21.0\n", + "Microlensing 0.0 0.0 12.0 15.0\n", + "Orbital Brightness Modulation 0.0 0.0 0.0 5.0\n", + "Pulsar Timing 0.0 9.0 1.0 1.0\n", + "Pulsation Timing Variations 0.0 0.0 1.0 0.0\n", + "Radial Velocity 1.0 52.0 475.0 424.0\n", + "Transit 0.0 0.0 64.0 712.0\n", + "Transit Timing Variations 0.0 0.0 0.0 9.0" + ] + }, + "execution_count": 244, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "decade = 10 * (planets['year'] // 10)\n", + "decade = decade.astype(str) + 's'\n", + "decade.name = 'decade'\n", + "planets.groupby(['method', decade])['number'].sum().unstack().fillna(0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pivot Tables\n", + "We have seen how the GroupBy abstraction lets us explore relationships within a dataset. A pivot table is a similar operation that is commonly seen in spreadsheets and other programs that operate on tabular data. The pivot table takes simple columnwise data as input, and groups the entries into a two-dimensional table that provides a multidimensional summarization of the data. The difference between pivot tables and GroupBy can sometimes cause confusion; it helps me to think of pivot tables as essentially a multidimensional version of GroupBy aggregation. That is, you splitapply-combine, but both the split and the combine happen across not a onedimensional index, but across a two-dimensional grid.\n", + "#### Motivating Pivot Tables" + ] + }, + { + "cell_type": "code", + "execution_count": 245, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "titanic = sns.load_dataset('titanic')" + ] + }, + { + "cell_type": "code", + "execution_count": 246, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
survivedpclasssexagesibspparchfareembarkedclasswhoadult_maledeckembark_townalivealone
003male22.0107.2500SThirdmanTrueNaNSouthamptonnoFalse
111female38.01071.2833CFirstwomanFalseCCherbourgyesFalse
213female26.0007.9250SThirdwomanFalseNaNSouthamptonyesTrue
311female35.01053.1000SFirstwomanFalseCSouthamptonyesFalse
403male35.0008.0500SThirdmanTrueNaNSouthamptonnoTrue
\n", + "
" + ], + "text/plain": [ + " survived pclass sex age sibsp parch fare embarked class \\\n", + "0 0 3 male 22.0 1 0 7.2500 S Third \n", + "1 1 1 female 38.0 1 0 71.2833 C First \n", + "2 1 3 female 26.0 0 0 7.9250 S Third \n", + "3 1 1 female 35.0 1 0 53.1000 S First \n", + "4 0 3 male 35.0 0 0 8.0500 S Third \n", + "\n", + " who adult_male deck embark_town alive alone \n", + "0 man True NaN Southampton no False \n", + "1 woman False C Cherbourg yes False \n", + "2 woman False NaN Southampton yes True \n", + "3 woman False C Southampton yes False \n", + "4 man True NaN Southampton no True " + ] + }, + "execution_count": 246, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titanic.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Pivot Tables by Hand" + ] + }, + { + "cell_type": "code", + "execution_count": 247, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
survived
sex
female0.742038
male0.188908
\n", + "
" + ], + "text/plain": [ + " survived\n", + "sex \n", + "female 0.742038\n", + "male 0.188908" + ] + }, + "execution_count": 247, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titanic.groupby('sex')[['survived']].mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This immediately gives us some insight: overall, three of every four females on board survived, while only one in five males survived! This is useful, but we might like to go one step deeper and look at survival by both sex and, say, class. Using the vocabulary of GroupBy, we might proceed using something like this: we group by class and gender, select survival, apply a mean aggregate, combine the resulting groups, and then unstack the hierarchical index to reveal the hidden multidimensionality. In code:" + ] + }, + { + "cell_type": "code", + "execution_count": 248, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classFirstSecondThird
sex
female0.9680850.9210530.500000
male0.3688520.1574070.135447
\n", + "
" + ], + "text/plain": [ + "class First Second Third\n", + "sex \n", + "female 0.968085 0.921053 0.500000\n", + "male 0.368852 0.157407 0.135447" + ] + }, + "execution_count": 248, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titanic.groupby(['sex', 'class'])['survived'].aggregate('mean').unstack()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This gives us a better idea of how both gender and class affected survival, but the code is starting to look a bit garbled. While each step of this pipeline makes sense in light of the tools we’ve previously discussed, the long string of code is not particularly\n", + "easy to read or use. This two-dimensional GroupBy is common enough that Pandas includes a convenience routine, pivot_table, which succinctly handles this type of multidimensional aggregation.\n", + "#### Pivot Table Syntax\n", + "Here is the equivalent to the preceding operation using the pivot_table method of DataFrames:" + ] + }, + { + "cell_type": "code", + "execution_count": 249, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classFirstSecondThird
sex
female0.9680850.9210530.500000
male0.3688520.1574070.135447
\n", + "
" + ], + "text/plain": [ + "class First Second Third\n", + "sex \n", + "female 0.968085 0.921053 0.500000\n", + "male 0.368852 0.157407 0.135447" + ] + }, + "execution_count": 249, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titanic.pivot_table('survived', index='sex', columns='class')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Multilevel pivot tables\n", + "Just as in the GroupBy, the grouping in pivot tables can be specified with multiple levels, and via a number of options. For example, we might be interested in looking at age as a third dimension. We’ll bin the age using the pd.cut function:" + ] + }, + { + "cell_type": "code", + "execution_count": 250, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classFirstSecondThird
sexage
female(0, 18]0.9090911.0000000.511628
(18, 80]0.9729730.9000000.423729
male(0, 18]0.8000000.6000000.215686
(18, 80]0.3750000.0714290.133663
\n", + "
" + ], + "text/plain": [ + "class First Second Third\n", + "sex age \n", + "female (0, 18] 0.909091 1.000000 0.511628\n", + " (18, 80] 0.972973 0.900000 0.423729\n", + "male (0, 18] 0.800000 0.600000 0.215686\n", + " (18, 80] 0.375000 0.071429 0.133663" + ] + }, + "execution_count": 250, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "age = pd.cut(titanic['age'], [0, 18, 80])\n", + "titanic.pivot_table('survived', ['sex', age], 'class')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can apply this same strategy when working with the columns as well; let’s add info on the fare paid using pd.qcut to automatically compute quantiles:" + ] + }, + { + "cell_type": "code", + "execution_count": 251, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
fare(-0.001, 14.454](14.454, 512.329]
classFirstSecondThirdFirstSecondThird
sexage
female(0, 18]NaN1.0000000.7142860.9090911.0000000.318182
(18, 80]NaN0.8800000.4444440.9729730.9142860.391304
male(0, 18]NaN0.0000000.2608700.8000000.8181820.178571
(18, 80]0.00.0980390.1250000.3913040.0303030.192308
\n", + "
" + ], + "text/plain": [ + "fare (-0.001, 14.454] (14.454, 512.329] \\\n", + "class First Second Third First \n", + "sex age \n", + "female (0, 18] NaN 1.000000 0.714286 0.909091 \n", + " (18, 80] NaN 0.880000 0.444444 0.972973 \n", + "male (0, 18] NaN 0.000000 0.260870 0.800000 \n", + " (18, 80] 0.0 0.098039 0.125000 0.391304 \n", + "\n", + "fare \n", + "class Second Third \n", + "sex age \n", + "female (0, 18] 1.000000 0.318182 \n", + " (18, 80] 0.914286 0.391304 \n", + "male (0, 18] 0.818182 0.178571 \n", + " (18, 80] 0.030303 0.192308 " + ] + }, + "execution_count": 251, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fare = pd.qcut(titanic['fare'], 2)\n", + "titanic.pivot_table('survived', ['sex', age], [fare, 'class'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Additional pivot table options\n", + "The full call signature of the pivot_table method of DataFrames is as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 252, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'DataFrame' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# call signature as of Pandas 0.18\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m DataFrame.pivot_table(data, values=None, index=None, columns=None,\n\u001b[0m\u001b[0;32m 3\u001b[0m \u001b[0maggfunc\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'mean'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfill_value\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmargins\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m dropna=True, margins_name='All')\n", + "\u001b[1;31mNameError\u001b[0m: name 'DataFrame' is not defined" + ] + } + ], + "source": [ + "# call signature as of Pandas 0.18\n", + "DataFrame.pivot_table(data, values=None, index=None, columns=None,\n", + " aggfunc='mean', fill_value=None, margins=False,\n", + " dropna=True, margins_name='All')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Two of the options, fill_value and dropna, have to do with missing data and are fairly straightforward; we will not show examples of them here. The aggfunc keyword controls what type of aggregation is applied, which is a mean by default. As in the GroupBy, the aggregation specification can be a string representing one of several common choices ('sum', 'mean', 'count', 'min', 'max', etc.) or a function that implements an aggregation (np.sum(), min(), sum(), etc.). Additionally, it can be specified as a dictionary mapping a column to any of the above desired options:" + ] + }, + { + "cell_type": "code", + "execution_count": 253, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
faresurvived
classFirstSecondThirdFirstSecondThird
sex
female106.12579821.97012116.118810917072
male67.22612719.74178212.661633451747
\n", + "
" + ], + "text/plain": [ + " fare survived \n", + "class First Second Third First Second Third\n", + "sex \n", + "female 106.125798 21.970121 16.118810 91 70 72\n", + "male 67.226127 19.741782 12.661633 45 17 47" + ] + }, + "execution_count": 253, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titanic.pivot_table(index='sex', columns='class',\n", + " aggfunc={'survived':sum, 'fare':'mean'})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice also here that we’ve omitted the values keyword; when you’re specifying a mapping for aggfunc, this is determined automatically. At times it’s useful to compute totals along each grouping. This can be done via the margins keyword:" + ] + }, + { + "cell_type": "code", + "execution_count": 254, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
classFirstSecondThirdAll
sex
female0.9680850.9210530.5000000.742038
male0.3688520.1574070.1354470.188908
All0.6296300.4728260.2423630.383838
\n", + "
" + ], + "text/plain": [ + "class First Second Third All\n", + "sex \n", + "female 0.968085 0.921053 0.500000 0.742038\n", + "male 0.368852 0.157407 0.135447 0.188908\n", + "All 0.629630 0.472826 0.242363 0.383838" + ] + }, + "execution_count": 254, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "titanic.pivot_table('survived', index='sex', columns='class', margins=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here this automatically gives us information about the class-agnostic survival rate by gender, the gender-agnostic survival rate by class, and the overall survival rate of 38%. The margin label can be specified with the margins_name keyword, which defaults to \"All\"." + ] + }, + { + "cell_type": "code", + "execution_count": 255, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "unexpected character after line continuation character (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m E:\\Python_4_DS\\notebooks\\data\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m unexpected character after line continuation character\n" + ] + } + ], + "source": [ + "E:\\Python_4_DS\\notebooks\\data" + ] + }, + { + "cell_type": "code", + "execution_count": 256, + "metadata": {}, + "outputs": [], + "source": [ + "births = pd.read_csv('E:/Python_4_DS/notebooks/data/births.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 257, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
yearmonthdaygenderbirths
0196911.0F4046
1196911.0M4440
2196912.0F4454
3196912.0M4548
4196913.0F4548
\n", + "
" + ], + "text/plain": [ + " year month day gender births\n", + "0 1969 1 1.0 F 4046\n", + "1 1969 1 1.0 M 4440\n", + "2 1969 1 2.0 F 4454\n", + "3 1969 1 2.0 M 4548\n", + "4 1969 1 3.0 F 4548" + ] + }, + "execution_count": 257, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "births.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 258, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
genderFM
decade
196017536341846572
19701626307517121550
19801831035119243452
19901947945420420553
20001822930919106428
\n", + "
" + ], + "text/plain": [ + "gender F M\n", + "decade \n", + "1960 1753634 1846572\n", + "1970 16263075 17121550\n", + "1980 18310351 19243452\n", + "1990 19479454 20420553\n", + "2000 18229309 19106428" + ] + }, + "execution_count": 258, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "births['decade'] = 10 * (births['year'] // 10)\n", + "births.pivot_table('births', index='decade', columns='gender', aggfunc='sum')" + ] + }, + { + "cell_type": "code", + "execution_count": 259, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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W69evXBxcSExMRGo/wfk4eGBj4+P0yrztya2AwcO8OmnnwL1Ky3tdjsDBgxwWmwAK1euJDk5GYD333+fadOmOUYuHXndrhdbe1y33NxcnnrqKTZt2kR0dDRAm3aO6OjY3N3deeedd0hKSgLgo48+4p577nFqbI1p9XVrk2UjolF33nmnyszMVEoptW3bNjVjxgw1depU9dprrzXYb+TIkaqmpqbBtpKSErVkyRI1Y8YM9cADDzjO0xliO3XqlHrggQfUjBkz1EMPPaRycnKcHltSUpK6//771cyZM9UDDzygjh07ppRSqqamRr3wwgtqxowZas6cOero0aOdJra8vDz18MMPq+joaDV37lyVkpLSIbHNmTNHRUVFqWeeeUZVVFQopTrPdbtWbO1x3V555RU1evRoNWvWLMef//3f/1U//PCDiomJUVOnTlXr169XdrtdKaVUSkqKuu+++1RUVJR69tlnVW1trVJKqaysLPXQQw+p6dOnq0ceeUSVlpZ2mtgOHDig5syZo6ZNm6aeeOIJVV5e7vTYLnrxxRcbrBJszXWTau1CCCG6BJkSFEII0SVIwhJCCNElSMISQgjRJUjCEkII0SVIwhJCCNElSMISQgjRJUjCEkII0SW0fU0YIcQNW7VqFb6+vo6iwnFxcXz11Vfcd999bNmyBYvFgqurKy+++CJjxoyhsLCQ1atXU1RUREFBAX379mXz5s34+vpy1113MXLkSE6ePMmzzz7bJtUOhOgIMsISohNauHAhn332maMR37Zt25g8eTJ/+ctfePvtt4mNjeWVV17h6aef5vz583z55ZeMHj2arVu38u233+Lq6uooswT1FbZ37NghyUp0aTLCEqITuuWWWwgKCmL37t2EhoZiNpux2WyYzWYefvhhx34ajYaMjAx++9vfkpiYyPvvv09aWhqnT59m1KhRjv2urFMpRFckCUuITuriKKt///7Mnz8fu93OpEmT2Lx5s2Of3NxcTCYT//mf/+loLz9hwgSsViuXV11rj8LEQjibTAkK0UlFRUWRkpLCzp07ue+++5g0aRL79u0jNTUVgO+++45Zs2ZRU1PD3r17+e1vf8ucOXPw9fXlhx9+uKr9ixBdnYywhOikjEYjUVFRFBYW4uPjg4+PD+vWrePZZ5919IPasmULHh4ePPXUU2zcuJG//vWvGAwGxo4dS0ZGRkd/BCHalFRrF6KTOn/+PA899BCrV692tCQX4mYmU4JCdEJ79uxhypQpTJ48WZKVEBfICEsIIUSXICMsIYQQXYIkLCGEEF2CJCwhhBBdgiQsIYQQXYIkLCGEEF2CJCwhhBBdwv8Hd1eh5PiHDWYAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "sns.set() # use Seaborn styles\n", + "births.pivot_table('births', index='year', columns='gender', aggfunc='sum').plot()\n", + "plt.ylabel('total births per year');" + ] + }, + { + "cell_type": "code", + "execution_count": 260, + "metadata": {}, + "outputs": [], + "source": [ + "quartiles = np.percentile(births['births'], [25, 50, 75])\n", + "mu = quartiles[1]\n", + "sig = 0.74 * (quartiles[2] - quartiles[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 261, + "metadata": {}, + "outputs": [], + "source": [ + "births = births.query('(births > @mu - 5 * @sig) & (births < @mu + 5 * @sig)')" + ] + }, + { + "cell_type": "code", + "execution_count": 262, + "metadata": {}, + "outputs": [], + "source": [ + "# set 'day' column to integer; it originally was a string due to nulls\n", + "births['day'] = births['day'].astype(int)" + ] + }, + { + "cell_type": "code", + "execution_count": 263, + "metadata": {}, + "outputs": [], + "source": [ + "# create a datetime index from the year, month, day\n", + "births.index = pd.to_datetime(10000 * births.year +\n", + " 100 * births.month +\n", + " births.day, format='%Y%m%d')\n", + "births['dayofweek'] = births.index.dayofweek" + ] + }, + { + "cell_type": "code", + "execution_count": 264, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAEPCAYAAACHuClZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsnXd4VVXWh99zW3rPvemNBEIngVACSIKIgNKkqTRnrDijIjMWBsQCqKjMWIaRGcsnKuMgHUFAUEgMoSZAKFITIA3Se73lfH9cCERKCCS5Kft9njwk55579lrc8jt77bXXkmRZlhEIBAKB4C5QWNoAgUAgELR8hJgIBAKB4K4RYiIQCASCu0aIiUAgEAjuGiEmAoFAILhrhJgIBAKB4K4RYiIQCASCu0aIiUAgEAjuGiEmAoFAILhrhJgIBAKB4K4RYiIQCASCu0aIiUAgEAjuGiEmAoFAILhrVJY2oLEpKCjDZLqzwshubvbk5ZU2sEVNT2vxA4QvzZXW4ktr8QPu3BeFQsLFxa7ez2v1YmIyyXcsJlee3xpoLX6A8KW50lp8aS1+QNP6IsJcAoFAILhrhJgIBAKB4K5p9WEugUAguBUVFWWUlhZiNBrIzlZgMpksbVKDULcvEhqNNS4uWiRJuuvxhJgIBII2S0VFGSUlBTg7a1GrNajVSgyG1iEmKpXilr7IsonCwlxKS4twcHC+6/FEmEsgELRZSksLcXbWotFYNcjdeUtCkhQ4OLhQUdEw2WtCTAQCQZvFaDSgVmssbYbFUCpVmEzGBrmWCHO1Ykr1ZfyYso2Du44Q7BhIL48wurl3QqNsux8egeD3tLUZybU0pO9CTFohRpORuMy9/JiyjUpjFb28u3E6J4Wk3ONYKTV0d+9ChEcYnVw7oFQoLW2uQNCi2bnzZ9asWcmSJZ+16DHuFiEmrYyT+WdYfeYHLpZl0cElhIntR9MjqD1Z2UWcKUghIeswh3OOciDrEHYqW8J03YjwCCPEOQiFJKKeAoHgzhBi0krIrchj7dkfSco5hpu1K091m04P9y4101iFpCDUNYRQ1xAeDh3LifzTJGQd5sClg8Rn7sPZyomeuu5EeITh7+Dbpqf+AkFdfPHFv9m2bQtOTk74+voDoNfrWbr0Ew4fPojRaKJDh1BefPEl7OzsSU29wAcfvENBQQEKhcRjjz3BkCH3Ex8fx7fffoVer6egIJ8RI0by1FPP3nSMusaxJEJMWjiVhiq2XdjJL2m/opAUjGo3nCF+96BWqm/6HJVCRTf3znRz70yVsZqjub+RkHWI2PTd7EiLQ2vjRoRHGBEeYXjaeTShNwJB8ycuLoaYmB0sW/YdGo0Vc+a8BMDy5ctQKlV8+eVyJEniP//5F0uXLuGll2bz5ptzGDlyLOPGTSQr6xLPP/8Mffv2Z8WK5cyd+yZ+fv7k5uYwfvxIJk58lKNHD99wjLrGsSRCTFooJtnEgUuH2JC8maLqEnp79GRsyAicrZzqdR0rpaZGOMr05RzOOUpCVhJbz+9gy/lf8LH3IsIjjF66MNxsXBrJG4Gg5ZCQsJ+oqMHY2pqLIT744GhWrVrB7t1xlJSUcuDAPgAMBj3Ozi4UFxdx9uwZRo0aC4CHhycrV24A4L33PmT37ji2b9/KhQvnkGWZysqKm44B3HQcSyPEpAVyoTiNVac3cK44lQAHP57sNp12TgF3fV07tS0DvPsywLsvRVXFHMw+QkLWYTYkb2FD8hbaOQUS4RFGT113HDSWnVILBJZElq8WUFQqzUksRqOJmTP/SmTkAADKy8uprq6uefza0HFq6nm0Wg8ef3wKgwZF0717OA8+OJq4uNiaa99ojFuNY2nEimsLoqiqhG9/W8n7Cf8ktzKfqZ0m8VLEnxtESH6Pk5Ujg/0G8nLEc7zZ71VGtRtGhaGClafXMyd+IUsOf8GeiwlUGCoafGyBoDnTr19/du78mZKSEkwmE1u3bgagb99I1q5diV6vx2Qy8d57C/nPf5ZgZ2dPaGhHtmzZBEBW1iWeffYJkpPPUlZWxlNP/YmBAwdx6FAi1dXVmEymm45xq3EsjZiZtAD0JgMxabvYcv5nDCYjQ/2jGRZ4LzYq6yYZX2vrxvDAIQwPHEJG6UUSsg6TmHWY5SdWsuKUii5uHYnwCKOrWyc0t1irEQhaA5GRA0lOPsuTT07DwcGRkJD2FBYW8Ic/PMGSJR/zxz9OwWQy0r59B5577kUA3njjbf7+90WsXv09kiTx6qvz6Ny5C/37D2Ty5AloNGratQshMLAd6elpNx0DuOU4lkSSr51LtULy8krvuKa/VutATk5JA1t0+8iyzLG8E6w5s5Gcijy6uXdiXMhIdLbael2nMfyQZZnzxalmYclOoqS6FGulFd215j0sHV3aN8oeFku/Jg2J8MXyXLp0AU/PqzP7uupZtSRu15ff/x8oFBJubvUPY4uZSTPlUlkWq89s5ET+aTxsdfy5xxN0dgu1tFk1SJJEkFMAQU4BjG8/itMFyTV7WPZfOoi92s68h0UXRrBzoNjDIhC0chpVTKZNm0Z+fj4qlXmY+fPn06NHDwDee+89CgoKWLRoEQAnTpxg7ty5lJWVERERwVtvvYVKpSIzM5OXX36ZvLw8goKCWLx4MXZ29W8p2VIo11ew+dx2YjN2Y6XUMKH9aAb5RDbrneoKSUFH1/Z0dG3Pw6EP8VveKRKzDrPvYiK7MvbibOVEL10PIjzD8LP3EXtYBIJWSKOJiSzLnD9/np07d9aIyRX27NnDunXriI6Orjn28ssvs3DhQsLCwpgzZw4rV65k8uTJvPXWW0yePJkHH3yQf/3rX3z66ae8/PLLjWW2xTDJJnZn7mdjyk+U6csZ4N2Hke2GtbisKbVCRQ9tF3pou1BpqLq8h+UwO9N38Uvar+hs3YnQmVORPex0ljZXIBA0EI0mJikpKQA8/vjjFBYWMmnSJKZOnUphYSEffvghM2bM4OTJkwBkZGRQWVlJWFgYAOPGjeOTTz5h4sSJHDhwgH/96181x6dOndrqxORMQQqrz/xAemkmwU5BTOwwBj8Hb0ubdddYq6zo7RlOb89wSvVlHM4+SkLWYbac/4XN53/Gz96bXpf3uLhY330/BYFAYDkaTUyKi4uJjIxk3rx56PV6pk+fTlBQEN9//z2zZs3i4sWLNedmZ2ej1V5dVNZqtWRlZVFQUIC9vX3NzObK8fpwJwtJ16LVOtzV829FTlkey5PWsSctETdbF16MfJJIv56NEgZqTD9ua3wcCPL25CGGkl9eyO60ROJTD7A+eTPrkzfT0T2YgQG96efbE0frW9tqaV8akpboS5Whmosl2WSWZJFZkkV+eQFjbYej07pZ2rR6k52tQKWqvZ73+79bMrfji0KhaJD3YaOJSXh4OOHh4TV/T5gwgRdffJFx48YRGRnJ2rVrax4zmUy1vkBlWUaSpJp/r6W+X7TNMZur2ljN9gsxbE+NASQeCBrKUP8oNEoNubkN06jmWppfpo2Svq596Ovah+zyXBKzkkjIOsQXiSv4v4Mr6ejSngiPMLpru1yX/tz8fLlzmrMvJtlEYVURWeU5ZJXnkF2eQ1aZ+feCqsJa50pImGQT44PGWsjaO8dkMtXKeGqL2Vwmk6nW+7DZZXMlJCSg1+uJjIwEzALRtWtX4uPjGTNmDEVFRZSXl/POO+/w2GOPkZOTU/Pc3NxcdDodrq6ulJSUYDQaUSqV5OTkoNO13Di7LMsczE5i3dnNFFQV0kvXg7EhD+BqbflSCJZCZ+vOiKAhDA+89+oeluwkvjnxPepTKrq4dbq8h6XjLeuNCe6MSkNlbcG4/JNTnku1SV9znpVSg4etlmDnQDxstXjYatHZ6tDZurP2zEbiUg8wzGco9prWmxwjuDWNJiYlJSV88sknrFixAr1ez7p163jrrbdqZitr165l//79zJkzBwArKysSExPp1asXGzZsYNCgQajVaiIiIti8eTOjRo1i/fr1DBo0qLFMblTSSjJYdfoHkovO4WvvzR+6PEqIc5ClzWo2SJKEr4M3vg7ejAkewbniCyRkHeZg1hEO5xzFWmlFD21XIoPCkarUOGjscVDbY6OyFtlhdWCSTeRVFJBVnl1LMLLLcyiqvnpHKiHhZu2Czk5LB5fga0RDi5PG8ab/z1G+A9iVuY/dmfu5P3BwU7nVqikrK2XGjMd5//2P8PLyZvPmjXz33TcoFAp69uzNc8+9iEqlIjc3l/feW0Bubg7W1ta8/vpCvLy8KSkpYcGCeWRkpOPs7ML8+e/i5ubeqDY3mpgMHjyYpKQkxo4di8lkYvLkybXCXr9n8eLFvPbaa5SWltKlSxemT58OwBtvvMHs2bNZunQpXl5e/OMf/2gskxuFkupSNqb8xO7M/dipbZkcOp5I795i38UtkCSJdk6BtHMKZHzIKE4XXt7Dkn2MfZcSa52rkpTYa+zN4nJZYK7/3QEHjR0OavtmnWJ9t5Tpy284y8gtz8UgX23NaquywcNWS0fXDrUEQ2vrjlpR/68Eb3tPunmEEpuxmyH+g1r1/3FTcPz4Md5/fyFpaamAuY7X558v5fPPv8Hd3Z3FixexevUKHnlkKgsWvM7gwfcyduwE1q9fzdKl/2T+/Hf5/PNPCQsL5/33P2Lr1h/5+OO/M3/+u41qt9gBfwvuJqZtNBmJzdjN5nPbqTJWE+XbnwcCh2Krtrmj690NzTk2Xx/0Rj3VVuWkZmdRUl169Udfet3fBpPhhtewU9lir7HHUWNvFiH1Nb9fOX5ZhKyVVo0667mT18VoMpJTkXedYGSX51CqL6s5TyEp0Nq4obssFlcEw8NWi73arsH9ulCdwvu7/s0TXafSU9e9Qa/dmPx+9/fe3y4ReyizUcYa2N2LAd286jxv0aIFjBgxkgULXuef//wPJ078xo4d21m48D0A9uzZxfLlX/P22x8wdeoENm7cjiRJVFdXk5V1CT8/fyZOHM2///0Fbm46DAYDDzwwhM2bf7lumwaIHfDNmt/yTrH6zEayyrPp5NqBCe1Hib4gDYBaqcbbxRc7w63L7MuyTKWx6gZiU0JJdZn5X30pmaWXKKkuofwmxSrVChX2anscL89szCLkgIP6mt8vi4+92rbB7shlWaZEX0pW2fWCkVuZj0m+uqjqoLZHZ6ulu3sXPOyuioa7tWuTzhB6enXDzdqVmLRdLUpMmiOzZ8+r9XdISHuWLPmQrKxLuLtr2bnzF/Ly8sjISEen82TJkg9JSjqMq6sbf/nLKwDk5ubUhLVUKhV2dnYUFhbg7l6/Ukz1QYhJA5JdnsOaM5s4lncCrY0bM7r/ga5unURMv4mRJAkblTU2Kmt0tnXHiQ0mA6X6slvOdoqqS0gvvUhJdSnGa0JGNWMiYae2vT7UdqO/NQ5YKTVUG/VklF68wSwjt1Y1ZpVChc7GHW97L8J13WvNMiwx070RCoWCaN/+rDm7idSSdPwdfC1t0h0xsLs3/Tp7WtqMWvj7BzBjxnPMnv0XrKysuffe+zhx4jhGo4EzZ07xxBPP8Pzzf2HjxvUsXPgGS5Z8xu8DTjfKjG1ohJg0ABWGSrae/4WdabtQK1SMDX6AaL+BdxR/FjQ9KoUKZyun22osJssyFYbKy7ObsmtmPKWX/zb/nlaaQUl1KRWGyhteR61QYzAZkLn6oXe2ckJnqzVXB7hGMFytnVvEGls/r95sPLeN2LTdTOs8ydLmtBqqqqro1KkLX331HQA7dvyMj48vbm7u2NraMmDAPQAMHTqcjz76AACtVkd+fh6urloMBgPl5eU4OTXuxmDxbXcXmGQT+y4msiFlCyXVpfTzimB0uxE4WbW8jWiC20OSJGzVNtiqbbidwKXeZKD0mtlOcXUppdWlFFeX4OroiIPsiM5Oi85Gi7XKqtHtb0xs1Tb08+zF7sz9jA15oMWVAmquVFZWMHPmsyxfvhK1WsOaNd8zZsx4fHx80Wo92LMnnsjIAcTH/0poaCcA+vUbwObNm5g69Y/s2LGdHj3Cbrhe0pAIMblDUoousOr0BlJL0glyDODZ7n8kwNHP0mYJmhlqhQoXa+cblotpLYkR1xLl259fM/YQn7mP4YFDLG1Oq8DJyZnHH3+Kp5/+IwaDgaFDh3H//cMBeOed93n//Xf49NOPsbOzZ+7cNwF46qkZvPPOW0ydOgkHB3tef31ho9spsrluwY0+7IVVRaw/u4UDWQdx0jgyNuQBenuEN+t1kdb0pSV8aZ5c68uSw1+QWXqJBf3/1uzThEU/E5HN1eTojXp+SYvjpws7MMkmhgfcy9CAwS0+NCEQNDTRvgNYeuQrDuUcJcIjzNLmCJoIISZ1IMsySbnHWXtmE3mV+YRpu/JQyIO427S8onYCQVPQ2S0UrY0bMWnxQkzaEEJMbkFqYQafHV7B6YKzeNt58nzYU3R0bW9ps24bkyyz77csjl84Qa8Qd8LauzfrcJygdaCQFET5DmD1mR+4UJwm1hLbCEJMbsLG5K38lLoTG6U1kzqMZaB332Yf/72WsxlF/O/nM5y7WIyNlZLdRy4S4uvExOhg2vuK3iGCxqWfVwQbU7YSkx7PY50fsbQ5giZAiMkNkGWZ1JIM7g8exL1e0dirW04l1NyiClbHJLP/RDZO9hqeeLATDw4KYf3O02zYdY53lx8kvL0746OC8XZvOX4JWhY2Kmv6efVmV8ZexgY/KNLl2wBCTG6AJEn8OeyJFpVtU1ltYPPeC/y0Pw2AUf0DGdHPH2uNCrVKQXSYD5GdPdmWkMaWvReY9+U+7unuxZiB7XBxEEkEgoYnyrc/senxxGfu5YGgoZY2R9DICDFp4ZhkmfijF1kbm0JRWTX9OnswPioYNyfr68610igZ1T+Q6DBvNu2+wI6D6ew9nsXQ3n6M6OuPrbXoFyJoODxstXR2CyUuYy/3BwxGJSpC3Da3U4K+pKSYWbOeq/WcwsICtm+Ps0gJ+uZfo0FwU06lFrBgWQJfbT6Jm5M1c6f14unRXW4oJNfiYKvh0fva887T/egZquXHPRd49d972LY/FX0rybEXNA8G+w6kuLqEg9lHLG1Ki+H48WP86U9PXleC/qOPlvLNN99jMBhYvXoFLi6uLFv2HcuWfcf//d9yPD29ePnluQA1Jej/+9/VjBo1lo8//nuj2y3EpAWSXVDOv9Ye5b3vDlFSUc3Tozozd1ovgn3qri11LVpnG54e1YU3/tCbQC9HVuw4y5zP9rLn2CVMrXsvq6CJ6OjaHg9bLTHp8ZY2pcWwceM6/vKXV2sq/J49e5YuXbrh7m6eWQwYMJC4uNhaz9m8+Qesra1rdsbv2RPPsGEjALjvvmHs3bsbg+HGbRkaCjHvbEGUVxrYtOc8PyekoVQoeOieIO7v44+V+u6yzAI8Hfjrw2EcP5/P6p3JfL7pN7buT2VCdDBdg1xFOrHgjrmSJrzy9HrOFaUS5ORvaZNuSdXJXVSdiK37xDtAHToIdYcBdZ53uyXor2A0Gvn6669YtOjq7KPVlaCfNm0a+fn5NQXG5s+fT1xcHFu2bAEgKiqKV14x19/fvXs37777LlVVVYwYMYJZs2YBcOLECebOnUtZWRkRERG89dZbjV6wrLlhNJmIS7rIurgUSsr1DOjmybhBwQ2+cN4l0JVOf3DhwIls1v6azIcrk+gU4MKE6GCCvBwbdCxB26GvZ09+SN5KTPougpwmW9qcFsfNStBfYd++Pfj5+REcHFJzrFWVoJdlmfPnz7Nz586aL//du3eza9cu1q1bhyRJPPnkk2zfvp177rmHOXPm8O233+Ll5cUzzzxDbGwsUVFRvPzyyyxcuJCwsDDmzJnDypUrmTy57bwhj5/P5/tfzpCeU0YHXydmTWpPoGfjfbErJIm+nT3oFaol5lAGP8SfZ8HXCfTuqGNcVDs8XGwbbWxB68RaZU2kdwSx6bt5KOTB2yr1bymsOg5EGdLf0mbU4mYl6K8QFxfDkCH313qOJUrQN9qaSUpKCgCPP/44o0ePZvny5Wi1WmbPno1Go0GtVhMcHExmZiZHjhwhICAAPz8/VCoVo0aNYuvWrWRkZFBZWUlYmLkkw7hx49i6dWtjmdysuJhXxserkvj7isNUVhv509iuvDqlZ6MKybWolArui/DjvRmRjOofSFJyLq99vo/l205RXFbdJDYIWg9RPgOQZZldGXstbUqL40oJ+vLyMvR6PWvWfM+9914Vj2PHjtCjR3it51wpQQ+0/BL0xcXFREZGMm/ePPR6PdOnTycoKIgBA8wxw/Pnz7Nlyxb+97//cezYMbTaq7E8nU5HVlYW2dnZtY5rtVqysrIay+RmQVmlnh92nWfHwXTUKgUTo4O5L8IXtcoyu+9trFQ8NKgd9/b04Yf488QcyiT+2CWG9/Hn/t5+2Fi1rZCj4M7Q2rrR1b0jcRl7GRY4RDSOqwe3KkEPkJmZgVarq/UcS5Sgb7RXNDw8nPDwq2o5YcIEYmNjGTBgAGfOnOGZZ57hlVdeITAwkCNHjtSK512J75lMphserw93Ukr5WrTaptm5azCa2LL7PP/bdpKyCj1D+wYwZXhHXBxuneZ7u9ytH1qtA38JcufhYaV8u/kEG3adI/ZwJo/cH8qwfgGolE2XGNhUr0lT0JZ8GdNlKAtjP+FM+Smigvo1kVW3JjtbgUpV+737+78txfr1P9b8PnbsOMaOHXfD82Jj91x3zNXVhcWLP7qtcRQKRYO8DxtNTBISEtDr9URGRgJmIVCpVCQmJvLCCy8wZ84cHnzwQQA8PT3JycmpeW5OTg46ne6647m5ueh0tRW4Lhq6n0lDI8syR1Py+H7HWS7mldMpwIVHhrTHT2ePoVJPTqX+rsdoSD80wBMPdCQ6zItVO5P599ojrN15hvFRwUSEaht9ka8lVSWoi7bmi6fCB09bHRtP/Ewnu87NIkvQZDLV6vnRFvuZmEymWq/dnfYzaTQJLikp4f3336eqqorS0lLWrVvHvffey5///GcWL15cIyQAPXr04Ny5c1y4cAGj0cimTZsYNGgQPj4+WFlZkZiYCMCGDRsYNGhQY5nc5GTklPLhyiQ+WnUEk0nm+fHdeOmRMPx0zb/dabC3E69ODufFid1RqxQsXX+Mhd8kcOJCgaVNEzRTJEki2m8AqSUZnCu+YGlzBA1Mo81MBg8eTFJSEmPHjsVkMjF58mS2bt1KVVUVixYtqjnvkUce4dFHH2XRokU8//zzVFVVERUVxfDh5pjg4sWLee211ygtLaVLly5Mnz69sUxuMorLq9kQZw4TWWuUPDKkPff29GnSUFFDIEkS3YPd6Rrkxp7jl1gXl8IH/ztEt3ZuTIgObhGiKGha+nj2YkPyFmLS4mnnFGhpcwQNiGjbewsaOgxhMJr4JTGdH+LPU1VtZHC4D6MHBuJgq2mwMW5EU4VT9AYjvyRm8OOe85RXGujXxZOHBgXh7mTTYGO0tdBQS6E+vqw9s4md6buYHzkbF2vLtkMQbXtF294WhSzLHDqTy8qdZ8kuqKBbOzcm3RuCTysrAa9WKRne1597enixec8Ftiekc+BkFvf29GVk/0DsbUQhSYG5mvCOtDjiMvYyOnh43U8QtAiEmDQyqVklrPjlDCdTC/Fys2XWpB50a9e6W/7aWauZODiEIb18Wb/rHNsT0og7cpEH+vlzX4TfXZd/EbRs3Gxc6e7emV2ZexkeOASNUtxktAaEmDQSRaVVrItLIS7pInY2aqYM7UB0uDdKRctaF7kbXB2tefyBTtzf24+1sSmsiU1hx8EMxgwMYkA3zzb1fyGoTbTfAJJyj5OYdZhI796WNkfQAAgxaWD0BiPbDqSxac8FDAYTQ3v7MWpAIHZtuFeIr9aeFyZ051RqAatjklm25STbDqQxPqodYSGiL31bpL1zMN52nsSkx9PPK0K8B37H7fQzUalUXLyYycKFb1BWVoa9vT2vvfYWnp5e6PV6Fi5cwIkTv2FlZcUbb7xNQEBgo9osbg0bCFmWOXAym7mf72NNbAqdA1xY+GRfHhnSvk0LybWE+rswZ1ov/vxQN0wmmX+uOcq7/z3I2fQiS5smaGIkSSLadwDppZkkF523tDnNitvtZwLwxRdLue++YSxb9h3R0ffy2WefArBq1QpsbGz4739X88ILf+Xtt99sdLvrnJkYDIY2V6W3vpy7WMyKX85wJr0IX609Lz8SRqdAV0ub1SyRJIleoVrC2rsRd+QiG+LO8c7yRNGXvg3S2zOcDclb2Jm2ixDnIEubA8CezATi0/c3yrUjvXrT16tXnedd6WeyYMHrwI37mSxf/jWPPDIVo9FEWVkpABUVlVhZmSuJ79mzi2eeeRaAsLCeFBYWcOnSJTw9PRvDNeA2xGTw4MGMGzeOSZMm4ePj02iGtEQKSqpYE5vM7mOXcLRV89jwUO7p7o1CIabsdaFU3KwvvTdjBgaJvvQtgMpqA0eS8/jtfAEP3x+KjbJ+73uNUkN/7z78nBpLfmUBrtYujWRpy6I+/UyeeupZZsx4nNWrv8dg0PPvf38F1O5nAuDm5k5OTpZlxWTlypWsWrWKqVOn0qFDBx599FGioqLadIyzSm/kp32pbN53AZNJZkQ/f0ZGBoqih3fAtX3pN+4+z86DGew9fulyX/oAbK3F/2lzoqLKLCAJJ7M5kpJX0+b5RGoBc6b0xMm+fjcBg3wj+Tk1ll/T9zA25IHGMLleRHpH0FvX09Jm1OJW/UwWLnyDV16Zwz33RBMT8wtz5rzE11+vuEEdQxlJatxVjTo/qV5eXrzwwgs899xz7NixgwULFjB//nwmT57M9OnT0Wgad8Ndc8Iky+w7nsXq2GQKSqqICNUyYXAIOueG25TXVnGw1TD5vg4MjfBjXVwKP+65QMyhDEb1D2RwT1/UzaT4XlukospA0tlcDpzM5ti5fPQGE072GgZ19yaioxaNWsn7/zvEJ2uO8MrknvVK/Xa1dqGHtiu7M/fzQNB9aJRt5/vkdrlZP5OCggJSU89zzz3RAERHD2Hx4ncpLCxEq9WRm5uLp6c5mpSXl9eoXRbhNrO5kpOTWbVqFZs2bSIsLIxx48YRFxfHzJkzWbp0aaMa2Fw4m1HE/37tyqjEAAAgAElEQVQ+w7mLxQR4OPDM6C508LPs7t3WyJW+9MN6+7M6NpkVO86yPSGdcYPa0beLh6XNazNUVBk4fCaXhFPZHE3Jx2A04WyvYVAPb3p31BHi64Timjvfl6b04p2v9vPFxt949qGutR6ri2jfARzOOcqBrEMM8O7bGO60aK70M1m+fCVqtYY1a75nzJjxODs7o9FYkZR0iB49wjly5DA2Nna4uLgQGTmALVs20bVrD5KSDqPRWDVqiAtuQ0weffRR0tLSGD9+PKtXr64xKDo6mn79mkcZ6cYkt6iC1THJ7D+RjZO9hice7ERkV896fVgE9edmfemnjOiEr4s1tiJDrsEpr9Rz+GwuCSdzOHYuD4NRxsXBiuhwbyJCrxeQa+nX1YuHh7RnxS9nWB2TzKTBITc870aEOAfhY+9FTFo8/b36tOkQ+o24VT+Tt99+nw8//IDq6ipsbW15++33ABg//mH+/vd3mTp1EhqNmnnz5je6nXXW5tq4cSPDhw9Hrb7+w1tWVoadXfPOvrnT2lyV1QZijlxiXcxZAIb38WdEP3+sNS0vht/Sa0CZZLmmL31OYSUS4OdhT6ifC6H+znTwc26RpVqaw+tSXqnn0BlzCOv4uXyMJrOARITq6N1RRzsfx9u6cdJqHcjOLmb59tPsPJjB9OGhRIfdfsLO7swD/PfkKmaGP00Hl9sXortF1OZqwtpcw4YNIyYmhrKyMgCMRiOpqanMmjWr2QvJnSLLMm9/k0hGbhn9OnswPioYN6eGaVIlqD/X9qXPLdWz72gmp1ILiDmcwfaENAB8tXa1xMXRTsTeb0ZZpZ6Dp3NIPJVTIyBujlYM6eVL7446grxvT0B+jyRJTL6vPbmFlSz/6TTuTtZ0Dbq90kG9PcLYkLyZmLT4JhUTQcNRp5jMmjWLtLQ0cnJy6Ny5M0lJSfTp06cpbLMYkiTxYGQA7YPccLNteXe8rRWVUkG3EHc8nayAIPQGE+cuFnMqrZDTqQXEHc3kl4PpAHi52RLq70KonzOh/s441zPLqLVRWqHn0OkcDpzK5sT5gssCYs3QCD96ddTSzsuxQcJLSoWCGWO68O7yRJauP8bfpvbCV1v3Xa5aqWaAd1+2XdhJbkU+7jZin1ZLo04xOXHiBNu2bePNN9/kj3/8IyaTiTfffLMJTLMs/bp4NoswhODmqFUKOviZZyL0D8RgNHHhUgmn0go5lVrI3uOXiDmUAYCHiw2h/s41sxdXx9Y/0yytMM9AEk5mc+KCWUDcnawZ2tuP3h11BHo6NMr6hI2VipkTerDwmwQ+XnWE16b3uq2U4Xt8+rE9NYZfM3YzLmRkg9t1M+6kHXhroSE7kNQpJjqdDpVKRWBgIKdPn2bEiBGUlIgvWEHzQ6VUEOzjRLCPEw/0C8BoMpGaVcqp1EJOpxWScDKHX5MuAuDuZF1LXNydrFvFF0pJefU1AlKISZbROltzfx+zgAR4NI6A/B43J2tmTuzOov8evO2UYRdrZ8K0XdmdeYAHg+7HqgnShJVKFXp9NRpN25y5Go0GFIqGqeJdp5jY2tqyceNGOnbsyMqVK2nXrh3l5eUNMrhA0JgoFQqCvBwJ8nJkeF9/TCaZ9JxSTqYWciq1gMNncok/egkAV0eryyExc2hM52LTYsSluMwsIAdOZnMq1SwgOhcbRvTzJyJUh7+HvUV8CfR05JlRXViy9ihfbPqNZ8fWnTIc7TuQg9lH2H/pIPf4NH62qL29M4WFOTg7a1Gr29Y6myybKCkpwMamYTqi1ikm8+bNY9WqVbz88susXr2aqVOnMmvWrNu6+LRp08jPz6+p7TV//nxSU1NZunQpBoOBxx57jClTpgCwe/du3n33XaqqqhgxYkTNGCdOnGDu3LmUlZURERHBW2+9JWqFCe4IhULC38MBfw8H7u/th0mWycwpuxwWK+D4uXz2HM8CwNleQwc/Zzr6m2cunq62zUpcisqqOXgqm4RTOZxMLUCWzaG8Ef386d1Rh5/OMgLye8I7aJl0bwjf7zjLmphkJtaRMtzOKQA/Bx9i0uMZ6N230X2wsTEnERUV5V6+S1dgMrWObK66fZHQaKyxt3dqkPEarW2vLMsMGjSInTt31nz5Z2Vl8eijj7J27Vo0Gg2PPPII//jHP/D19WX48OF8++23eHl58cwzzzB9+nSioqIYOXIkCxcuJCwsjDlz5tC1a1cmT55823Y0p7a9lqK1+AGN64ssy1zMK68Rl1NphRSVVgPgaGcWlysL+t7udne916i+vhSVVpF4OYR1Kq0QWQZPV1siOuqICNVaVEBu5Yssy3y77TQxhzJ4bHgoUXWkDO+7mMg3J77n+bCn6OjavjHMvSnis9IIqcHTpk275Rvzm2++ueWFU1JSAHj88ccpLCxk0qRJ2NnZ0a9fP5ydzTvHhw0bxtatW+nTpw8BAQH4+fkBMGrUKLZu3UpISAiVlZWEhYUBMG7cOD755JN6iYlAcLtIkoS3ux3e7nYMDvdBlmWyCypqiUvCyWwA7G3UtcTFV2ffKBtZC0urSDxlDmGdSStExpypNjIykN4ddfho7ZrFDORWSJLElKHtyS2q4NufTuPuZEOXoJtna/X06MG6sz8Sk76rycVEcOfcVEymTp0KwPbt2yktLWX8+PEolUo2bNiAo6NjnRcuLi4mMjKSefPmodfrmT59OiNGjECrvVofRqfTceTIEbKzs687npWVdd1xrVZLVlbWHTkqENQXSZLwcLXFw9WWQT28kWWZ3KJKTqUWciqtgFOphRw8nQOArZWqJrMs1N8Zfw/7O+4kWVBSReKpbBJOZnMmvQgZ8Ha3Y9SAKwLSMDHupkSpUPDsmK68uzyRT9cfZc7UXjf1Q61QMdCnL1vP7yCnPA+tbetuc91auKmYDBs2DIAvv/ySFStWoLj8wYiOjubhhx+u88Lh4eGEh4fX/D1hwgTeffddnn322ZpjV1LyTCZTrburuo7XhzuZrl2LVutwV89vLrQWP8Cyvuh0jnRur6v5O6eggmMpuRxLzuNYci6Hz+YC5vTYzkGudA12p2uwGyG+zqiU14vLFV9yCyvYfSSTXUmZnLyQjyybS8o8OqwjA7p74e9Z9w2cpbmd1+WtZ/rz0se/8s+1R1k8cxAuDjdO0R5jfx/bLuzkQH4CjwVMaGhTb4n4rNwZda5kFxQUUFVVhY2NuTJuWVkZRUV1d8ZLSEhAr9cTGRkJmIXAx8eHnJycmnNycnLQ6XR4enre1vHc3Fx0uqsf5NtBrJm0Hj+gefrS1d+Zrv7OMDiYgpIqTqcV1oTGEi+HxazUSkJ8HOlwOVssyMsRtbWGbXvOkXAym7MZ5s+Ur9aOMQOD6N1Rh5fb1QoTzc3n33O7r4sEPDeuG+/99yBvfraHVx4NR3PDlGEl4bru/JIcz72e0VirmiZ1tzm+v+6UZrNmcoWRI0cyadIkhg4diizLbN26lUmTJtV54ZKSEj755BNWrFiBXq9n3bp1fPDBB7z88svk5+djY2PDtm3bWLBgAaGhoZw7d44LFy7g6+vLpk2bGD9+PD4+PlhZWZGYmEivXr3YsGEDgwYNqreTAkFT4eJgRd/OHvTtbK5wXFxWbRaXy6Gxdb+a1xJVSgUGoznTxk9nz0OD2hERqq0lIK2VIC9HnhrVhU/XmVOGZ9wkZTjadwAJWYfZdymRKN/+FrBUUB/qFJOZM2fSpUsX9u7dC8Ds2bOJioqq88KDBw8mKSmJsWPHYjKZmDx5Mr169WLWrFlMnz4dvV7PhAkT6N69OwCLFi3i+eefp6qqiqioKIYPN1fFXLx4Ma+99hqlpaV06dKF6dOn342/AkGT4minMWdbdTTPqEsr9JxOM2+i9NTa08nXCQ9XWwtb2fT0CtUycXAIK3eeZU1sMhOjr08ZDnIKIMDRj9j0eO7x6YeikZs7Ce6ORksNbi6IMFfr8QOEL82VO/FFlmW+/ekUMYcz+cOIjgzq4X3dOfsvHeTr31bw5x5P0NkttKHMvSlt/TWBOw9zCakXCAQWQZIkJg/tQJcgV7796RS/nc+/7pyeuu44ahyISY+3gIWC+iDERCAQWAyV0pwy7Olmy7/WHSMjt6z24woVA336cTzvJNnlOTe5iqA5UKeY7Nixo0ErSwoEAsG12FqrmDmhO2qVgo9XJVFUVl3r8YHe/VBKSmLTd1vIQsHtUKeYfPvttwwZMoRPP/20VpquQCAQNBTuTjbMnNCd4rJq/rnmCNV6Y81jTlYO9NT1YO/FBCoMlRa0UnAr6hSTr776imXLllFeXs6kSZOYOXMme/bsaQrbBAJBG8KcMtyZc5nFfPHjCUzXREQG+w2g0ljF3osJFrRQcCtua83E39+fWbNmMXv2bI4dO8Zf/vIXRo0axZEjRxrbPoFA0IboFapj4uAQEk5m1+zJAQhw9CPIMYDY9HhMcuuo6tvaqFNMLly4wAcffEBUVBQrV65kzpw5xMfHM3/+fF588cWmsFEgELQhhvXxIyrMmx/3XCAuKbPmeLTfAHIq8vgt75QFrRPcjDo3LU6cOJGHHnqI5cuXExgYWHM8PDy81feCFwgETY+5ynAHcgsr+OanU7g5WdM50JVwbTfWahyJSY+nq3snS5sp+B11zkxiY2P529/+hru7O1VVVbUeW7RoUaMZJhAI2i4qpYJnx3bD09WcMpyZW4ZSoeQen0hO5J/mUlm2pU0U/I46xSQ7O5tJkybRp08fevXqxfTp07l48WJT2Ca4S2RDNdXHfubid29RdfAHTEWifL+g5XBtyvBHq5IoLqtmoE9fVJKSWLGJsdlRp5jMmzePCRMmkJSUxMGDBxk6dCivvfZaU9gmuENkQzXVx3+m7PtXqdq9HH3BJaoT1lL2/auUrXuL6iNbMJXmWdpMgaBO3J1teGH81ZRhK8mGCI9w9l5KpFxfYWnzBNdQp5gUFxczadIk1Go1Go2GadOmkZub2xS2CepJLRGJX47CQYvNg6/g96dPsZv8d6z6PgyyTNXe7yn77q+U//AO1cd/wVRRbGnTBYKb0s7bkSdHdiY5s5gvfzzBIN/+VBur2XvxgKVNE1xDnQvw/v7+JCUl0aNHDwBOnjyJv79/oxsmuH1kox79yV+pPrwJuawApUd7NNFPofTuhCRJSJKEwt4NTY8RaHqMwFR0CX3yfgzJe6mK/5aq3ctRendGHdIPVWBPJKvWXwZd0LKI6KhjYnQwq2KS0bnYEOwUSGz6bqL9Bopqws2Em4rJqFGjAHMzrMmTJxMaGopCoeDkyZMEBwc3mYGCmyMb9ehPxVF9aBNyWT4KjxCso55E6dP5lh0pFU6eWPUcjSZ8FKaCdAxn96FP3kdl7JcQ9zUqv26ogvuiCghHUjdNUyKBoC6G9/Unq6CCH/dcYMiQziRXbuZ43km6uXe2tGkCbiEm8+bNa0o7BPXgxiLyRJ0i8nskSULp6oeyjx+a3uMx5ZxDn7wPQ/I+DBcOgUqDyj8MVUhfVL7dkFSaRvRKILg1kiQx9f4O5BVVEBOTj2sfB2LS4oWYNBNuKiZiD0nz48Yi8jhKny71EpEbIUkSSl07lLp2yP0exnjpDIazezGcS8CQsh/UNqiCeqEO7ovSpxOSos4IqUDQ4FxJGX5neSIF6T6c9DpJZuklvO09LW1am0d8I7QAZKPhsohsNIuILrjBRORGSJIClVcoKq9Q5AFTMGacMM9YziViOL0LydoBVbveqIL7ovRsjyRi1oImxNZaxYsTurPgvyUYPE6z/Xwcj3WdaGmz2jyNLibvvfceBQUFLFq0iOPHj/P666+j1+vx8vLigw8+wNHRkeLiYl566SXS0tJwdXXlo48+QqvVUl1dzdy5czl27BjW1tYsXry4Ta3X1IjI4U3IpXmNLiI3QlKozGsoft2QB07HkH7UvMZyahf633Yg2bmgatcHdXBfFNqgJrNL0LZxd7bhhYd6s3jXbxzgIGODR+BkU//ugIKGo163lNXV1WRmZtZ94mX27NnDunXrav5+++23eeGFF/jhhx8ICgriyy+/BOCjjz4iIiKCLVu2MHHiRN5++23AXP7exsaGLVu2MGfOHP72t7/Vx9wWi2w0UH0ixpziu+trJFsnbEb8Fdsxr6Hy7WqxL2xJpUEd2Aub+/6E/fRPsL53Bkr3QPTHf6Z8/XzKVrxC1f7VGPPTLGKfoG0R7O3EQ53uRVYY+WTnj7WqDAuanjrFZPv27SxYsIDS0lKGDx/OmDFj+Prrr+u8cGFhIR9++CEzZsyoOWYymSgrM3dSq6iowNraGoCYmJia7LGRI0fy66+/otfriYmJYfTo0QD07t2b/Pz8eolZS6OWiMQtuywif8F2zDxUft2a1V2/pLZGHdIPm2EzsZ/2CdZRT6Bw8qA6aTPlq+dRtmqu2HUvaHTu79YVV4U3mdJx1v161tLmtGnqFJP//Oc/TJo0iW3bthEWFsbOnTvZsGFDnRd+/fXXmTVrFo6OjjXHZs+ezWuvvcbAgQPZvXs3jzzyCGAu2aLVagFQqVTY29uTn59f6ziAVqvl0qVL9XayuSObDFSfjKVs5WyziNhcKyLdm5WI3AjJyg516D3YPvASdlM/wmrANCQru6u77te+KXbdCxqNcZ2HoLCqZMuJBHYdEaWeLEWdayayLBMaGsrnn3/OoEGDsLe3r7ON76pVq/Dy8iIyMpK1a9cCUFlZydy5c1m2bBndu3fnq6++4tVXX+Wzzz674ZgKhQJZlmt9kV45Xh/c3O4ujqrVOtzV82+FbDRQciSGwvg1GIqysfIKweWBZ7AJDm9wAWlMP2rjAP4+ED0WQ3Eupb/tpuy3XVTt/Z6qvd9j7dcJu84DsO/UH6Wd0x2N0HS+ND7Cl7tniFtf1qdsoiwok29+OklwgAvdQ7R1P/EmiNfkzqhTTBQKBZs3b2bXrl28+uqrxMbG1vlFt3nzZnJychgzZgxFRUWUl5eTkZGBlZUV3bt3B+Dhhx/m448/BkCn05Gbm4unpycGg4GysjKcnZ3x8PAgOzu7Zsd9bm4uOp2uXg7m5ZViMt1ZLFWrdSAnp+SOnnsrZJMB/el4c3ZWSS4KbRA2w2eh9OtOmSRRllvaoOM1lh91YwXBg9EED0ZVlIU+eR/Vyfuo/OkL8rZ9ad51H9wXVVCv2951bzlfGp6W7otsNGDKT8OUn45n78HkFRssZstAr0jWl2/G1UPP2/+3n7nTe+HlVv9KDi39NbmWO/VFoZDu6Ca8TjF59dVXWbJkCbNmzUKr1bJ06VLmzp17y+d89dVXNb+vXbuW/fv387e//Y0RI0aQkpJCu3bt+OWXX+jWrRsAUVFRrF+/nhkzZrB582YiIiJQq9VERUWxYcMGIiIiSEhIwMrKCm9v73o72VyQTQYMp3dTdWgjckkOCm0Q1gOmoWwBoay7ReHkgVXP0Vj1HI0xPx1D8j70Z/dS+ev/wa6vUfl1v7zrPgxJbW1pcwW/Q5Zl5LJ8jNnJGLOSMWYnY8q9AEY9ADm5p1AMeNJi9vX37sOP57bTvkc+R2J9+GhVEnOnR+BoKzbaNhWSXFfM6i65IiaLFi0iNjaWv//978iyjJubGwsWLMDPz4/CwkJmz55NWloaDg4OLF68GF9fX6qqqnj99dc5duwYGo2GhQsX0qVLl3qN3xxmJjcSEateY1D69WgSEWmud1uyLF/ddZ+yH7msoM5d983VlzuhOfsi66sw5p7HmJWMKdssHnJ5oflBpQqFeyBKXTBKXTCm3PNUJ23G+r4/oW5nuc3O351cw/5LiTzZ7nn+ufIUAR4OvPxoGGqV8rav0Zxfk/rS1DOTOsUkMTGRJUuWkJeXV2utZOPGjfUezBJYUkxkkwHDmT1UHfzBLCLugVj1GovSv2lE5Aot4QMiyybzrvvkfRhSDiBXllzedd8TdXC/ml33LcGX26W5+CLLJkxFlzBlp1yddeSnw+Ve65KjrkY4lLp2KNz8kZRXgxqyyYj+x3epzr+E7cSFKGydLeJHZukl3t7/D8YEj8ClogtL1x+jTycdT4/uguI2P2/N5TVpCJpdmGvevHlMmjSJTp06tfpQTEMhm4wYzlyeiRRno3APxLr/lCYXkZZErV33/adgzDyB/uw+DOcTMJyON++6D4qgvFskJskRycFdlHS5Q+TKUozZKeaQVXYyxuwUqC43P6i2QalrhybsQZQewSi07VDYON7yepJCiXb086R/8RJVcV9jff8LFnmfe9t70sElhF/T9/BW5CDGR7VjTWwKOhdbxg1q1+T2tDXq/DRqNBr+8Ic/NIEpLR/ZZMRw9vJMpDgbhXsA1sNmovQPEyJSDySFEpVvV1S+XZGN0zGkHTWvsZyJ59KJnZdPkpDs3VA46lA46JAcdSgctea/HXVIGhvLOtFMkE0GTPnpNTMOY3YKctHl9HpJQuHii7pdb5S6YBQewSicve6oPI7G3Rer3hOo2vs/DKd3oQ69p4E9uT2ifQfw2dGvSco9zgP9upFdUMGm3efxcLFhQDcvi9jUVqhTTNq1a8fRo0drFssF13OdiLgFYH3/TJQBQkTuFkmpRh3YE3VgT2R9FQ6GbApSz2MqzsZUnIOpOBvDuQTkqtoZcJK1w2WBufpzRXAkG6dW+7qYygowZp01h6qyUzDmnAdjNQCSjaNZNDoMROkRjNI9sEFFV91tKIYLB6nc/R1Kn84o7N0a7Nq3Szf3TrhZuxKTFk9PXXemDQslt6iSZVtO4uZoTccAlya3qa1w0zWTa/uZZGdn4+fnh0p1VXvEmskVEdl7WUSyULgFmNdEmpmItIU4sFxdfllgzD/yNWIjl+YD17wHVFY1s5jrBMfetcnCZ3e9Jmeowph7AVPNrCPZnMQAoFChcA+oWedQegQj2bs32vvyii+m4hzKVr+G0iMEmwf+apEioL+k/sras5uY3Xsmfg4+lFXqeefbRIrLqpkz7dYpw23hs1IXDb5mIvqZ3JwaETn0A3JRFgo3f6zuf8HcTKoZiUhbQtLYonQPROkeeN1jslGPXJJbS2xMxdmYCi9hSjsCxmv2R0iKq+GzWjOay7MaC6Uty7KMXJR1zTpHMqa8tKuL5A5alJ6h5hmHLhiFmx+SUt3kdioctVhFPkpV3DL0v+1A0+W+Jrch0qs3m1J+IiY9nmmdJmFnrWbmxB68/U0CH686wtzpvXAQKcMNTp39TObMmcM777xT67EXXnihTfY7uV5E/LC6/3lUAT2FiDRjJKUaydkLhfP1MXNZNiGXFV6dzZTk1IiNPmU/VJXVvpaN43WzmSuCI1k7NNj7QK4qu2aR3PxvjS1qa5TaIDQ9HjAvkuuC61wkb0rUHaMwnE+kat9KVL5dUTg1ba8RW7UNfb0i2HPxAGODH8BBY4/O2Ybnx3fn/e8O8c+1R3n5kfqlDAvq5qZi8sYbb5CVlUViYiL5+fk1xw0GA2lpbasqrGwymfulH/wBuejSNSISLnp5tHAkSYFk74rC3hW8O173uFxVVhMuuxo+y8aYeRLDmT3UCp+prc3hMwcd0jXJAObwmRuS4sZfXrLJaF4kvzLjyE7BVHilxpSEwsUHdWAvFFdmHc7eSPUsK9SUSJKE9aDHKVs1l4qYL7AdNafJ7Y3y7U9cxh7iM/czPPBeAEJ8nHhyZCf+veE4X20+yVOj6teZVHBrbiomEyZM4MyZM5w6dYphw4bVHFcqlYSFhTWJcZZGNhnRn9l9VURc/bAa+jyqQCEibQXJyg6l1g6lNvC6x2RDNabS3FrrM+bwWSamtKTfhc+USA7Xhs+05ElVlJ8/gTHnHBguL5JbO6DQBaNp39+83qENapGZaQo7F6wHTKVy52dUH9mKVdgDTTq+l50HHV3aE5exh6H+USgvC3mfTh5kF1Sw9tcUdC42jL1HpAw3FDcVk27dutGtWzcOHjzIQw891JQ2NQsM5w+RvmYV+rzMyyLyHKrAnkJEBDVIKg1KZ29wvr7Ejzl8VnDNjOaa8NnlfR1VChUKN3/UHaMut0wORnLQtpq7ZVVIJKrzB6lOWIvKvztKV98mHT/abwD/PrKMwzlH6eVx9Qb4wcgAsgsq+CH+PFpnkTLcUNSZtpKUlNQUdjQrZFmmMv4b1HYOWAsREdwB0pWFfHs38O503eNyVRnunq7kFVRZwLqmQZIkrAZOx3jpNJU7P8d27LxaO+cbmy5uHXG3cSMmPb6WmEiSxPThoeQWVbBsy0ncnawJ9Rcpw3eL8s0333zzVifExcWxdu1a0tLSOH78OIcPH+bw4cOEh4c3kYl3R0VFNfWtPiZJEuqu9+F5z2iqrFr+naKdnRXl5dWWNqNBaC2+SCoN9g62rcIXuPnrIqmtkJx06I9tA0lCdQNhbSyufG7jM/fT1a0jzlZXWx4oFBJh7d05eDqHuCMX6dlBi72NutW8v+DOPyuSJGF7B9ludd5uXykFn5GRwenTp2t+WjuSQiVmIwJBA6AO7IWq/QCqD200l25pQvp59cJKqSE2ffd1j11JGZYkiY9WJVHSSkTEUtQ553z33Xebwg6BQNCKse4/mbLME1TGfIHtuDevqwbdWNiobOjnFUF8xj7GhjyAo6Z2syidsw0vjO/O+/87xJK1R3nvecuUgWkN3PTWe+bMmYB5J/yNfgQCgeB2kazssI56HFNhJlUJa5t07Cif/hhkI7sy9t7w8RBfc8rwmfQiPl5x+I4rZrR1bjozeeqppwCxE14gEDQMKt+uqDvfi/7IT6gCwlF5hTbJuB52Ojq7hhKXsZf7AwajukG5nD6dPMgprGBNbAq5BWU8PbqL2CVfT246M+natStg3gnv5ubG6dOnSUlJwcPDo03ufhcIBHePVd9JSI5aKmO+QNZXNtm40X4DKa4u4VD20Zue82BkIM9NDONUWiHzlyVw4VLrqNHVVNS5wrxmzRqmT5/OkSNHSEhIYMqUKfz0009NYZtAIGhlSGprrFOSI1oAACAASURBVKOfRC7JpWrv9002bifX9uhs3YlJj7/lecP6BfC3qb0wyTLvLE8k/ujFW54vuEqdYrJs2TLWrVvH+++/z+LFi1m5ciVLliyp1yDvvfces2fPBiAlJYVp06YxevRonnjiCYqKigDIzMxkypQpDB8+nGeffZayMnMdouLiYp5++mlGjBjBlClTyMnJqa+PAoGgGaHy7IC6+zD0J3ZiSLv5TKEhUUgKonwHcL44lXNFqbc8N8jLkTf+0Jtgb0e+/PEE3247hcFoahI7WzJ1iolarUan09X87e3tjVp9+9VI9+zZw7p16wDzZsBnn32Wp556ih9++IFOnTrx2WefAfDWW28xefJktm7dSteuXfn0008B+Oijj4iIiGDLli1MnDiRt99+u14OCgSC5odVxDgULt5U/vp/yL8rptlY9PPshbXSitg6ZicAjnYa/vpIGMP7+LPzYAbvfXeQgpLWu8G0IbipmBw/fpzjx48TGhrK/PnzOXXqFGfPnuX999+nZ8+et3XxwsJCPvzwQ2bMmFFzTVtbWwYNGgTAjBkzmDJlCnq9ngMHDtTUABs3bhxbt24FICYmpiZ7bOTIkfz666/o9fo791ggEFgcSaXBOvpp5PIiKuOXN8mY1iprIr16czD7CEVVxXWer1QomHRvCDPGdCE9u4z5yw5wOq2wCSxtmdw0m+v555+v9XdMTEzN7//f3p3HRVmvj/9/zcKwCCbIau77rikKCIq74Ibgkrmlaf40PaX18SfHFDPTcjmmleWxOnoyzTQRzNBckBBFEHdzyV1xAwRRQGAG5vsHxzl6ShFhFvB6Ph49coa57/u6ZubBxf2+3/f1VigUzJw5s9idh4WFMXXqVG7eLBp3vHr1Ks7OzsyYMYPTp09Tt25dZs2aRUZGBvb29obFt1xcXLh9+zYAKSkpuLi4FAWrVmNvb096ejpubm4ly1QIYVFULrXRvNKP/MORaOu0xaqOp9GP2al6B2KS97H3+gH61u35TNu0b+JGNedKLA8/waIfjvBq1/p0a1u93HfGKGtPLCbR0dGl2vHGjRvx8PDAx8eH8PCieeU6nY7ExES+//57WrRowdKlS/nkk0+YOnXqnz6YJ31Qer0eZQnaWT/PimGPcnFxKP5F5UBFyQMkF0v1PLnoew7j+o0T5O/7DrdmbVBVeqn4jUrBBQdeudqc/TcTGOHZH6u/WEDsr/JwcXFgaR1nPl13mHW7znEz4wFvDWqFjcZ0vcaehym/X0Z7J6KiokhNTSUoKIjMzExycnI4c+YMtWrVMqwn37dvX95++22cnJy4f/8+BQUFqFQqUlNTDddpXF1dSUtLw93dHZ1OR3Z2NlWqVHnmOIy5bG95UVHyAMnFUpUmF7XfWPI3z+Z6xHJsekw2+l/8HVy9OHzjBL/+vg8vj7aP/ay4PMb3a0K1qrZE7r3E+Wt3mRTSAtcqlrlEgKmX7TVa86lVq1axdetWIiMjefvtt+natSvr168nPT2dM2fOAEVnP82aNcPKygpPT0+ioqIAiIiIMFxX8ff3JyIiAigqUJ6eniWaACCEsGwqp5ex9hyI7vIhdOfjjX68xo4NcLdzJSY5Dn0Ju8AqFQr6+9bhncEtuZOZy9zVBzlx8Y6RIi1fTNrJ0MbGhuXLlzNz5kz69OlDQkKCYcrw7Nmz2bBhA7179yYpKYkpU6YARW1djh49Sp8+fVi3bh1hYWGmDFkIYQJWLXqhcmtA7r41FGalF79BKSgUCvyr+3L1/nUu3Xv6NOEnaVnPmbDRnjg6WLN0wzF+3n+ZwpK2J69gFPpnKM3Xr18nMzPzsSrerFkzowZWVmSYq+LkAZKLpSqLXAozb5O9aRYq94bYBr5n1OGuXF0eM/fPo6lTI95oPtzwfEnzyMsv4N/bz3Dg1G1eaeDM2D5NsbOxjOsoph7mKjbrZcuW8a9//YuqVasanlMoFOzevbvEBxNCiCdRvuSGtfdQ8uK+Q3s6Bk3TLkY7lo3aGh+PdsQk7yMj9y6ONs9+HfZR1hoVb/ZrSh2PyvwYfZ653yUxOaQFLztXKuOILV+xxSQyMpIdO3bIVFwhhNFZNemC7tIh8g6sR129GcrKrsVv9Jz8q/uy51occdcP0K9ewHPvR6FQ0KNdDWq62fNVxEk++i6Jsb2b4NnYeLFbomKvmXh4eEghEUKYhEKhwMb/DVAqi5pBFhqvjYmzrRMtnJsSdyMBbUHpb4RuVNOR2WPaU925El9GnGTjnvMUGDF+S1Pssr03b94kJiYGGxsbMjIySE1NfWzqrqV7nmV7H6ooS3hWlDxAcrFUZZmLQmOH0s4R7cmdKDQ2qNwalMl+/4qDlT17bxzA2c6ZGg7VSp2HrbUan2buZD3QsispmfPJmbSsVxVrK1UZRv1sTL1sb7HDXA9vOHzY3uThweSaiRDCWNQNOqC+lETewU2oarRE5fiyUY7T0LEeHpXc+O1aHN7ubYvf4BlYqZWM6tWIOu4OrNnxBx+uPsikkBbUdq9cJvu3VMUWk9LeCS+EECWlUCiw7jiagp9mFi31G/Q+ir9Y1KosjtO5ui8/nA3nQuZlXF1bltm+O7aqRnVXe5ZvPsH8NYcZ1asRfi09ymz/lqbYTyc9PZ0tW7aQnZ2NXq+nsLCQK1eu8I9//MMU8QkhXlBKu5ew9htF7q7l5B/5Beu2QUY5Tnv3NkRe2EbMtTh8GpRdMYGidvZho9vxz8jf+VfUaS7dvMdr3RugVpn0Fj+TKDajKVOmsH//fjZt2sStW7eIiIgoUW8sIYR4XlZ126Gu70P+4S0UpF02yjE0Kg2+1bw4lvY7adllf8NkZTsN777aikCvmuw5cp0FaytmO/tiq8KNGzdYuXIlnTp1YsSIEfzwww9cvHjRFLEJIQQ2viNQ2DqQu+dr9DrjTFjo+LIPer2eHRdijbJ/lVLJ4C71mTigOcmp2cxZfZCzVzOMcixzKbaYODs7A1C7dm3++OMP3Nzc0Ol0Rg9MCCEAFNaVsOn0BoUZ18k/FGGUY1S1daSVSzN2XtjLkZQTFOqNM6W3XWNXZr7uia21msXrj7Iz6VqJ+4NZqmKLSdWqVfnmm29o3rw5mzZtIjo6mtzcXFPEJoQQAKhrtsSqcWfyj22j4NY5oxyjT52eVLKy5ZuTa5gTv5CYa/vI1ZX9cNTLzpWYNcqTlvWq8sOuc3z98ynytAVlfhxTK/Y+E29vby5evEhgYCDnz5/np59+YsqUKdSrV89EIZaO3GdScfIAycVSmSIXlUcjtBcOoLtyBKtGnVCoynZ2l4PGnoGtevGS0okbWTfZdzORuOsHeKDLxb2SKzZqmzI7lpVaSbsmrqhUSnYnJXP0/B2a1XWikk3ZdUQ39X0mz9ToMTc3lytXrtCgQQPy8vKwtbXM/v1/RRo9Vpw8QHKxVKbKRXfjDA+2LsCqaVds/EaW+f4fzeNi5mV2X43lWOrvKBVKPN1a061mJ162L9vpvScu3mHllt/R62F8/2a0rFe1+I2egakbPRZ7ZnL06FGGDh1KVFQUgYGBBAQE0LZtWzw8ysd8aTkzqTh5gORiqUyVi9LBGX3+A7S/70Tl1qDMe3c9moejTRXaurWinVsbCing4K0jxCTv4+Ldyzho7HG2rVomnY3dHO3wbOzKyUvp7Dx4DaUCGtSoUup9m/rMpNhrJgsXLmT16tVUqVIFd3d3Fi5cyLx580p8ICGEKAvW7QairOJB7m/fos/PMfrxXOyqMqThAD7yfZ/+dQO4mX2L5ce+ZV7iEvbfOIi2sPQTklyr2DJjZFu8mrmxee8lvth0gpzc8jXRqdhikpubS/369Q2P/f39KSgo/xeLhBDlk0Ktwabzm+hz7pK7f53JjlvJyo5etbsyp8PfGdlkCAoUrD2zkVn757Pt0m6ytNml2r+1lYo3+zZlWPcGnLh4h7n/Psj11Kwyit74ii0marWazMxMwymX3GMihDA3lWtdNK37oPsjDt3lIyY9tpVSjbeHJzPaT2Vy63FUt6/G1ku/MnPffH48u5mUnLTn3rdCoaC7Zw2mvfYKD/IL+Oi7Qxw8k1KG0RtPscVk4sSJjBgxglu3bvHuu+/y2muvMXHixGc+wIIFCwxL8z4UExND165dDY/v3bvH+PHjCQwMZPjw4aSmpgKQn5/PtGnTCAwMJDg4mAsXLjzzcYUQFZumTRDKqjXJ3buKwlzTT2RQKBQ0cWrI5NbjeL/9u7R1a8X+G4l8eGARK4//m/N3Lz33PSQNa1Rh9uh2VHetxFcRJ9lQDtrZF3sBvk6dOvj6+uLh4YG7uztTpkyhXbt2z7Tz+Ph4li5dSu3atenevTsAaWlpvPfeexQUFPD6668DRQWnYcOGfPrpp6hUKtasWUNAQACrV68mOzubb7/9lnr16vHhhx8yePDgEiUoF+ArTh4guVgqc+SiUCpRuddHe3In+szbqOu2M9tFaweNPa1cmtGhmhdWShVHU08Sez2e39PPYqOywc3OBaWiZG2obK3VdGjuTlbuf9vZtyhBO3uLuwAPYGdnR/v27fH29kav13P+/Plit7l79y6ffvopEyZMeOz5mTNnMnny5Meei4mJoV+/fgD07duX2NhYtFotMTEx9O/fH4B27dqRnp7OjRs3nikxIUTFp3KqgcYzGN2lJHQXEswdDi9ZO9CvXgBzfWfwasMB5Ghz+Nfva/ngwEKir+0lV1eyG77VKiUjezbijd5NOJecyYerD3Lp5j0jRV86xd718/HHH7N27VocHBwMp2wKhYL4+PinbhcWFsbUqVO5efOm4bnvvvuOpk2b0qpVq8dem5KSgouLS1FAajX29vakp6c/9jyAi4sLt27dolq1as+eoRCiQtO07I3u8hFy961B5dEIZSVHc4eEtUpDp+od8HvZmxNpp9h9NZZN534m6tJOfKt50bm6b4nWnfdr6UF110osDz/Jx98fZmTPhnRsZVm/B4stJjt37mTv3r04Oj77B7Rx40Y8PDzw8fExLK71xx9/sGPHDlavXs2tW7eeur1er0epVKLX6x87bX34fEk8z803j3JxcSjV9paiouQBkoulMmcu+SFTuP7NexQe+A7XV98v1XBXWefh5upD96Y+nL9zmZ/P7mL3tVj2XNuLT01P+jXqTh3HGs8c17I6ziz+/hCrtp3h5t1cxg9ojpX6ycNepvxMii0mtWvXpnLlkq0QFhUVRWpqKkFBQWRmZpKTk0PlypVJTU1l4MCBaLVaUlJSGDZsGOvWrcPV1ZW0tDTc3d3R6XRkZ2dTpUoV3NzcSElJoWbNmkDR9ZaSLhcsd8BXnDxAcrFU5s/FAU37wTzYv5Ybcb+gaez/XHsxZh4vUZURDV4lsHoP9iTHsT85kbgriTSsUo9uNTvRtGqjZ7quMjm4OeGxF4mKv8wfV9J5a0BznCr/udWLqe+AL7aYjBw5khEjRuDl5YVa/d+X/+91j0etWrXK8O/w8HASExOZMWMGM2bMACA5OZlRo0axbl3RHHF/f38iIiKYMGECUVFReHp6YmVlhb+/P5GRkXh6epKUlIS1tbUMcQkh/pJVs27oLh8mL/4H1NWaoqzsUvxGZlDV1olBDfrTu3YP9t1IICZ5H18dX4WbnSvdanSkvXsbrFRP7tGlVCoY1Lketd0d+DbqNB+uPsjEAc1pVNO8w3vFlsGVK1dib2/P/fv3ycjIMPxXlt555x2OHj1Knz59WLduHWFhYUBRIcvPz6dPnz7MmzePhQsXlulxhRAVh0KhxMZ/LAC5v32D3kht5MuKnZUtPWp1Zo7PdF5vOhQrpZp1Zzcxc/98frm0k/v5T79h0bOxK7NGeWJnY8WiH46y46B529kX2+hxwIABREQYZw0BU5BhroqTB0gulsqSctGe3Uvub99i7TMMTYueJdrWnHno9Xr+yLjA7mux/H7nDFZKNe3d29KtRkfcKj15eP9Bno5vtp7iyLk0vJq6MTqgMdYaleUNc9WpU4czZ87QuHHjEu9cCCFMTd3QD9WlJPISN6Kq0RxVlfIxNK5QKGjkVJ9GTvW5lX2b3Vf3knDrEPtuJNC8ahO61exEgyp1/zS5wNZazaSQFmw7cIXw3y5yPTWLySEtTD4hotgzk6FDh3Ly5ElefvllNJr/3sjy888/Gz24siBnJhUnD5BcLJWl5VKYc5fsje+jrOyGXdD7KJTPdqOfpeVxL/8+scnx7L0eT5Y2mxoOL9OtRifauLZE9Rc5nbx4h3/+p53930e342XHki8X8rxnJsUWk8TExL98vn379iU+mDlIMak4eYDkYqksMRfthURyd3+JxjME6zb9n2kbS8wDIL9AS8KtQ0RfiyUlJw1H6yp0ruGLb7X22KofLxipdx/wVcRJqrs58EZgyUeUjFZMyjspJhUnD5BcLJWl5vJg15foLh/CbkAYKudaxb7eUvN4qFBfyO93zrD7aizn7l7ERmVNh2rt6Vzdj6q2j8/mqlrVnjt3St512GjXTIQQoryy8RtF9s2z5MZ8g11wGIqnTLktD5QKJS2cm9LCuSlX7l0j+tpeYpL3EZO8j1dcWtCtZidqVS66CVKpLP3CXSWKzaRHE0IIE1LY2GPTaQyF6dfIPxRp7nDKVK3KNRjTbBhzfKbTpbofv985w8Kkz1ly6CuOpf5OoYmnRksxEUJUaOparbFq1JH8Y79QcLv4JrXljZONIyEN+vKR7/uE1O9Lem4GK0/8mxWJ35s0DhnmEkJUeNY+w9BdP8WDmG+oNHAOCrW1uUMqc7ZqG7rV7ETn6r4cS/udGi6m7QAgZyZCiApPobHFxn8s+sxb5CX+ZO5wjEqlVNHGtSVNXRua9LhSTIQQLwT1y02xatYd7cmd6G6cNnc4FY4UEyHEC8PaazCKl9zIjfkGff4Dc4dToUgxEUK8MBRqa2w7v4k+O528+B/MHU6FIsVECPFCUbnVR9OqD9qzseiuHjV3OBWGFBMhxAtH0zYIpVN1cn9bhT635HeJiz+TYiKEeOEoVFbYdH4TfV4WufvWmDucCkGKiRDihaRyroWmTRC6CwloL/x1Q1vx7KSYCCFeWJrWfVC61CU37t8U5tw1dzjlmkmKyYIFCwgNDQVg165dBAUF0b9/f9566y0yMzMBuHHjBsOHDycgIICJEyeSnZ0NwL179xg/fjyBgYEMHz6c1NRUU4QshHgBKJQqbLqMA10+ubGrzLrsbXln9GISHx/P5s2bAcjKyuKDDz5g5cqVbNmyhUaNGvH5558DMGfOHIYNG8b27dtp3rw5X375JQBLly7F09OTbdu2MXjwYObNm2fskIUQLxBVlWpYtx9EwdVjZB3fY+5wyi2jFpO7d+/y6aefMmHCBAC0Wi2zZ8/Gzc0NgEaNGnHz5k20Wi0HDx6kV69eAISEhLB9+3YAYmJi6NevHwB9+/YlNjYWrVZrzLCFEC8Yq+Y9UHk0Iu3Xb8k/FY2+0LQddysCoxaTsLAwpk6dSuXKlQFwdHSkR48eAOTm5rJy5Uq6d+9ORkYG9vb2qNVFfSddXFy4ffs2ACkpKbj8p2GZWq3G3t6e9PR0Y4YthHjBKBRKbLr8f1hXq0de3HfkhM9Gd+OMucMqV4zWNXjjxo14eHjg4+NDeHj4Yz+7f/8+kyZNonHjxgQHB3P79m0UiscXcvnfxw/p9XqUymevgc+zYtijXFwcSrW9pagoeYDkYqnKfS4uDuhrzyH7zAHSd63mwdZPqNTUl6rdRqGu7Gzu6J6LKT8ToxWTqKgoUlNTCQoKIjMzk5ycHObPn8+4ceMYO3Ys3t7ezJgxAwAnJyfu379PQUEBKpWK1NRUXF1dAXB1dSUtLQ13d3d0Oh3Z2dlUqVLlmeOQZXsrTh4guViqipKLi4sDD5ybYzNoHvlHo8g+FkX22YNoXumDpmUgCrXG3CE+s+f9TCxu2d5Vq1YZ/h0eHk5iYiLTp09n8ODBBAYG8tZbbxl+bmVlhaenJ1FRUfTr14+IiAg6deoEgL+/PxEREUyYMIGoqCg8PT2xsirfS28KISybQm2NtWcwVo06kpfwI/lJm9Ge3Yu191DUtds+ceTkRWbSxbGio6M5deoUBQUF/PrrrwA0b96cefPmMXv2bEJDQ/nqq6/w8PBgyZIlALzzzjuEhobSp08fHBwcWLx4sSlDFkK8wJQOzth2n4Tuxmny9q0ld+cXqKo1wbrDcFRO1c0dnkVR6Cv4xGoZ5qo4eYDkYqkqSi5Py0NfWID29B7ykjZD/gOsmnbF2jMYhXUlE0f5bCrMMJcQQlQkCqUKTbPuWNXzJi8pHO2p3ejOH0DTbiBWjf1RlGBiUEX0YmcvhBAlpLCxx8ZvFHYhc1A6vUxe3L/J2fwBult/mDs0s5JiIoQQz0FVtSa2fUOx6TYRfW4WD7bM58HuFRRmvZj3wckwlxBCPCeFQoFVPS/UtVqTfzSK/GO/oLtyGE3rvmhaBpSrqcSlJcVECCFK6b9Tif3IO/Aj+UnhRVOJfYairtXmhZhKLMNcQghRRpQOLtj2mIxtn/8fhVpD7o7PeRC1mIKM6+YOzeikmAghRBlTv9wUu4EfYt1hOAWpl8j5aRa5+9eiz8s2d2hGI8NcQghhBAqlCk3zHqjreRUNe53c9d+pxI06VbipxBUrGyGEsDBK28rYdByNXcgHKKt4kLd3NTkRc9DdOmfu0MqUFBMhhDABlXMtbPv9HZuuE9A/uMeDLfN4EP1PCrMzzB1amZBhLiGEMBGFQoFVfW/UtV4h/+hW8o9vQ3f5MJpX+qFp0bNcTyWWYiKEECamsLLGut3Aoq7EB34k/+BPaM/GYuP9GqparcvlVGIZ5hJCCDNRVnbFtuffsO39fyiUah7sWMaDbf+g4O4Nc4dWYlJMhBDCzNTVm2M36EOsfYZRkHKBnI2zyI3/AX1+jrlDe2YyzCWEEBZAoVSjadETdX1v8g9uQntiB7rz8Vi3G4S6kR8KhWX/7W/Z0QkhxAtGaVsZm05jsAuejaKyK7mx/yInYi4Ft8+bO7SnkmIihBAWSOVSG7v+72PTZTz67AxyIj/iwZ6VFjuV2CTFZMGCBYSGhgJw+vRpQkJC6NWrF++//z46nQ6AGzduMHz4cAICApg4cSLZ2UVtB+7du8f48eMJDAxk+PDhpKammiJkIYQwO4VCgVWDDlR69RM0rfuiu5BI9oa/k3f0F/QFWnOH9xijF5P4+Hg2b95seDxt2jTCwsL49ddf0ev1bNiwAYA5c+YwbNgwtm/fTvPmzfnyyy8BWLp0KZ6enmzbto3Bgwczb948Y4cshBAWRWFlg3X7QVQaMh91tSbkJ24ke+NMdFePmjs0A6MWk7t37/Lpp58yYcIEAK5fv05ubi6tW7cGICQkhO3bt6PVajl48CC9evV67HmAmJgY+vXrB0Dfvn2JjY1Fq7WsiiyEEKagrOyKba93sA18D4VSyYPtS8nZtoTCuzfNHZpxi0lYWBhTp06lcuXKAKSkpODi4mL4uYuLC7dv3yYjIwN7e3vUavVjz//vNmq1Gnt7e9LTX8yVzIQQAkBdowV2g+Zi7f0aBbfOkb1xJrkH1qPPf2C+mIy1440bN+Lh4YGPjw/h4eEAFBYWPnZnp16vR6FQGP7/qCfdAarX61GWoNtm1ar2zxH9f7m4OJRqe0tRUfIAycVSVZRcylUeboPQeXUnI2Yd94/9SuGFAzh1GY59y86AaXMxWjGJiooiNTWVoKAgMjMzycnJQaFQPHYBPS0tDVdXV5ycnLh//z4FBQWoVCpSU1NxdXUFwNXVlbS0NNzd3dHpdGRnZ1OlSpVnjuPOnSwKC/XPlYOLiwOpqfefa1tLUlHyAMnFUlWUXMpnHirwGoldXT9y968ldety7iRswyNoEveUVUu8N6VS8Vx/hBttmGvVqlVs3bqVyMhI3n77bbp27crHH3+MtbU1hw4dAiAyMpJOnTphZWWFp6cnUVFRAERERNCpUycA/P39iYiIAIoKlKenJ1ZWVsYKWwghyiWVSx3s+s/ApvOb6LPTydi7waTHN/kd8IsXL2bmzJlkZWXRrFkzRo0aBcDs2bMJDQ3lq6++wsPDgyVLlgDwzjvvEBoaSp8+fXBwcGDx4sWmDlkIIcoFhUKJVUNf1PW8cHauxJ2MPNMdW6/XP98YUDkhw1wVJw+QXCxVRcmlouQBz5+LxQ1zCSGEeHFIMRFCCFFqUkyEEEKUmhQTIYQQpSbFRAghRKlJMRFCCFFqFX6lRaXyr9uymGp7S1FR8gDJxVJVlFwqSh7wfLk8b/4V/j4TIYQQxifDXEIIIUpNiokQQohSk2IihBCi1KSYCCGEKDUpJkIIIUpNiokQQohSk2IihBCi1KSYCCGEKDUpJkIIIUqtwrdTedScOXM4fPgwWq2Wq1evUq9ePQBGjRrFwIEDzRxdyYwZM4bhw4fTvXt3ABYsWMD69etJSEhAo9EA4Ofnx/r166levfpT95WcnMyoUaOIjo42etwPPemzuHfvHiEhIfztb38zWSzGlpycTEBAgCHHh1asWIGHh4fh8ZtvvslHH32Em5ubqUN8Jtu3b2flypXodDr0ej1BQUGMGzfuia/fsGEDdnZ29O3b14RRPl1JcxAloH8BXbt2Td+lSxdzh1EqK1as0H/yySeGx/3799ePHj1av3//fr1er9dfvnxZ36NHj2falznfj/899meffab/7LPPzBKLsVSE79utW7f0nTt31qenp+v1er0+KytLHxwcrN+1a9cTt5k+fbp+06ZNpgqxWM+Tg3h2MswFfP7553z++eeGx127diU5OZmCggI+/vhjgoOD6d+/P6tXrwbg1q1bjBgxgpCQEAYNGsTRo0dNHrOPjw9HjhwB4Pbt22g0Gnr16kVcXBwASUlJ+Pr6cvz4cV577TWCg4N54403uHbtGgCnTp0iODiY4OBgli9fbvL4n+b48eMMHTqULl26GD6X8PBwCx9S4wAAChRJREFUQkNDDa8ZOXIkCQkJJCQkMGjQIEJCQpg+fTrx8fGEhIQQEhLCmDFjSE9PN1caxQoNDWXChAkEBgYSHR1t+N5ZooyMDLRaLbm5uQBUqlSJTz75hPr167Nt2zaGDBlC//79CQgI4PDhw+zfv5/o6Gg+++wz9u7da+boizwth0ff+4SEBEaOHAkUfc8WLlzIq6++So8ePfjtt9/MFr+le6GGuUpqw4YNAGzevJn8/HzGjh1L8+bNOXDgAJ07d2bcuHHExsZy6NAhWrdubdLYmjVrxtWrV8nLyyMuLg5fX198fX2ZPHky06ZNIykpiY4dOzJz5kxWrFhBtWrV2Lt3L7NmzWL16tVMnz6d0NBQfH19Wb58OQkJCSaN/2nu3LnD+vXrycrKomvXrowZM+apr798+TJ79uzBwcGBkSNH8sEHH9CyZUu+/vprTp06hZ+fn4kif7KUlBSCgoIMj/v16wdAlSpVWLFiBQAfffSRWWJ7Fo0bN6Zbt250796dJk2a4OXlRb9+/ahRowZhYWGsWLECJycnfvrpJ1auXMmKFSvo2rUr7du3p2PHjuYOH3hyDrVq1Xrqdlqtlh9//JHo6GiWLVuGv7+/iSIuX6SYPEV8fDynT5/mwIEDAOTk5HD27Fl8fHz429/+xunTp/H392fEiBEmj02lUtGqVStOnDhBXFwcw4cPp0aNGuTm5pKZmcmRI0d4/fXXuXbtGhMnTjRsl5WVRXp6OikpKfj6+gIQEhLCpk2bTJ7Dk3Ts2BGNRoOTkxOOjo5kZmY+9fV16tTBwcEBgG7dujF58mS6d+9Ot27dDDmam6urK5GRkY89FxoaSsuWLc0UUcnNmTOHt956i7i4OOLi4hgyZAiLFy9m+fLlREdHc+nSJRITE1EqLXfA40k5PM3DYtigQQPu3r1rijDLJSkmgEKhoLCw0PBYq9UCUFBQwLRp0+jZsycA6enpVKpUCWtra3755RdiYmKIiopi8+bNrFq1yuRxe3t7c/jwYY4fP86iRYuAouGv3bt34+joCED16tUNv8QKCgpIS0tDoVCgf2TlAZVKZfLYn0at/u/X8mGs/xvzw88IwMbGxvDv0aNH06VLF/bs2cOiRYs4fvz4Y8XU0jwauyWLiYkhJyeH3r17M3DgQAYOHMiGDRtYu3YtS5YsoX///rRr145GjRqxdu1ac4f7l56Uw08//QRg+H7pdLrHtrO2tgaKvoviySz3TwgTcnR05Pz580DReH1qaipQ9Mt6w4YNaLVasrOzGTZsGEePHmXhwoVs2bKF4OBgwsLCOHXqlFni9vHxITIykoYNGxp+Afv6+rJq1Sp8fX2pW7cumZmZJCUlAbBp0yb+7//+D0dHR6pVq0ZMTAwAW7duNUv8JeHo6MiFCxfQ6/Vcu3aNs2fP/uXrBg8eTHZ2NqNHj2b06NFm+2wqGhsbG/7xj38Yrivo9XpOnz6NRqNBoVAwYcIEvLy82LlzJwUFBUDRHykP/20JnpRDkyZNHvsdsHv3bnOGWW7JmQnQu3dvfv31V3r37k2zZs1o2rQpAEOHDuXKlSsEBwej0+kICQnBy8uLmjVr8t577xEeHo5KpWLBggVmibthw4bcvXuXYcOGGZ7z9vZmypQpdOjQAY1Gw7Jly5g3bx55eXnY29sbYl20aBF///vfWbp0qcmv9zyPDh06sGnTJgICAqhTpw5t27b9y9e9++67hIaGolarsbOzs+jrEOWJt7c3kydPZsKECYazwo4dO7J8+XJCQ0MJDAxEoVDg5+fHoUOHgKLPbMmSJTg4OBAQEGDO8IEn5zBp0iTatGnD3Llz+eKLLyziGlt5JCstCiGEKDUZ5hJCCFFqUkyEEEKUmhQTIYQQpSbFRAghRKlJMRFCCFFqUkyEeILt27cbejSVlYKCAiZOnEivXr34/vvvy3Tfj+ratSsnTpww2v6F+F9yn4kQJnT79m3i4uI4evSoxXUeEKI05MxEiEcsW7aM7t27M2jQIHbu3AnApUuXGDNmDEOGDKFLly5MnDiRvLw8tmzZwtChQw3b3rhxAz8/P/Lz80lKSmLIkCH069ePkJAQYmNjycrKYty4cYYbYCdMmMDSpUuBokaQjRo1MvSBi4yMZMqUKQBs3LiRkJAQBgwYwOjRo7lw4QIA+fn5zJ8/39DVOjQ0lKysrMfyyc7OZvjw4YZ2O0IYixQTIf5j165d7Nixg4iICEPXYijqHj1gwAA2bNjAjh07SE5OJiYmhoCAAK5evcq5c+eAol/6wcHBZGdn8/bbb/P+++/z888/s2DBAqZNm0ZGRgYrV67ExsaGyMhIxo4dS2xsLAB79+7FxcWF/fv3AxAdHU3Pnj1JTEwkIiKCtWvXEhERwbhx45g8eTIAK1euRKVSER4ezpYtW3B1dX2saWFWVhZjx47F39+fadOmmfKtFC8gGeYS4j/i4+Pp0aMH9vb2AAwcOJA1a9Ywbdo09u3bx9dff83ly5dJSUkhJycHjUbD4MGD2bhxI9OnT2fz5s2sWbOG48ePU7NmTVq1agUUdZtt06YNiYmJeHl5GY7Xtm1bbt++TVpaGnv37mXixImEh4czefJkDh48yPz581m+fDlXrlx57Azo3r173L17l5iYGO7fv28oQFqtlqpVqxpeN23aNNRqNaNGjTLF2ydecFJMhHjEX3VTfvfddykoKCAwMJDOnTtz8+ZNw+uGDh3KoEGDaN++PQ0aNKBGjRqcO3fuTx1m9Xr9n7rRKpVKOnfuzG+//cbx48dZuHAh//znP9m+fTuvvPIKlSpVorCwkKCgIMOZRWFhISkpKbz00ksUFhYyY8YMw/oa2dnZ5OXlGfY/ceJEEhISWLRoEbNmzSr7N0uIR8gwlxD/0alTJ7Zv3869e/coLCw0tO6Pi4tj0qRJ9O7dG4Bjx44ZuuF6eHjQunVr5s+fz2uvvQZA69atuXjxIsePHwfg3LlzHDx4kPbt2//pmD179uSbb76hYcOGaDQavL29WbJkiWHZAz8/P3755RdSUlIA+OGHH3j99dcNP1u7di35+fkUFhYya9YslixZYth3y5Yt+eCDD9i+fbthBU4hjEXOTIT4D39/f86ePcvAgQOpXLkyjRs3JiMjg6lTpzJp0iTs7Oywt7enXbt2XL161bBdSEgIc+fONZwhODk5sWzZMubOnUtubi4KhYKPP/6YOnXq/GlZXh8fH1JSUgyFyM/Pj6ioKLp27Wp4/Oabb/LGG2+gUCiwt7fniy++QKFQ8NZbb7FgwQKCg4MpKCigSZMmjy1t/DCW2bNnM2PGDH7++WdeeuklY76F4gUmXYOFKIXCwkI+/PBDqlWrxvjx480djhBmI8NcQjynrKwsvLy8uHnzplzkFi88OTMRQghRanJmIoQQotSkmAghhCg1KSZCCCFKTYqJEEKIUpNiIoQQotSkmAghhCi1/wfftPDBkFLCeAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "births.pivot_table('births', index='dayofweek',\n", + " columns='decade', aggfunc='mean').plot()\n", + "plt.gca().set_xticklabels(['Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun'])\n", + "plt.ylabel('mean births by day');" + ] + }, + { + "cell_type": "code", + "execution_count": 265, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
births
114009.225
24247.400
34500.900
44571.350
54603.625
\n", + "
" + ], + "text/plain": [ + " births\n", + "1 1 4009.225\n", + " 2 4247.400\n", + " 3 4500.900\n", + " 4 4571.350\n", + " 5 4603.625" + ] + }, + "execution_count": 265, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "births_by_date = births.pivot_table('births',\n", + " [births.index.month, births.index.day])\n", + "births_by_date.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 266, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
births
2012-01-014009.225
2012-01-024247.400
2012-01-034500.900
2012-01-044571.350
2012-01-054603.625
\n", + "
" + ], + "text/plain": [ + " births\n", + "2012-01-01 4009.225\n", + "2012-01-02 4247.400\n", + "2012-01-03 4500.900\n", + "2012-01-04 4571.350\n", + "2012-01-05 4603.625" + ] + }, + "execution_count": 266, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "births_by_date.index = [pd.datetime(2012, month, day)\n", + " for (month, day) in births_by_date.index]\n", + "births_by_date.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 267, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot the results\n", + "fig, ax = plt.subplots(figsize=(12, 4))\n", + "births_by_date.plot(ax=ax);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Vectorized String Operations\n", + "One strength of Python is its relative ease in handling and manipulating string data. Pandas builds on this and provides a comprehensive set of vectorized string operations that become an essential piece of the type of munging required when one is working with (read: cleaning up) real-world data. In this section, we’ll walk through some of the Pandas string operations, and then take a look at using them to partially clean up a very messy dataset of recipes collected from the Internet.\n", + "#### Introducing Pandas String Operations\n", + "We saw in previous sections how tools like NumPy and Pandas generalize arithmetic operations so that we can easily and quickly perform the same operation on many array elements. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 268, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 4, 6, 10, 14, 22, 26])" + ] + }, + "execution_count": 268, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "x = np.array([2, 3, 5, 7, 11, 13])\n", + "x * 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This _vectorization_ of operations simplifies the syntax of operating on arrays of data: we no longer have to worry about the size or shape of the array, but just about what operation we want done. For arrays of strings, NumPy does not provide such simple access, and thus you’re stuck using a more verbose loop syntax:" + ] + }, + { + "cell_type": "code", + "execution_count": 269, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Peter', 'Paul', 'Mary', 'Guido']" + ] + }, + "execution_count": 269, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = ['peter', 'Paul', 'MARY', 'gUIDO']\n", + "[s.capitalize() for s in data]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is perhaps sufficient to work with some data, but it will break if there are any missing values. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 270, + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'NoneType' object has no attribute 'capitalize'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mdata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'peter'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Paul'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'MARY'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'gUIDO'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;33m[\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcapitalize\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mdata\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;34m'peter'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Paul'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'MARY'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'gUIDO'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;33m[\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcapitalize\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'capitalize'" + ] + } + ], + "source": [ + "data = ['peter', 'Paul', None, 'MARY', 'gUIDO']\n", + "[s.capitalize() for s in data]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Pandas includes features to address both this need for vectorized string operations and for correctly handling missing data via the str attribute of Pandas Series and Index objects containing strings. So, for example, suppose we create a Pandas Series with this data:" + ] + }, + { + "cell_type": "code", + "execution_count": 271, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 peter\n", + "1 Paul\n", + "2 None\n", + "3 MARY\n", + "4 gUIDO\n", + "dtype: object" + ] + }, + "execution_count": 271, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "names = pd.Series(data)\n", + "names" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can now call a single method that will capitalize all the entries, while skipping over any missing values:" + ] + }, + { + "cell_type": "code", + "execution_count": 272, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Peter\n", + "1 Paul\n", + "2 None\n", + "3 Mary\n", + "4 Guido\n", + "dtype: object" + ] + }, + "execution_count": 272, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "names.str.capitalize()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Tables of Pandas String Methods\n", + "If you have a good understanding of string manipulation in Python, most of Pandas’ string syntax is intuitive enough that it’s probably sufficient to just list a table of available methods; we will start with that here, before diving deeper into a few of the subtleties. The examples in this section use the following series of names:" + ] + }, + { + "cell_type": "code", + "execution_count": 273, + "metadata": {}, + "outputs": [], + "source": [ + "monte = pd.Series(['Graham Chapman', 'John Cleese', 'Terry Gilliam',\n", + " 'Eric Idle', 'Terry Jones', 'Michael Palin'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Methods similar to Python string methods\n", + "Nearly all Python’s built-in string methods are mirrored by a Pandas vectorized string method. Here is a list of Pandas str methods that mirror Python string methods:\n", + "\n", + " len() lower() translate() islower()\n", + " ljust() upper() startswith() isupper()\n", + " rjust() find() endswith() isnumeric()\n", + " center() rfind() isalnum() isdecimal()\n", + " zfill() index() isalpha() split()\n", + " strip() rindex() isdigit() rsplit()\n", + " rstrip() capitalize() isspace() partition()\n", + " lstrip() swapcase() istitle() rpartition()" + ] + }, + { + "cell_type": "code", + "execution_count": 274, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 graham chapman\n", + "1 john cleese\n", + "2 terry gilliam\n", + "3 eric idle\n", + "4 terry jones\n", + "5 michael palin\n", + "dtype: object" + ] + }, + "execution_count": 274, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "monte.str.lower()" + ] + }, + { + "cell_type": "code", + "execution_count": 275, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 14\n", + "1 11\n", + "2 13\n", + "3 9\n", + "4 11\n", + "5 13\n", + "dtype: int64" + ] + }, + "execution_count": 275, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "monte.str.len()" + ] + }, + { + "cell_type": "code", + "execution_count": 276, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 False\n", + "1 False\n", + "2 True\n", + "3 False\n", + "4 True\n", + "5 False\n", + "dtype: bool" + ] + }, + "execution_count": 276, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "monte.str.startswith('T')" + ] + }, + { + "cell_type": "code", + "execution_count": 277, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 [Graham, Chapman]\n", + "1 [John, Cleese]\n", + "2 [Terry, Gilliam]\n", + "3 [Eric, Idle]\n", + "4 [Terry, Jones]\n", + "5 [Michael, Palin]\n", + "dtype: object" + ] + }, + "execution_count": 277, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "monte.str.split()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Miscellaneous methods\n", + "**Vectorized item access and slicing.** The get() and slice() operations, in particular, enable vectorized element access from each array. For example, we can get a slice of the first three characters of each array using str.slice(0, 3). Note that this behavior is also available through Python’s normal indexing syntax—for example, df.str.slice(0, 3) is equivalent to df.str[0:3]:" + ] + }, + { + "cell_type": "code", + "execution_count": 278, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Gra\n", + "1 Joh\n", + "2 Ter\n", + "3 Eri\n", + "4 Ter\n", + "5 Mic\n", + "dtype: object" + ] + }, + "execution_count": 278, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "monte.str[0:3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Indexing via df.str.get(i) and df.str[i] is similar.\n", + "\n", + "These get() and slice() methods also let you access elements of arrays returned by split(). For example, to extract the last name of each entry, we can combine split() and get():" + ] + }, + { + "cell_type": "code", + "execution_count": 279, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Chapman\n", + "1 Cleese\n", + "2 Gilliam\n", + "3 Idle\n", + "4 Jones\n", + "5 Palin\n", + "dtype: object" + ] + }, + "execution_count": 279, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "monte.str.split().str.get(-1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Indicator variables.** Another method that requires a bit of extra explanation is the get_dummies() method. This is useful when your data has a column containing some sort of coded indicator. For example, we might have a dataset that contains information in the form of codes, such as A=“born in America,†B=“born in the United Kingdom,†C=“likes cheese,†D=“likes spamâ€:" + ] + }, + { + "cell_type": "code", + "execution_count": 280, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nameinfo
0Graham ChapmanB|C|D
1John CleeseB|D
2Terry GilliamA|C
3Eric IdleB|D
4Terry JonesB|C
5Michael PalinB|C|D
\n", + "
" + ], + "text/plain": [ + " name info\n", + "0 Graham Chapman B|C|D\n", + "1 John Cleese B|D\n", + "2 Terry Gilliam A|C\n", + "3 Eric Idle B|D\n", + "4 Terry Jones B|C\n", + "5 Michael Palin B|C|D" + ] + }, + "execution_count": 280, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "full_monte = pd.DataFrame({'name': monte,\n", + " 'info': ['B|C|D', 'B|D', 'A|C', 'B|D', 'B|C',\n", + " 'B|C|D']})\n", + "full_monte" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The get_dummies() routine lets you quickly split out these indicator variables into a DataFrame:" + ] + }, + { + "cell_type": "code", + "execution_count": 281, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ABCD
00111
10101
21010
30101
40110
50111
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "0 0 1 1 1\n", + "1 0 1 0 1\n", + "2 1 0 1 0\n", + "3 0 1 0 1\n", + "4 0 1 1 0\n", + "5 0 1 1 1" + ] + }, + "execution_count": 281, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "full_monte['info'].str.get_dummies('|')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example: Recipe Database" + ] + }, + { + "cell_type": "code", + "execution_count": 282, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ValueError: Expected object or value\n" + ] + } + ], + "source": [ + "# !curl -O http://openrecipes.s3.amazonaws.com/recipeitems-latest.json.gz\n", + "# !gunzip recipeitems-latest.json.gz\n", + "try:\n", + " recipes = pd.read_json('recipeitems-latest.json')\n", + "except ValueError as e:\n", + " print(\"ValueError:\", e)" + ] + }, + { + "cell_type": "code", + "execution_count": 283, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2, 12)" + ] + }, + "execution_count": 283, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "with open('E:/Python_4_DS/datasets/recipeitems-latest.json') as f:\n", + " line = f.readline()\n", + "pd.read_json(line).shape" + ] + }, + { + "cell_type": "code", + "execution_count": 290, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'data_json' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;31m#data_json = \"[{0}]\".format(','.join(data))\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m \u001b[1;31m# read the result as a JSON\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 8\u001b[1;33m \u001b[0mrecipes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mread_json\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata_json\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mNameError\u001b[0m: name 'data_json' is not defined" + ] + } + ], + "source": [ + "# read the entire file into a Python array\n", + "with open('E:/Python_4_DS/datasets/recipeitems-latest.json', 'r') as f:\n", + " # Extract each line\n", + " data = (line.strip() for line in f)\n", + " # Reformat so each line is the element of a list\n", + " data_json = \"[{0}]\".format(','.join(data))\n", + "# read the result as a JSON\n", + "recipes = pd.read_json(data_json)" + ] + }, + { + "cell_type": "code", + "execution_count": 286, + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'recipes' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mrecipes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;31mNameError\u001b[0m: name 'recipes' is not defined" + ] + } + ], + "source": [ + " recipes.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Working with Time Series\n", + "Pandas was developed in the context of financial modeling, so as you might expect, it contains a fairly extensive set of tools for working with dates, times, and time indexed data. Date and time data comes in a few flavors:\n", + "- Time stamps reference particular moments in time (e.g., July 4th, 2015, at 7:00 a.m.).\n", + "- Time intervals and periods reference a length of time between a particular beginning and end point—for example, the year 2015. Periods usually reference a special case of time intervals in which each interval is of uniform length and doesnot overlap (e.g., 24 hour-long periods constituting days).\n", + "- Time deltas or durations reference an exact length of time (e.g., a duration of 22.56 seconds)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Dates and Times in Python\n", + "#### Native Python dates and times: datetime and dateutil\n", + "Python’s basic objects for working with dates and times reside in the built-in date time module. Along with the third-party dateutil module, you can use it to quickly perform a host of useful functionalities on dates and times. For example, you can manually build a date using the datetime type:" + ] + }, + { + "cell_type": "code", + "execution_count": 291, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "datetime.datetime(2015, 7, 4, 0, 0)" + ] + }, + "execution_count": 291, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from datetime import datetime\n", + "datetime(year=2015, month=7, day=4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Or, using the dateutil module, you can parse dates from a variety of string formats:" + ] + }, + { + "cell_type": "code", + "execution_count": 292, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "datetime.datetime(2015, 7, 4, 0, 0)" + ] + }, + "execution_count": 292, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from dateutil import parser\n", + "date = parser.parse(\"4th of July, 2015\")\n", + "date" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once you have a datetime object, you can do things like printing the day of the week:" + ] + }, + { + "cell_type": "code", + "execution_count": 293, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Saturday'" + ] + }, + "execution_count": 293, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "date.strftime('%A')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Typed arrays of times: NumPy’s datetime64\n", + "The weaknesses of Python’s datetime format inspired the NumPy team to add a set of native time series data type to NumPy. The datetime64 dtype encodes dates as 64-bit integers, and thus allows arrays of dates to be represented very compactly. The date time64 requires a very specific input format:" + ] + }, + { + "cell_type": "code", + "execution_count": 294, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array('2015-07-04', dtype='datetime64[D]')" + ] + }, + "execution_count": 294, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "date = np.array('2015-07-04', dtype=np.datetime64)\n", + "date" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once we have this date formatted, however, we can quickly do vectorized operations on it:" + ] + }, + { + "cell_type": "code", + "execution_count": 295, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['2015-07-04', '2015-07-05', '2015-07-06', '2015-07-07',\n", + " '2015-07-08', '2015-07-09', '2015-07-10', '2015-07-11',\n", + " '2015-07-12', '2015-07-13', '2015-07-14', '2015-07-15'],\n", + " dtype='datetime64[D]')" + ] + }, + "execution_count": 295, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "date + np.arange(12)" + ] + }, + { + "cell_type": "code", + "execution_count": 296, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "numpy.datetime64('2015-07-04')" + ] + }, + "execution_count": 296, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " np.datetime64('2015-07-04')" + ] + }, + { + "cell_type": "code", + "execution_count": 297, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "numpy.datetime64('2015-07-04T12:00')" + ] + }, + "execution_count": 297, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.datetime64('2015-07-04 12:00')" + ] + }, + { + "cell_type": "code", + "execution_count": 298, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "numpy.datetime64('2015-07-04T12:59:59.500000000')" + ] + }, + "execution_count": 298, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.datetime64('2015-07-04 12:59:59.50', 'ns')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Dates and times in Pandas: Best of both worlds\n", + "Pandas builds upon all the tools just discussed to provide a Timestamp object, which combines the ease of use of datetime and dateutil with the efficient storage and vectorized interface of numpy.datetime64. From a group of these Timestamp objects, Pandas can construct a DatetimeIndex that can be used to index data in a Series or DataFrame; we’ll see many examples of this below.\n", + "For example, we can use Pandas tools to repeat the demonstration from above. We can parse a flexibly formatted string date, and use format codes to output the day of the week:" + ] + }, + { + "cell_type": "code", + "execution_count": 299, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Timestamp('2015-07-04 00:00:00')" + ] + }, + "execution_count": 299, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "date = pd.to_datetime(\"4th of July, 2015\")\n", + "date" + ] + }, + { + "cell_type": "code", + "execution_count": 300, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Saturday'" + ] + }, + "execution_count": 300, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "date.strftime('%A')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally, we can do NumPy-style vectorized operations directly on this same object:" + ] + }, + { + "cell_type": "code", + "execution_count": 301, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2015-07-04', '2015-07-05', '2015-07-06', '2015-07-07',\n", + " '2015-07-08', '2015-07-09', '2015-07-10', '2015-07-11',\n", + " '2015-07-12', '2015-07-13', '2015-07-14', '2015-07-15'],\n", + " dtype='datetime64[ns]', freq=None)" + ] + }, + "execution_count": 301, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "date + pd.to_timedelta(np.arange(12), 'D')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pandas Time Series: Indexing by Time\n", + "Where the Pandas time series tools really become useful is when you begin to index data by timestamps. For example, we can construct a Series object that has timeindexed data:" + ] + }, + { + "cell_type": "code", + "execution_count": 302, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2014-07-04 0\n", + "2014-08-04 1\n", + "2015-07-04 2\n", + "2015-08-04 3\n", + "dtype: int64" + ] + }, + "execution_count": 302, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "index = pd.DatetimeIndex(['2014-07-04', '2014-08-04',\n", + " '2015-07-04', '2015-08-04'])\n", + "data = pd.Series([0, 1, 2, 3], index=index)\n", + "data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now that we have this data in a Series, we can make use of any of the Series indexing patterns we discussed in previous sections, passing values that can be coerced into dates:" + ] + }, + { + "cell_type": "code", + "execution_count": 303, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2014-07-04 0\n", + "2014-08-04 1\n", + "2015-07-04 2\n", + "dtype: int64" + ] + }, + "execution_count": 303, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['2014-07-04':'2015-07-04']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are additional special date-only indexing operations, such as passing a year to obtain a slice of all data from that year:" + ] + }, + { + "cell_type": "code", + "execution_count": 304, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2015-07-04 2\n", + "2015-08-04 3\n", + "dtype: int64" + ] + }, + "execution_count": 304, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['2015']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pandas Time Series Data Structures\n", + "This section will introduce the fundamental Pandas data structures for working with time series data:\n", + "\n", + "- _For time stamps_, Pandas provides the Timestamp type. As mentioned before, it is essentially a replacement for Python’s native datetime, but is based on the more efficient numpy.datetime64 data type. The associated index structure is DatetimeIndex.\n", + "- _For time periods_, Pandas provides the Period type. This encodes a fixedfrequency interval based on numpy.datetime64. The associated index structure is PeriodIndex.\n", + "- _For time deltas or durations_, Pandas provides the Timedelta type. Timedelta is a more efficient replacement for Python’s native datetime.timedelta type, and is based on numpy.timedelta64. The associated index structure is TimedeltaIndex.\n", + "\n", + "The most fundamental of these date/time objects are the Timestamp and DatetimeIndex objects. While these class objects can be invoked directly, it is more common to use the pd.to_datetime() function, which can parse a wide variety of formats. Passing a single date to pd.to_datetime() yields a Timestamp; passing a series of dates by default yields a DatetimeIndex:" + ] + }, + { + "cell_type": "code", + "execution_count": 306, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2015-07-03', '2015-07-04', '2015-07-06', '2015-07-07',\n", + " '2015-07-08'],\n", + " dtype='datetime64[ns]', freq=None)" + ] + }, + "execution_count": 306, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dates = pd.to_datetime([datetime(2015, 7, 3), '4th of July, 2015',\n", + " '2015-Jul-6', '07-07-2015', '20150708'])\n", + "dates" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Any DatetimeIndex can be converted to a PeriodIndex with the to_period() function with the addition of a frequency code; here we’ll use 'D' to indicate daily frequency:" + ] + }, + { + "cell_type": "code", + "execution_count": 307, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PeriodIndex(['2015-07-03', '2015-07-04', '2015-07-06', '2015-07-07',\n", + " '2015-07-08'],\n", + " dtype='period[D]', freq='D')" + ] + }, + "execution_count": 307, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dates.to_period('D')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A TimedeltaIndex is created, for example, when one date is subtracted from another:" + ] + }, + { + "cell_type": "code", + "execution_count": 308, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "TimedeltaIndex(['0 days', '1 days', '3 days', '4 days', '5 days'], dtype='timedelta64[ns]', freq=None)" + ] + }, + "execution_count": 308, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dates - dates[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Regular sequences: pd.date_range()\n", + "To make the creation of regular date sequences more convenient, Pandas offers a few functions for this purpose: pd.date_range() for timestamps, pd.period_range() for periods, and pd.timedelta_range() for time deltas. We’ve seen that Python’s range() and NumPy’s np.arange() turn a startpoint, endpoint, and optional stepsize into a sequence. Similarly, pd.date_range() accepts a start date, an end date, and an optional frequency code to create a regular sequence of dates. By default, the frequency is one day:" + ] + }, + { + "cell_type": "code", + "execution_count": 309, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2015-07-03', '2015-07-04', '2015-07-05', '2015-07-06',\n", + " '2015-07-07', '2015-07-08', '2015-07-09', '2015-07-10'],\n", + " dtype='datetime64[ns]', freq='D')" + ] + }, + "execution_count": 309, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.date_range('2015-07-03', '2015-07-10')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Alternatively, the date range can be specified not with a start- and endpoint, but with a startpoint and a number of periods:" + ] + }, + { + "cell_type": "code", + "execution_count": 310, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2015-07-03', '2015-07-04', '2015-07-05', '2015-07-06',\n", + " '2015-07-07', '2015-07-08', '2015-07-09', '2015-07-10'],\n", + " dtype='datetime64[ns]', freq='D')" + ] + }, + "execution_count": 310, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.date_range('2015-07-03', periods=8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can modify the spacing by altering the freq argument, which defaults to D. For example, here we will construct a range of hourly timestamps:" + ] + }, + { + "cell_type": "code", + "execution_count": 311, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2015-07-03 00:00:00', '2015-07-03 01:00:00',\n", + " '2015-07-03 02:00:00', '2015-07-03 03:00:00',\n", + " '2015-07-03 04:00:00', '2015-07-03 05:00:00',\n", + " '2015-07-03 06:00:00', '2015-07-03 07:00:00'],\n", + " dtype='datetime64[ns]', freq='H')" + ] + }, + "execution_count": 311, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.date_range('2015-07-03', periods=8, freq='H')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To create regular sequences of period or time delta values, the very similar pd.period_range() and pd.timedelta_range() functions are useful. Here are some monthly periods:" + ] + }, + { + "cell_type": "code", + "execution_count": 312, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "PeriodIndex(['2015-07', '2015-08', '2015-09', '2015-10', '2015-11', '2015-12',\n", + " '2016-01', '2016-02'],\n", + " dtype='period[M]', freq='M')" + ] + }, + "execution_count": 312, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.period_range('2015-07', periods=8, freq='M')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And a sequence of durations increasing by an hour:" + ] + }, + { + "cell_type": "code", + "execution_count": 313, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "TimedeltaIndex(['00:00:00', '01:00:00', '02:00:00', '03:00:00', '04:00:00',\n", + " '05:00:00', '06:00:00', '07:00:00', '08:00:00', '09:00:00'],\n", + " dtype='timedelta64[ns]', freq='H')" + ] + }, + "execution_count": 313, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.timedelta_range(0, periods=10, freq='H')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additionally, you can change the month used to mark any quarterly or annual code by adding a three-letter month code as a suffix:\n", + "\n", + "- Q-JAN, BQ-FEB, QS-MAR, BQS-APR, etc.\n", + "- A-JAN, BA-FEB, AS-MAR, BAS-APR, etc.\n", + "\n", + "In the same way, you can modify the split-point of the weekly frequency by adding a three-letter weekday code:\n", + "\n", + "- W-SUN, W-MON, W-TUE, W-WED, etc.\n", + "\n", + "On top of this, codes can be combined with numbers to specify other frequencies. For example, for a frequency of 2 hours 30 minutes, we can combine the hour (H) and minute (T) codes as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 314, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "TimedeltaIndex(['00:00:00', '02:30:00', '05:00:00', '07:30:00', '10:00:00',\n", + " '12:30:00', '15:00:00', '17:30:00', '20:00:00'],\n", + " dtype='timedelta64[ns]', freq='150T')" + ] + }, + "execution_count": 314, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.timedelta_range(0, periods=9, freq=\"2H30T\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All of these short codes refer to specific instances of Pandas time series offsets, which can be found in the pd.tseries.offsets module. For example, we can create a business day offset directly as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": 315, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "DatetimeIndex(['2015-07-01', '2015-07-02', '2015-07-03', '2015-07-06',\n", + " '2015-07-07'],\n", + " dtype='datetime64[ns]', freq='B')" + ] + }, + "execution_count": 315, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from pandas.tseries.offsets import BDay\n", + "pd.date_range('2015-07-01', periods=5, freq=BDay())" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Pandas Tutorial.py b/Pandas Tutorial.py new file mode 100644 index 0000000..059f22d --- /dev/null +++ b/Pandas Tutorial.py @@ -0,0 +1,2795 @@ +#!/usr/bin/env python +# coding: utf-8 + +# In[1]: + + +import pandas as pd +import numpy as np + + +# ### The Pandas Series Object + +# In[2]: + + +data = pd.Series([0.25, 0.5, 0.75, 1.0]) +data + + +# In[3]: + + +data.values + + +# In[4]: + + +data.index + + +# In[5]: + + +data[1] + + +# In[6]: + + +data[1:3] + + +# From what we’ve seen so far, it may look like the Series object is basically interchangeable with a one-dimensional NumPy array. The essential difference is the presence of the index: while the NumPy array has an implicitly defned integer index used to access the values, the Pandas Series has an explicitly defned index associated with the values. +# This explicit index definition gives the Series object additional capabilities. For example, the index need not be an integer, but can consist of values of any desired type. For example, if we wish, we can use strings as an index: + +# In[7]: + + +data = pd.Series([0.25, 0.5, 0.75, 1.0], + index=['a', 'b', 'c', 'd']) +data + + +# In[8]: + + +data['b'] + + +# We can even use noncontiguous or nonsequential indices: + +# In[9]: + + +data = pd.Series([0.25, 0.5, 0.75, 1.0], + index=[2, 5, 3, 7]) +data + + +# In[10]: + + +data[5] + + +# ### Series as specialized dictionary +# In this way, you can think of a Pandas Series a bit like a specialization of a Python dictionary. A dictionary is a structure that maps arbitrary keys to a set of arbitrary values, and a Series is a structure that maps typed keys to a set of typed values. This typing is important: just as the type-specific compiled code behind a NumPy array makes it more efficient than a Python list for certain operations, the type information +# of a Pandas Series makes it much more efficient than Python dictionaries for certain operations. +# We can make the Series-as-dictionary analogy even more clear by constructing a Series object directly from a Python dictionary: + +# In[11]: + + +population_dict = {'California': 38332521, + 'Texas': 26448193, + 'New York': 19651127, + 'Florida': 19552860, + 'Illinois': 12882135} + +population = pd.Series(population_dict) +population + + +# By default, a Series will be created where the index is drawn from the sorted keys. From here, typical dictionary-style item access can be performed: + +# In[12]: + + +population['California'] + + +# Unlike a dictionary, though, the Series also supports array-style operations such as slicing: + +# In[13]: + + +population['Texas':'Illinois'] + + +# ### Constructing Series objects +# For example, data can be a list or NumPy array, in which case index defaults to an integer sequence: + +# In[14]: + + +pd.Series([2, 4, 6]) + + +# data can be a scalar, which is repeated to fill the specified index: + +# In[15]: + + +pd.Series(5, index=[100, 200, 300]) + + +# data can be a dictionary, in which index defaults to the sorted dictionary keys: +# + +# In[16]: + + +pd.Series({2:'a', 1:'b', 3:'c'}) + + +# In each case, the index can be explicitly set if a different result is preferred: + +# In[17]: + + +pd.Series({2:'a', 1:'b', 3:'c'}, index=[3, 2]) + + +# Notice that in this case, the Series is populated only with the explicitly identified keys. + +# ### The Pandas Index Object +# If a Series is an analog of a one-dimensional array with flexible indices, a DataFrame is an analog of a two-dimensional array with both flexible row indices and flexible column names. Just as you might think of a two-dimensional array as an ordered sequence of aligned one-dimensional columns, you can think of a DataFrame as a +# sequence of aligned Series objects. Here, by “aligned†we mean that they share the same index. + +# In[18]: + + +area_dict = {'California': 423967, 'Texas': 695662, + 'New York': 141297,'Florida': 170312, 'Illinois': 149995} +area = pd.Series(area_dict) +area + + +# In[19]: + + +states = pd.DataFrame({'population': population, + 'area': area}) +states + + +# Like the Series object, the DataFrame has an index attribute that gives access to the index labels: + +# In[20]: + + +states.index + + +# Additionally, the DataFrame has a columns attribute, which is an Index object holding the column labels: + +# In[21]: + + +states.columns + + +# Thus the DataFrame can be thought of as a generalization of a two-dimensional NumPy array, where both the rows and columns have a generalized index for accessing the data. + +# #### DataFrame as specialized dictionary +# Similarly, we can also think of a DataFrame as a specialization of a dictionary. Where a dictionary maps a key to a value, a DataFrame maps a column name to a Series of column data. For example, asking for the 'area' attribute returns the Series object +# containing the areas we saw earlier: + +# In[22]: + + +states['area'] + + +# Notice the potential point of confusion here: in a two-dimensional NumPy array, data[0] will return the first row. For a DataFrame, data['col0'] will return the first column. Because of this, it is probably better to think about DataFrames as generalized dictionaries rather than generalized arrays, though both ways of looking at the situation can be useful. + +# #### Constructing DataFrame objects +# A Pandas DataFrame can be constructed in a variety of ways. Here we’ll give several examples. +# +# **From a single Series object.** A DataFrame is a collection of Series objects, and a singlecolumn DataFrame can be constructed from a single Series: + +# In[23]: + + +pd.DataFrame(population, columns=['population']) + + +# **From a list of dicts.** Any list of dictionaries can be made into a DataFrame. We’ll use a simple list comprehension to create some data: + +# In[24]: + + +data = [{'a': i, 'b': 2 * i} + for i in range(3)] +pd.DataFrame(data) + + +# Even if some keys in the dictionary are missing, Pandas will fill them in with NaN (i.e., “not a numberâ€) values: + +# In[25]: + + +pd.DataFrame([{'a': 1, 'b': 2}, {'b': 3, 'c': 4}]) + + +# **From a dictionary of Series objects.** As we saw before, a DataFrame can be constructed from a dictionary of Series objects as well: + +# In[26]: + + +pd.DataFrame({'population': population, + 'area': area}) + + +# **From a two-dimensional NumPy array.** Given a two-dimensional array of data, we can create a DataFrame with any specified column and index names. If omitted, an integer index will be used for each: + +# In[27]: + + +pd.DataFrame(np.random.rand(3, 2), columns=['foo', 'bar'], + index=['a', 'b', 'c']) + + +# **From a NumPy structured array.** A Pandas DataFrame operates much like a structured array, and can be created directly from one: + +# In[28]: + + +A = np.zeros(3, dtype=[('A', 'i8'), ('B', 'f8')]) +A + + +# In[29]: + + +pd.DataFrame(A) + + +# ### The Pandas Index Object +# We have seen here that both the Series and DataFrame objects contain an explicit index that lets you reference and modify data. This Index object is an interesting structure in itself, and it can be thought of either as an immutable array or as an ordered set (technically a multiset, as Index objects may contain repeated values). +# Those views have some interesting consequences in the operations available on Index objects. As a simple example, let’s construct an Index from a list of integers: + +# In[30]: + + +ind = pd.Index([2, 3, 5, 7, 11]) +ind + + +# #### Index as immutable array +# The Index object in many ways operates like an array. For example, we can use standard Python indexing notation to retrieve values or slices: + +# In[31]: + + +ind[1] + + +# In[32]: + + +ind[::2] + + +# Index objects also have many of the attributes familiar from NumPy arrays: + +# In[33]: + + +print(ind.size, ind.shape, ind.ndim, ind.dtype) + + +# One difference between Index objects and NumPy arrays is that indices are immutable—that is, they cannot be modified via the normal means: + +# In[34]: + + +ind[1]=0 + + +# This immutability makes it safer to share indices between multiple DataFrames and arrays, without the potential for side effects from inadvertent index modification. +# #### Index as ordered set +# Pandas objects are designed to facilitate operations such as joins across datasets, which depend on many aspects of set arithmetic. The Index object follows many of he conventions used by Python’s built-in set data structure, so that unions, intersections, differences, and other combinations can be computed in a familiar way: + +# In[35]: + + +indA = pd.Index([1, 3, 5, 7, 9]) +indB = pd.Index([2, 3, 5, 7, 11]) + + +# In[36]: + + +indA & indB # intersection + + +# In[37]: + + +indA | indB # union + + +# In[38]: + + +indA ^ indB # symmetric difference + + +# These operations may also be accessed via object methods—for example, indA.intersection(indB). + +# ### Data Indexing and Selection +# #### Data Selection in Series +# ##### Series as dictionary +# Like a dictionary, the Series object provides a mapping from a collection of keys to a collection of values: + +# In[39]: + + +import pandas as pd +data = pd.Series([0.25, 0.5, 0.75, 1.0], + index=['a', 'b', 'c', 'd']) +data + + +# In[40]: + + +data['b'] + + +# We can also use dictionary-like Python expressions and methods to examine the keys/indices and values: + +# In[41]: + + +'a' in data + + +# In[42]: + + +data.keys() + + +# In[43]: + + +list(data.items()) + + +# Series objects can even be modified with a dictionary-like syntax. Just as you can extend a dictionary by assigning to a new key, you can extend a Series by assigning to a new index value: + +# In[44]: + + +data['e'] = 1.25 +data + + +# This easy mutability of the objects is a convenient feature: under the hood, Pandas is making decisions about memory layout and data copying that might need to take place; the user generally does not need to worry about these issues. +# #### Series as one-dimensional array +# A Series builds on this dictionary-like interface and provides array-style item selection via the same basic mechanisms as NumPy arrays—that is, _slices, masking, and fancy indexing_. Examples of these are as follows: + +# In[45]: + + +# slicing by explicit index +data['a':'c'] + + +# In[46]: + + +# slicing by implicit integer index +data[0:2] + + +# In[47]: + + +# masking +data[(data > 0.3) & (data < 0.8)] + + +# In[48]: + + +# fancy indexing +data[['a', 'e']] + + +# #### Indexers: loc, iloc, and ix +# These slicing and indexing conventions can be a source of confusion. For example, if your Series has an explicit integer index, an indexing operation such as data[1] will use the explicit indices, while a slicing operation like data[1:3] will use the implicit Python-style index. + +# In[49]: + + +data = pd.Series(['a', 'b', 'c'], index=[1, 3, 5]) +data + + +# In[50]: + + +# explicit index when indexing +data[1] + + +# In[51]: + + +# implicit index when slicing +data[1:3] + + +# Because of this potential confusion in the case of integer indexes, Pandas provides some special indexer attributes that explicitly expose certain indexing schemes. These are not functional methods, but attributes that expose a particular slicing interface tothe data in the Series. +# +# First, the **loc** attribute allows indexing and slicing that always references the explicit index: + +# In[52]: + + +data.loc[1] + + +# In[53]: + + +data.loc[1:3] + + +# The **iloc** attribute allows indexing and slicing that always references the implicit Python-style index: + +# In[54]: + + +data.iloc[1] + + +# In[55]: + + +data.iloc[1:3] + + +# A third indexing attribute, ix, is a hybrid of the two, and for Series objects is equivalent to standard []-based indexing. The purpose of the ix indexer will become more apparent in the context of DataFrame objects, which we will discuss in a moment. + +# **So, this is what you need to remember:** +# +# **.loc** takes slices based on labels. **.iloc** uses observations’ position. **.ix** uses both labels and positions. +# +# **.loc** includes last element, when using an interval slice (e.g, [“aâ€:â€câ€]). .iloc does not include last element. +# +# When using a integer based index be clear with what you want and avoid confusion by appropriately selecting **.loc** or **iloc** for the task. Avoid using **.ix**. + +# ### Data Selection in DataFrame +# #### DataFrame as a dictionary +# The first analogy we will consider is the DataFrame as a dictionary of related Series objects. Let’s return to our example of areas and populations of states: + +# In[56]: + + +area = pd.Series({'California': 423967, 'Texas': 695662, + 'New York': 141297, 'Florida': 170312, + 'Illinois': 149995}) + +pop = pd.Series({'California': 38332521, 'Texas': 26448193, + 'New York': 19651127, 'Florida': 19552860, + 'Illinois': 12882135}) +data = pd.DataFrame({'area':area, 'pop':pop}) +data + + +# The individual Series that make up the columns of the DataFrame can be accessed via dictionary-style indexing of the column name: + +# In[57]: + + +#Dictionary sytle +data['area'] + + +# In[58]: + + +#attribute style +data.area + + +# In[59]: + + +data.area is data['area'] + + +# +# Though this is a useful shorthand, keep in mind that it does not work for all cases! For example, if the column names are not strings, or if the column names conflict with methods of the DataFrame, this attribute-style access is not possible. For example, the DataFrame has a pop() method, so data.pop will point to this rather than the "pop" column: + +# In[60]: + + + +data.pop is data['pop'] + + +# In particular, you should avoid the temptation to try column assignment via attribute **_(i.e., use data['pop'] = z rather than data.pop = z)_**. +# +# Like with the Series objects discussed earlier, this dictionary-style syntax can also be used to modify the object, in this case to add a new column: + +# In[61]: + + +data['density'] = data['pop'] / data['area'] +data + + +# #### DataFrame as two-dimensional array +# As mentioned previously, we can also view the DataFrame as an enhanced two-dimensional array. We can examine the raw underlying data array using the values attribute: + +# In[62]: + + +data.values + + +# With this picture in mind, we can do many familiar array-like observations on the DataFrame itself. For example, we can transpose the full DataFrame to swap rows and columns: + +# In[63]: + + +data.T + + +# When it comes to indexing of DataFrame objects, however, it is clear that the dictionary-style indexing of columns precludes our ability to simply treat it as a NumPy array. In particular, passing a single index to an array accesses a row: + +# In[64]: + + +data.values[0] + + +# and passing a single “index†to a DataFrame accesses a column: + +# In[65]: + + +data['area'] + + +# Thus for array-style indexing, we need another convention. Here Pandas again uses the loc, iloc, and ix indexers mentioned earlier. Using the iloc indexer, we can index the underlying array as if it is a simple NumPy array (using the implicit Python-style index), but the DataFrame index and column labels are maintained in the result: + +# In[66]: + + +data.iloc[:3, :2] + + +# In[67]: + + +data.loc[:'Florida', :'pop'] + + +# The ix indexer allows a hybrid of these two approaches: + +# In[68]: + + +data.ix[:3, :'pop'] + + +# Keep in mind that for integer indices, the ix indexer is subject to the same potential sources of confusion as discussed for integer-indexed Series objects. +# +# Any of the familiar NumPy-style data access patterns can be used within these indexers. For example, in the loc indexer we can combine masking and fancy indexing as in the following: + +# In[69]: + + +data.loc[data.density > 100, ['pop', 'density']] + + +# #### Additional indexing conventions +# There are a couple extra indexing conventions that might seem at odds with the preceding discussion, but nevertheless can be very useful in practice. First, while _indexing_ refers to columns, _slicing_ refers to rows: + +# In[70]: + + +data['Florida':'Illinois'] + + +# Such slices can also refer to rows by number rather than by index: + +# In[71]: + + +data[1:3] + + +# In[72]: + + +data[data.density > 100] + + +# ### Operating on Data in Pandas +# One of the essential pieces of NumPy is the ability to perform quick element-wiseoperations, both with basic arithmetic (addition, subtraction, multiplication, etc.) and with more sophisticated operations (trigonometric functions, exponential and logarithmic functions, etc.). Pandas inherits much of this functionality from NumPy, and the ufuncs. +# +# Pandas includes a couple useful twists, however: for unary operations like negation and trigonometric functions, these ufuncs will preserve index and column labels in the output, and for binary operations such as addition and multiplication, Pandas will +# automatically align indices when passing the objects to the ufunc. This means that keeping the context of data and combining data from different sources—both potentially error-prone tasks with raw NumPy arrays—become essentially foolproof ones with Pandas. We will additionally see that there are well-defined operations between one-dimensional Series structures and two-dimensional DataFrame structures. + +# #### Ufuncs: Index Preservation +# Because Pandas is designed to work with NumPy, any NumPy ufunc will work on Pandas Series and DataFrame objects. Let’s start by defining a simple Series and DataFrame on which to demonstrate this: + +# In[73]: + + +import pandas as pd +import numpy as np + + +# In[74]: + + +rng = np.random.RandomState(42) +ser = pd.Series(rng.randint(0, 10, 4)) +ser + + +# In[75]: + + +df = pd.DataFrame(rng.randint(0, 10, (3, 4)), + columns=['A', 'B', 'C', 'D']) +df + + +# If we apply a NumPy ufunc on either of these objects, the result will be another Pandas object _with the indices preserved:_ + +# In[76]: + + +np.exp(ser) + + +# Or, for a slightly more complex calculation: + +# In[77]: + + +np.sin(df * np.pi / 4) + + +# ### UFuncs: Index Alignment +# For binary operations on two Series or DataFrame objects, Pandas will align indices in the process of performing the operation. This is very convenient when you are working with incomplete data, as we’ll see in some of the examples that follow. +# #### Index alignment in Series +# As an example, suppose we are combining two different data sources, and find only the top three US states by area and the top three US states by population: + +# In[78]: + + +area = pd.Series({'Alaska': 1723337, 'Texas': 695662, + 'California': 423967}, name='area') +population = pd.Series({'California': 38332521, 'Texas': 26448193, + 'New York': 19651127}, name='population') + + +# Let’s see what happens when we divide these to compute the population density: + +# In[79]: + + +population / area + + +# In[80]: + + +area.index | population.index + + +# In[81]: + + +A = pd.Series([2, 4, 6], index=[0, 1, 2]) +B = pd.Series([1, 3, 5], index=[1, 2, 3]) +A + B + + +# If using NaN values is not the desired behavior, we can modify the fill value using appropriate object methods in place of the operators. For example, calling A.add(B) is equivalent to calling A + B, but allows optional explicit specification of the fill value for any elements in A or B that might be missing: + +# In[82]: + + +A.add(B, fill_value=0) + + +# #### Index alignment in DataFrame +# A similar type of alignment takes place for both columns and indices when you are performing operations on DataFrames: + +# In[83]: + + +A = pd.DataFrame(rng.randint(0, 20, (2, 2)), + columns=list('AB')) +A + + +# In[84]: + + +B = pd.DataFrame(rng.randint(0, 10, (3, 3)), + columns=list('BAC')) +B + + +# In[85]: + + +A + B + + +# In[86]: + + +fill = A.stack().mean() +A.add(B, fill_value=fill) + + +# ### Ufuncs: Operations Between DataFrame and Series +# When you are performing operations between a DataFrame and a Series, the index and column alignment is similarly maintained. Operations between a DataFrame and a Series are similar to operations between a two-dimensional and one-dimensional NumPy array. Consider one common operation, where we find the difference of a two-dimensional array and one of its rows: + +# In[87]: + + +A = rng.randint(10, size=(3, 4)) +A + + +# In[88]: + + +A - A[0] + + +# In[89]: + + +df = pd.DataFrame(A, columns=list('QRST')) +df - df.iloc[0] + + +# In[90]: + + +df.subtract(df['R'], axis=0) + + +# In[91]: + + +halfrow = df.iloc[0, ::2] +halfrow + + +# In[92]: + + +df - halfrow + + +# ### Handling Missing Data +# Here and throughout the book, we’ll refer to missing data in general as null, NaN, or NA values. +# #### None: Pythonic missing data +# The first sentinel value used by Pandas is None, a Python singleton object that is often used for missing data in Python code. Because None is a Python object, it cannot be used in any arbitrary NumPy/Pandas array, but only in arrays with data type 'object' (i.e., arrays of Python objects): + +# In[93]: + + +import numpy as np +import pandas as pd + + +# In[94]: + + +vals1 = np.array([1, None, 3, 4]) +vals1 + + +# This dtype=object means that the best common type representation NumPy could infer for the contents of the array is that they are Python objects. While this kind of object array is useful for some purposes, any operations on the data will be done at the Python level, with much more overhead than the typically fast operations seen for arrays with native types: + +# In[95]: + + +for dtype in ['object', 'int']: + print("dtype =", dtype) + get_ipython().run_line_magic('timeit', 'np.arange(1E6, dtype=dtype).sum()') + print() + + +# The use of Python objects in an array also means that if you perform aggregations like sum() or min() across an array with a None value, you will generally get an error: + +# In[96]: + + +vals1.sum() + + +# #### NaN: Missing numerical data +# The other missing data representation, NaN (acronym for Not a Number), is different; it is a special floating-point value recognized by all systems that use the standard IEEE floating-point representation: + +# In[98]: + + +vals2 = np.array([1, np.nan, 3, 4]) +vals2.dtype + + +# Notice that NumPy chose a native floating-point type for this array: this means that unlike the object array from before, this array supports fast operations pushed into compiled code. You should be aware that NaN is a bit like a data virus—it infects any other object it touches. Regardless of the operation, the result of arithmetic with NaN will be another NaN: + +# In[99]: + + +1 + np.nan + + +# In[100]: + + +0 * np.nan + + +# Note that this means that aggregates over the values are well defined (i.e., they don’t result in an error) but not always useful: + +# In[101]: + + +vals2.sum(), vals2.min(), vals2.max() + + +# NumPy does provide some special aggregations that will ignore these missing values: + +# In[102]: + + +np.nansum(vals2), np.nanmin(vals2), np.nanmax(vals2) + + +# Keep in mind that NaN is specifically a floating-point value; there is no equivalent NaN value for integers, strings, or other types. +# #### NaN and None in Pandas +# NaN and None both have their place, and Pandas is built to handle the two of them nearly interchangeably, converting between them where appropriate: + +# In[103]: + + +pd.Series([1, np.nan, 2, None]) + + +# For types that don’t have an available sentinel value, Pandas automatically type-casts when NA values are present. For example, if we set a value in an integer array to np.nan, it will automatically be upcast to a floating-point type to accommodate the NA: + +# In[104]: + + +x = pd.Series(range(2), dtype=int) +x + + +# In[105]: + + +x[0] = None +x + + +# Notice that in addition to casting the integer array to floating point, Pandas automatically converts the None to a NaN value. + +# #### Operating on Null Values +# As we have seen, Pandas treats None and NaN as essentially interchangeable for indicating missing or null values. To facilitate this convention, there are several useful methods for detecting, removing, and replacing null values in Pandas data structures. They are: +# +# isnull() +# +# Generate a Boolean mask indicating missing values +# +# notnull() +# +# Opposite of isnull() +# +# dropna() +# +# Return a filtered version of the data +# +# fillna() +# +# Return a copy of the data with missing values filled or imputed +# +# We will conclude this section with a brief exploration and demonstration of these routines. + +# #### Detecting null values +# Pandas data structures have two useful methods for detecting null data: **isnull()** and **notnull()**. Either one will return a Boolean mask over the data. For example: + +# In[106]: + + +data = pd.Series([1, np.nan, 'hello', None]) + + +# In[107]: + + +data.isnull() + + +# In[108]: + + +data[data.notnull()] + + +# The isnull() and notnull() methods produce similar Boolean results for Data Frames. + +# #### Dropping null values +# In addition to the masking used before, there are the convenience methods, dropna() (which removes NA values) and fillna() (which fills in NA values). For a Series, the result is straightforward: + +# In[109]: + + +data.dropna() + + +# In[110]: + + +df = pd.DataFrame([[1, np.nan, 2], + [2, 3, 5], + [np.nan, 4, 6]]) +df + + +# We cannot drop single values from a DataFrame; we can only drop full rows or full columns. Depending on the application, you might want one or the other, so dropna() gives a number of options for a DataFrame. +# By default, dropna() will drop all rows in which any null value is present: + +# In[111]: + + +df.dropna() + + +# Alternatively, you can drop NA values along a different axis; axis=1 drops all columns containing a null value: + +# In[112]: + + +df.dropna(axis='columns') + + +# In[113]: + + +df.dropna(how ='any') + + +# In[114]: + + +df.dropna(how ='all') + + +# In[115]: + + +df[3] = np.nan +df + + +# In[116]: + + +df.dropna(axis='columns', how='all') + + +# For finer-grained control, the thresh parameter lets you specify a minimum number of non-null values for the row/column to be kept: + +# In[117]: + + +df.dropna(axis='rows', thresh=3) + + +# Here the first and last row have been dropped, because they contain only two nonnull values. + +# #### Filling null values +# Sometimes rather than dropping NA values, you’d rather replace them with a valid value. This value might be a single number like zero, or it might be some sort of imputation or interpolation from the good values. You could do this in-place using the isnull() method as a mask, but because it is such a common operation Pandas provides the fillna() method, which returns a copy of the array with the null values replaced. + +# In[118]: + + +data = pd.Series([1, np.nan, 2, None, 3], index=list('abcde')) +data + + +# We can fill NA entries with a single value, such as zero: + +# In[119]: + + +data.fillna(0) + + +# We can specify a forward-fill to propagate the previous value forward: + +# In[120]: + + +# forward-fill +data.fillna(method='ffill') + + +# For DataFrames, the options are similar, but we can also specify an axis along which the fills take place: + +# In[121]: + + +df + + +# In[122]: + + +df.fillna(method='ffill', axis=1) + + +# Notice that if a previous value is not available during a forward fill, the NA value remains. + +# In[123]: + + +import pandas as pd +import numpy as np + + +# In[124]: + + +index = [('California', 2000), ('California', 2010), + ('New York', 2000), ('New York', 2010), + ('Texas', 2000), ('Texas', 2010)] + +populations = [33871648, 37253956, +18976457, 19378102, +20851820, 25145561] +pop = pd.Series(populations, index=index) +pop + + +# With this indexing scheme, you can straightforwardly index or slice the series based on this multiple index: + +# In[125]: + + +pop[('California', 2010):('Texas', 2000)] + + +# But the convenience ends there. For example, if you need to select all values from 2010, you’ll need to do some messy (and potentially slow) munging to make it happen: + +# In[126]: + + +pop[[i for i in pop.index if i[1] == 2010]] + + +# This produces the desired result, but is not as clean (or as efficient for large datasets) as the slicing syntax we’ve grown to love in Pandas. + +# #### The better way: Pandas MultiIndex +# Fortunately, Pandas provides a better way. Our tuple-based indexing is essentially a rudimentary multi-index, and the Pandas MultiIndex type gives us the type of operations we wish to have. We can create a multi-index from the tuples as follows: + +# In[127]: + + +index = pd.MultiIndex.from_tuples(index) +index + + +# Notice that the MultiIndex contains multiple levels of indexing—in this case, the state names and the years, as well as multiple labels for each data point which encode these levels. +# +# If we reindex our series with this MultiIndex, we see the hierarchical representation of the data: + +# In[128]: + + +pop = pop.reindex(index) +pop + + +# Here the first two columns of the Series representation show the multiple index values, while the third column shows the data. Notice that some entries are missing in the first column: in this multi-index representation, any blank entry indicates the +# same value as the line above it. +# +# Now to access all data for which the second index is 2010, we can simply use the Pandas slicing notation: + +# In[129]: + + +pop[:, 2010] + + +# The result is a singly indexed array with just the keys we’re interested in. This syntax is much more convenient (and the operation is much more efficient!) than the homespun tuple-based multi-indexing solution that we started with. We’ll now further discuss this sort of indexing operation on hierarchically indexed data. +# #### MultiIndex as extra dimension +# You might notice something else here: we could easily have stored the same data using a simple DataFrame with index and column labels. In fact, Pandas is built with this equivalence in mind. The unstack() method will quickly convert a multiplyindexed Series into a conventionally indexed DataFrame: + +# In[130]: + + +pop_df = pop.unstack() +pop_df + + +# Naturally, the stack() method provides the opposite operation: + +# In[131]: + + +pop_df.stack() + + +# In[132]: + + +pop_df = pd.DataFrame({'total': pop, + 'under18': [9267089, 9284094, + 4687374, 4318033, + 5906301, 6879014]}) +pop_df + + +# In[133]: + + +f_u18 = pop_df['under18'] / pop_df['total'] +f_u18.unstack() + + +# ### Methods of MultiIndex Creation +# The most straightforward way to construct a multiply indexed Series or DataFrame is to simply pass a list of two or more index arrays to the constructor. For example: + +# In[134]: + + +df = pd.DataFrame(np.random.rand(4, 2), + index=[['a', 'a', 'b', 'b'], [1, 2, 1, 2]], + columns=['data1', 'data2']) +df + + +# In[135]: + + +data = {('California', 2000): 33871648, + ('California', 2010): 37253956, + ('Texas', 2000): 20851820, + ('Texas', 2010): 25145561, + ('New York', 2000): 18976457, + ('New York', 2010): 19378102} +pd.Series(data) + + +# In[136]: + + +pd.Series(data).unstack() + + +# #### Explicit MultiIndex constructors +# For more flexibility in how the index is constructed, you can instead use the class method constructors available in the pd.MultiIndex. For example, as we did before, you can construct the MultiIndex from a simple list of arrays, giving the index values within each level: + +# In[137]: + + +pd.MultiIndex.from_arrays([['a', 'a', 'b', 'b'], [1, 2, 1, 2]]) + + +# You can construct it from a list of tuples, giving the multiple index values of each point: + +# In[138]: + + +pd.MultiIndex.from_tuples([('a', 1), ('a', 2), ('b', 1), ('b', 2)]) + + +# You can even construct it from a Cartesian product of single indices: + +# In[139]: + + +pd.MultiIndex.from_product([['a', 'b'], [1, 2]]) + + +# Similarly, you can construct the MultiIndex directly using its internal encoding by passing levels (a list of lists containing available index values for each level) and labels (a list of lists that reference these labels): + +# In[140]: + + +pd.MultiIndex(levels=[['a', 'b'], [1, 2]], + labels=[[0, 0, 1, 1], [0, 1, 0, 1]]) + + +# #### MultiIndex level names +# Sometimes it is convenient to name the levels of the MultiIndex. You can accomplish this by passing the names argument to any of the above MultiIndex constructors, or by setting the names attribute of the index after the fact: + +# In[141]: + + +pop.index.names = ['state', 'year'] +pop + + +# With more involved datasets, this can be a useful way to keep track of the meaning of various index values. +# #### MultiIndex for columns +# In a DataFrame, the rows and columns are completely symmetric, and just as the rows can have multiple levels of indices, the columns can have multiple levels as well. Consider the following, which is a mock-up of some (somewhat realistic) medical data: + +# In[142]: + + +# hierarchical indices and columns +index = pd.MultiIndex.from_product([[2013, 2014], [1, 2]], + names=['year', 'visit']) + +columns = pd.MultiIndex.from_product([['Bob', 'Guido', 'Sue'], ['HR', 'Temp']], + names=['subject', 'type']) +# mock some data +data = np.round(np.random.randn(4, 6), 1) +data[:, ::2] *= 10 +data += 37 + +# create the DataFrame +health_data = pd.DataFrame(data, index=index, columns=columns) +health_data + + +# In[143]: + + +health_data['Guido'] + + +# ### Indexing and Slicing a MultiIndex +# #### Multiply indexed Series +# Consider the multiply indexed Series of state populations we saw earlier: + +# In[144]: + + +pop['California', 2000] + + +# The MultiIndex also supports _partial indexing_, or indexing just one of the levels in the index. The result is another Series, with the lower-level indices maintained: + +# In[145]: + + +pop['California'] + + +# In[146]: + + +pop.loc['California':'New York'] + + +# With sorted indices, we can perform partial indexing on lower levels by passing an empty slice in the first index: + +# In[147]: + + +pop[:, 2000] + + +# In[148]: + + +pop[pop > 22000000] + + +# Selection based on fancy indexing also works: + +# In[149]: + + +pop[['California', 'Texas']] + + +# #### Multiply indexed DataFrames +# A multiply indexed DataFrame behaves in a similar manner. Consider our toy medical DataFrame from before: + +# In[150]: + + +health_data + + +# In[151]: + + +health_data['Guido', 'HR'] + + +# In[152]: + + +health_data.iloc[:2, :2] + + +# In[153]: + + +health_data.loc[:, ('Bob', 'HR')] + + +# Working with slices within these index tuples is not especially convenient; trying to create a slice within a tuple will lead to a syntax error: + +# In[154]: + + +health_data.loc[(:, 1), (:, 'HR')] + + +# You could get around this by building the desired slice explicitly using Python’s builtin slice() function, but a better way in this context is to use an IndexSlice object, which Pandas provides for precisely this situation. + +# In[155]: + + +idx = pd.IndexSlice +health_data.loc[idx[:, 1], idx[:, 'HR']] + + +# ### Rearranging Multi-Indices +# #### Sorted and unsorted indices +# Earlier, we briefly mentioned a caveat, but we should emphasize it more here. _Many of the MultiIndex slicing operations will fail if the index is not sorted_. Let’s take a look at this here. +# We’ll start by creating some simple multiply indexed data where the indices are _not lexographically sorted:_ +# + +# In[156]: + + +index = pd.MultiIndex.from_product([['a', 'c', 'b'], [1, 2]]) +data = pd.Series(np.random.rand(6), index=index) +data.index.names = ['char', 'int'] +data + + +# If we try to take a partial slice of this index, it will result in an error: + +# In[157]: + + +try: + data['a':'b'] +except KeyError as e: + print(type(e)) + print(e) + + +# For various reasons, partial slices and other similar operations require the levels in the MultiIndex to be in sorted (i.e., lexographical) order. Pandas provides a number of convenience routines to perform this type of sorting; examples are the sort_index() and sortlevel() methods of the DataFrame. We’ll use the simplest, sort_index(), here: + +# In[158]: + + +data = data.sort_index() +data + + +# With the index sorted in this way, partial slicing will work as expected: + +# In[159]: + + +data['a':'b'] + + +# #### Stacking and unstacking indices +# It is possible to convert a dataset from a stacked multi-index to a simple two-dimensional representation, optionally specifying the level to use: + +# In[160]: + + +pop.unstack(level=0) + + +# In[161]: + + +pop.unstack(level=1) + + +# In[162]: + + +pop.unstack().stack() + + +# #### Index setting and resetting +# Another way to rearrange hierarchical data is to turn the index labels into columns; this can be accomplished with the reset_index method. Calling this on the population dictionary will result in a DataFrame with a state and year column holding the information that was formerly in the index. For clarity, we can optionally specify the name of the data for the column representation: + +# In[163]: + + +pop_flat = pop.reset_index(name='population') +pop_flat + + +# Often when you are working with data in the real world, the raw input data looks like this and it’s useful to build a MultiIndex from the column values. This can be done with the set_index method of the DataFrame, which returns a multiply indexed Data Frame: + +# In[164]: + + +pop_flat.set_index(['state', 'year']) + + +# ### Data Aggregations on Multi-Indices +# We’ve previously seen that Pandas has built-in data aggregation methods, such as mean(), sum(), and max(). For hierarchically indexed data, these can be passed a level parameter that controls which subset of the data the aggregate is computed on. + +# In[165]: + + +health_data + + +# Perhaps we’d like to average out the measurements in the two visits each year. We can do this by naming the index level we’d like to explore, in this case the year: + +# In[166]: + + +data_mean = health_data.mean(level='year') +data_mean + + +# By further making use of the axis keyword, we can take the mean among levels on the columns as well: + +# In[167]: + + +data_mean.mean(axis=1, level='type') + + +# ### Combining Datasets: Concat and Append +# These operations can involve anything from very straightforward concatenation of two different datasets, to more complicated database-style joins and merges that correctly handle any overlaps between the datasets. Series and DataFrames are built with this type of operation in mind, and Pandas includes functions and methods that make this sort of data wrangling fast and straightforward. + +# In[168]: + + +import pandas as pd +import numpy as np + + +# In[169]: + + +def make_df(cols, ind): + """Quickly make a DataFrame""" + data = {c: [str(c) + str(i) for i in ind] + for c in cols} + return pd.DataFrame(data, ind) + +# example DataFrame +make_df('ABC', range(3)) + + +# ### Recall: Concatenation of NumPy Arrays +# Concatenation of Series and DataFrame objects is very similar to concatenation of NumPy arrays, which can be done via the np.concatenate function. Recall that with it, you can combine the contents of two or more arrays into a single array: + +# In[170]: + + +x = [1, 2, 3] +y = [4, 5, 6] +z = [7, 8, 9] +np.concatenate([x, y, z]) + + +# The first argument is a list or tuple of arrays to concatenate. Additionally, it takes an axis keyword that allows you to specify the axis along which the result will be concatenated: + +# In[171]: + + +x = [[1, 2], + [3, 4]] +np.concatenate([x, x], axis=1) + + +# ### Recall: Concatenation of NumPy Arrays +# Pandas has a function, pd.concat(), which has a similar syntax to np.concatenate but contains a number of options. + +# In[172]: + + +# Signature in Pandas v0.18 +pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, + keys=None, levels=None, names=None, verify_integrity=False, + copy=True) + + +# pd.concat() can be used for a simple concatenation of Series or DataFrame objects, just as np.concatenate() can be used for simple concatenations of arrays: + +# In[173]: + + +ser1 = pd.Series(['A', 'B', 'C'], index=[1, 2, 3]) +ser2 = pd.Series(['D', 'E', 'F'], index=[4, 5, 6]) +pd.concat([ser1, ser2]) + + +# It also works to concatenate higher-dimensional objects, such as DataFrames: + +# In[174]: + + +df1 = make_df('AB', [1, 2]) +df2 = make_df('AB', [3, 4]) +print(df1); print(df2); print(pd.concat([df1, df2])) + + +# By default, the concatenation takes place row-wise within the DataFrame (i.e., axis=0). Like np.concatenate, pd.concat allows specification of an axis along which concatenation will take place. Consider the following example: + +# In[175]: + + +df3 = make_df('AB', [0, 1]) +df4 = make_df('CD', [0, 1]) +print(df3); print(df4); print(pd.concat([df3, df4], axis='col')) + + +# One important difference between np.concatenate and pd.concat is that Pandas concatenation preserves indices, even if the result will have duplicate indices! Consider this simple example: + +# In[176]: + + +x = make_df('AB', [0, 1]) +y = make_df('AB', [2, 3]) +y.index = x.index # make duplicate indices! +print(x); print(y); print(pd.concat([x, y])) + + +# Notice the repeated indices in the result. While this is valid within DataFrames, the outcome is often undesirable. pd.concat() gives us a few ways to handle it +# **Catching the repeats as an error**. If you’d like to simply verify that the indices in the result of pd.concat() do not overlap, you can specify the verify_integrity flag. With this set to True, the concatenation will raise an exception if there are duplicate indices. Here is an example, where for clarity we’ll catch and print the error message: + +# In[177]: + + +try: + pd.concat([x, y], verify_integrity=True) +except ValueError as e: + print("ValueError:", e) + + +# **Ignoring the index**. Sometimes the index itself does not matter, and you would prefer it to simply be ignored. You can specify this option using the ignore_index flag. With this set to True, the concatenation will create a new integer index for the resulting Series: + +# In[178]: + + +print(x); print(y); print(pd.concat([x, y], ignore_index=True)) + + +# **Adding MultiIndex keys**. Another alternative is to use the keys option to specify a label for the data sources; the result will be a hierarchically indexed series containing the data: + +# In[179]: + + +print(x); print(y); print(pd.concat([x, y], keys=['x', 'y'])) + + +# #### Concatenation with joins +# We just looked at, we were mainly concatenating DataFrames with shared column names. In practice, data from different sources might have different sets of column names, and pd.concat offers several options in this case. Consider the concatenation of the following two DataFrames, which have some (but not all!) columns in common: + +# In[180]: + + +df7 = make_df('ABC', [1, 2]) +df8 = make_df('BCD', [3, 4]) +print(df7); print(df8); + + +# In[181]: + + +print(pd.concat([df7, df8]) + + +# By default, the entries for which no data is available are filled with NA values. To change this, we can specify one of several options for the join and join_axes parameters of the concatenate function. By default, the join is a union of the input columns (join='outer'), but we can change this to an intersection of the columns using join='inner': + +# In[182]: + + +print(df7); print(df8); +print(pd.concat([df7, df8], join='inner')) + + +# Another option is to directly specify the index of the remaining colums using the join_axes argument, which takes a list of index objects. Here we’ll specify that the returned columns should be the same as those of the first input: + +# In[183]: + + +print(df7); print(df8); +print(pd.concat([df7, df8], join_axes=[df7.columns])) + + +# #### The append() method +# Because direct array concatenation is so common, Series and DataFrame objects have an append method that can accomplish the same thing in fewer keystrokes. For example, rather than calling pd.concat([df1, df2]), you can simply call df1.append(df2): + +# In[184]: + + +print(df1); print(df2); print(df1.append(df2)) + + +# Keep in mind that unlike the append() and extend() methods of Python lists, the append() method in Pandas does not modify the original object—instead, it creates a new object with the combined data. It also is not a very efficient method, because it involves creation of a new index and data buffer. Thus, if you plan to do multiple append operations, it is generally better to build a list of DataFrames and pass them all at once to the concat() function. + +# ### Combining Datasets: Merge and Join +# One essential feature offered by Pandas is its high-performance, in-memory join and merge operations. If you have ever worked with databases, you should be familiar with this type of data interaction. The main interface for this is the pd.merge function. + +# #### Relational Algebra +# The behavior implemented in pd.merge() is a subset of what is known as relational algebra, which is a formal set of rules for manipulating relational data, and forms the conceptual foundation of operations available in most databases. The strength of the relational algebra approach is that it proposes several primitive operations, which become the building blocks of more complicated operations on any dataset. With this lexicon of fundamental operations implemented efficiently in a database or other program, a wide range of fairly complicated composite operations can be performed. +# +# Pandas implements several of these fundamental building blocks in the pd.merge() function and the related join() method of Series and DataFrames. As we will see, these let you efficiently link data from different sources. +# #### Categories of Joins +# The pd.merge() function implements a number of types of joins: the one-to-one, many-to-one, and many-to-many joins. All three types of joins are accessed via an identical call to the pd.merge() interface; the type of join performed depends on the form of the input data. Here we will show simple examples of the three types of merges, and discuss detailed options further below. +# #### One-to-one joins +# Perhaps the simplest type of merge expression is the one-to-one join, which is in many ways very similar to the column-wise concatenation. + +# In[185]: + + +df1 = pd.DataFrame({'employee': ['Bob', 'Jake', 'Lisa', 'Sue'], + 'group': ['Accounting', 'Engineering', 'Engineering', 'HR']}) +df2 = pd.DataFrame({'employee': ['Lisa', 'Bob', 'Jake', 'Sue'], + 'hire_date': [2004, 2008, 2012, 2014]}) +print('df1', df1); print('df2', df2) + + +# To combine this information into a single DataFrame, we can use the pd.merge() function: + +# In[186]: + + +df3 = pd.merge(df1, df2) +df3 + + +# The pd.merge() function recognizes that each DataFrame has an “employee†column, and automatically joins using this column as a key. The result of the merge is a new DataFrame that combines the information from the two inputs. Notice that the order of entries in each column is not necessarily maintained: in this case, the order of the “employee†column differs between df1 and df2, and the pd.merge() function correctly accounts for this. Additionally, keep in mind that the merge in general discards the index, except in the special case of merges by index. +# #### Many-to-one joins +# Many-to-one joins are joins in which one of the two key columns contains duplicate entries. For the many-to-one case, the resulting DataFrame will preserve those duplicate entries as appropriate. Consider the following example of a many-to-one join: + +# In[187]: + + +df4 = pd.DataFrame({'group': ['Accounting', 'Engineering', 'HR'], + 'supervisor': ['Carly', 'Guido', 'Steve']}) +print(df3); print(df4); print(pd.merge(df3, df4)) + + +# #### Many-to-many joins +# Many-to-many joins are a bit confusing conceptually, but are nevertheless well defined. If the key column in both the left and right array contains duplicates, then the result is a many-to-many merge. This will be perhaps most clear with a concrete example. Consider the following, where we have a DataFrame showing one or more skills associated with a particular group. + +# In[188]: + + +df5 = pd.DataFrame({'group': ['Accounting', 'Accounting', + 'Engineering', 'Engineering', 'HR', 'HR'], + 'skills': ['math', 'spreadsheets', 'coding', 'linux', + 'spreadsheets', 'organization']}) +print(df1); print(df5); print(pd.merge(df1, df5)) + + +# These three types of joins can be used with other Pandas tools to implement a wide array of functionality. But in practice, datasets are rarely as clean as the one we’re working with here. + +# #### Specifcation of the Merge Key +# We’ve already seen the default behavior of pd.merge(): it looks for one or more matching column names between the two inputs, and uses this as the key. However, often the column names will not match so nicely, and pd.merge() provides a variety of options for handling this. +# #### The on keyword +# Most simply, you can explicitly specify the name of the key column using the on keyword, which takes a column name or a list of column names: + +# In[189]: + + +print(df1); print(df2); print(pd.merge(df1, df2, on='employee')) + + +# This option works only if both the left and right DataFrames have the specified column name. + +# #### The left_on and right_on keywords +# At times you may wish to merge two datasets with different column names; for example, we may have a dataset in which the employee name is labeled as “name†rather than “employeeâ€. In this case, we can use the left_on and right_on keywords to specify the two column names: + +# In[190]: + + +df3 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], + 'salary': [70000, 80000, 120000, 90000]}) +print(df1); print(df3); +print(pd.merge(df1, df3, left_on="employee", right_on="name")) + + +# The result has a redundant column that we can drop if desired—for example, by using the drop() method of DataFrames: + +# In[191]: + + +pd.merge(df1, df3, left_on="employee", right_on="name").drop('name', axis=1) + + +# #### The left_index and right_index keywords +# Sometimes, rather than merging on a column, you would instead like to merge on an index. For example, your data might look like this: + +# In[192]: + + +df1a = df1.set_index('employee') +df2a = df2.set_index('employee') +print(df1a); print(df2a) + + +# You can use the index as the key for merging by specifying the left_index and/or right_index flags in pd.merge(): + +# In[193]: + + +print(df1a); print(df2a); +print(pd.merge(df1a, df2a, left_index=True, right_index=True)) + + +# For convenience, DataFrames implement the join() method, which performs a merge that defaults to joining on indices: + +# In[194]: + + +print(df1a); print(df2a); print(df1a.join(df2a)) + + +# If you’d like to mix indices and columns, you can combine left_index with right_on or left_on with right_index to get the desired behavior: + +# In[195]: + + +print(df1a); print(df3); +print(pd.merge(df1a, df3, left_index=True, right_on='name')) + + +# ### Specifying Set Arithmetic for Joins +# In all the preceding examples we have glossed over one important consideration in performing a join: the type of set arithmetic used in the join. This comes up when a value appears in one key column but not the other. Consider this example: + +# In[196]: + + +df6 = pd.DataFrame({'name': ['Peter', 'Paul', 'Mary'], + 'food': ['fish', 'beans', 'bread']}, + columns=['name', 'food']) +df7 = pd.DataFrame({'name': ['Mary', 'Joseph'], + 'drink': ['wine', 'beer']}, + columns=['name', 'drink']) +print(df6); print(df7); print(pd.merge(df6, df7)) + + +# Here we have merged two datasets that have only a single “name†entry in common: Mary. By default, the result contains the intersection of the two sets of inputs; this is what is known as an inner join. We can specify this explicitly using the how keyword, which defaults to 'inner': + +# In[197]: + + +pd.merge(df6, df7, how='inner') + + +# Other options for the how keyword are 'outer', 'left', and 'right'. An outer join returns a join over the union of the input columns, and fills in all missing values with NAs: + +# In[198]: + + +print(df6); print(df7); print(pd.merge(df6, df7, how='outer')) + + +# The lef join and right join return join over the left entries and right entries, respectively. For example: + +# In[199]: + + +print(df6); print(df7); print(pd.merge(df6, df7, how='left')) + + +# ### Overlapping Column Names: The sufxes Keyword +# Finally, you may end up in a case where your two input DataFrames have conflicting column names. Consider this example:` + +# In[200]: + + +df8 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], + 'rank': [1, 2, 3, 4]}) +df9 = pd.DataFrame({'name': ['Bob', 'Jake', 'Lisa', 'Sue'], + 'rank': [3, 1, 4, 2]}) +print(df8); print(df9); print(pd.merge(df8, df9, on="name")) + + +# Because the output would have two conflicting column names, the merge function automatically appends a suffix _x or _y_ to make the output columns unique. If these defaults are inappropriate, it is possible to specify a custom suffix using the suffixes keyword: + +# In[201]: + + +print(df8); print(df9); +print(pd.merge(df8, df9, on="name", suffixes=["_L", "_R"])) + + +# In[202]: + + +pop = pd.read_csv('E:/Python_4_DS/notebooks/data/state-population.csv') +areas = pd.read_csv('E:/Python_4_DS/notebooks/data/state-areas.csv') +abbrevs = pd.read_csv('E:/Python_4_DS/notebooks/data/state-abbrevs.csv') + +print(pop.head()); print(areas.head()); print(abbrevs.head()) + + +# In[203]: + + +merged = pd.merge(pop, abbrevs, how='outer', +left_on='state/region', right_on='abbreviation') +merged = merged.drop('abbreviation', 1) # drop duplicate info +merged.head() + + +# In[204]: + + +merged.isnull().any() + + +# In[205]: + + +merged[merged['population'].isnull()].head() + + +# In[206]: + + +merged.loc[merged['state'].isnull(), 'state/region'].unique() + + +# In[207]: + + +merged.loc[merged['state/region'] == 'PR', 'state'] = 'Puerto Rico' +merged.loc[merged['state/region'] == 'USA', 'state'] = 'United States' +merged.isnull().any() + + +# In[208]: + + +final = pd.merge(merged, areas, on='state', how='left') +final.head() + + +# In[209]: + + +final.isnull().any() + + +# In[210]: + + +final['state'][final['area (sq. mi)'].isnull()].unique() + + +# In[211]: + + +final.dropna(inplace=True) +final.head() + + +# In[212]: + + +data2010 = final.query("year == 2010 & ages == 'total'") +data2010.head() + + +# In[213]: + + +data2010.set_index('state', inplace=True) +density = data2010['population'] / data2010['area (sq. mi)'] + + +# In[214]: + + +density.sort_values(ascending=False, inplace=True) +density.head() + + +# In[215]: + + +density.tail() + + +# ### Aggregation and Grouping +# An essential piece of analysis of large data is efficient summarization: computing aggregations like sum(), mean(), median(), min(), and max(), in which a single number gives insight into the nature of a potentially large dataset. In this section, we’ll explore aggregations in Pandas, from simple operations akin to what we’ve seen on NumPy arrays, to more sophisticated operations based on the concept of a groupby. + +# In[216]: + + +import seaborn as sns +planets = sns.load_dataset('planets') +planets.shape + + +# In[217]: + + +planets.head() + + +# #### Simple Aggregation in Pandas +# As with a one dimensional NumPy array, for a Pandas Series the aggregates return a single value: + +# In[218]: + + +rng = np.random.RandomState(42) +ser = pd.Series(rng.rand(5)) +ser + + +# In[219]: + + +ser.sum() + + +# In[220]: + + +ser.sum() + + +# In[221]: + + +df = pd.DataFrame({'A': rng.rand(5), + 'B': rng.rand(5)}) +df + + +# In[222]: + + +df.mean() + + +# By specifying the axis argument, you can instead aggregate within each row: + +# In[223]: + + +df.mean(axis='columns') + + +# In addition, there is a convenience method describe() that computes several common aggregates for each column and returns the result. Let’s use this on the Planets data, for now drop†+# ping rows with missing values: + +# In[224]: + + +planets.dropna().describe() + + +# +# +# ### GroupBy: Split, Apply, Combine +# #### Split, Apply, Combine +# - The split step involves breaking up and grouping a DataFrame depending on the value of the specified key. +# - The apply step involves computing some function, usually an aggregate, transformation, or filtering, within the individual groups. +# - The combine step merges the results of these operations into an output array. +# +# +# +# While we could certainly do this manually using some combination of the masking, aggregation, and merging commands covered earlier, it’s important to realize that the intermediate splits do not need to be explicitly instantiated. Rather, the GroupBy can (often) do this in a single pass over the data, updating the sum, mean, count, min, or other aggregate for each group along the way. The power of the GroupBy is that it abstracts away these steps: the user need not think about how the computation is done under the hood, but rather thinks about the operation as a whole. + +# In[225]: + + +df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'], + 'data': range(6)}, columns=['key', 'data']) +df + + +# In[226]: + + +df.groupby('key') + + +# In[227]: + + +df.groupby('key').sum() + + +# #### The GroupBy object +# The GroupBy object is a very flexible abstraction. In many ways, you can simply treat it as if it’s a collection of DataFrames, and it does the difficult things under the hood. Let’s introduce some of the other functionality that can be used with the basic GroupBy operation. +# +# **Column indexing.** The GroupBy object supports column indexing in the same way as the DataFrame, and returns a modified GroupBy object. + +# In[228]: + + +planets.groupby('method') + + +# In[229]: + + +planets.groupby('method')['orbital_period'] + + +# Here we’ve selected a particular Series group from the original DataFrame group by reference to its column name. As with the GroupBy object, no computation is done until we call some aggregate on the object: + +# In[230]: + + +planets.groupby('method')['orbital_period'].median() + + +# **Iteration over groups.** The GroupBy object supports direct iteration over the groups, returning each group as a Series or DataFrame: + +# In[231]: + + +for (method, group) in planets.groupby('method'): + print("{0:30s} shape={1}".format(method, group.shape)) + + +# **Dispatch methods.** Through some Python class magic, any method not explicitly implemented by the GroupBy object will be passed through and called on the groups, whether they are DataFrame or Series objects. For example, you can use the describe() method of DataFrames to perform a set of aggregations that describe each group in the data: + +# In[232]: + + +planets.groupby('method')['year'].describe().unstack() + + +# #### Aggregate, flter, transform, apply +# The preceding discussion focused on aggregation for the combine operation, but there are more options available. In particular, GroupBy objects have aggregate(), filter(), transform(), and apply() methods that efficiently implement a variety of useful operations before combining the grouped data. + +# In[233]: + + +rng = np.random.RandomState(0) +df = pd.DataFrame({'key': ['A', 'B', 'C', 'A', 'B', 'C'], + 'data1': range(6), + 'data2': rng.randint(0, 10, 6)}, + columns = ['key', 'data1', 'data2']) +df + + +# **Aggregation.** We’re now familiar with GroupBy aggregations with sum(), median(), and the like, but the aggregate() method allows for even more flexibility. It can take a string, a function, or a list thereof, and compute all the aggregates at once. Here is a +# quick example combining all these: + +# In[234]: + + +df.groupby('key').aggregate(['min', np.median, max]) + + +# Another useful pattern is to pass a dictionary mapping column names to operations to be applied on that column: + +# In[235]: + + +df.groupby('key').aggregate({'data1': 'min', + 'data2': 'max'}) + + +# Filtering. A filtering operation allows you to drop data based on the group properties. For example, we might want to keep all groups in which the standard deviation is larger than some critical value: + +# In[236]: + + +def filter_func(x): + return x['data2'].std() > 4 +print(df); print(df.groupby('key').std()); +print(df.groupby('key').filter(filter_func)) + + +# The filter() function should return a Boolean value specifying whether the group passes the filtering. Here because group A does not have a standard deviation greater than 4, it is dropped from the result. +# +# **Transformation.** While aggregation must return a reduced version of the data, transformation can return some transformed version of the full data to recombine. For such a transformation, the output is the same shape as the input. A common example is to center the data by subtracting the group-wise mean: + +# In[237]: + + +df.groupby('key').transform(lambda x: x - x.mean()) + + +# **The apply() method.** The apply() method lets you apply an arbitrary function to the group results. The function should take a DataFrame, and return either a Pandas object (e.g., DataFrame, Series) or a scalar; the combine operation will be tailored to the type of output returned. + +# In[238]: + + +def norm_by_data2(x): + # x is a DataFrame of group values + x['data1'] /= x['data2'].sum() + return x +print(df); print(df.groupby('key').apply(norm_by_data2)) + + +# #### Specifying the split key +# In the simple examples presented before, we split the DataFrame on a single column name. This is just one of many options by which the groups can be defined, and we’ll go through some other options for group specification here. +# +# **A list, array, series, or index providing the grouping keys.** The key can be any series or list with a length matching that of the DataFrame. + +# In[239]: + + +L = [0, 1, 0, 1, 2, 0] +print(df); print(df.groupby(L).sum()) + + +# Of course, this means there’s another, more verbose way of accomplishing the df.groupby('key') from before: + +# In[240]: + + +print(df); print(df.groupby(df['key']).sum()) + + +# **A dictionary or series mapping index to group.** Another method is to provide a dictionary that maps index values to the group keys: + +# In[241]: + + +df2 = df.set_index('key') +mapping = {'A': 'vowel', 'B': 'consonant', 'C': 'consonant'} +print(df2); print(df2.groupby(mapping).sum()) + + +# Any Python function. Similar to mapping, you can pass any Python function that will input the index value and output the group: + +# In[242]: + + +print(df2); print(df2.groupby(str.lower).mean()) + + +# A list of valid keys. Further, any of the preceding key choices can be combined to group on a multi-index: + +# In[243]: + + +df2.groupby([str.lower, mapping]).mean() + + +# #### Grouping example + +# In[244]: + + +decade = 10 * (planets['year'] // 10) +decade = decade.astype(str) + 's' +decade.name = 'decade' +planets.groupby(['method', decade])['number'].sum().unstack().fillna(0) + + +# ### Pivot Tables +# We have seen how the GroupBy abstraction lets us explore relationships within a dataset. A pivot table is a similar operation that is commonly seen in spreadsheets and other programs that operate on tabular data. The pivot table takes simple columnwise data as input, and groups the entries into a two-dimensional table that provides a multidimensional summarization of the data. The difference between pivot tables and GroupBy can sometimes cause confusion; it helps me to think of pivot tables as essentially a multidimensional version of GroupBy aggregation. That is, you splitapply-combine, but both the split and the combine happen across not a onedimensional index, but across a two-dimensional grid. +# #### Motivating Pivot Tables + +# In[245]: + + +import numpy as np +import pandas as pd +import seaborn as sns +titanic = sns.load_dataset('titanic') + + +# In[246]: + + +titanic.head() + + +# #### Pivot Tables by Hand + +# In[247]: + + +titanic.groupby('sex')[['survived']].mean() + + +# This immediately gives us some insight: overall, three of every four females on board survived, while only one in five males survived! This is useful, but we might like to go one step deeper and look at survival by both sex and, say, class. Using the vocabulary of GroupBy, we might proceed using something like this: we group by class and gender, select survival, apply a mean aggregate, combine the resulting groups, and then unstack the hierarchical index to reveal the hidden multidimensionality. In code: + +# In[248]: + + +titanic.groupby(['sex', 'class'])['survived'].aggregate('mean').unstack() + + +# This gives us a better idea of how both gender and class affected survival, but the code is starting to look a bit garbled. While each step of this pipeline makes sense in light of the tools we’ve previously discussed, the long string of code is not particularly +# easy to read or use. This two-dimensional GroupBy is common enough that Pandas includes a convenience routine, pivot_table, which succinctly handles this type of multidimensional aggregation. +# #### Pivot Table Syntax +# Here is the equivalent to the preceding operation using the pivot_table method of DataFrames: + +# In[249]: + + +titanic.pivot_table('survived', index='sex', columns='class') + + +# #### Multilevel pivot tables +# Just as in the GroupBy, the grouping in pivot tables can be specified with multiple levels, and via a number of options. For example, we might be interested in looking at age as a third dimension. We’ll bin the age using the pd.cut function: + +# In[250]: + + +age = pd.cut(titanic['age'], [0, 18, 80]) +titanic.pivot_table('survived', ['sex', age], 'class') + + +# We can apply this same strategy when working with the columns as well; let’s add info on the fare paid using pd.qcut to automatically compute quantiles: + +# In[251]: + + +fare = pd.qcut(titanic['fare'], 2) +titanic.pivot_table('survived', ['sex', age], [fare, 'class']) + + +# #### Additional pivot table options +# The full call signature of the pivot_table method of DataFrames is as follows: + +# In[252]: + + +# call signature as of Pandas 0.18 +DataFrame.pivot_table(data, values=None, index=None, columns=None, + aggfunc='mean', fill_value=None, margins=False, + dropna=True, margins_name='All') + + +# Two of the options, fill_value and dropna, have to do with missing data and are fairly straightforward; we will not show examples of them here. The aggfunc keyword controls what type of aggregation is applied, which is a mean by default. As in the GroupBy, the aggregation specification can be a string representing one of several common choices ('sum', 'mean', 'count', 'min', 'max', etc.) or a function that implements an aggregation (np.sum(), min(), sum(), etc.). Additionally, it can be specified as a dictionary mapping a column to any of the above desired options: + +# In[253]: + + +titanic.pivot_table(index='sex', columns='class', + aggfunc={'survived':sum, 'fare':'mean'}) + + +# Notice also here that we’ve omitted the values keyword; when you’re specifying a mapping for aggfunc, this is determined automatically. At times it’s useful to compute totals along each grouping. This can be done via the margins keyword: + +# In[254]: + + +titanic.pivot_table('survived', index='sex', columns='class', margins=True) + + +# Here this automatically gives us information about the class-agnostic survival rate by gender, the gender-agnostic survival rate by class, and the overall survival rate of 38%. The margin label can be specified with the margins_name keyword, which defaults to "All". + +# In[255]: + + +E:\Python_4_DS\notebooks\data + + +# In[256]: + + +births = pd.read_csv('E:/Python_4_DS/notebooks/data/births.csv') + + +# In[257]: + + +births.head() + + +# In[258]: + + +births['decade'] = 10 * (births['year'] // 10) +births.pivot_table('births', index='decade', columns='gender', aggfunc='sum') + + +# In[259]: + + +get_ipython().run_line_magic('matplotlib', 'inline') +import matplotlib.pyplot as plt +sns.set() # use Seaborn styles +births.pivot_table('births', index='year', columns='gender', aggfunc='sum').plot() +plt.ylabel('total births per year'); + + +# In[260]: + + +quartiles = np.percentile(births['births'], [25, 50, 75]) +mu = quartiles[1] +sig = 0.74 * (quartiles[2] - quartiles[0]) + + +# In[261]: + + +births = births.query('(births > @mu - 5 * @sig) & (births < @mu + 5 * @sig)') + + +# In[262]: + + +# set 'day' column to integer; it originally was a string due to nulls +births['day'] = births['day'].astype(int) + + +# In[263]: + + +# create a datetime index from the year, month, day +births.index = pd.to_datetime(10000 * births.year + + 100 * births.month + + births.day, format='%Y%m%d') +births['dayofweek'] = births.index.dayofweek + + +# In[264]: + + +import matplotlib.pyplot as plt +import matplotlib as mpl +births.pivot_table('births', index='dayofweek', + columns='decade', aggfunc='mean').plot() +plt.gca().set_xticklabels(['Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun']) +plt.ylabel('mean births by day'); + + +# In[265]: + + +births_by_date = births.pivot_table('births', + [births.index.month, births.index.day]) +births_by_date.head() + + +# In[266]: + + +births_by_date.index = [pd.datetime(2012, month, day) + for (month, day) in births_by_date.index] +births_by_date.head() + + +# In[267]: + + +# Plot the results +fig, ax = plt.subplots(figsize=(12, 4)) +births_by_date.plot(ax=ax); + + +# ### Vectorized String Operations +# One strength of Python is its relative ease in handling and manipulating string data. Pandas builds on this and provides a comprehensive set of vectorized string operations that become an essential piece of the type of munging required when one is working with (read: cleaning up) real-world data. In this section, we’ll walk through some of the Pandas string operations, and then take a look at using them to partially clean up a very messy dataset of recipes collected from the Internet. +# #### Introducing Pandas String Operations +# We saw in previous sections how tools like NumPy and Pandas generalize arithmetic operations so that we can easily and quickly perform the same operation on many array elements. For example: + +# In[268]: + + +import numpy as np +x = np.array([2, 3, 5, 7, 11, 13]) +x * 2 + + +# This _vectorization_ of operations simplifies the syntax of operating on arrays of data: we no longer have to worry about the size or shape of the array, but just about what operation we want done. For arrays of strings, NumPy does not provide such simple access, and thus you’re stuck using a more verbose loop syntax: + +# In[269]: + + +data = ['peter', 'Paul', 'MARY', 'gUIDO'] +[s.capitalize() for s in data] + + +# This is perhaps sufficient to work with some data, but it will break if there are any missing values. For example: + +# In[270]: + + +data = ['peter', 'Paul', None, 'MARY', 'gUIDO'] +[s.capitalize() for s in data] + + +# Pandas includes features to address both this need for vectorized string operations and for correctly handling missing data via the str attribute of Pandas Series and Index objects containing strings. So, for example, suppose we create a Pandas Series with this data: + +# In[271]: + + +import pandas as pd +names = pd.Series(data) +names + + +# We can now call a single method that will capitalize all the entries, while skipping over any missing values: + +# In[272]: + + +names.str.capitalize() + + +# #### Tables of Pandas String Methods +# If you have a good understanding of string manipulation in Python, most of Pandas’ string syntax is intuitive enough that it’s probably sufficient to just list a table of available methods; we will start with that here, before diving deeper into a few of the subtleties. The examples in this section use the following series of names: + +# In[273]: + + +monte = pd.Series(['Graham Chapman', 'John Cleese', 'Terry Gilliam', + 'Eric Idle', 'Terry Jones', 'Michael Palin']) + + +# #### Methods similar to Python string methods +# Nearly all Python’s built-in string methods are mirrored by a Pandas vectorized string method. Here is a list of Pandas str methods that mirror Python string methods: +# +# len() lower() translate() islower() +# ljust() upper() startswith() isupper() +# rjust() find() endswith() isnumeric() +# center() rfind() isalnum() isdecimal() +# zfill() index() isalpha() split() +# strip() rindex() isdigit() rsplit() +# rstrip() capitalize() isspace() partition() +# lstrip() swapcase() istitle() rpartition() + +# In[274]: + + +monte.str.lower() + + +# In[275]: + + +monte.str.len() + + +# In[276]: + + +monte.str.startswith('T') + + +# In[277]: + + +monte.str.split() + + +# + +# #### Miscellaneous methods +# **Vectorized item access and slicing.** The get() and slice() operations, in particular, enable vectorized element access from each array. For example, we can get a slice of the first three characters of each array using str.slice(0, 3). Note that this behavior is also available through Python’s normal indexing syntax—for example, df.str.slice(0, 3) is equivalent to df.str[0:3]: + +# In[278]: + + +monte.str[0:3] + + +# Indexing via df.str.get(i) and df.str[i] is similar. +# +# These get() and slice() methods also let you access elements of arrays returned by split(). For example, to extract the last name of each entry, we can combine split() and get(): + +# In[279]: + + +monte.str.split().str.get(-1) + + +# **Indicator variables.** Another method that requires a bit of extra explanation is the get_dummies() method. This is useful when your data has a column containing some sort of coded indicator. For example, we might have a dataset that contains information in the form of codes, such as A=“born in America,†B=“born in the United Kingdom,†C=“likes cheese,†D=“likes spamâ€: + +# In[280]: + + +full_monte = pd.DataFrame({'name': monte, + 'info': ['B|C|D', 'B|D', 'A|C', 'B|D', 'B|C', + 'B|C|D']}) +full_monte + + +# The get_dummies() routine lets you quickly split out these indicator variables into a DataFrame: + +# In[281]: + + +full_monte['info'].str.get_dummies('|') + + +# ### Example: Recipe Database + +# In[282]: + + +# !curl -O http://openrecipes.s3.amazonaws.com/recipeitems-latest.json.gz +# !gunzip recipeitems-latest.json.gz +try: + recipes = pd.read_json('recipeitems-latest.json') +except ValueError as e: + print("ValueError:", e) + + +# In[283]: + + +with open('E:/Python_4_DS/datasets/recipeitems-latest.json') as f: + line = f.readline() +pd.read_json(line).shape + + +# In[290]: + + +# read the entire file into a Python array +with open('E:/Python_4_DS/datasets/recipeitems-latest.json', 'r') as f: + # Extract each line + data = (line.strip() for line in f) + # Reformat so each line is the element of a list + data_json = "[{0}]".format(','.join(data)) +# read the result as a JSON +recipes = pd.read_json(data_json) + + +# In[286]: + + +recipes.shape + + +# ### Working with Time Series +# Pandas was developed in the context of financial modeling, so as you might expect, it contains a fairly extensive set of tools for working with dates, times, and time indexed data. Date and time data comes in a few flavors: +# - Time stamps reference particular moments in time (e.g., July 4th, 2015, at 7:00 a.m.). +# - Time intervals and periods reference a length of time between a particular beginning and end point—for example, the year 2015. Periods usually reference a special case of time intervals in which each interval is of uniform length and doesnot overlap (e.g., 24 hour-long periods constituting days). +# - Time deltas or durations reference an exact length of time (e.g., a duration of 22.56 seconds). + +# ### Dates and Times in Python +# #### Native Python dates and times: datetime and dateutil +# Python’s basic objects for working with dates and times reside in the built-in date time module. Along with the third-party dateutil module, you can use it to quickly perform a host of useful functionalities on dates and times. For example, you can manually build a date using the datetime type: + +# In[291]: + + +from datetime import datetime +datetime(year=2015, month=7, day=4) + + +# Or, using the dateutil module, you can parse dates from a variety of string formats: + +# In[292]: + + +from dateutil import parser +date = parser.parse("4th of July, 2015") +date + + +# Once you have a datetime object, you can do things like printing the day of the week: + +# In[293]: + + +date.strftime('%A') + + +# #### Typed arrays of times: NumPy’s datetime64 +# The weaknesses of Python’s datetime format inspired the NumPy team to add a set of native time series data type to NumPy. The datetime64 dtype encodes dates as 64-bit integers, and thus allows arrays of dates to be represented very compactly. The date time64 requires a very specific input format: + +# In[294]: + + +import numpy as np +date = np.array('2015-07-04', dtype=np.datetime64) +date + + +# Once we have this date formatted, however, we can quickly do vectorized operations on it: + +# In[295]: + + +date + np.arange(12) + + +# In[296]: + + +np.datetime64('2015-07-04') + + +# In[297]: + + +np.datetime64('2015-07-04 12:00') + + +# In[298]: + + +np.datetime64('2015-07-04 12:59:59.50', 'ns') + + +# #### Dates and times in Pandas: Best of both worlds +# Pandas builds upon all the tools just discussed to provide a Timestamp object, which combines the ease of use of datetime and dateutil with the efficient storage and vectorized interface of numpy.datetime64. From a group of these Timestamp objects, Pandas can construct a DatetimeIndex that can be used to index data in a Series or DataFrame; we’ll see many examples of this below. +# For example, we can use Pandas tools to repeat the demonstration from above. We can parse a flexibly formatted string date, and use format codes to output the day of the week: + +# In[299]: + + +import pandas as pd +date = pd.to_datetime("4th of July, 2015") +date + + +# In[300]: + + +date.strftime('%A') + + +# Additionally, we can do NumPy-style vectorized operations directly on this same object: + +# In[301]: + + +date + pd.to_timedelta(np.arange(12), 'D') + + +# ### Pandas Time Series: Indexing by Time +# Where the Pandas time series tools really become useful is when you begin to index data by timestamps. For example, we can construct a Series object that has timeindexed data: + +# In[302]: + + +index = pd.DatetimeIndex(['2014-07-04', '2014-08-04', + '2015-07-04', '2015-08-04']) +data = pd.Series([0, 1, 2, 3], index=index) +data + + +# Now that we have this data in a Series, we can make use of any of the Series indexing patterns we discussed in previous sections, passing values that can be coerced into dates: + +# In[303]: + + +data['2014-07-04':'2015-07-04'] + + +# There are additional special date-only indexing operations, such as passing a year to obtain a slice of all data from that year: + +# In[304]: + + +data['2015'] + + +# ### Pandas Time Series Data Structures +# This section will introduce the fundamental Pandas data structures for working with time series data: +# +# - _For time stamps_, Pandas provides the Timestamp type. As mentioned before, it is essentially a replacement for Python’s native datetime, but is based on the more efficient numpy.datetime64 data type. The associated index structure is DatetimeIndex. +# - _For time periods_, Pandas provides the Period type. This encodes a fixedfrequency interval based on numpy.datetime64. The associated index structure is PeriodIndex. +# - _For time deltas or durations_, Pandas provides the Timedelta type. Timedelta is a more efficient replacement for Python’s native datetime.timedelta type, and is based on numpy.timedelta64. The associated index structure is TimedeltaIndex. +# +# The most fundamental of these date/time objects are the Timestamp and DatetimeIndex objects. While these class objects can be invoked directly, it is more common to use the pd.to_datetime() function, which can parse a wide variety of formats. Passing a single date to pd.to_datetime() yields a Timestamp; passing a series of dates by default yields a DatetimeIndex: + +# In[306]: + + +dates = pd.to_datetime([datetime(2015, 7, 3), '4th of July, 2015', + '2015-Jul-6', '07-07-2015', '20150708']) +dates + + +# Any DatetimeIndex can be converted to a PeriodIndex with the to_period() function with the addition of a frequency code; here we’ll use 'D' to indicate daily frequency: + +# In[307]: + + +dates.to_period('D') + + +# A TimedeltaIndex is created, for example, when one date is subtracted from another: + +# In[308]: + + +dates - dates[0] + + +# #### Regular sequences: pd.date_range() +# To make the creation of regular date sequences more convenient, Pandas offers a few functions for this purpose: pd.date_range() for timestamps, pd.period_range() for periods, and pd.timedelta_range() for time deltas. We’ve seen that Python’s range() and NumPy’s np.arange() turn a startpoint, endpoint, and optional stepsize into a sequence. Similarly, pd.date_range() accepts a start date, an end date, and an optional frequency code to create a regular sequence of dates. By default, the frequency is one day: + +# In[309]: + + +pd.date_range('2015-07-03', '2015-07-10') + + +# Alternatively, the date range can be specified not with a start- and endpoint, but with a startpoint and a number of periods: + +# In[310]: + + +pd.date_range('2015-07-03', periods=8) + + +# You can modify the spacing by altering the freq argument, which defaults to D. For example, here we will construct a range of hourly timestamps: + +# In[311]: + + +pd.date_range('2015-07-03', periods=8, freq='H') + + +# To create regular sequences of period or time delta values, the very similar pd.period_range() and pd.timedelta_range() functions are useful. Here are some monthly periods: + +# In[312]: + + +pd.period_range('2015-07', periods=8, freq='M') + + +# And a sequence of durations increasing by an hour: + +# In[313]: + + +pd.timedelta_range(0, periods=10, freq='H') + + +# + +# Additionally, you can change the month used to mark any quarterly or annual code by adding a three-letter month code as a suffix: +# +# - Q-JAN, BQ-FEB, QS-MAR, BQS-APR, etc. +# - A-JAN, BA-FEB, AS-MAR, BAS-APR, etc. +# +# In the same way, you can modify the split-point of the weekly frequency by adding a three-letter weekday code: +# +# - W-SUN, W-MON, W-TUE, W-WED, etc. +# +# On top of this, codes can be combined with numbers to specify other frequencies. For example, for a frequency of 2 hours 30 minutes, we can combine the hour (H) and minute (T) codes as follows: + +# In[314]: + + +pd.timedelta_range(0, periods=9, freq="2H30T") + + +# All of these short codes refer to specific instances of Pandas time series offsets, which can be found in the pd.tseries.offsets module. For example, we can create a business day offset directly as follows: + +# In[315]: + + +from pandas.tseries.offsets import BDay +pd.date_range('2015-07-01', periods=5, freq=BDay()) + + +# In[ ]: + + + + From bf1597dec216461a8c2b1591e5bb08e2ac7ffd4b Mon Sep 17 00:00:00 2001 From: Michael M Date: Sat, 16 Feb 2019 20:05:15 +0300 Subject: [PATCH 07/14] Update log.md --- log.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log.md b/log.md index aba172a..7bc8942 100644 --- a/log.md +++ b/log.md @@ -26,7 +26,7 @@ **Thoughts**: The chapter was pretty wide and, rich in content and references. It's a chapter that'll keep referring in the oncoming challenges. **. -**Link to work**: +**Link to work**: https://github.com/mickeywise/Python4ds_cohort-1/blob/M_Machira/Pandas%20Tutorial.ipynb 16/02/2019 From 840d3d138e4244c85ef736227ec5cb75292a0181 Mon Sep 17 00:00:00 2001 From: Michael M Date: Sat, 16 Feb 2019 20:06:20 +0300 Subject: [PATCH 08/14] Update log.md Week Update --- log.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log.md b/log.md index 7bc8942..7c02381 100644 --- a/log.md +++ b/log.md @@ -26,7 +26,7 @@ **Thoughts**: The chapter was pretty wide and, rich in content and references. It's a chapter that'll keep referring in the oncoming challenges. **. -**Link to work**: https://github.com/mickeywise/Python4ds_cohort-1/blob/M_Machira/Pandas%20Tutorial.ipynb +**Link to work**: https://github.com/mickeywise/Python4ds_cohort-1/blob/M_Machira/Pandas%20Tutorial.ipynb ** 16/02/2019 From 754f96fc1b9a4f5beeffc1f0d85d690fc1d8ec71 Mon Sep 17 00:00:00 2001 From: Michael M Date: Tue, 19 Feb 2019 12:08:34 +0300 Subject: [PATCH 09/14] Create Data Challenge KIVA Crowdfunding.ipynb Data Challenge Notebook --- Data Challenge KIVA Crowdfunding.ipynb | 6929 ++++++++++++++++++++++++ 1 file changed, 6929 insertions(+) create mode 100644 Data Challenge KIVA Crowdfunding.ipynb diff --git a/Data Challenge KIVA Crowdfunding.ipynb b/Data Challenge KIVA Crowdfunding.ipynb new file mode 100644 index 0000000..2cc7de1 --- /dev/null +++ b/Data Challenge KIVA Crowdfunding.ipynb @@ -0,0 +1,6929 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "loan = pd.read_csv('E:/Python_4_DS/For Good KIVA crowdfund/kiva_loans.csv')\n", + "mpi_region_location = pd.read_csv('E:/Python_4_DS/For Good KIVA crowdfund/kiva_mpi_region_locations.csv')\n", + "theme_id = pd.read_csv('E:/Python_4_DS/For Good KIVA crowdfund/loan_theme_ids.csv')\n", + "theme_region = pd.read_csv('E:/Python_4_DS/For Good KIVA crowdfund/loan_themes_by_region.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idfunded_amountloan_amountactivitysectorusecountry_codecountryregioncurrencypartner_idposted_timedisbursed_timefunded_timeterm_in_monthslender_counttagsborrower_gendersrepayment_intervaldate
0653051300.0300.0Fruits & VegetablesFoodTo buy seasonal, fresh fruits to sell.PKPakistanLahorePKR247.02014-01-01 06:12:39+00:002013-12-17 08:00:00+00:002014-01-02 10:06:32+00:0012.012NaNfemaleirregular2014-01-01
1653053575.0575.0RickshawTransportationto repair and maintain the auto rickshaw used ...PKPakistanLahorePKR247.02014-01-01 06:51:08+00:002013-12-17 08:00:00+00:002014-01-02 09:17:23+00:0011.014NaNfemale, femaleirregular2014-01-01
2653068150.0150.0TransportationTransportationTo repair their old cycle-van and buy another ...INIndiaMaynaguriINR334.02014-01-01 09:58:07+00:002013-12-17 08:00:00+00:002014-01-01 16:01:36+00:0043.06user_favorite, user_favoritefemalebullet2014-01-01
3653063200.0200.0EmbroideryArtsto purchase an embroidery machine and a variet...PKPakistanLahorePKR247.02014-01-01 08:03:11+00:002013-12-24 08:00:00+00:002014-01-01 13:00:00+00:0011.08NaNfemaleirregular2014-01-01
4653084400.0400.0Milk SalesFoodto purchase one buffalo.PKPakistanAbdul HakeemPKR245.02014-01-01 11:53:19+00:002013-12-17 08:00:00+00:002014-01-01 19:18:51+00:0014.016NaNfemalemonthly2014-01-01
\n", + "
" + ], + "text/plain": [ + " id funded_amount loan_amount activity sector \\\n", + "0 653051 300.0 300.0 Fruits & Vegetables Food \n", + "1 653053 575.0 575.0 Rickshaw Transportation \n", + "2 653068 150.0 150.0 Transportation Transportation \n", + "3 653063 200.0 200.0 Embroidery Arts \n", + "4 653084 400.0 400.0 Milk Sales Food \n", + "\n", + " use country_code country \\\n", + "0 To buy seasonal, fresh fruits to sell. PK Pakistan \n", + "1 to repair and maintain the auto rickshaw used ... PK Pakistan \n", + "2 To repair their old cycle-van and buy another ... IN India \n", + "3 to purchase an embroidery machine and a variet... PK Pakistan \n", + "4 to purchase one buffalo. PK Pakistan \n", + "\n", + " region currency partner_id posted_time \\\n", + "0 Lahore PKR 247.0 2014-01-01 06:12:39+00:00 \n", + "1 Lahore PKR 247.0 2014-01-01 06:51:08+00:00 \n", + "2 Maynaguri INR 334.0 2014-01-01 09:58:07+00:00 \n", + "3 Lahore PKR 247.0 2014-01-01 08:03:11+00:00 \n", + "4 Abdul Hakeem PKR 245.0 2014-01-01 11:53:19+00:00 \n", + "\n", + " disbursed_time funded_time term_in_months \\\n", + "0 2013-12-17 08:00:00+00:00 2014-01-02 10:06:32+00:00 12.0 \n", + "1 2013-12-17 08:00:00+00:00 2014-01-02 09:17:23+00:00 11.0 \n", + "2 2013-12-17 08:00:00+00:00 2014-01-01 16:01:36+00:00 43.0 \n", + "3 2013-12-24 08:00:00+00:00 2014-01-01 13:00:00+00:00 11.0 \n", + "4 2013-12-17 08:00:00+00:00 2014-01-01 19:18:51+00:00 14.0 \n", + "\n", + " lender_count tags borrower_genders \\\n", + "0 12 NaN female \n", + "1 14 NaN female, female \n", + "2 6 user_favorite, user_favorite female \n", + "3 8 NaN female \n", + "4 16 NaN female \n", + "\n", + " repayment_interval date \n", + "0 irregular 2014-01-01 \n", + "1 irregular 2014-01-01 \n", + "2 bullet 2014-01-01 \n", + "3 irregular 2014-01-01 \n", + "4 monthly 2014-01-01 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loan.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
LocationNameISOcountryregionworld_regionMPIgeolatlon
0Badakhshan, AfghanistanAFGAfghanistanBadakhshanSouth Asia0.387(36.7347725, 70.81199529999999)36.73477270.811995
1Badghis, AfghanistanAFGAfghanistanBadghisSouth Asia0.466(35.1671339, 63.7695384)35.16713463.769538
2Baghlan, AfghanistanAFGAfghanistanBaghlanSouth Asia0.300(35.8042947, 69.2877535)35.80429569.287754
3Balkh, AfghanistanAFGAfghanistanBalkhSouth Asia0.301(36.7550603, 66.8975372)36.75506066.897537
4Bamyan, AfghanistanAFGAfghanistanBamyanSouth Asia0.325(34.8100067, 67.8212104)34.81000767.821210
\n", + "
" + ], + "text/plain": [ + " LocationName ISO country region world_region MPI \\\n", + "0 Badakhshan, Afghanistan AFG Afghanistan Badakhshan South Asia 0.387 \n", + "1 Badghis, Afghanistan AFG Afghanistan Badghis South Asia 0.466 \n", + "2 Baghlan, Afghanistan AFG Afghanistan Baghlan South Asia 0.300 \n", + "3 Balkh, Afghanistan AFG Afghanistan Balkh South Asia 0.301 \n", + "4 Bamyan, Afghanistan AFG Afghanistan Bamyan South Asia 0.325 \n", + "\n", + " geo lat lon \n", + "0 (36.7347725, 70.81199529999999) 36.734772 70.811995 \n", + "1 (35.1671339, 63.7695384) 35.167134 63.769538 \n", + "2 (35.8042947, 69.2877535) 35.804295 69.287754 \n", + "3 (36.7550603, 66.8975372) 36.755060 66.897537 \n", + "4 (34.8100067, 67.8212104) 34.810007 67.821210 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mpi_region_location.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idLoan Theme IDLoan Theme TypePartner ID
0638631a1050000000skGlGeneral151.0
1640322a1050000000skGlGeneral151.0
2641006a1050000002X1ijHigher Education160.0
3641019a1050000002X1ijHigher Education160.0
4641594a1050000002VbsWSubsistence Agriculture336.0
\n", + "
" + ], + "text/plain": [ + " id Loan Theme ID Loan Theme Type Partner ID\n", + "0 638631 a1050000000skGl General 151.0\n", + "1 640322 a1050000000skGl General 151.0\n", + "2 641006 a1050000002X1ij Higher Education 160.0\n", + "3 641019 a1050000002X1ij Higher Education 160.0\n", + "4 641594 a1050000002VbsW Subsistence Agriculture 336.0" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "theme_id.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Partner IDField Partner NamesectorLoan Theme IDLoan Theme Typecountryforkivaregiongeocode_oldISO...amountLocationNamegeocodenamesgeolatlonmpi_regionmpi_georural_pct
09KREDIT Microfinance InstitutionGeneral Financial Inclusiona1050000000slfiHigher EducationCambodiaNoBanteay Meanchey(13.75, 103.0)KHM...450Banteay Meanchey, Cambodia[(13.6672596, 102.8975098)]Banteay Meanchey Province; Cambodia(13.6672596, 102.8975098)13.667260102.897510Banteay Mean Chey, Cambodia(13.6672596, 102.8975098)90.0
19KREDIT Microfinance InstitutionGeneral Financial Inclusiona10500000068jPeVulnerable PopulationsCambodiaNoBattambang ProvinceNaNKHM...20275Battambang Province, Cambodia[(13.0286971, 102.989615)]Battambang Province; Cambodia(13.0286971, 102.989615)13.028697102.989615Banteay Mean Chey, Cambodia(13.6672596, 102.8975098)90.0
29KREDIT Microfinance InstitutionGeneral Financial Inclusiona1050000000slfiHigher EducationCambodiaNoBattambang ProvinceNaNKHM...9150Battambang Province, Cambodia[(13.0286971, 102.989615)]Battambang Province; Cambodia(13.0286971, 102.989615)13.028697102.989615Banteay Mean Chey, Cambodia(13.6672596, 102.8975098)90.0
39KREDIT Microfinance InstitutionGeneral Financial Inclusiona10500000068jPeVulnerable PopulationsCambodiaNoKampong Cham Province(12.0, 105.5)KHM...604950Kampong Cham Province, Cambodia[(12.0982918, 105.3131185)]Kampong Cham Province; Cambodia(12.0982918, 105.3131185)12.098292105.313119Kampong Cham, Cambodia(11.9924294, 105.4645408)90.0
49KREDIT Microfinance InstitutionGeneral Financial Inclusiona1050000002X1UuSanitationCambodiaNoKampong Cham Province(12.0, 105.5)KHM...275Kampong Cham Province, Cambodia[(12.0982918, 105.3131185)]Kampong Cham Province; Cambodia(12.0982918, 105.3131185)12.098292105.313119Kampong Cham, Cambodia(11.9924294, 105.4645408)90.0
\n", + "

5 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Partner ID Field Partner Name sector \\\n", + "0 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "1 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "2 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "3 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "4 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "\n", + " Loan Theme ID Loan Theme Type country forkiva \\\n", + "0 a1050000000slfi Higher Education Cambodia No \n", + "1 a10500000068jPe Vulnerable Populations Cambodia No \n", + "2 a1050000000slfi Higher Education Cambodia No \n", + "3 a10500000068jPe Vulnerable Populations Cambodia No \n", + "4 a1050000002X1Uu Sanitation Cambodia No \n", + "\n", + " region geocode_old ISO ... amount \\\n", + "0 Banteay Meanchey (13.75, 103.0) KHM ... 450 \n", + "1 Battambang Province NaN KHM ... 20275 \n", + "2 Battambang Province NaN KHM ... 9150 \n", + "3 Kampong Cham Province (12.0, 105.5) KHM ... 604950 \n", + "4 Kampong Cham Province (12.0, 105.5) KHM ... 275 \n", + "\n", + " LocationName geocode \\\n", + "0 Banteay Meanchey, Cambodia [(13.6672596, 102.8975098)] \n", + "1 Battambang Province, Cambodia [(13.0286971, 102.989615)] \n", + "2 Battambang Province, Cambodia [(13.0286971, 102.989615)] \n", + "3 Kampong Cham Province, Cambodia [(12.0982918, 105.3131185)] \n", + "4 Kampong Cham Province, Cambodia [(12.0982918, 105.3131185)] \n", + "\n", + " names geo lat \\\n", + "0 Banteay Meanchey Province; Cambodia (13.6672596, 102.8975098) 13.667260 \n", + "1 Battambang Province; Cambodia (13.0286971, 102.989615) 13.028697 \n", + "2 Battambang Province; Cambodia (13.0286971, 102.989615) 13.028697 \n", + "3 Kampong Cham Province; Cambodia (12.0982918, 105.3131185) 12.098292 \n", + "4 Kampong Cham Province; Cambodia (12.0982918, 105.3131185) 12.098292 \n", + "\n", + " lon mpi_region mpi_geo \\\n", + "0 102.897510 Banteay Mean Chey, Cambodia (13.6672596, 102.8975098) \n", + "1 102.989615 Banteay Mean Chey, Cambodia (13.6672596, 102.8975098) \n", + "2 102.989615 Banteay Mean Chey, Cambodia (13.6672596, 102.8975098) \n", + "3 105.313119 Kampong Cham, Cambodia (11.9924294, 105.4645408) \n", + "4 105.313119 Kampong Cham, Cambodia (11.9924294, 105.4645408) \n", + "\n", + " rural_pct \n", + "0 90.0 \n", + "1 90.0 \n", + "2 90.0 \n", + "3 90.0 \n", + "4 90.0 \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "theme_region.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 671205 entries, 0 to 671204\n", + "Data columns (total 20 columns):\n", + "id 671205 non-null int64\n", + "funded_amount 671205 non-null float64\n", + "loan_amount 671205 non-null float64\n", + "activity 671205 non-null object\n", + "sector 671205 non-null object\n", + "use 666973 non-null object\n", + "country_code 671197 non-null object\n", + "country 671205 non-null object\n", + "region 614405 non-null object\n", + "currency 671205 non-null object\n", + "partner_id 657698 non-null float64\n", + "posted_time 671205 non-null object\n", + "disbursed_time 668809 non-null object\n", + "funded_time 622874 non-null object\n", + "term_in_months 671205 non-null float64\n", + "lender_count 671205 non-null int64\n", + "tags 499789 non-null object\n", + "borrower_genders 666984 non-null object\n", + "repayment_interval 671205 non-null object\n", + "date 671205 non-null object\n", + "dtypes: float64(4), int64(2), object(14)\n", + "memory usage: 102.4+ MB\n", + "\n", + "RangeIndex: 2772 entries, 0 to 2771\n", + "Data columns (total 9 columns):\n", + "LocationName 984 non-null object\n", + "ISO 1008 non-null object\n", + "country 1008 non-null object\n", + "region 984 non-null object\n", + "world_region 1008 non-null object\n", + "MPI 984 non-null float64\n", + "geo 2772 non-null object\n", + "lat 892 non-null float64\n", + "lon 892 non-null float64\n", + "dtypes: float64(3), object(6)\n", + "memory usage: 195.0+ KB\n", + "\n", + "RangeIndex: 15736 entries, 0 to 15735\n", + "Data columns (total 21 columns):\n", + "Partner ID 15736 non-null int64\n", + "Field Partner Name 15736 non-null object\n", + "sector 15736 non-null object\n", + "Loan Theme ID 15736 non-null object\n", + "Loan Theme Type 15736 non-null object\n", + "country 15736 non-null object\n", + "forkiva 15736 non-null object\n", + "region 15736 non-null object\n", + "geocode_old 1200 non-null object\n", + "ISO 15722 non-null object\n", + "number 15736 non-null int64\n", + "amount 15736 non-null int64\n", + "LocationName 15736 non-null object\n", + "geocode 13662 non-null object\n", + "names 13661 non-null object\n", + "geo 15736 non-null object\n", + "lat 13662 non-null float64\n", + "lon 13662 non-null float64\n", + "mpi_region 15722 non-null object\n", + "mpi_geo 9671 non-null object\n", + "rural_pct 14344 non-null float64\n", + "dtypes: float64(3), int64(3), object(15)\n", + "memory usage: 2.5+ MB\n", + "\n", + "RangeIndex: 779092 entries, 0 to 779091\n", + "Data columns (total 4 columns):\n", + "id 779092 non-null int64\n", + "Loan Theme ID 764279 non-null object\n", + "Loan Theme Type 764279 non-null object\n", + "Partner ID 764279 non-null float64\n", + "dtypes: float64(1), int64(1), object(2)\n", + "memory usage: 23.8+ MB\n", + "None None None None\n" + ] + } + ], + "source": [ + "print(loan.info(), mpi_region_location.info(), theme_region.info(), theme_id.info())" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idfunded_amountloan_amountactivitysectorusecountry_codecountryregioncurrency...borrower_gendersrepayment_intervaldateLocationNameISOworld_regionMPIgeolatlon
0653359600.0600.0Machinery RentalServicesto invest in working capital and to maintain g...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
16533731000.01000.0Grocery StoreFoodto invest in working capital and to provide hi...NINicaraguaLeonNIO...malemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
2653364250.0250.0Fuel/FirewoodRetailto buy firewood to offer to her customersNINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
4653396800.0800.0Clothing SalesClothingto invest in working capital to stock their bu...NINicaraguaLeonNIO...female, female, femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
5653402800.0800.0Grocery StoreFoodto invest in working capital and to supply her...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
6653398400.0400.0Clothing SalesClothingTo invest in working capital and stock her clo...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
76534001925.01925.0Grocery StoreFoodto stock her store.NINicaraguaLeonNIO...female, female, female, female, female, female...irregular2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
8653395250.0250.0Clothing SalesClothingto invest in working capital and to stock her ...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
9653390800.0800.0Grocery StoreFoodto invest in working capital and stock up her ...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
10653377600.0600.0Cosmetics SalesRetailto invest in working capital and stock up on c...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
116537713925.03925.0Grocery StoreFoodto invest in working capital and increase her ...NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-03Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
126537641975.01975.0Grocery StoreFoodto invest in stock for their grocery store.NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-03Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
14654344675.0675.0Clothing SalesClothingto buy stock for her clothes storeNINicaraguaLeonNIO...femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
156543051550.01550.0Clothing SalesClothingto invest in working capital and stock up her ...NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
166543411375.01375.0PigsAgricultureto invest in working capital and supply her bu...NINicaraguaLeonNIO...female, female, female, female, femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
176542772900.02900.0Grocery StoreFoodto stock her storeNINicaraguaLeonNIO...female, female, female, female, female, female...irregular2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
18654343875.0875.0Clothing SalesClothingto invest in working capital and stock her gen...NINicaraguaLeonNIO...femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
196543471175.01175.0Clothing SalesClothingto stock her storeNINicaraguaLeonNIO...femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
206543382300.02300.0General StoreRetailto invest in working capital and to stock up h...NINicaraguaLeonNIO...female, female, female, female, male, female, ...monthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
21654854600.0600.0RetailRetailto buy inventory.NINicaraguaLeonNIO...male, male, femalemonthly2014-01-07Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
226552672150.02150.0Grocery StoreFoodto stock her store.NINicaraguaLeonNIO...female, male, female, female, female, female, ...irregular2014-01-08Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
246553001175.01175.0Grocery StoreFoodto invest in working capital and stock her bus...NINicaraguaLeonNIO...femalemonthly2014-01-08Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
26655286400.0400.0Cosmetics SalesRetailto buy inventory.NINicaraguaLeonNIO...femalemonthly2014-01-08Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
27655814875.0875.0PrintingServicesto stock his business with items for screen pr...NINicaraguaLeonNIO...malemonthly2014-01-09Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
30656177475.0475.0Cosmetics SalesRetailto invest in working capital and to stock her ...NINicaraguaLeonNIO...femalemonthly2014-01-10Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
31656236600.0600.0Milk SalesFoodinvest in working capital and stock their busi...NINicaraguaLeonNIO...female, female, femalemonthly2014-01-10Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
336575991725.01725.0PigsAgricultureinvest in working capital and supply their bus...NINicaraguaLeonNIO...female, female, female, female, female, male, ...monthly2014-01-15Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
34657712600.0600.0Grocery StoreFoodTo stock her store.NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-15Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
356575563750.03750.0BakeryFoodinvest in working capital and stock their bake...NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-15Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
36658818775.0775.0Grocery StoreFoodto stock her store.NINicaraguaLeonNIO...femalemonthly2014-01-17Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
..................................................................
52137121248350.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521391213063100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521411212528100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521421213060100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52146121250950.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521481212522100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52149121252550.050.0FarmingAgricultureto pay for farm inputs such as herbicides, mai...MWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521501213047100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52151121306450.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52153121304850.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52155121304350.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52156121250750.050.0FarmingAgricultureto buy fertilizer, seeds and herbicides.MWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52157121248150.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52163121305675.075.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52168121302750.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521691212529100.0100.0FarmingAgricultureto buy farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52175121347150.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-30Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521791213484100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-30Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
5218312238801675.01675.0ServicesServicesstart up his mobile transaction business, assi...MWMalawiNtcheuMWK...malebullet2017-01-20Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
5218412925871325.01325.0Mobile TransactionsServicesincrease his float in order to satisfy custome...MWMalawiNtcheuMWK...malebullet2017-05-04Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521851297103425.0425.0Mobile TransactionsServicesto pay for a kiosk for his start-up business a...MWMalawiNtcheuMWK...malebullet2017-05-12Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521861296923850.0850.0Mobile TransactionsServicesto generate capital for her start-up business ...MWMalawiNtcheuMWK...femalebullet2017-05-12Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521871304580850.0850.0Mobile TransactionsServicesto attain a kiosk for her start-up business as...MWMalawiNtcheuMWK...femalebullet2017-05-23Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521881313379825.0825.0Mobile TransactionsServicesto attain a kisok for her start-up business as...MWMalawiNtcheuMWK...femalebullet2017-06-05Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
5218913156321300.01300.0CerealsFoodto buy more rice and beansMWMalawiNtcheuMWK...female, female, female, female, female, female...irregular2017-06-07Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521911207215500.0500.0Farm SuppliesAgricultureto pay for high quality seeds and fertilisers ...MZMozambiqueManicaMZN...malebullet2016-12-20Manica, MozambiqueMOZSub-Saharan Africa0.301(-18.9438274, 32.8648538)-18.94382732.864854
5219212072202075.02075.0Farm SuppliesAgricultureto buy high-quality seeds to plant and to sell.MZMozambiqueManicaMZN...malebullet2016-12-20Manica, MozambiqueMOZSub-Saharan Africa0.301(-18.9438274, 32.8648538)-18.94382732.864854
5219312076901925.01925.0Farm SuppliesAgricultureto purchase seeds, pesticides and fertilizers ...MZMozambiqueManicaMZN...malebullet2016-12-21Manica, MozambiqueMOZSub-Saharan Africa0.301(-18.9438274, 32.8648538)-18.94382732.864854
5219513004285050.05050.0Higher education costsEducationto continue and finish her education in indust...PEPeruTacnaUSD...femalebullet2017-05-17Tacna, PeruPERLatin America and Caribbean0.008(-18.0065679, -70.2462741)-18.006568-70.246274
52196132394510000.010000.0WeavingArtsto develop a new product which will help creat...BTBhutanThimphuUSD...femaleirregular2017-06-20Thimphu, BhutanBTNSouth Asia0.016(27.4727924, 89.6392863)27.47279289.639286
\n", + "

34856 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " id funded_amount loan_amount activity \\\n", + "0 653359 600.0 600.0 Machinery Rental \n", + "1 653373 1000.0 1000.0 Grocery Store \n", + "2 653364 250.0 250.0 Fuel/Firewood \n", + "4 653396 800.0 800.0 Clothing Sales \n", + "5 653402 800.0 800.0 Grocery Store \n", + "6 653398 400.0 400.0 Clothing Sales \n", + "7 653400 1925.0 1925.0 Grocery Store \n", + "8 653395 250.0 250.0 Clothing Sales \n", + "9 653390 800.0 800.0 Grocery Store \n", + "10 653377 600.0 600.0 Cosmetics Sales \n", + "11 653771 3925.0 3925.0 Grocery Store \n", + "12 653764 1975.0 1975.0 Grocery Store \n", + "14 654344 675.0 675.0 Clothing Sales \n", + "15 654305 1550.0 1550.0 Clothing Sales \n", + "16 654341 1375.0 1375.0 Pigs \n", + "17 654277 2900.0 2900.0 Grocery Store \n", + "18 654343 875.0 875.0 Clothing Sales \n", + "19 654347 1175.0 1175.0 Clothing Sales \n", + "20 654338 2300.0 2300.0 General Store \n", + "21 654854 600.0 600.0 Retail \n", + "22 655267 2150.0 2150.0 Grocery Store \n", + "24 655300 1175.0 1175.0 Grocery Store \n", + "26 655286 400.0 400.0 Cosmetics Sales \n", + "27 655814 875.0 875.0 Printing \n", + "30 656177 475.0 475.0 Cosmetics Sales \n", + "31 656236 600.0 600.0 Milk Sales \n", + "33 657599 1725.0 1725.0 Pigs \n", + "34 657712 600.0 600.0 Grocery Store \n", + "35 657556 3750.0 3750.0 Bakery \n", + "36 658818 775.0 775.0 Grocery Store \n", + "... ... ... ... ... \n", + "52137 1212483 50.0 50.0 Farming \n", + "52139 1213063 100.0 100.0 Farming \n", + "52141 1212528 100.0 100.0 Farming \n", + "52142 1213060 100.0 100.0 Farming \n", + "52146 1212509 50.0 50.0 Farming \n", + "52148 1212522 100.0 100.0 Farming \n", + "52149 1212525 50.0 50.0 Farming \n", + "52150 1213047 100.0 100.0 Farming \n", + "52151 1213064 50.0 50.0 Farming \n", + "52153 1213048 50.0 50.0 Farming \n", + "52155 1213043 50.0 50.0 Farming \n", + "52156 1212507 50.0 50.0 Farming \n", + "52157 1212481 50.0 50.0 Farming \n", + "52163 1213056 75.0 75.0 Farming \n", + "52168 1213027 50.0 50.0 Farming \n", + "52169 1212529 100.0 100.0 Farming \n", + "52175 1213471 50.0 50.0 Farming \n", + "52179 1213484 100.0 100.0 Farming \n", + "52183 1223880 1675.0 1675.0 Services \n", + "52184 1292587 1325.0 1325.0 Mobile Transactions \n", + "52185 1297103 425.0 425.0 Mobile Transactions \n", + "52186 1296923 850.0 850.0 Mobile Transactions \n", + "52187 1304580 850.0 850.0 Mobile Transactions \n", + "52188 1313379 825.0 825.0 Mobile Transactions \n", + "52189 1315632 1300.0 1300.0 Cereals \n", + "52191 1207215 500.0 500.0 Farm Supplies \n", + "52192 1207220 2075.0 2075.0 Farm Supplies \n", + "52193 1207690 1925.0 1925.0 Farm Supplies \n", + "52195 1300428 5050.0 5050.0 Higher education costs \n", + "52196 1323945 10000.0 10000.0 Weaving \n", + "\n", + " sector use \\\n", + "0 Services to invest in working capital and to maintain g... \n", + "1 Food to invest in working capital and to provide hi... \n", + "2 Retail to buy firewood to offer to her customers \n", + "4 Clothing to invest in working capital to stock their bu... \n", + "5 Food to invest in working capital and to supply her... \n", + "6 Clothing To invest in working capital and stock her clo... \n", + "7 Food to stock her store. \n", + "8 Clothing to invest in working capital and to stock her ... \n", + "9 Food to invest in working capital and stock up her ... \n", + "10 Retail to invest in working capital and stock up on c... \n", + "11 Food to invest in working capital and increase her ... \n", + "12 Food to invest in stock for their grocery store. \n", + "14 Clothing to buy stock for her clothes store \n", + "15 Clothing to invest in working capital and stock up her ... \n", + "16 Agriculture to invest in working capital and supply her bu... \n", + "17 Food to stock her store \n", + "18 Clothing to invest in working capital and stock her gen... \n", + "19 Clothing to stock her store \n", + "20 Retail to invest in working capital and to stock up h... \n", + "21 Retail to buy inventory. \n", + "22 Food to stock her store. \n", + "24 Food to invest in working capital and stock her bus... \n", + "26 Retail to buy inventory. \n", + "27 Services to stock his business with items for screen pr... \n", + "30 Retail to invest in working capital and to stock her ... \n", + "31 Food invest in working capital and stock their busi... \n", + "33 Agriculture invest in working capital and supply their bus... \n", + "34 Food To stock her store. \n", + "35 Food invest in working capital and stock their bake... \n", + "36 Food to stock her store. \n", + "... ... ... \n", + "52137 Agriculture to pay for farm inputs \n", + "52139 Agriculture to pay for farm inputs \n", + "52141 Agriculture to pay for farm inputs \n", + "52142 Agriculture to pay for farm inputs \n", + "52146 Agriculture to pay for farm inputs \n", + "52148 Agriculture to pay for farm inputs \n", + "52149 Agriculture to pay for farm inputs such as herbicides, mai... \n", + "52150 Agriculture to pay for farm inputs \n", + "52151 Agriculture to pay for farm inputs \n", + "52153 Agriculture to pay for farm inputs \n", + "52155 Agriculture to pay for farm inputs \n", + "52156 Agriculture to buy fertilizer, seeds and herbicides. \n", + "52157 Agriculture to pay for farm inputs \n", + "52163 Agriculture to pay for farm inputs \n", + "52168 Agriculture to pay for farm inputs \n", + "52169 Agriculture to buy farm inputs \n", + "52175 Agriculture to pay for farm inputs \n", + "52179 Agriculture to pay for farm inputs \n", + "52183 Services start up his mobile transaction business, assi... \n", + "52184 Services increase his float in order to satisfy custome... \n", + "52185 Services to pay for a kiosk for his start-up business a... \n", + "52186 Services to generate capital for her start-up business ... \n", + "52187 Services to attain a kiosk for her start-up business as... \n", + "52188 Services to attain a kisok for her start-up business as... \n", + "52189 Food to buy more rice and beans \n", + "52191 Agriculture to pay for high quality seeds and fertilisers ... \n", + "52192 Agriculture to buy high-quality seeds to plant and to sell. \n", + "52193 Agriculture to purchase seeds, pesticides and fertilizers ... \n", + "52195 Education to continue and finish her education in indust... \n", + "52196 Arts to develop a new product which will help creat... \n", + "\n", + " country_code country region currency ... \\\n", + "0 NI Nicaragua Leon NIO ... \n", + "1 NI Nicaragua Leon NIO ... \n", + "2 NI Nicaragua Leon NIO ... \n", + "4 NI Nicaragua Leon NIO ... \n", + "5 NI Nicaragua Leon NIO ... \n", + "6 NI Nicaragua Leon NIO ... \n", + "7 NI Nicaragua Leon NIO ... \n", + "8 NI Nicaragua Leon NIO ... \n", + "9 NI Nicaragua Leon NIO ... \n", + "10 NI Nicaragua Leon NIO ... \n", + "11 NI Nicaragua Leon NIO ... \n", + "12 NI Nicaragua Leon NIO ... \n", + "14 NI Nicaragua Leon NIO ... \n", + "15 NI Nicaragua Leon NIO ... \n", + "16 NI Nicaragua Leon NIO ... \n", + "17 NI Nicaragua Leon NIO ... \n", + "18 NI Nicaragua Leon NIO ... \n", + "19 NI Nicaragua Leon NIO ... \n", + "20 NI Nicaragua Leon NIO ... \n", + "21 NI Nicaragua Leon NIO ... \n", + "22 NI Nicaragua Leon NIO ... \n", + "24 NI Nicaragua Leon NIO ... \n", + "26 NI Nicaragua Leon NIO ... \n", + "27 NI Nicaragua Leon NIO ... \n", + "30 NI Nicaragua Leon NIO ... \n", + "31 NI Nicaragua Leon NIO ... \n", + "33 NI Nicaragua Leon NIO ... \n", + "34 NI Nicaragua Leon NIO ... \n", + "35 NI Nicaragua Leon NIO ... \n", + "36 NI Nicaragua Leon NIO ... \n", + "... ... ... ... ... ... \n", + "52137 MW Malawi Ntcheu MWK ... \n", + "52139 MW Malawi Ntcheu MWK ... \n", + "52141 MW Malawi Ntcheu MWK ... \n", + "52142 MW Malawi Ntcheu MWK ... \n", + "52146 MW Malawi Ntcheu MWK ... \n", + "52148 MW Malawi Ntcheu MWK ... \n", + "52149 MW Malawi Ntcheu MWK ... \n", + "52150 MW Malawi Ntcheu MWK ... \n", + "52151 MW Malawi Ntcheu MWK ... \n", + "52153 MW Malawi Ntcheu MWK ... \n", + "52155 MW Malawi Ntcheu MWK ... \n", + "52156 MW Malawi Ntcheu MWK ... \n", + "52157 MW Malawi Ntcheu MWK ... \n", + "52163 MW Malawi Ntcheu MWK ... \n", + "52168 MW Malawi Ntcheu MWK ... \n", + "52169 MW Malawi Ntcheu MWK ... \n", + "52175 MW Malawi Ntcheu MWK ... \n", + "52179 MW Malawi Ntcheu MWK ... \n", + "52183 MW Malawi Ntcheu MWK ... \n", + "52184 MW Malawi Ntcheu MWK ... \n", + "52185 MW Malawi Ntcheu MWK ... \n", + "52186 MW Malawi Ntcheu MWK ... \n", + "52187 MW Malawi Ntcheu MWK ... \n", + "52188 MW Malawi Ntcheu MWK ... \n", + "52189 MW Malawi Ntcheu MWK ... \n", + "52191 MZ Mozambique Manica MZN ... \n", + "52192 MZ Mozambique Manica MZN ... \n", + "52193 MZ Mozambique Manica MZN ... \n", + "52195 PE Peru Tacna USD ... \n", + "52196 BT Bhutan Thimphu USD ... \n", + "\n", + " borrower_genders repayment_interval \\\n", + "0 female monthly \n", + "1 male monthly \n", + "2 female monthly \n", + "4 female, female, female monthly \n", + "5 female monthly \n", + "6 female monthly \n", + "7 female, female, female, female, female, female... irregular \n", + "8 female monthly \n", + "9 female monthly \n", + "10 female monthly \n", + "11 female, female, female, female, female, female... monthly \n", + "12 female, female, female, female, female, female... monthly \n", + "14 female monthly \n", + "15 female, female, female, female, female, female... monthly \n", + "16 female, female, female, female, female monthly \n", + "17 female, female, female, female, female, female... irregular \n", + "18 female monthly \n", + "19 female monthly \n", + "20 female, female, female, female, male, female, ... monthly \n", + "21 male, male, female monthly \n", + "22 female, male, female, female, female, female, ... irregular \n", + "24 female monthly \n", + "26 female monthly \n", + "27 male monthly \n", + "30 female monthly \n", + "31 female, female, female monthly \n", + "33 female, female, female, female, female, male, ... monthly \n", + "34 female, female, female, female, female, female... monthly \n", + "35 female, female, female, female, female, female... monthly \n", + "36 female monthly \n", + "... ... ... \n", + "52137 female monthly \n", + "52139 female monthly \n", + "52141 female monthly \n", + "52142 female monthly \n", + "52146 female monthly \n", + "52148 female monthly \n", + "52149 female monthly \n", + "52150 female monthly \n", + "52151 female monthly \n", + "52153 female monthly \n", + "52155 female monthly \n", + "52156 female monthly \n", + "52157 female monthly \n", + "52163 female monthly \n", + "52168 female monthly \n", + "52169 female monthly \n", + "52175 female monthly \n", + "52179 female monthly \n", + "52183 male bullet \n", + "52184 male bullet \n", + "52185 male bullet \n", + "52186 female bullet \n", + "52187 female bullet \n", + "52188 female bullet \n", + "52189 female, female, female, female, female, female... irregular \n", + "52191 male bullet \n", + "52192 male bullet \n", + "52193 male bullet \n", + "52195 female bullet \n", + "52196 female irregular \n", + "\n", + " date LocationName ISO world_region \\\n", + "0 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "1 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "2 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "4 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "5 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "6 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "7 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "8 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "9 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "10 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "11 2014-01-03 Leon, Nicaragua NIC Latin America and Caribbean \n", + "12 2014-01-03 Leon, Nicaragua NIC Latin America and Caribbean \n", + "14 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "15 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "16 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "17 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "18 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "19 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "20 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "21 2014-01-07 Leon, Nicaragua NIC Latin America and Caribbean \n", + "22 2014-01-08 Leon, Nicaragua NIC Latin America and Caribbean \n", + "24 2014-01-08 Leon, Nicaragua NIC Latin America and Caribbean \n", + "26 2014-01-08 Leon, Nicaragua NIC Latin America and Caribbean \n", + "27 2014-01-09 Leon, Nicaragua NIC Latin America and Caribbean \n", + "30 2014-01-10 Leon, Nicaragua NIC Latin America and Caribbean \n", + "31 2014-01-10 Leon, Nicaragua NIC Latin America and Caribbean \n", + "33 2014-01-15 Leon, Nicaragua NIC Latin America and Caribbean \n", + "34 2014-01-15 Leon, Nicaragua NIC Latin America and Caribbean \n", + "35 2014-01-15 Leon, Nicaragua NIC Latin America and Caribbean \n", + "36 2014-01-17 Leon, Nicaragua NIC Latin America and Caribbean \n", + "... ... ... ... ... \n", + "52137 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52139 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52141 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52142 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52146 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52148 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52149 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52150 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52151 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52153 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52155 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52156 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52157 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52163 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52168 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52169 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52175 2016-12-30 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52179 2016-12-30 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52183 2017-01-20 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52184 2017-05-04 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52185 2017-05-12 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52186 2017-05-12 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52187 2017-05-23 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52188 2017-06-05 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52189 2017-06-07 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52191 2016-12-20 Manica, Mozambique MOZ Sub-Saharan Africa \n", + "52192 2016-12-20 Manica, Mozambique MOZ Sub-Saharan Africa \n", + "52193 2016-12-21 Manica, Mozambique MOZ Sub-Saharan Africa \n", + "52195 2017-05-17 Tacna, Peru PER Latin America and Caribbean \n", + "52196 2017-06-20 Thimphu, Bhutan BTN South Asia \n", + "\n", + " MPI geo lat lon \n", + "0 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "1 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "2 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "4 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "5 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "6 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "7 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "8 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "9 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "10 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "11 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "12 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "14 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "15 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "16 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "17 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "18 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "19 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "20 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "21 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "22 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "24 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "26 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "27 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "30 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "31 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "33 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "34 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "35 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "36 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "... ... ... ... ... \n", + "52137 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52139 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52141 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52142 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52146 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52148 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52149 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52150 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52151 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52153 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52155 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52156 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52157 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52163 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52168 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52169 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52175 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52179 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52183 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52184 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52185 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52186 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52187 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52188 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52189 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52191 0.301 (-18.9438274, 32.8648538) -18.943827 32.864854 \n", + "52192 0.301 (-18.9438274, 32.8648538) -18.943827 32.864854 \n", + "52193 0.301 (-18.9438274, 32.8648538) -18.943827 32.864854 \n", + "52195 0.008 (-18.0065679, -70.2462741) -18.006568 -70.246274 \n", + "52196 0.016 (27.4727924, 89.6392863) 27.472792 89.639286 \n", + "\n", + "[34856 rows x 27 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loan_reg = pd.merge(loan, mpi_region_location).dropna()\n", + "loan_reg" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01245678910...52185521865218752188521895219152192521935219552196
id653359653373653364653396653402653398653400653395653390653377...1297103129692313045801313379131563212072151207220120769013004281323945
funded_amount60010002508008004001925250800600...425850850825130050020751925505010000
loan_amount60010002508008004001925250800600...425850850825130050020751925505010000
activityMachinery RentalGrocery StoreFuel/FirewoodClothing SalesGrocery StoreClothing SalesGrocery StoreClothing SalesGrocery StoreCosmetics Sales...Mobile TransactionsMobile TransactionsMobile TransactionsMobile TransactionsCerealsFarm SuppliesFarm SuppliesFarm SuppliesHigher education costsWeaving
sectorServicesFoodRetailClothingFoodClothingFoodClothingFoodRetail...ServicesServicesServicesServicesFoodAgricultureAgricultureAgricultureEducationArts
useto invest in working capital and to maintain g...to invest in working capital and to provide hi...to buy firewood to offer to her customersto invest in working capital to stock their bu...to invest in working capital and to supply her...To invest in working capital and stock her clo...to stock her store.to invest in working capital and to stock her ...to invest in working capital and stock up her ...to invest in working capital and stock up on c......to pay for a kiosk for his start-up business a...to generate capital for her start-up business ...to attain a kiosk for her start-up business as...to attain a kisok for her start-up business as...to buy more rice and beansto pay for high quality seeds and fertilisers ...to buy high-quality seeds to plant and to sell.to purchase seeds, pesticides and fertilizers ...to continue and finish her education in indust...to develop a new product which will help creat...
country_codeNINININININININININI...MWMWMWMWMWMZMZMZPEBT
countryNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaragua...MalawiMalawiMalawiMalawiMalawiMozambiqueMozambiqueMozambiquePeruBhutan
regionLeonLeonLeonLeonLeonLeonLeonLeonLeonLeon...NtcheuNtcheuNtcheuNtcheuNtcheuManicaManicaManicaTacnaThimphu
currencyNIONIONIONIONIONIONIONIONIONIO...MWKMWKMWKMWKMWKMZNMZNMZNUSDUSD
partner_id96969696969696969696...210210210210381468468468358534
posted_time2014-01-02 14:25:08+00:002014-01-02 15:26:18+00:002014-01-02 14:48:57+00:002014-01-02 17:01:15+00:002014-01-02 17:42:43+00:002014-01-02 17:07:16+00:002014-01-02 17:15:29+00:002014-01-02 16:55:58+00:002014-01-02 16:30:19+00:002014-01-02 15:54:01+00:00...2017-05-12 08:58:07+00:002017-05-12 06:35:02+00:002017-05-23 12:37:55+00:002017-06-05 08:54:32+00:002017-06-07 13:53:45+00:002016-12-20 14:03:16+00:002016-12-20 14:12:08+00:002016-12-21 06:52:20+00:002017-05-17 21:50:50+00:002017-06-20 18:39:37+00:00
disbursed_time2013-12-17 08:00:00+00:002013-12-06 08:00:00+00:002013-12-17 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:00...2017-07-20 07:00:00+00:002017-07-20 07:00:00+00:002017-07-27 07:00:00+00:002017-07-31 07:00:00+00:002017-05-25 07:00:00+00:002017-03-20 07:00:00+00:002017-03-20 07:00:00+00:002017-01-31 08:00:00+00:002017-04-28 07:00:00+00:002017-08-31 07:00:00+00:00
funded_time2014-01-08 22:07:48+00:002014-01-31 14:29:51+00:002014-01-05 14:27:49+00:002014-01-14 18:52:52+00:002014-01-25 04:06:44+00:002014-01-22 02:16:50+00:002014-02-02 05:35:21+00:002014-01-14 18:00:57+00:002014-01-22 19:59:51+00:002014-02-11 02:17:35+00:00...2017-05-19 17:11:53+00:002017-05-18 21:19:16+00:002017-06-01 18:01:49+00:002017-06-14 18:40:12+00:002017-06-17 20:40:19+00:002016-12-24 20:32:37+00:002017-01-18 07:44:44+00:002017-01-21 15:48:54+00:002017-05-22 15:01:45+00:002017-07-06 21:02:36+00:00
term_in_months1414149131310101714...1717181966695014
lender_count16208731146092721...932232810198375147357
tags#Parent#Parent, #Inspiring Story, #First Loan, user_f...volunteer_pick, user_favorite, #Single Parent,...#Parent, #Supporting Family, #Woman Owned Biz#Eco-friendly, #First Loan, #Woman Owned Biz, ...#Single Parent, #Supporting Family, #Schooling...#Repeat Borrower, #Parent, #Inspiring Story#Elderly, #Repeat Borrower#Parent, #Woman Owned Biz, user_favoriteuser_favorite, #Elderly, #Single Parent, #Woma......volunteer_pick, #Technology, #Biz Durable Asse...#Technology, user_favorite, user_favorite#Technology, #Woman Owned Biz, user_favorite#Technology, #Woman Owned Biz, user_favoriteuser_favoriteuser_favorite, user_favorite#Job Creator, #Parent, #Vegan#Elderly, #Parent, user_favorite#Schooling, user_favorite, user_favorite, user...user_favorite, user_favorite, user_favorite, u...
borrower_gendersfemalemalefemalefemale, female, femalefemalefemalefemale, female, female, female, female, female...femalefemalefemale...malefemalefemalefemalefemale, female, female, female, female, female...malemalemalefemalefemale
repayment_intervalmonthlymonthlymonthlymonthlymonthlymonthlyirregularmonthlymonthlymonthly...bulletbulletbulletbulletirregularbulletbulletbulletbulletirregular
date2014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-02...2017-05-122017-05-122017-05-232017-06-052017-06-072016-12-202016-12-202016-12-212017-05-172017-06-20
LocationNameLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, Nicaragua...Ntcheu, MalawiNtcheu, MalawiNtcheu, MalawiNtcheu, MalawiNtcheu, MalawiManica, MozambiqueManica, MozambiqueManica, MozambiqueTacna, PeruThimphu, Bhutan
ISONICNICNICNICNICNICNICNICNICNIC...MWIMWIMWIMWIMWIMOZMOZMOZPERBTN
world_regionLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and Caribbean...Sub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaLatin America and CaribbeanSouth Asia
MPI0.0310.0310.0310.0310.0310.0310.0310.0310.0310.031...0.2110.2110.2110.2110.2110.3010.3010.3010.0080.016
geo(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)...(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-18.9438274, 32.8648538)(-18.9438274, 32.8648538)(-18.9438274, 32.8648538)(-18.0065679, -70.2462741)(27.4727924, 89.6392863)
lat28.399928.399928.399928.399928.399928.399928.399928.399928.399928.3999...-14.9038-14.9038-14.9038-14.9038-14.9038-18.9438-18.9438-18.9438-18.006627.4728
lon83.689683.689683.689683.689683.689683.689683.689683.689683.689683.6896...34.774134.774134.774134.774134.774132.864932.864932.8649-70.246389.6393
\n", + "

27 rows × 34856 columns

\n", + "
" + ], + "text/plain": [ + " 0 \\\n", + "id 653359 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Machinery Rental \n", + "sector Services \n", + "use to invest in working capital and to maintain g... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:25:08+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-08 22:07:48+00:00 \n", + "term_in_months 14 \n", + "lender_count 16 \n", + "tags #Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 1 \\\n", + "id 653373 \n", + "funded_amount 1000 \n", + "loan_amount 1000 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to provide hi... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 15:26:18+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-31 14:29:51+00:00 \n", + "term_in_months 14 \n", + "lender_count 20 \n", + "tags #Parent, #Inspiring Story, #First Loan, user_f... \n", + "borrower_genders male \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 2 \\\n", + "id 653364 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Fuel/Firewood \n", + "sector Retail \n", + "use to buy firewood to offer to her customers \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:48:57+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-05 14:27:49+00:00 \n", + "term_in_months 14 \n", + "lender_count 8 \n", + "tags volunteer_pick, user_favorite, #Single Parent,... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 4 \\\n", + "id 653396 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital to stock their bu... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:01:15+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:52:52+00:00 \n", + "term_in_months 9 \n", + "lender_count 7 \n", + "tags #Parent, #Supporting Family, #Woman Owned Biz \n", + "borrower_genders female, female, female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 5 \\\n", + "id 653402 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to supply her... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:42:43+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-25 04:06:44+00:00 \n", + "term_in_months 13 \n", + "lender_count 31 \n", + "tags #Eco-friendly, #First Loan, #Woman Owned Biz, ... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 6 \\\n", + "id 653398 \n", + "funded_amount 400 \n", + "loan_amount 400 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use To invest in working capital and stock her clo... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:07:16+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 02:16:50+00:00 \n", + "term_in_months 13 \n", + "lender_count 14 \n", + "tags #Single Parent, #Supporting Family, #Schooling... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 7 \\\n", + "id 653400 \n", + "funded_amount 1925 \n", + "loan_amount 1925 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to stock her store. \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:15:29+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-02-02 05:35:21+00:00 \n", + "term_in_months 10 \n", + "lender_count 60 \n", + "tags #Repeat Borrower, #Parent, #Inspiring Story \n", + "borrower_genders female, female, female, female, female, female... \n", + "repayment_interval irregular \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 8 \\\n", + "id 653395 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital and to stock her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:55:58+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:00:57+00:00 \n", + "term_in_months 10 \n", + "lender_count 9 \n", + "tags #Elderly, #Repeat Borrower \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 9 \\\n", + "id 653390 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and stock up her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:30:19+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 19:59:51+00:00 \n", + "term_in_months 17 \n", + "lender_count 27 \n", + "tags #Parent, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 10 ... \\\n", + "id 653377 ... \n", + "funded_amount 600 ... \n", + "loan_amount 600 ... \n", + "activity Cosmetics Sales ... \n", + "sector Retail ... \n", + "use to invest in working capital and stock up on c... ... \n", + "country_code NI ... \n", + "country Nicaragua ... \n", + "region Leon ... \n", + "currency NIO ... \n", + "partner_id 96 ... \n", + "posted_time 2014-01-02 15:54:01+00:00 ... \n", + "disbursed_time 2013-12-06 08:00:00+00:00 ... \n", + "funded_time 2014-02-11 02:17:35+00:00 ... \n", + "term_in_months 14 ... \n", + "lender_count 21 ... \n", + "tags user_favorite, #Elderly, #Single Parent, #Woma... ... \n", + "borrower_genders female ... \n", + "repayment_interval monthly ... \n", + "date 2014-01-02 ... \n", + "LocationName Leon, Nicaragua ... \n", + "ISO NIC ... \n", + "world_region Latin America and Caribbean ... \n", + "MPI 0.031 ... \n", + "geo (28.3998551, 83.6895693) ... \n", + "lat 28.3999 ... \n", + "lon 83.6896 ... \n", + "\n", + " 52185 \\\n", + "id 1297103 \n", + "funded_amount 425 \n", + "loan_amount 425 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to pay for a kiosk for his start-up business a... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-05-12 08:58:07+00:00 \n", + "disbursed_time 2017-07-20 07:00:00+00:00 \n", + "funded_time 2017-05-19 17:11:53+00:00 \n", + "term_in_months 17 \n", + "lender_count 9 \n", + "tags volunteer_pick, #Technology, #Biz Durable Asse... \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2017-05-12 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52186 \\\n", + "id 1296923 \n", + "funded_amount 850 \n", + "loan_amount 850 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to generate capital for her start-up business ... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-05-12 06:35:02+00:00 \n", + "disbursed_time 2017-07-20 07:00:00+00:00 \n", + "funded_time 2017-05-18 21:19:16+00:00 \n", + "term_in_months 17 \n", + "lender_count 32 \n", + "tags #Technology, user_favorite, user_favorite \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-05-12 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52187 \\\n", + "id 1304580 \n", + "funded_amount 850 \n", + "loan_amount 850 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to attain a kiosk for her start-up business as... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-05-23 12:37:55+00:00 \n", + "disbursed_time 2017-07-27 07:00:00+00:00 \n", + "funded_time 2017-06-01 18:01:49+00:00 \n", + "term_in_months 18 \n", + "lender_count 23 \n", + "tags #Technology, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-05-23 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52188 \\\n", + "id 1313379 \n", + "funded_amount 825 \n", + "loan_amount 825 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to attain a kisok for her start-up business as... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-06-05 08:54:32+00:00 \n", + "disbursed_time 2017-07-31 07:00:00+00:00 \n", + "funded_time 2017-06-14 18:40:12+00:00 \n", + "term_in_months 19 \n", + "lender_count 28 \n", + "tags #Technology, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-06-05 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52189 \\\n", + "id 1315632 \n", + "funded_amount 1300 \n", + "loan_amount 1300 \n", + "activity Cereals \n", + "sector Food \n", + "use to buy more rice and beans \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 381 \n", + "posted_time 2017-06-07 13:53:45+00:00 \n", + "disbursed_time 2017-05-25 07:00:00+00:00 \n", + "funded_time 2017-06-17 20:40:19+00:00 \n", + "term_in_months 6 \n", + "lender_count 10 \n", + "tags user_favorite \n", + "borrower_genders female, female, female, female, female, female... \n", + "repayment_interval irregular \n", + "date 2017-06-07 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52191 \\\n", + "id 1207215 \n", + "funded_amount 500 \n", + "loan_amount 500 \n", + "activity Farm Supplies \n", + "sector Agriculture \n", + "use to pay for high quality seeds and fertilisers ... \n", + "country_code MZ \n", + "country Mozambique \n", + "region Manica \n", + "currency MZN \n", + "partner_id 468 \n", + "posted_time 2016-12-20 14:03:16+00:00 \n", + "disbursed_time 2017-03-20 07:00:00+00:00 \n", + "funded_time 2016-12-24 20:32:37+00:00 \n", + "term_in_months 6 \n", + "lender_count 19 \n", + "tags user_favorite, user_favorite \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2016-12-20 \n", + "LocationName Manica, Mozambique \n", + "ISO MOZ \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.301 \n", + "geo (-18.9438274, 32.8648538) \n", + "lat -18.9438 \n", + "lon 32.8649 \n", + "\n", + " 52192 \\\n", + "id 1207220 \n", + "funded_amount 2075 \n", + "loan_amount 2075 \n", + "activity Farm Supplies \n", + "sector Agriculture \n", + "use to buy high-quality seeds to plant and to sell. \n", + "country_code MZ \n", + "country Mozambique \n", + "region Manica \n", + "currency MZN \n", + "partner_id 468 \n", + "posted_time 2016-12-20 14:12:08+00:00 \n", + "disbursed_time 2017-03-20 07:00:00+00:00 \n", + "funded_time 2017-01-18 07:44:44+00:00 \n", + "term_in_months 6 \n", + "lender_count 83 \n", + "tags #Job Creator, #Parent, #Vegan \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2016-12-20 \n", + "LocationName Manica, Mozambique \n", + "ISO MOZ \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.301 \n", + "geo (-18.9438274, 32.8648538) \n", + "lat -18.9438 \n", + "lon 32.8649 \n", + "\n", + " 52193 \\\n", + "id 1207690 \n", + "funded_amount 1925 \n", + "loan_amount 1925 \n", + "activity Farm Supplies \n", + "sector Agriculture \n", + "use to purchase seeds, pesticides and fertilizers ... \n", + "country_code MZ \n", + "country Mozambique \n", + "region Manica \n", + "currency MZN \n", + "partner_id 468 \n", + "posted_time 2016-12-21 06:52:20+00:00 \n", + "disbursed_time 2017-01-31 08:00:00+00:00 \n", + "funded_time 2017-01-21 15:48:54+00:00 \n", + "term_in_months 9 \n", + "lender_count 75 \n", + "tags #Elderly, #Parent, user_favorite \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2016-12-21 \n", + "LocationName Manica, Mozambique \n", + "ISO MOZ \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.301 \n", + "geo (-18.9438274, 32.8648538) \n", + "lat -18.9438 \n", + "lon 32.8649 \n", + "\n", + " 52195 \\\n", + "id 1300428 \n", + "funded_amount 5050 \n", + "loan_amount 5050 \n", + "activity Higher education costs \n", + "sector Education \n", + "use to continue and finish her education in indust... \n", + "country_code PE \n", + "country Peru \n", + "region Tacna \n", + "currency USD \n", + "partner_id 358 \n", + "posted_time 2017-05-17 21:50:50+00:00 \n", + "disbursed_time 2017-04-28 07:00:00+00:00 \n", + "funded_time 2017-05-22 15:01:45+00:00 \n", + "term_in_months 50 \n", + "lender_count 147 \n", + "tags #Schooling, user_favorite, user_favorite, user... \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-05-17 \n", + "LocationName Tacna, Peru \n", + "ISO PER \n", + "world_region Latin America and Caribbean \n", + "MPI 0.008 \n", + "geo (-18.0065679, -70.2462741) \n", + "lat -18.0066 \n", + "lon -70.2463 \n", + "\n", + " 52196 \n", + "id 1323945 \n", + "funded_amount 10000 \n", + "loan_amount 10000 \n", + "activity Weaving \n", + "sector Arts \n", + "use to develop a new product which will help creat... \n", + "country_code BT \n", + "country Bhutan \n", + "region Thimphu \n", + "currency USD \n", + "partner_id 534 \n", + "posted_time 2017-06-20 18:39:37+00:00 \n", + "disbursed_time 2017-08-31 07:00:00+00:00 \n", + "funded_time 2017-07-06 21:02:36+00:00 \n", + "term_in_months 14 \n", + "lender_count 357 \n", + "tags user_favorite, user_favorite, user_favorite, u... \n", + "borrower_genders female \n", + "repayment_interval irregular \n", + "date 2017-06-20 \n", + "LocationName Thimphu, Bhutan \n", + "ISO BTN \n", + "world_region South Asia \n", + "MPI 0.016 \n", + "geo (27.4727924, 89.6392863) \n", + "lat 27.4728 \n", + "lon 89.6393 \n", + "\n", + "[27 rows x 34856 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loan_reg.T" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01245678910...131132133138139140141142144145
id653359653373653364653396653402653398653400653395653390653377...678733678726678718679374679368679308679311679364679309679432
funded_amount60010002508008004001925250800600...400600137580014507008009001900475
loan_amount60010002508008004001925250800600...400600137580014507008009001900475
activityMachinery RentalGrocery StoreFuel/FirewoodClothing SalesGrocery StoreClothing SalesGrocery StoreClothing SalesGrocery StoreCosmetics Sales...BeveragesClothing SalesClothing SalesTextilesSewingFood Production/SalesSpare PartsCosmetics SalesFood Production/SalesPersonal Housing Expenses
sectorServicesFoodRetailClothingFoodClothingFoodClothingFoodRetail...FoodClothingClothingArtsServicesFoodRetailRetailFoodHousing
useto invest in working capital and to maintain g...to invest in working capital and to provide hi...to buy firewood to offer to her customersto invest in working capital to stock their bu...to invest in working capital and to supply her...To invest in working capital and stock her clo...to stock her store.to invest in working capital and to stock her ...to invest in working capital and stock up her ...to invest in working capital and stock up on c......to invest in working capital and supply her bu...to have working capital to stock her business ...to invest in working capital and stock her bus...buy supplies such as silk-screen watercolours,...to invest in working capital and stock up her ...invest in working capital and stock her busine...invest in working capital and stock his busine...to invest in working capital and buy stock for...invest in working capital and stock their busi...to buy sand, cement, and labor
country_codeNINININININININININI...NINININININININININI
countryNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaragua...NicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaragua
regionLeonLeonLeonLeonLeonLeonLeonLeonLeonLeon...LeonLeonLeonLeonLeonLeonLeonLeonLeonLeon
currencyNIONIONIONIONIONIONIONIONIONIO...NIONIONIONIONIONIONIONIONIONIO
partner_id96969696969696969696...96969696969696969674
posted_time2014-01-02 14:25:08+00:002014-01-02 15:26:18+00:002014-01-02 14:48:57+00:002014-01-02 17:01:15+00:002014-01-02 17:42:43+00:002014-01-02 17:07:16+00:002014-01-02 17:15:29+00:002014-01-02 16:55:58+00:002014-01-02 16:30:19+00:002014-01-02 15:54:01+00:00...2014-03-03 15:20:59+00:002014-03-03 15:05:26+00:002014-03-03 14:40:47+00:002014-03-04 22:19:48+00:002014-03-04 21:58:51+00:002014-03-04 15:47:16+00:002014-03-04 16:12:16+00:002014-03-04 21:37:23+00:002014-03-04 15:55:10+00:002014-03-05 04:39:02+00:00
disbursed_time2013-12-17 08:00:00+00:002013-12-06 08:00:00+00:002013-12-17 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:00...2014-02-14 08:00:00+00:002014-02-06 08:00:00+00:002014-02-06 08:00:00+00:002014-02-26 08:00:00+00:002014-02-28 08:00:00+00:002014-02-27 08:00:00+00:002014-02-27 08:00:00+00:002014-02-28 08:00:00+00:002014-02-20 08:00:00+00:002014-02-19 08:00:00+00:00
funded_time2014-01-08 22:07:48+00:002014-01-31 14:29:51+00:002014-01-05 14:27:49+00:002014-01-14 18:52:52+00:002014-01-25 04:06:44+00:002014-01-22 02:16:50+00:002014-02-02 05:35:21+00:002014-01-14 18:00:57+00:002014-01-22 19:59:51+00:002014-02-11 02:17:35+00:00...2014-03-19 07:41:30+00:002014-03-24 18:57:15+00:002014-04-09 03:50:23+00:002014-03-17 23:25:06+00:002014-03-18 23:43:06+00:002014-03-20 00:58:28+00:002014-04-15 11:36:55+00:002014-04-03 05:29:19+00:002014-03-18 01:47:27+00:002014-03-19 03:40:45+00:00
term_in_months1414149131310101714...1417141710141417715
lender_count16208731146092721...16244431562125336715
tags#Parent#Parent, #Inspiring Story, #First Loan, user_f...volunteer_pick, user_favorite, #Single Parent,...#Parent, #Supporting Family, #Woman Owned Biz#Eco-friendly, #First Loan, #Woman Owned Biz, ...#Single Parent, #Supporting Family, #Schooling...#Repeat Borrower, #Parent, #Inspiring Story#Elderly, #Repeat Borrower#Parent, #Woman Owned Biz, user_favoriteuser_favorite, #Elderly, #Single Parent, #Woma......#Elderly, #Woman Owned Biz#Supporting Family, #Elderly, #Woman Owned Biz#Elderly, #Woman Owned Biz, #Singleuser_favoriteuser_favorite#Elderly, #Repeat Borrower, #Single Parent#Single Parentuser_favorite, #Repeat Borrower, #Single Paren...user_favoriteuser_favorite, #Single Parent
borrower_gendersfemalemalefemalefemale, female, femalefemalefemalefemale, female, female, female, female, female...femalefemalefemale...femalefemalefemalefemalefemale, female, femalefemalemalefemalefemale, female, male, female, female, female, ...female
repayment_intervalmonthlymonthlymonthlymonthlymonthlymonthlyirregularmonthlymonthlymonthly...monthlymonthlymonthlymonthlymonthlymonthlymonthlymonthlymonthlymonthly
date2014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-02...2014-03-032014-03-032014-03-032014-03-042014-03-042014-03-042014-03-042014-03-042014-03-042014-03-05
LocationNameLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, Nicaragua...Leon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, Nicaragua
ISONICNICNICNICNICNICNICNICNICNIC...NICNICNICNICNICNICNICNICNICNIC
world_regionLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and Caribbean...Latin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and Caribbean
MPI0.0310.0310.0310.0310.0310.0310.0310.0310.0310.031...0.0310.0310.0310.0310.0310.0310.0310.0310.0310.031
geo(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)...(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)
lat28.399928.399928.399928.399928.399928.399928.399928.399928.399928.3999...28.399928.399928.399928.399928.399928.399928.399928.399928.399928.3999
lon83.689683.689683.689683.689683.689683.689683.689683.689683.689683.6896...83.689683.689683.689683.689683.689683.689683.689683.689683.689683.6896
genderfemalemalefemalefemalefemalefemalefemalefemalefemalefemale...femalefemalefemalefemalefemalefemalemalefemalefemalefemale
\n", + "

28 rows × 100 columns

\n", + "
" + ], + "text/plain": [ + " 0 \\\n", + "id 653359 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Machinery Rental \n", + "sector Services \n", + "use to invest in working capital and to maintain g... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:25:08+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-08 22:07:48+00:00 \n", + "term_in_months 14 \n", + "lender_count 16 \n", + "tags #Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 1 \\\n", + "id 653373 \n", + "funded_amount 1000 \n", + "loan_amount 1000 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to provide hi... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 15:26:18+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-31 14:29:51+00:00 \n", + "term_in_months 14 \n", + "lender_count 20 \n", + "tags #Parent, #Inspiring Story, #First Loan, user_f... \n", + "borrower_genders male \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender male \n", + "\n", + " 2 \\\n", + "id 653364 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Fuel/Firewood \n", + "sector Retail \n", + "use to buy firewood to offer to her customers \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:48:57+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-05 14:27:49+00:00 \n", + "term_in_months 14 \n", + "lender_count 8 \n", + "tags volunteer_pick, user_favorite, #Single Parent,... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 4 \\\n", + "id 653396 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital to stock their bu... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:01:15+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:52:52+00:00 \n", + "term_in_months 9 \n", + "lender_count 7 \n", + "tags #Parent, #Supporting Family, #Woman Owned Biz \n", + "borrower_genders female, female, female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 5 \\\n", + "id 653402 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to supply her... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:42:43+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-25 04:06:44+00:00 \n", + "term_in_months 13 \n", + "lender_count 31 \n", + "tags #Eco-friendly, #First Loan, #Woman Owned Biz, ... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 6 \\\n", + "id 653398 \n", + "funded_amount 400 \n", + "loan_amount 400 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use To invest in working capital and stock her clo... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:07:16+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 02:16:50+00:00 \n", + "term_in_months 13 \n", + "lender_count 14 \n", + "tags #Single Parent, #Supporting Family, #Schooling... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 7 \\\n", + "id 653400 \n", + "funded_amount 1925 \n", + "loan_amount 1925 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to stock her store. \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:15:29+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-02-02 05:35:21+00:00 \n", + "term_in_months 10 \n", + "lender_count 60 \n", + "tags #Repeat Borrower, #Parent, #Inspiring Story \n", + "borrower_genders female, female, female, female, female, female... \n", + "repayment_interval irregular \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 8 \\\n", + "id 653395 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital and to stock her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:55:58+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:00:57+00:00 \n", + "term_in_months 10 \n", + "lender_count 9 \n", + "tags #Elderly, #Repeat Borrower \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 9 \\\n", + "id 653390 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and stock up her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:30:19+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 19:59:51+00:00 \n", + "term_in_months 17 \n", + "lender_count 27 \n", + "tags #Parent, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 10 ... \\\n", + "id 653377 ... \n", + "funded_amount 600 ... \n", + "loan_amount 600 ... \n", + "activity Cosmetics Sales ... \n", + "sector Retail ... \n", + "use to invest in working capital and stock up on c... ... \n", + "country_code NI ... \n", + "country Nicaragua ... \n", + "region Leon ... \n", + "currency NIO ... \n", + "partner_id 96 ... \n", + "posted_time 2014-01-02 15:54:01+00:00 ... \n", + "disbursed_time 2013-12-06 08:00:00+00:00 ... \n", + "funded_time 2014-02-11 02:17:35+00:00 ... \n", + "term_in_months 14 ... \n", + "lender_count 21 ... \n", + "tags user_favorite, #Elderly, #Single Parent, #Woma... ... \n", + "borrower_genders female ... \n", + "repayment_interval monthly ... \n", + "date 2014-01-02 ... \n", + "LocationName Leon, Nicaragua ... \n", + "ISO NIC ... \n", + "world_region Latin America and Caribbean ... \n", + "MPI 0.031 ... \n", + "geo (28.3998551, 83.6895693) ... \n", + "lat 28.3999 ... \n", + "lon 83.6896 ... \n", + "gender female ... \n", + "\n", + " 131 \\\n", + "id 678733 \n", + "funded_amount 400 \n", + "loan_amount 400 \n", + "activity Beverages \n", + "sector Food \n", + "use to invest in working capital and supply her bu... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-03 15:20:59+00:00 \n", + "disbursed_time 2014-02-14 08:00:00+00:00 \n", + "funded_time 2014-03-19 07:41:30+00:00 \n", + "term_in_months 14 \n", + "lender_count 16 \n", + "tags #Elderly, #Woman Owned Biz \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-03 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 132 \\\n", + "id 678726 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to have working capital to stock her business ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-03 15:05:26+00:00 \n", + "disbursed_time 2014-02-06 08:00:00+00:00 \n", + "funded_time 2014-03-24 18:57:15+00:00 \n", + "term_in_months 17 \n", + "lender_count 24 \n", + "tags #Supporting Family, #Elderly, #Woman Owned Biz \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-03 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 133 \\\n", + "id 678718 \n", + "funded_amount 1375 \n", + "loan_amount 1375 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital and stock her bus... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-03 14:40:47+00:00 \n", + "disbursed_time 2014-02-06 08:00:00+00:00 \n", + "funded_time 2014-04-09 03:50:23+00:00 \n", + "term_in_months 14 \n", + "lender_count 44 \n", + "tags #Elderly, #Woman Owned Biz, #Single \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-03 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 138 \\\n", + "id 679374 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Textiles \n", + "sector Arts \n", + "use buy supplies such as silk-screen watercolours,... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 22:19:48+00:00 \n", + "disbursed_time 2014-02-26 08:00:00+00:00 \n", + "funded_time 2014-03-17 23:25:06+00:00 \n", + "term_in_months 17 \n", + "lender_count 31 \n", + "tags user_favorite \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 139 \\\n", + "id 679368 \n", + "funded_amount 1450 \n", + "loan_amount 1450 \n", + "activity Sewing \n", + "sector Services \n", + "use to invest in working capital and stock up her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 21:58:51+00:00 \n", + "disbursed_time 2014-02-28 08:00:00+00:00 \n", + "funded_time 2014-03-18 23:43:06+00:00 \n", + "term_in_months 10 \n", + "lender_count 56 \n", + "tags user_favorite \n", + "borrower_genders female, female, female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 140 \\\n", + "id 679308 \n", + "funded_amount 700 \n", + "loan_amount 700 \n", + "activity Food Production/Sales \n", + "sector Food \n", + "use invest in working capital and stock her busine... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 15:47:16+00:00 \n", + "disbursed_time 2014-02-27 08:00:00+00:00 \n", + "funded_time 2014-03-20 00:58:28+00:00 \n", + "term_in_months 14 \n", + "lender_count 21 \n", + "tags #Elderly, #Repeat Borrower, #Single Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 141 \\\n", + "id 679311 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Spare Parts \n", + "sector Retail \n", + "use invest in working capital and stock his busine... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 16:12:16+00:00 \n", + "disbursed_time 2014-02-27 08:00:00+00:00 \n", + "funded_time 2014-04-15 11:36:55+00:00 \n", + "term_in_months 14 \n", + "lender_count 25 \n", + "tags #Single Parent \n", + "borrower_genders male \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender male \n", + "\n", + " 142 \\\n", + "id 679364 \n", + "funded_amount 900 \n", + "loan_amount 900 \n", + "activity Cosmetics Sales \n", + "sector Retail \n", + "use to invest in working capital and buy stock for... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 21:37:23+00:00 \n", + "disbursed_time 2014-02-28 08:00:00+00:00 \n", + "funded_time 2014-04-03 05:29:19+00:00 \n", + "term_in_months 17 \n", + "lender_count 33 \n", + "tags user_favorite, #Repeat Borrower, #Single Paren... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 144 \\\n", + "id 679309 \n", + "funded_amount 1900 \n", + "loan_amount 1900 \n", + "activity Food Production/Sales \n", + "sector Food \n", + "use invest in working capital and stock their busi... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 15:55:10+00:00 \n", + "disbursed_time 2014-02-20 08:00:00+00:00 \n", + "funded_time 2014-03-18 01:47:27+00:00 \n", + "term_in_months 7 \n", + "lender_count 67 \n", + "tags user_favorite \n", + "borrower_genders female, female, male, female, female, female, ... \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 145 \n", + "id 679432 \n", + "funded_amount 475 \n", + "loan_amount 475 \n", + "activity Personal Housing Expenses \n", + "sector Housing \n", + "use to buy sand, cement, and labor \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 74 \n", + "posted_time 2014-03-05 04:39:02+00:00 \n", + "disbursed_time 2014-02-19 08:00:00+00:00 \n", + "funded_time 2014-03-19 03:40:45+00:00 \n", + "term_in_months 15 \n", + "lender_count 15 \n", + "tags user_favorite, #Single Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-05 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + "[28 rows x 100 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Cleaning the gender borrower_gender\n", + "\n", + "#loan_reg['gender'] = loan_reg['borrower_genders'].apply(lambda x: x.split(', ')[0])\n", + "#loan_reg['gender'] = loan_reg['borrower_genders'].apply(lambda x: ', '.join(set(x.lower().split(', '))))\n", + "#loan_reg.drop(['female ,male'])\n", + "#Loan_filtered = loan_reg[loan_reg['gender'] != 'female, male']\n", + "#Loan_filtered.T\n", + "loan_reg['gender'] = loan_reg['borrower_genders'].apply(lambda x: x.split(',')[0])\n", + "loan_reg.head(100).T" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "female 59.616709\n", + "male 40.383291\n", + "Name: gender, dtype: float64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#percentage by gender; Overall\n", + "loan_reg['gender'].value_counts(normalize=True) * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "country gender\n", + "Bhutan female 100.000000\n", + "Brazil male 60.000000\n", + " female 40.000000\n", + "Cambodia female 77.074663\n", + " male 22.925337\n", + "Cameroon female 73.529412\n", + " male 26.470588\n", + "El Salvador female 60.473663\n", + " male 39.526337\n", + "Guatemala female 58.953722\n", + " male 41.046278\n", + "Haiti male 70.000000\n", + " female 30.000000\n", + "Honduras female 76.530612\n", + " male 23.469388\n", + "Indonesia male 74.285714\n", + " female 25.714286\n", + "Kenya female 53.717472\n", + " male 46.282528\n", + "Malawi female 88.967136\n", + " male 11.032864\n", + "Mali female 89.501312\n", + " male 10.498688\n", + "Mongolia male 55.662651\n", + " female 44.337349\n", + "Mozambique male 100.000000\n", + "Nicaragua female 70.819973\n", + " male 29.180027\n", + "Nigeria male 92.686695\n", + " female 7.313305\n", + "Pakistan female 66.666667\n", + " male 33.333333\n", + "Peru female 64.667685\n", + " male 35.332315\n", + "Sierra Leone female 78.959811\n", + " male 21.040189\n", + "Suriname male 90.500000\n", + " female 9.500000\n", + "Tajikistan female 75.989673\n", + " male 24.010327\n", + "Timor-Leste female 91.886792\n", + " male 8.113208\n", + "Uganda female 71.445358\n", + " male 28.554642\n", + "Yemen male 57.669903\n", + " female 42.330097\n", + "Zambia female 54.166667\n", + " male 45.833333\n", + "Zimbabwe female 99.259259\n", + " male 0.740741\n", + "Name: gender, dtype: float64" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#percentage by gender; by country\n", + "loan_reg.groupby('country')['gender'].value_counts(normalize=True) * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "world_region gender\n", + "Arab States male 57.669903\n", + " female 42.330097\n", + "East Asia and the Pacific female 75.867679\n", + " male 24.132321\n", + "Europe and Central Asia female 75.989673\n", + " male 24.010327\n", + "Latin America and Caribbean female 65.068446\n", + " male 34.931554\n", + "South Asia female 68.750000\n", + " male 31.250000\n", + "Sub-Saharan Africa male 65.830321\n", + " female 34.169679\n", + "Name: gender, dtype: float64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#percentage by gender; by world region\n", + "loan_reg.groupby('world_region')['gender'].value_counts(normalize=True) * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "region gender\n", + "Aden female 57.419355\n", + " male 42.580645\n", + "Ahuachapan male 60.000000\n", + " female 40.000000\n", + "Aileu female 92.452830\n", + " male 7.547170\n", + "Arequipa male 61.187215\n", + " female 38.812785\n", + "Artibonite male 70.000000\n", + " female 30.000000\n", + "Ayacucho female 58.888889\n", + " male 41.111111\n", + "Balaka female 93.478261\n", + " male 6.521739\n", + "Bali male 71.186441\n", + " female 28.813559\n", + "Bamako female 100.000000\n", + "Baucau female 82.781457\n", + " male 17.218543\n", + "Bo female 80.851064\n", + " male 19.148936\n", + "Boaco male 69.000000\n", + " female 31.000000\n", + "Cajamarca male 66.666667\n", + " female 33.333333\n", + "Callao male 100.000000\n", + "Chikwawa female 98.507463\n", + " male 1.492537\n", + "Chimaltenango female 75.000000\n", + " male 25.000000\n", + " ... \n", + "San Miguel male 40.662809\n", + "San Vicente female 65.225564\n", + " male 34.774436\n", + "Santa Ana male 66.666667\n", + " female 33.333333\n", + "Siem Reap female 84.681373\n", + " male 15.318627\n", + "Sikasso female 69.924812\n", + " male 30.075188\n", + "Solola female 51.926978\n", + " male 48.073022\n", + "Svay Rieng male 62.500000\n", + " female 37.500000\n", + "Tacna female 100.000000\n", + "Taiz female 50.869565\n", + " male 49.130435\n", + "Takeo female 78.217822\n", + " male 21.782178\n", + "Thimphu female 100.000000\n", + "Thyolo female 71.428571\n", + " male 28.571429\n", + "Totonicapan female 100.000000\n", + "Ucayali male 56.521739\n", + " female 43.478261\n", + "Ulaanbaatar male 55.662651\n", + " female 44.337349\n", + "Viqueque female 81.355932\n", + " male 18.644068\n", + "Yoro male 75.000000\n", + " female 25.000000\n", + "Name: gender, Length: 195, dtype: float64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#percentage by gender; by region\n", + "loan_reg.groupby('region')['gender'].value_counts(normalize=True) * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "gender\n", + "female 20780\n", + "male 14076\n", + "Name: lender_count, dtype: int64" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Gender with the highest lend count\n", + "loan_reg.groupby('gender')['lender_count'].count()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amountfunded_amount
region
Goma, North Kivu province7397975.07320575.0
La Paz / El Alto6838300.06525925.0
Cusco6222075.06222075.0
Dar es Salaam5113875.04867325.0
Lahore3984575.03777750.0
Thanh Hoá3718125.03429250.0
San Lorenzo3428050.03369500.0
Santa Cruz3206375.02964550.0
Mai Sơn - Sơn La2672200.02403400.0
Ita2569850.02559775.0
CUSCO2505200.02488550.0
Portoviejo2481725.02467075.0
Ciudad del Este2469825.02455400.0
Solola2406175.02326000.0
San Gabriel2348325.02273325.0
Bukavu, Sud Kivu Provice2335300.02309450.0
Encarnación2232175.02224275.0
Caaguazú2163450.02149100.0
Webuye2131400.01990025.0
El Alto2125225.01973750.0
La Paz2124575.01911525.0
Managua2117975.01971625.0
San Miguel2085025.01858275.0
Kaduna2048900.01751275.0
Santaní2043500.02013000.0
Medellín1930000.01682700.0
Rawalpindi1912250.01789675.0
Masaya1836850.01753450.0
Tulcán1834175.01738400.0
Huarochiri1731250.01731250.0
.........
P-1, SANTA ANA, ALORAN, MIS. OCC.75.075.0
p-6 tipan,oroquieta city75.075.0
p-3, buntawan, aloran, misamis occidental75.075.0
p-3, buntawan, oroquieta city75.075.0
P-3, HASAAN, LOPEZ JAENA, MIS. OCC.75.075.0
p-3, western pob, lopez jaena75.075.0
p-5 taboc sur, oroquieta city75.075.0
Wote , Makueni75.075.0
Calamba-South Poblacion, Baliangao, Misamis Occide75.075.0
P-4 Villaflor,Oroq.City75.075.0
Culpan, Aloran, Misamis Occidental75.075.0
Santa Ana, ALoran, Mis. Occ75.075.0
Calamba-Upper Bunawan, Calamba Misamis Occidental75.075.0
Mantic, Tangub City, Misamis Occidental75.075.0
prk-dalisay, aloran, mis.occ.75.075.0
La Concepcion75.075.0
Vihiga;75.075.0
p-5 barra puntod,lopez jaena75.075.0
Manabay, Ozamiz City75.075.0
Oroquieta-Bunawan, Villaflor75.075.0
toril, aloran mis. occ.75.075.0
p-5,tipan, oroquieta city75.075.0
SINDANGAN-PANGALALAN, SINDANGAN, ZAMBOANGA DEL NOR75.075.0
Delapa, Sibutad, Zambonga Del Norte50.050.0
Mwamlai Jomvu, Mombasa50.050.0
Espino Blanco, Malinaltepec, Guerrero50.050.0
Lorenzo Tan, Tangub City50.050.0
Delapa, Sibutad, Zamboanga Del Norte50.050.0
Namalakazi,Aldina Mombasa50.050.0
Xochistlahuaca, Xochistlahuaca, Guerrero50.050.0
\n", + "

12695 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " loan_amount funded_amount\n", + "region \n", + "Goma, North Kivu province 7397975.0 7320575.0\n", + "La Paz / El Alto 6838300.0 6525925.0\n", + "Cusco 6222075.0 6222075.0\n", + "Dar es Salaam 5113875.0 4867325.0\n", + "Lahore 3984575.0 3777750.0\n", + "Thanh Hoá 3718125.0 3429250.0\n", + "San Lorenzo 3428050.0 3369500.0\n", + "Santa Cruz 3206375.0 2964550.0\n", + "Mai Sơn - Sơn La 2672200.0 2403400.0\n", + "Ita 2569850.0 2559775.0\n", + "CUSCO 2505200.0 2488550.0\n", + "Portoviejo 2481725.0 2467075.0\n", + "Ciudad del Este 2469825.0 2455400.0\n", + "Solola 2406175.0 2326000.0\n", + "San Gabriel 2348325.0 2273325.0\n", + "Bukavu, Sud Kivu Provice 2335300.0 2309450.0\n", + "Encarnación 2232175.0 2224275.0\n", + "Caaguazú 2163450.0 2149100.0\n", + "Webuye 2131400.0 1990025.0\n", + "El Alto 2125225.0 1973750.0\n", + "La Paz 2124575.0 1911525.0\n", + "Managua 2117975.0 1971625.0\n", + "San Miguel 2085025.0 1858275.0\n", + "Kaduna 2048900.0 1751275.0\n", + "Santaní 2043500.0 2013000.0\n", + "Medellín 1930000.0 1682700.0\n", + "Rawalpindi 1912250.0 1789675.0\n", + "Masaya 1836850.0 1753450.0\n", + "Tulcán 1834175.0 1738400.0\n", + "Huarochiri 1731250.0 1731250.0\n", + "... ... ...\n", + "P-1, SANTA ANA, ALORAN, MIS. OCC. 75.0 75.0\n", + "p-6 tipan,oroquieta city 75.0 75.0\n", + "p-3, buntawan, aloran, misamis occidental 75.0 75.0\n", + "p-3, buntawan, oroquieta city 75.0 75.0\n", + "P-3, HASAAN, LOPEZ JAENA, MIS. OCC. 75.0 75.0\n", + "p-3, western pob, lopez jaena 75.0 75.0\n", + "p-5 taboc sur, oroquieta city 75.0 75.0\n", + "Wote , Makueni 75.0 75.0\n", + "Calamba-South Poblacion, Baliangao, Misamis Occide 75.0 75.0\n", + "P-4 Villaflor,Oroq.City 75.0 75.0\n", + "Culpan, Aloran, Misamis Occidental 75.0 75.0\n", + "Santa Ana, ALoran, Mis. Occ 75.0 75.0\n", + "Calamba-Upper Bunawan, Calamba Misamis Occidental 75.0 75.0\n", + "Mantic, Tangub City, Misamis Occidental 75.0 75.0\n", + "prk-dalisay, aloran, mis.occ. 75.0 75.0\n", + "La Concepcion 75.0 75.0\n", + "Vihiga; 75.0 75.0\n", + "p-5 barra puntod,lopez jaena 75.0 75.0\n", + "Manabay, Ozamiz City 75.0 75.0\n", + "Oroquieta-Bunawan, Villaflor 75.0 75.0\n", + "toril, aloran mis. occ. 75.0 75.0\n", + "p-5,tipan, oroquieta city 75.0 75.0\n", + "SINDANGAN-PANGALALAN, SINDANGAN, ZAMBOANGA DEL NOR 75.0 75.0\n", + "Delapa, Sibutad, Zambonga Del Norte 50.0 50.0\n", + "Mwamlai Jomvu, Mombasa 50.0 50.0\n", + "Espino Blanco, Malinaltepec, Guerrero 50.0 50.0\n", + "Lorenzo Tan, Tangub City 50.0 50.0\n", + "Delapa, Sibutad, Zamboanga Del Norte 50.0 50.0\n", + "Namalakazi,Aldina Mombasa 50.0 50.0\n", + "Xochistlahuaca, Xochistlahuaca, Guerrero 50.0 50.0\n", + "\n", + "[12695 rows x 2 columns]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Regions with the highest and lowest loan_amount, funded amount\n", + "loan.groupby('region')['loan_amount', 'funded_amount'].sum().sort_values(by='loan_amount',ascending=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
loan_amountfunded_amount
country
Philippines55342225.054476375.0
Kenya34534300.032248405.0
United States31496375.023158540.0
Peru30867400.030394850.0
Paraguay29629075.029412700.0
El Salvador26603650.023357725.0
Cambodia19872700.018817100.0
Bolivia19843250.018276200.0
Rwanda16646300.015505600.0
Uganda15389350.014142675.0
Tajikistan15030350.013781775.0
Ecuador15000275.014598900.0
Vietnam14891450.013661700.0
Colombia14415600.012473775.0
Pakistan13294750.012467100.0
Palestine13070900.012032025.0
Armenia12915400.011186675.0
Lebanon12158800.011556350.0
Guatemala11414000.010934975.0
The Democratic Republic of the Congo11261150.011020275.0
Nicaragua10601950.09854375.0
Mexico9711000.09391225.0
Mali8986700.08340850.0
Kyrgyzstan7152300.06728550.0
Senegal7033925.06819675.0
Tanzania6827725.06518075.0
India6727225.06466850.0
Samoa6291575.05641825.0
Honduras6043950.05667925.0
Ghana4960425.04792475.0
.........
Egypt1103275.01084925.0
Cameroon936350.0875500.0
Congo786250.0786250.0
Turkey743800.0743625.0
Israel719450.0719450.0
Moldova718725.0686850.0
Brazil662200.0661025.0
South Africa574025.0574025.0
Suriname550800.0540475.0
Benin518950.0516825.0
Solomon Islands512550.0493875.0
Thailand426100.0423350.0
China380525.0373475.0
Puerto Rico371400.0299825.0
Lesotho359525.0359525.0
Nepal307625.0307625.0
Panama273275.0273275.0
Somalia225875.0225875.0
Chile122650.076250.0
South Sudan120900.0120900.0
Belize114025.0114025.0
Cote D'Ivoire50000.050000.0
Saint Vincent and the Grenadines49225.049225.0
Namibia32375.032375.0
Bhutan20000.015625.0
Mauritania15000.015000.0
Afghanistan14000.014000.0
Virgin Islands10000.00.0
Vanuatu9250.09250.0
Guam4300.0395.0
\n", + "

87 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " loan_amount funded_amount\n", + "country \n", + "Philippines 55342225.0 54476375.0\n", + "Kenya 34534300.0 32248405.0\n", + "United States 31496375.0 23158540.0\n", + "Peru 30867400.0 30394850.0\n", + "Paraguay 29629075.0 29412700.0\n", + "El Salvador 26603650.0 23357725.0\n", + "Cambodia 19872700.0 18817100.0\n", + "Bolivia 19843250.0 18276200.0\n", + "Rwanda 16646300.0 15505600.0\n", + "Uganda 15389350.0 14142675.0\n", + "Tajikistan 15030350.0 13781775.0\n", + "Ecuador 15000275.0 14598900.0\n", + "Vietnam 14891450.0 13661700.0\n", + "Colombia 14415600.0 12473775.0\n", + "Pakistan 13294750.0 12467100.0\n", + "Palestine 13070900.0 12032025.0\n", + "Armenia 12915400.0 11186675.0\n", + "Lebanon 12158800.0 11556350.0\n", + "Guatemala 11414000.0 10934975.0\n", + "The Democratic Republic of the Congo 11261150.0 11020275.0\n", + "Nicaragua 10601950.0 9854375.0\n", + "Mexico 9711000.0 9391225.0\n", + "Mali 8986700.0 8340850.0\n", + "Kyrgyzstan 7152300.0 6728550.0\n", + "Senegal 7033925.0 6819675.0\n", + "Tanzania 6827725.0 6518075.0\n", + "India 6727225.0 6466850.0\n", + "Samoa 6291575.0 5641825.0\n", + "Honduras 6043950.0 5667925.0\n", + "Ghana 4960425.0 4792475.0\n", + "... ... ...\n", + "Egypt 1103275.0 1084925.0\n", + "Cameroon 936350.0 875500.0\n", + "Congo 786250.0 786250.0\n", + "Turkey 743800.0 743625.0\n", + "Israel 719450.0 719450.0\n", + "Moldova 718725.0 686850.0\n", + "Brazil 662200.0 661025.0\n", + "South Africa 574025.0 574025.0\n", + "Suriname 550800.0 540475.0\n", + "Benin 518950.0 516825.0\n", + "Solomon Islands 512550.0 493875.0\n", + "Thailand 426100.0 423350.0\n", + "China 380525.0 373475.0\n", + "Puerto Rico 371400.0 299825.0\n", + "Lesotho 359525.0 359525.0\n", + "Nepal 307625.0 307625.0\n", + "Panama 273275.0 273275.0\n", + "Somalia 225875.0 225875.0\n", + "Chile 122650.0 76250.0\n", + "South Sudan 120900.0 120900.0\n", + "Belize 114025.0 114025.0\n", + "Cote D'Ivoire 50000.0 50000.0\n", + "Saint Vincent and the Grenadines 49225.0 49225.0\n", + "Namibia 32375.0 32375.0\n", + "Bhutan 20000.0 15625.0\n", + "Mauritania 15000.0 15000.0\n", + "Afghanistan 14000.0 14000.0\n", + "Virgin Islands 10000.0 0.0\n", + "Vanuatu 9250.0 9250.0\n", + "Guam 4300.0 395.0\n", + "\n", + "[87 rows x 2 columns]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#countries with the highest and lowest loan_amount, funded amount\n", + "loan.groupby('country')['loan_amount', 'funded_amount'].sum().sort_values(by='loan_amount', ascending=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexcountry
0Philippines160441
1Kenya75825
2El Salvador39875
3Cambodia34836
4Pakistan26857
5Peru22233
6Colombia21995
7Uganda20601
8Tajikistan19580
9Ecuador13521
\n", + "
" + ], + "text/plain": [ + " index country\n", + "0 Philippines 160441\n", + "1 Kenya 75825\n", + "2 El Salvador 39875\n", + "3 Cambodia 34836\n", + "4 Pakistan 26857\n", + "5 Peru 22233\n", + "6 Colombia 21995\n", + "7 Uganda 20601\n", + "8 Tajikistan 19580\n", + "9 Ecuador 13521" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#high lender count\n", + "loan['country'].value_counts().reset_index().head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
lender_count
country
Cote D'Ivoire1706.000000
Mauritania517.000000
Bhutan283.500000
Afghanistan256.000000
Chile200.900000
Namibia150.125000
Dominican Republic132.887097
Congo131.750000
Israel122.784211
Saint Vincent and the Grenadines119.125000
China97.910448
Puerto Rico97.500000
Somalia95.146667
Vanuatu85.000000
Suriname82.130045
Thailand81.722222
Burundi81.102273
Brazil76.172535
United States71.279501
Moldova69.672414
Iraq67.538771
The Democratic Republic of the Congo59.241783
Bolivia54.818873
Senegal52.783726
South Africa52.518519
Myanmar (Burma)52.331016
Mongolia51.839212
Ukraine50.285566
Rwanda50.240089
Panama50.134715
......
South Sudan25.537500
Lao People's Democratic Republic25.427322
Zimbabwe24.975706
Peru24.592992
Nicaragua23.836516
Haiti23.790216
Samoa22.772309
Sierra Leone22.534257
Indonesia22.530576
Egypt21.485052
Tajikistan20.909091
Yemen20.888889
Uganda19.448182
India18.107146
Mozambique17.956934
El Salvador17.387210
Colombia16.720209
Cambodia16.314330
Nepal15.136681
Pakistan14.048963
Turkey13.830887
Kenya13.547498
Cameroon13.332735
Madagascar11.291285
Liberia10.687941
Philippines8.592398
Togo8.429814
Nigeria6.196823
Guam6.000000
Virgin Islands0.000000
\n", + "

87 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " lender_count\n", + "country \n", + "Cote D'Ivoire 1706.000000\n", + "Mauritania 517.000000\n", + "Bhutan 283.500000\n", + "Afghanistan 256.000000\n", + "Chile 200.900000\n", + "Namibia 150.125000\n", + "Dominican Republic 132.887097\n", + "Congo 131.750000\n", + "Israel 122.784211\n", + "Saint Vincent and the Grenadines 119.125000\n", + "China 97.910448\n", + "Puerto Rico 97.500000\n", + "Somalia 95.146667\n", + "Vanuatu 85.000000\n", + "Suriname 82.130045\n", + "Thailand 81.722222\n", + "Burundi 81.102273\n", + "Brazil 76.172535\n", + "United States 71.279501\n", + "Moldova 69.672414\n", + "Iraq 67.538771\n", + "The Democratic Republic of the Congo 59.241783\n", + "Bolivia 54.818873\n", + "Senegal 52.783726\n", + "South Africa 52.518519\n", + "Myanmar (Burma) 52.331016\n", + "Mongolia 51.839212\n", + "Ukraine 50.285566\n", + "Rwanda 50.240089\n", + "Panama 50.134715\n", + "... ...\n", + "South Sudan 25.537500\n", + "Lao People's Democratic Republic 25.427322\n", + "Zimbabwe 24.975706\n", + "Peru 24.592992\n", + "Nicaragua 23.836516\n", + "Haiti 23.790216\n", + "Samoa 22.772309\n", + "Sierra Leone 22.534257\n", + "Indonesia 22.530576\n", + "Egypt 21.485052\n", + "Tajikistan 20.909091\n", + "Yemen 20.888889\n", + "Uganda 19.448182\n", + "India 18.107146\n", + "Mozambique 17.956934\n", + "El Salvador 17.387210\n", + "Colombia 16.720209\n", + "Cambodia 16.314330\n", + "Nepal 15.136681\n", + "Pakistan 14.048963\n", + "Turkey 13.830887\n", + "Kenya 13.547498\n", + "Cameroon 13.332735\n", + "Madagascar 11.291285\n", + "Liberia 10.687941\n", + "Philippines 8.592398\n", + "Togo 8.429814\n", + "Nigeria 6.196823\n", + "Guam 6.000000\n", + "Virgin Islands 0.000000\n", + "\n", + "[87 rows x 1 columns]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#finding the mean on lender count\n", + "loan.groupby(['country']).agg({'lender_count':'mean'}).sort_values(by='lender_count',ascending=False)" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 39bc562861e728e727ce00d8bc77ab5fd15185ef Mon Sep 17 00:00:00 2001 From: Michael M Date: Tue, 19 Feb 2019 12:15:29 +0300 Subject: [PATCH 10/14] Update log.md --- log.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/log.md b/log.md index 7c02381..4f66314 100644 --- a/log.md +++ b/log.md @@ -30,6 +30,15 @@ 16/02/2019 +## Week 4: Data Challenge + +**Week 4 Progress**: Finished Data Challenge + +**Thoughts**: It was an engage challenge, can't wait for the next chapter so that I can implement visualization skill on the Data Challenge **. + +**Link to work**: https://github.com/mickeywise/Python4ds_cohort-1/blob/M_Machira/Data%20Challenge%20KIVA%20Crowdfunding.ipynb ** + +19/02/2019 ## Contents * [Rules](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/rules.md) * [Log - click here to see my progress](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/log.md) From 9ce68119c2c1c9e442c9d0b1311efd5c9a048503 Mon Sep 17 00:00:00 2001 From: Michael M Date: Fri, 22 Feb 2019 16:09:26 +0300 Subject: [PATCH 11/14] Create MATPLOTLIB.ipynb Notes on Data Visualization --- MATPLOTLIB.ipynb | 4041 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4041 insertions(+) create mode 100644 MATPLOTLIB.ipynb diff --git a/MATPLOTLIB.ipynb b/MATPLOTLIB.ipynb new file mode 100644 index 0000000..f1ea710 --- /dev/null +++ b/MATPLOTLIB.ipynb @@ -0,0 +1,4041 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Simple Line Plots\n", + "Perhaps the simplest of all plots is the visualization of a single function _y = f x_ . Here we will take a first look at creating a simple plot of this type. As with all the following sections, we’ll start by setting up the notebook for plotting and importing the functions we will use:" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use('seaborn-whitegrid')\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "ax = plt.axes()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In Matplotlib, the fgure (an instance of the class plt.Figure) can be thought of as a single container that contains all the objects representing axes, graphics, text, and labels. The axes (an instance of the class plt.Axes) is what we see above: a bounding box with ticks and labels, which will eventually contain the plot elements that make up our visualization. We commonly use the variable name **fig** to refer to a _figure_ instance, and **ax** to refer to an _axes_ instance or group of axes\n", + "instances.\n", + "\n", + "Once we have created an axes, we can use the ax.plot function to plot some data." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "ax = plt.axes()\n", + "x = np.linspace(0, 10, 1000)\n", + "ax.plot(x, np.sin(x));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Alternatively, we can use the pylab interface and let the figure and axes be created for us in the background." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to create a single figure with multiple lines, we can simply call the plot function multiple times." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x))\n", + "plt.plot(x, np.cos(x));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Adjusting the Plot: Line Colors and Styles\n", + "The first adjustment you might wish to make to a plot is to control the line colors and styles. The plt.plot() function takes additional arguments that can be used to specify these. To adjust the color, you can use the color keyword, which accepts a string argument representing virtually any imaginable color. The color can be specified in a variety of ways." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x - 0), color='blue') # specify color by name\n", + "plt.plot(x, np.sin(x - 1), color='g') # short color code (rgbcmyk)\n", + "plt.plot(x, np.sin(x - 2), color='0.75') # Grayscale between 0 and 1\n", + "plt.plot(x, np.sin(x - 3), color='#FFDD44') # Hex code (RRGGBB from 00 to FF)\n", + "plt.plot(x, np.sin(x - 4), color=(1.0,0.2,0.3)) # RGB tuple, values 0 and 1\n", + "plt.plot(x, np.sin(x - 5), color='chartreuse'); # all HTML color names supported" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If no color is specified, Matplotlib will automatically cycle through a set of default colors for multiple lines. Similarly, you can adjust the line style using the linestyle keyword." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, x + 0, linestyle='solid')\n", + "plt.plot(x, x + 1, linestyle='dashed')\n", + "plt.plot(x, x + 2, linestyle='dashdot')\n", + "plt.plot(x, x + 3, linestyle='dotted');\n", + "# For short, you can use the following codes:\n", + "plt.plot(x, x + 4, linestyle='-') # solid\n", + "plt.plot(x, x + 5, linestyle='--') # dashed\n", + "plt.plot(x, x + 6, linestyle='-.') # dashdot\n", + "plt.plot(x, x + 7, linestyle=':'); # dotted" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you would like to be extremely terse, these linestyle and color codes can be combined into a single nonkeyword argument to the plt.plot() function" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, x + 0, '-g') # solid green\n", + "plt.plot(x, x + 1, '--c') # dashed cyan\n", + "plt.plot(x, x + 2, '-.k') # dashdot black\n", + "plt.plot(x, x + 3, ':r'); # dotted red" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These single-character color codes reflect the standard abbreviations in the RGB (Red/Green/Blue) and CMYK (Cyan/Magenta/Yellow/blacK) color systems, commonly used for digital color graphics. There are many other keyword arguments that can be used to fine-tune the appearance of the plot." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Adjusting the Plot: Axes Limits\n", + "Matplotlib does a decent job of choosing default axes limits for your plot, but sometimes it’s nice to have finer control. The most basic way to adjust axis limits is to use the plt.xlim() and plt.ylim() methods" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD3CAYAAAANMK+RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XlA1HX+P/DnHAzXcAsiMIOCIKCicqqppOadZSrniqWu3+zYsttty/ZXrtXu1m7ZmqVlRqloaWm1lleioggjouKAyn3LDTMwzPn7w2Q1RWGuz8xnXo+/ZD4z83l+Gnj2mc/n835/ODqdTgdCCCFWj8t0AEIIIcZBhU4IISxBhU4IISxBhU4IISxBhU4IISxBhU4IISxhUKEXFBQgPT39tse3bt2KefPmIT09Henp6SgtLTVkNYQQQvqBr+8LN2/ejH379sHR0fG2ZYWFhXj33XcxatQog8IRQgjpP7330MViMTZs2HDHZYWFhfj000+RmpqKTz75RO9whBBC+k/vPfRZs2ahurr6jsvmzZuHtLQ0CIVCPP300zh69CimTp16y3MkEom+qyaEEJsWHR19x8f1LvS+6HQ6PProo3BxcQEAJCQk4NKlS7cV+t1CmYJUKkV4eLjZ1mdutH3WjbbPepl72+62M2z0q1xkMhkefPBByOVy6HQ65OTk0LF0QggxA6Ptoe/fvx9dXV1ITk7Gc889h6VLl0IgEGDChAlISEgw1moIIYT0waBCDwgIwK5duwAA8+fP7318wYIFWLBggWHJCCGEDAgNLCKEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJYwqNALCgqQnp5+2+NHjhzBokWLkJycjF27dhmyCkIIIf3E1/eFmzdvxr59++Do6HjL4yqVCm+//Ta++eYbODo6IjU1FVOnToW3t7fBYQkhhPRN70IXi8XYsGEDXn755VseLykpgVgshpubGwAgOjoaeXl5mDNnjmFJWa6tS4kz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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x))\n", + "plt.xlim(-1, 11)\n", + "plt.ylim(-1.5, 1.5);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If for some reason you’d like either axis to be displayed in reverse, you can simply reverse the order of the arguments" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x))\n", + "plt.xlim(10, 0)\n", + "plt.ylim(1.2, -1.2);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A useful related method is plt.axis() (note here the potential confusion between axes with an e, and axis with an i). The plt.axis() method allows you to set the x and y limits with a single call, by passing a list that specifies [xmin, xmax, ymin,\n", + "ymax]" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD3CAYAAAANMK+RAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XlA1HX+P/DnHAzXcAsiMIOCIKCicqqppOadZSrniqWu3+zYsttty/ZXrtXu1m7ZmqVlRqloaWm1lleioggjouKAyn3LDTMwzPn7w2Q1RWGuz8xnXo+/ZD4z83l+Gnj2mc/n835/ODqdTgdCCCFWj8t0AEIIIcZBhU4IISxBhU4IISxBhU4IISxBhU4IISxBhU4IISxhUKEXFBQgPT39tse3bt2KefPmIT09Henp6SgtLTVkNYQQQvqBr+8LN2/ejH379sHR0fG2ZYWFhXj33XcxatQog8IRQgjpP7330MViMTZs2HDHZYWFhfj000+RmpqKTz75RO9whBBC+k/vPfRZs2ahurr6jsvmzZuHtLQ0CIVCPP300zh69CimTp16y3MkEom+qyaEEJsWHR19x8f1LvS+6HQ6PProo3BxcQEAJCQk4NKlS7cV+t1CmYJUKkV4eLjZ1mdutH3WjbbPepl72+62M2z0q1xkMhkefPBByOVy6HQ65OTk0LF0QggxA6Ptoe/fvx9dXV1ITk7Gc889h6VLl0IgEGDChAlISEgw1moIIYT0waBCDwgIwK5duwAA8+fP7318wYIFWLBggWHJCCGEDAgNLCKEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJagQieEEJYwqNALCgqQnp5+2+NHjhzBokWLkJycjF27dhmyCkIIIf3E1/eFmzdvxr59++Do6HjL4yqVCm+//Ta++eYbODo6IjU1FVOnToW3t7fBYQkhhPRN70IXi8XYsGEDXn755VseLykpgVgshpubGwAgOjoaeXl5mDNnjmFJWa6tS4kz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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x))\n", + "plt.axis([-1, 11, -1.5, 1.5]);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The plt.axis() method goes even beyond this, allowing you to do things like automatically tighten the bounds around the current plot" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x))\n", + "plt.axis('tight');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It allows even higher-level specifications, such as ensuring an equal aspect ratio so that on your screen, one unit in x is equal to one unit in y " + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x))\n", + "plt.axis('equal');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Labeling Plots\n", + "As the last piece of this section, we’ll briefly look at the labeling of plots: titles, axis labels, and simple legends.\n", + "Titles and axis labels are the simplest such labels—there are methods that can be used to quickly set them" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEPCAYAAABGP2P1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XlcVPX++PHXMOwDiOyIoICiLKLi2qK5oWlaprmRdNOurd6yvGa3ut4e1TXr3vq2Wjfrmj9zQUtvVmruUG4ppgjihoqg7CgyIAww8/uDpEhURGbOLO/n49HjEWfmzHl/HIb3nM/2VhkMBgNCCCHEr+yUDkAIIYR5kcQghBCiEUkMQgghGpHEIIQQohFJDEIIIRqRxCCEEKIRe6UDEMKYampqGDx4MF27duWzzz5r8jlarZYFCxZw6NAhVCoVdnZ2PPjgg0yYMAGAGTNmMHfuXDp16tQqMV26dIn333+fvXv3Ymdnh0qlanQ9IZQmiUFYtc2bN9O1a1fS09PJysoiPDz8que8/fbbuLq6sm7dOlQqFQUFBUyaNInAwEDuvPNOFi1a1GrxVFdXM3XqVMaMGcPatWuxt7fn3LlzPPzwwwCSHIRZkK4kYdVWrFjB0KFDGTVqFEuWLGnyOUVFRVRXV1NTUwOAv78/H3zwAR06dABgyJAhHD58mL179zJ58mTmzJnD2LFjGT16NKmpqQDodDrmz5/P/fffz7333ssLL7yAVqu96lrr16/H1dWVGTNmYG9f/70sKCiId999l86dOze63hVXfs7NzeWuu+5i+vTpjBgxgr/97W+89tprDc9LTk5uSCwHDhwgISGB+++/n/Hjx7N9+/Zb/acUNkQSg7BaJ0+e5JdffuHuu+9m7NixfPPNN1y4cOGq582cOZM9e/bQv39/HnnkET766CPc3NwIDg6+6rlpaWlMnz6d//3vf4wbN47/+7//A+DTTz9FrVazZs0a1q1bh5+fH//+97+vOj89PZ24uLirjkdHR9OjR48btik/P58nn3ySH374gSeffJLvv/8enU4HwNq1a5k4cSJlZWX87W9/46233mLt2rUsXLiQV155hfPnz9/w9YUA6UoSVmzFihUMHjyYtm3b0rZtW9q3b8+qVat47LHHGj2va9eubNy4kYyMDPbt28fOnTv55JNPeO+99xgyZEij57Zr147IyEgAoqKiWLt2LQA7duygvLycXbt2AfVjG97e3lfFpFKpuJVdaOzt7RsSSHBwMF26dGHbtm3cdttt7Nmzh3/+85/s37+foqIinnrqqUbXPXbsGO3atWvxtYXtkMQgrFJlZSXffPMNjo6ODX/ctVotX375JdOnT8fBwQGA2tpaXn31VZ577jliYmKIiYlh2rRpLFy4kKSkpKsSg7Ozc8P///6PvF6v58UXX+Suu+4CoKKigurq6qvi6tGjB8uWLbvq+NatW9m/fz9z584FaJQ8rtwRADg6OjZ0QQFMnDiR//3vf5SUlDBs2DA0Gg11dXWEh4ezevXqhucVFBTg5eXVzH89YeukK0lYpW+//RZPT09+/PFHtm3bxrZt29iyZQuVlZVs3Lix4Xn29vacPn2ahQsXNowx1NbWkpWVRVRUVLOvd+edd7Js2TJ0Oh16vZ6///3vvPPOO1c9b/jw4Wi1WhYtWkRdXR0AOTk5LFiwoGFg3MvLi/T0dAD27t1LUVHRNa8bHx9PRkYGq1atYuLEiUB98snOzmbfvn0AZGZmMmLECAoKCprdHmHb5I5BWKUVK1Ywbdo01Gp1wzEPDw8SExP54osvGDNmTMPx9957j3/961+MGDECFxcX9Ho98fHxjbpibuTJJ5/kzTff5P7776euro7IyEheeOGFq57n6OjI4sWL+de//sWYMWNQq9Wo1WqeeOIJxo0bB8Bf//pXXnnlFZKSkoiOjiY6Ovqa13V0dGTUqFHs2rWL2NhYoD6xvP/++7z11ltUV1djMBh46623aN++fbPbI2ybSrbdFkII8XvSlSSEEKIRSQxCCCEakcQghBCiEUkMQgghGpHEIIQQohGrmK56Zb8aIYQQN6dXr15XHbOKxABNN645MjMzG7Y4sBXSZtsgbbYNt9Lma32plq4kIYQQjUhiEEII0YgkBiGEEI1IYhBCCNGIJAYhhBCNmDwxHDp0iMTExKuOb9u2jfHjxzNp0iRWrVoFQFVVFX/5y19ISEhgxowZlJaWmjpcIYSwOSZNDIsWLeLll1++qoBJTU0Nb7zxBv/9739ZunQpSUlJFBUVsWLFCiIiIli+fDljx45l4cKFpgxXCCFskknXMYSEhPDBBx/w/PPPNzqelZVFSEgIbdq0AerXJOzfv5/U1FT+/Oc/AzBw4ECbTwzlVTVsOJzPlswC0s+VUVKhQ28w4O/hTGz7Ngzq4sfo2EBcHa1meYoQANTU6Uk5XsT6w/kcyr1I7oVKdLV6fNyciPB3564IX+7tIWVLW4tJ/4KMGDGC3Nzcq45rtVrc3d0bftZoNGi12kbHNRoN5eXl13ztzMzMFsVUVVXV4nNN5XKNnjUZZXx95CKXawz4u9kT6euMT7ATKqBQW8verPoPzavr0hkf3YZx0Z44qlVNvp4ltLm1SZstk95gYGuWlmWHLlCgrcXdyY4oX2diO7vjoFZRermWE8Vl/PNkMW9uzGRQB1emX66lrYvtfDkyxvtsFv96bm5uVFRUNPxcUVGBu7t7o+MVFRV4eHhc8zVauvLP3FdK7jtTynPfHiSn9DIjYwKYMTCMnsGeqFSN/+gbDAb2nbnApymnWPJLASk5Ot6f3JNu7dtc9Zrm3mZjkDZbntwLlcxZncbuUyV0C2rDq/d3YnAXPxztr+4BP1NcwX93nmb53mx+zjvPa2NjuK9HkAJRm57VrnwODw8nOzubixcvotPp2L9/Pz179iQuLo7k5GQAUlJSWrzthaVatjebyZ/uAWDVY7fx8dRexIW0vSopQH1h+r6hXnz2p978v+l9qa6pY/zHu1i1L8fUYQtxy/afKeXeD3eSlnuRBeO6sW7mHYyIDmgyKQB09NHw6n0xLLy3PV0C3Hlm5UH+/r90auv0Jo7cOih6x/Dtt99SWVnJpEmTeOGFF3jkkUcwGAyMHz8ef39/pkyZwty5c5kyZQoODg68/fbbSoZrMgaDgbd+OMbHO7IY0tWP96f0xM2p+W/VwAhfvnt6AM+s/IXnv06jpELHE4PCjRixEK1nY3oeT688SJCnC58/fhthvm7NPje4jSMrZnTjrR+O8WnKKYq11bw7uQdO9uobnywamDwxtG/fvmE66u8Lsg8ZMoQhQ4Y0eq6Liwvvv/++SeMzB29vOs7HO7JI6BfCq/dGY6+++Rs7L40jn/+pD7NXH+LNjUepqdPz9NDORohWiNaz5UgBM5f/Qmz7Nnz+pz601Tje9GvYq+14cVQkAR7OvPrdES4vTWXRQ71xaMHnyFbJv5SZ+U9yFh9uP8mUvsH8c2xMi5LCFY72drw7qQfj4oJ4Z/NxVvx8thUjFaJ17TlVwpPLDhDdzoMl0/u2KCn83vQ7Q5l/fzd2HCviha8PYzAYWilS62cWg8+i3tbMAhZsPMo9sYG8PrZbk2MJN0ttp+LN8bGUaHW8tPYw7Txd8GuFWIVoTTmllTzxZSoh3q4smd4Xd2eHVnndhH4hFJZX8e6WEwR7uTBrWESrvK61kzsGM3GyUMszKw8S3c6Dtyd0R21360nhCge1HQsfjKOznzvPrPyFQm1tq722ELeqUlfLjP+3H70BPnuoN56ut3an8EfPDO3M+Lj2vLvlBNuPFbbqa1srSQxmoLq2jpnLD+Bkb8enib1xdmj9gTKNkz0fT42jts7A/OQCdLUyW0OYh9e+O8KxgnI+TOhJRx9Nq7++SqXi9bExdA1w59mkg5y7eLnVr2FtJDGYgbc3Hedofjn/mhBLO08Xo10nzNeNtx6I5VhxNR9uP2m06wjRXD9k5LPi5xweGxjOgM6+RruOi6Oaj6f2orbOwF9XHUKvl/GG65HEoLDdWSUs+vEUD/YLYUhXf6Nfb1S3QIaGufHR9pOknysz+vWEuJbC8ipe+DqN6HYePBdv/L7/UB8NL98Tye5TJSzbm23061kySQwKqqqpY+7XaXT01vDSPaZbofpYX2+8NY7MXnWI6to6k11XiN979dsjVOjqeG9yj2suXGttk/oEM6CzD/PXH+VsSaVJrmmJJDEo6KPtJzlbWsk/x8aYdOM7dyc1C8Z341hBOZ/9eNpk1xXiiuTjRXyXlsdTgzrRyc/9xie0EpVKxYLxsajtVLz0P5nCei2SGBRyslDLJ8lZ3N8ziNs7+Zj8+kO6+jMyJoAPtp2QwThhUlU1dcz7Jp0wHw2PDwoz+fWDPF14Lj6CH08Us+lIgcmvbwkkMSjAYDDwj3XpuDioeXGUcpucXem+mv+9Ze/AKSzLf5JPkV1Syev3xyi2VUXibR2I8Hfjte+OUFUj3al/JIlBATuOF7HzZAmzhkXg6+6kWBzt27ry5KBOfH84j10nixWLQ9iOwvIq/pOSxahuAdwebvo75Ssc1Ha8cm80uRcu85/kU4rFYa4kMZhYnd7AgvVHCfFyZWr/DkqHw6MDwwjydGHBxqPS3yqM7r0tJ9DV6nl+RFelQ+H2cB9GxgTwn5QsirXVNz7BhkhiMLE1B3I5VlDO83d3MdlMjOtxdlDzzLDOpOWWsTE9X+lwhBU7Wahl5b4cpvbvYJSFbC3x1xFdqK7V85Gs62lE+b9MNqSqpo53Nh+ne/s23NMtUOlwGozrGUQnPzf+temY7F8vjObNjUdxcVDzlyGdlA6lQbivGw/EtWfZnrPkXpDpq1dIYjChZXvPkldWxQsjI1tlg7zWYq+246/DIzhVVMGaA+eUDkdYocO5ZWw+UsCjA8PwdlNuXK0pzwyr347+vS0nFI7EfEhiMJGqmjr+k5xF/zAvbgv3Vjqcq4yIDqB7+za8t/WE7KMkWt37207g4WzPw3d0VDqUq7TzdGFq/w58fSCXrCKt0uGYBZMmBr1ez7x585g0aRKJiYlkZ/+2LD0zM5PExMSG/7p160ZKSgoXL16kX79+DceXLFliypBbzer9ORSWV/P0EPMslqNSqZg1LIJzFy/zzUG5axCt58j5S2w+UsAjd4bh0Urbabe2JweH46C245MdWUqHYhZMWo9hy5Yt6HQ6kpKSOHjwIAsWLODjjz8GIDIykqVLlwKwYcMG/Pz8GDhwILt27WL06NH8/e9/N2WorUpXq+fjHVn06tDWLO8WrhjUxZfIQA8+Ts5iXFz7Vt36W9iuD7efwN3JPO8WrvBxc2Jyn2CW7T3LrPgIgoy4maUlMOkdQ2pqKgMGDACgR48epKenX/WcyspKPvjgA1566SUA0tPTycjIYOrUqTz99NMUFlrefupfH8jlfFkVTw/tbFZjC3+kUql4anA4p4oqZIaSaBXHC8pZfzifaXd0pI2Led4tXDFjYP0q7EUpsq7BpHcMWq0WN7ffCnur1Wpqa2uxt/8tjK+++oq7774bLy8vAMLCwoiJieH2229n3bp1vP76603Wgc7MbNnq3aqqqhaf2xx6g4EPNufQ2dsJ39oiMjOVX0h2vTZ3VBsI8nDg7Y3phNpfMOtEdjOM/T6bI3No8zs7C3GyV3GHb41JYrnVNg8O1bBibzYj2hvwdFFmVfbNMsb7bNLE4ObmRkVFRcPPer2+UVIA+Pbbbxv94e/fvz8uLvW3dfHx8U0mBajvimqJzMzMFp/bHJuPFHC+/DQfTOlGVFQ7o13nZtyozc9cduf5r9Iosvflrgjj7ZFvSsZ+n82R0m0uLK8i+fQZpvQNoV/PGJNc81bbPNc7mC3/l8zOIgf+OqJLK0ZmPLfS5tTU1CaPm7QrKS4ujpSUFAAOHjxIRETjPdjLy8vR6XQEBv42x//ll1/mhx9+AGD37t1ER0ebLuBW8NmPpwjydGFkTIDSoTTb2B5B+Lo78d+fZOdV0XJLd2dTo9cz7Y5QpUNptk5+bsRH+rNsb7ZN76Fk0sQQHx+Po6MjkydP5o033uBvf/sbixcvZuvWrQCcPn2aoKCgRufMnj2bFStWkJiYyMqVKxvGHizB4dwy9p4u5eHbO2KvtpyZwY72diT270Dy8SJOFsr0PXHzLuvq+HJPNvGR/mazyrm5pt0RyoXKGv73i+3OzjNpV5KdnR2vvvpqo2Ph4eEN/x8bG8vChQsbPR4cHNwwW8nSfP7TKTSOaib1DVY6lJuW0C+ED7ed5Itdp3l9bDelwxEW5usDuVyorOHPA0y/rfat6h/mRdcAdxbvPMOkPsFWM852Myzna6yFyS+r4ru0PCb1CTHbudvX4+PmxH092vF16jnKKmuUDkdYEL3ewH9/Ok1s+zb06dhW6XBumkqlYvodoRwrKGd3VonS4ShCEoORfLknG73BwDQznrt9I9PuCOVyTR1J+88qHYqwID+dLOZUcQWP3Blqsd+27+3RDi+NI//deUbpUBQhicEIaur0rNyXw5CufgR7uSodTotFtfOgf5gXS3ZlU6eXLblF83y5JxtvjSN3W9CEiz9ydlCT0DeErUcLyC6puPEJVkYSgxFsPlJAsbaahH4hSodyyx6+vSPnLl5mxzHLW1goTC+v7DJbjxYyoXewYtXZWsvU/h2wU6lY/rPt3TFLYjCCZXuzCfJ04a4IP6VDuWVDI/3xdXdihQ1+OMTNS9qXg95gIKGv5X8pCmjjzNCufny1P9fmNpaUxNDKThVp2XmyhCl9g61iryEHtR0Te7dn29FC8souKx2OMGO1dXpW/pzDwM6+hHhbbhfq703pF0JJhY7NRwqUDsWkJDG0shU/n8XeTsXE3pY3RfVaJvcJQW+AVftylQ5FmLGtRwvJv1TFg1bQhXrFwM6+BHm62NwdsySGVlRVU8fq1FyGR/vj5+GsdDitJtjLlQGdfUjad1YGocU1Ldt7lsA2zgzpavldqFeo7VRM6hPMTyeLbWoQWhJDK9qQnsfFyhoe7NdB6VBaXULfEM6XVZF8XAahxdVySitJOV7E5D4hFrXKvzkm9g7GTgUr9+UoHYrJWNc7qLDV+3MJ8XLltjDzrbnQUsOi/PFxc2L5Xtv5cIjm+yo1F5UKJvRur3QorS6gjTNDuvqzen+OzQxCS2JoJbkXKtmVVcIDvdpjZwWDzn/02yB0AQWXqpQOR5gRvd7A1wdyubOTD+2stMBNQr9girU6tmbaxiC0JIZWsuZA/YZb4+KCbvBMy/VAr/boDdj05mLiantPl5J74TIP9LK+u4Ur7orww9/Dia8P2MYEDEkMrcBgMPBVai63h3vTvq11TNNrSpivG3Ehnnx9IBeDQQahRb3VqTm4O9kzItpyVzrfiNpOxdieQew4VkSxtlrpcIxOEkMr2HfmAmdLK636G9MV4+Lac7xAS8b5S0qHIsyAtrqWDYfzGd29Hc4Olr3S+UbG9WxPrd7AuoPnlQ7F6CQxtIKvUnPQOKotem+Y5hoT2w5HtR1fpdrGLbW4vvWH87hcU2cTX4q6BLgTE+TBml+s/3dfEsMtqtTV8n1aHvfEBuLqaNLyFopo4+rAsCg/1h06T02dbczQENf2VWouYT4a4kI8lQ7FJMbHtSf93CWO5ZcrHYpRSWK4RRvT86nQ1fFAL+tZ6Xwj4+PaU1qhY8exIqVDEQrKLqng59OljO/V3mK3175Z93Zvh72dijVWPght0q+4er2eV155hWPHjuHo6Mjrr79Ohw6/LQZ7/fXXOXDgABpNfSnAhQsXUlNTw1//+leqqqrw8/PjjTfewMXFfKbEfZVav3bBEguStNTACF+8NY6sOZBLfJS/0uEIhaw5cA6Vyrpn4v2Rt5sTg7r4sfaXc8wZ0cXqFvNdYdJWbdmyBZ1OR1JSErNnz2bBggWNHs/IyOCzzz5j6dKlLF26FHd3dxYuXMjo0aNZvnw5UVFRJCUlmTLk68ovq2L3qRLu7xlkM9+YoH5Nw309gtiaWcjFSp3S4QgFGAwG1h06z21h3gS2MZ8vaqYwPi6IwvJqdlpxdTeTJobU1FQGDBgAQI8ePUhPT294TK/Xk52dzbx585g8eTJfffXVVecMHDiQXbt2mTLk6/ou7TwGQ321J1szLi4IXZ2eb9PylA5FKODwuTJOF1dwb3fb+90fEulHGxcHvrbiCRgm7UrSarW4ubk1/KxWq6mtrcXe3p7KykqmTp3KtGnTqKur46GHHiImJgatVou7uzsAGo2G8vKmB30yMzNbFFNVVVWLz03ac45OXo7oinPILG7RSyjiVtp8hZ3BQEgbB5J2naR3m8pWisx4WqPNlsaYbf5iXwn2dhDmeMms/l1N9T7fEezMDxl5/JLmiLODst1JxmizSRODm5sbFRW/7VCo1+uxt68PwcXFhYceeqhh/KB///4cPXq04RxnZ2cqKirw8PBo8rUjIyNbFFNmZmaLzj1dXMGJklO8OKorkZHhLbq2Ulra5j96IM+BdzYfx7NdR7PvTmitNlsSY7W5Tm9g59qtDOriT98eMa3++rfCVO/zQ05+rD++h1xDW8ZEKnvXdCttTk1NbfK4SVNdXFwcKSkpABw8eJCIiIiGx86cOUNCQgJ1dXXU1NRw4MABoqOjiYuLIzk5GYCUlBR69eplypCv6dtD51GpYIwN3kpfcaXt30t3kk35+XQpBZequc8Gu1Cv6NPRC38PJ9Ydss7Fbia9Y4iPj2fnzp1MnjwZg8HA/PnzWbx4MSEhIQwdOpQxY8YwceJEHBwcuO++++jcuTNPPPEEc+fOZdWqVbRt25a3337blCE3yWAw8M3Bc/Tp6GX235SNKdRHQ7egNqw7dJ4/DwhTOhxhIusOncPVUc2wSNudkaa2U3FPt3Z8uSebsss1tHFxUDqkVmXSxGBnZ8err77a6Fh4+G/dMDNmzGDGjBmNHvfx8eHzzz83SXzNdSTvEllFFUy7I1TpUBQ3pnsg89cf5UxxBR19NEqHI4xMV6tn/eF8hkf54+Jo3Vtg3MiY7oH8d+dpNmXkM8GKKjaCLHBrkXUHz2Nvp2JUt0ClQ1Hc6Nj67oRvrfSWWjSWcryIsss13NfDdtYuXEuPYE+CvVyscmaeJIabpNcb+PbQeQZ09sFL46h0OIpr5+lCn45t+TZNEoMt+ObQedq6OnBnZx+lQ1GcSqViTGw7dp4spsTKdlyVxHCTUs9e4HxZlU2uXbiWe7u343iBlqP5suOqNavU1bLlSAGjugXiYKUrfm/WmO7tqNMbWJ+er3QorUre3Zv03aHzONnbER9l/TupNtfIboGo7VTSnWTlth0t5HJNXUP3oYCuAe509nOzut99SQw3Qa83sCE9n8Fd/HBzsv6dVJvLx82J28O9+fZQnhTwsWIbDufj4+ZE31AvpUMxGyqVijHd27HvTCl5ZZeVDqfVSGK4CalnL1BYXs3IbnK38EdjYttxtrSSw+fKlA5FGMFlXR3bjhZyd4w/aiusaX4rxnRvh8FgXet5JDHchPWH83C0t2NIVz+lQzE7w6P9sbdTscHK+lpFvR3H6ruRRsXITLw/CvXREBnoYVW/+5IYmkmvN7AxPZ+BnX1xd7auxSytwdPVkdvCvdlwWLqTrNH69Hy8NI7SjXQNo2ICSM2+QH5ZldKhtApJDM10MPcieWVVjJJupGsaGRPImZJKMvOsu7qVramqqWNbZgEjov2ttv7ArbrSvfxDhnXcNci73EwbDufhoFYxTArTXNPwaH/sVLAx3Xr6WgUkHy+iQlcnCzqvo5Nf/eykDVbyuy+JoRkMBgPrD+czoLMvHtKNdE0+bk70C/W2ujndtm7D4Tw8XR3oH+atdChmbWS3QH4+XUqxFSx2k8TQDGm5ZZy7eJmRMdKNdCMjuwVwslDLiQLpTrIG1bV1bMksZHiUvyxqu4GRMQHoDbApo0DpUG6ZvNPNsD49D3s7ldQ3boYR0QGoVFjVDA1b9tOJYrTVtYyUbqQb6hrgTqiPxiq6kyQx3IDBYGDD4Xxu7+SDp6vsjXQj/h7O9O7QlvWHLf/DIeD7w3l4ONtzR7jsjXQjKpWKu2MC2JVVwoUKy66FLonhBjLOX+JsaSWjpBup2e6OCeRofjmniytu/GRhtnS1ejYfKSA+KgBHe/lT0RyjYgKp0xvYnGnZ3Unybt/AhvQ81HYqhkdLYmiuu39NotZwS23LdmYVU15VK1O0b0JMkAft27qw0cK7UiUxXMeV2Ui3hXnLFts3IcjThe7Bnmw4bNkfDlu34XAe7k72ssX2TVCpVIyMCeDHE0VcqqpROpwWM1li0Ov1zJs3j0mTJpGYmEh2dnajx7/44gsmTJjAhAkT+PDDD4H6P8wDBgwgMTGRxMREk5f1PF6g5XRxRcM3YNF8o2ICOHyujJzSSqVDES1QW1ffjTS4qx9O9rZdqe1m3R0TSE2dgW2ZhUqH0mIm2yJ0y5Yt6HQ6kpKSOHjwIAsWLODjjz8GICcnh3Xr1rF69WpUKhUJCQkMGzYMFxcXoqOj+eSTT0wVZiObj9R/4x0us5Fu2siYQN7YcJSN6fnMGCj1oC1NavYFLlTWMEK6UG9az2BPAjycWX84j7E9LbPSncnuGFJTUxkwYAAAPXr0ID09veGxgIAAPvvsM9RqNXZ2dtTW1uLk5ERGRgYFBQUkJiYyY8YMTp06ZapwAdh0pICeIZ74eTib9LrWIMTbla4B7mw+YtmDcLZq05ECHNV23NXFV+lQLI6dnYrh0f6knCjisq5O6XBaxGR3DFqtFjc3t4af1Wo1tbW12Nvb4+DggJeXFwaDgbfeeouoqChCQ0MpLi7m0UcfZeTIkezfv585c+bw9ddfN/n6mZmZLYqrqqqqyXOLKmpJyy1jWpxXi1/bXF2rza0tzl/NyrRSdh9Ix9NF2e4IU7XZnLS0zQaDge8P5tA9wImcUyeMEJnxmMv73NWtmqoaPSu3/0L/EI1Rr2WMNpssMbi5uVFR8dv0Rb1ej739b5evrq7mxRdfRKPR8I9//AOAmJgY1Or6Pyi9e/emoKAAg8GASnX1fvCRkZEtiiszM7PJc/ftPgPA1MHdCPd1u+pxS3atNre2BI8ylh/6iZy6NtwWGWz0613UbnMqAAAgAElEQVSPqdpsTlra5qP5l8jXnubp+EgiI0OMEJnxmMv73ClCz4IfN3PkkgPTjBzPrbQ5NTW1yeMm60qKi4sjJSUFgIMHDxIREdHwmMFg4Mknn6RLly68+uqrDcngww8/ZMmSJQAcPXqUdu3aNZkUjGFTRgFhvhqrSwqmFN3OgyBPFzYdkdlJlmRTRgEqFQyLkrojLeWgtmNopD9bMguordMrHc5NM9kdQ3x8PDt37mTy5MkYDAbmz5/P4sWLCQkJQa/X8/PPP6PT6fjxxx8BeO6553j00UeZM2cOycnJqNVq3njjDZPEWlZZw55TJfx5gAya3gqVqr6vddnes1RU16KRcqgWYdORfHoGe+LnLmNrt2J4lD9rfznH/uwLFrcBock+qXZ2drz66quNjoWHhzf8/+HDh5s879NPPzVqXE3ZfqyQWr2B4dEyG+lWDY8KYPHOM6QcL5L9dizAuYuXST93iRdGdlU6FIs3MMIXR3s7NmUUWFxikAVuTdh0JB9fdyd6tPdUOhSL16djWzxdHdgks5MswpZf3yeZon3rNE72DOjkw6Yj+RZX1VASwx9U1dSRfKyI+Ch/7KTo+S2zV9sxtKs/WzMLqLHAvlZbs+lIPuG+GsJkbK1VDI/2J/fCZYuraiiJ4Q92Z5VQoauTb0ytaHi0P5eqavn5dKnSoYjrqB9bK5V9wVrR0Eh/VCosbgKGJIY/2HQkHzcne24Lt6w+QXM2sLMvzg52bLKSerjWatuxAur0BvlS1Ip83Jzo3aGtxRXvkcTwO3V6A5uPFDCoi6/sD9OKXBzVDOjsy6YjBRbX12pLNh8pwM/die4yttaqhkcFcCTvkkXtGyaJ4XcO5lygWKuTW2kjGBEdQF5ZFYfPlSkdimhCVU0dO2RszSiuVH60pO1hJDH8zqaMAhzUKgbJ/jCtbmhXP+xU1lEP1xrtyiqmUlcnX4qMoKOPhi7+7hY1ziCJ4VcGg4EfMvLpH+aNh7OD0uFYnbYaR/qGelnUh8OWbMoowM3Jnv5hXkqHYpWGR/vz8+lSiyn5KYnhVycLtZwpqZRvTEY0PCqgocaFMB91egNbMmVszZiGRwWgN8AWCyn52azEUFZWxvbt21m7di3JyclotVpjx2VyVxZgxUfKjAxj+a2vVe4azImMrRlfTJAHgW2cLWah53W3xCgtLeXf//43p06dIjQ0FD8/Pw4dOsTChQuJiIjgmWeewcfHOsr+bTpSQPdgTwLayP4wxhLs5UpUoAebMgp4dGD4jU8QJiFja8anUqkYHuVP0v4cLuvqcHE07zuz6yaGDz/8kBkzZhAaGnrVY1lZWXz00UcNW2RbsvyyKg7lXGTOiC5Kh2L1hkf7897WExSVV+Pr7qR0ODbPYDCw6UgBt4X7yNiakQ2PDmDJ7mxSThSZfWW863YlzZs3j9DQUPT6xlsZaLVawsPDrSIpAGz+td9vhGyaZ3TDowIwGGCrhfS1Wrusovoxn3hZ1GZ0fUO98HC25wcLWOjZrDGGhx56iMLC+sLWhw4dYvLkyUYNytQ2ZeQT5iO1F0whMtCd9m1dLKav1dr9kCFja6ZypUbDtqOFZl+joVnbbj/11FM8+uij9OnTh/T0dN577z1jx2UyWl0du7NKeGRAqMmKANmy+r7WAL7cm422uhY3qdGgKBlbM60rNRr2nblg1tvuNOuOoXPnznh7e7Nr1y5iY2MJCbGscn/Xsz/3cn3thSjz7vOzJsOj/dHV6kk5XqR0KDbtytia7I1kOldqNJj7KuhmJYYHH3yQKVOm8P333+Pv78+kSZNadDG9Xs+8efOYNGkSiYmJZGdnN3p81apVjBs3jokTJ7J9+3agfmbU9OnTSUhIYNasWVy+fLlF176W3TkV+Lg50TNY9ocxld4d2tLW1cHsPxzWTsbWTE/jZM+dFlCjoVmJYcmSJQwbNgyA6dOnX1WJrbm2bNmCTqcjKSmJ2bNns2DBgobHioqKWLp0KStXruTzzz/nnXfeQafTsXDhQkaPHs3y5cuJiooiKSmpRdduSnVtHfvOVRIf5Sf7w5iQvdqOIVKjQXGbjxQQKmNrJjc8yvxrNNxwVtLx48cJCGjczRITE0NmZibz5s27qYulpqYyYMAAAHr06EF6enrDY2lpafTs2RNHR0fc3d0JCQnh6NGjjc4ZOHAgu3btuqlrXs/urBIu10g3khKkRoOyLlXVsDurmOFR/jK2ZmKWUKPhuiN/zz33HO+++y7p6emEhobi4+NDWVkZR48eJTY2llmzZt3UxbRaLW5uv307UavV1NbWYm9vj1arxd3dveExjUaDVqttdFyj0VBe3npZ9nBuGRoHO7MeBLJWv6/RcEcn61gkaUl2HCuipk7qmivB192JXiH1NRpmDYtQOpwmXTcxeHp68sorr6DVajl06BAXLlzA29ubl19+GVdX15u+mJubGxUVv+2To9frsbe3b/KxiooK3N3dG447OztTUVGBh4dHk6+dmZl50/Hc5qMnPN6H0yeP3/S5lqyqqqpF/16trWeAM+vTcpnU2c7o31rNpc2mdL02f7W7gLbOapy0+WRa0ZoSS3mfu/uo+Dz1Ejv2peHvdmsLC43R5mbNFdRoNLi7u+Po6AhARkYGffr0uemLxcXFsX37dkaNGsXBgweJiPgtW8bGxvLuu+9SXV2NTqcjKyuLiIgI4uLiSE5OZty4caSkpNCrV68mXzsyMvKm44H6hNLScy2VubR5XIUbc75KQ98miJigNka9lrm02ZSu1ebq2joOrDzLmO7tiImOUiAy47GU93mqbwWfp+7gtM6dQZFX7yxxM26lzampqU0eb1ZimDlzJqWlpQQGBgL1c9Fbkhji4+PZuXMnkydPxmAwMH/+fBYvXkxISAhDhw4lMTGRhIQEDAYDzz77LE5OTjzxxBPMnTuXVatW0bZtW95+++2bvq4wT0Mj/X+t0ZBv9MQgfrPnVCna6lpZ7aygUB8Nnf3c2JRRwLQ7bi0xGEOzEkNJSQkrV6685YvZ2dldNaMpPPy3zdQmTpzIxIkTGz3u4+PD559/fsvXFubHS+NI745ebDpSwHPDZZ8qU9mUkY+ro5rbw2VsR0nDo/35JPkUFyt1eLo6Kh1OI82arhoaGkpBgfX0QwrzMTzKn6P55WSXSI0GU9D/rq65s4N57/Bp7eKjAqjTG9h2tFDpUK7SrMSQmprK4MGDufPOOxv+E6I1XJkqLIvdTCPtXBmF5dUyRdsMxAa1wd/DySzL3TarK2nTpk3GjkPYqBBvV7oGuLPpSAF/HhCmdDhWb1NGPmo7FYO7+Ckdis2zs1MRH+XP16nnqKqpM6s7uOsmhoULF/Lkk0/y3HPPXTWdUAaBRWsZHh3Ah9tOUKKtxttNajQY06YjBfQP86KNq9ReMAfDowL4cs9ZfjpRzDAzmgxw3a6kIUOGADB48GDi4uLo06cPBw8epFu3biYJTtiG4VH+6A2w1Qz7Wq1JVpGWk4Va6UYyI/3DvHF3sje7VdDXTQxdu3YFYM2aNYSHh7Nr1y6ee+45tm7dapLghG2IbudBkKeLWfa1WpMr4zgyTdV8ONrbMairH1szC6nTm8+mes0afK6traVPnz5cunSJe+6556qKbkLcCpWqvq/1xxNFVOpqlQ7HatWvF/GgnaeL0qGI3xke5U9JhY4DZy8oHUqDZiWGmpoa3njjDXr37s2ePXuoq6szdlzCxgyP8qe6Vs+PJ4qVDsUqFZZX8UvORelGMkODuvjioFaxyYxKfjYrMSxYsIDQ0FAeffRRSktL+de//mXsuISN6RPqRRsXB+lOMpKtmYUYDMimeWbI3dmB28N92HSkwGxqNDRrumrHjh3p2LEjAKNGjTJmPMJGOajtGNrVj61HC6it02OvbtZ3FtFMmzLyCfFypYu/+42fLExueLQ/L61N50ShlggzeI/k0yfMxvBofy5W1rDvjPn0tVoDbXUtO0+WSO0FMzYssv5Ozly6kyQxCLMxoHN9PVxzm7pn6ZKPFaGr08tsJDPm7+FMj2BPNpnJDgCSGITZ0DjZM6CTD5vNqK/VGmw+ko+XxpFeHdoqHYq4juHR/qTllpFX1rp17VtCEoMwK8Ojzb8eriWpqdOz9WghQ7v6ybiNmbsyY2yLGdw1yG+KMCuWUA/Xkuw9VUp5VS3Do2Waqrnr5OdGmI/GLLqTJDEIs+Lj5kTvDm1l2mor2XQkH2cHO+6UutoWIT7an91ZJZRdrlE0DkkMwuwMjwrgSN4lckorlQ7FohkM9bUXBnb2xcXRfHbuFNc2PCqAWr2BHceU3TfMZImhqqqKv/zlLyQkJDBjxgxKS0uves6bb77JpEmTGD9+PKtWrQLg4sWL9OvXj8TERBITE1myZImpQhYKuTJ7ZosVFalXwslSHXllVdKNZEF6Bnvi46Z8jQaTJYYVK1YQERHB8uXLGTt2LAsXLmz0+J49ezh79ixJSUmsWLGCRYsWUVZWxpEjRxg9ejRLly5l6dKl/OlPfzJVyEIhHX00RPi7Kf7hsHS7z1Zgp4KhXaX2gqW4UqNhx7FCqmuV23rIZIkhNTWVAQMGADBw4EB2797d6PGePXsyf/78hp/r6uqwt7cnPT2djIwMpk6dytNPP01hoWzNbAuGRwXw85lSLlTolA7FYu0+W0Gfjl601ZhXPWFxfcOj/KnQ1bErq0SxGJq1JcbNWr169VVdPt7e3ri71y/11mg0lJc3no7o5OSEk5MTNTU1vPDCC0yaNAmNRkNYWBgxMTHcfvvtrFu3jtdff53333//qmtmZma2KNaqqqoWn2upLKHNnV2rqdMb+HL7QYaF3/oWAZbQ5taUW6bjzMUa7o5Q2VS7reF99qrT42KvYtXOowTob5wcjNFmoySGCRMmMGHChEbHZs6cSUVFfcH3iooKPDw8rjqvrKyMp59+mr59+/LYY48B0L9/f1xc6rcJjo+PbzIpAERGRrYo1szMzBafa6ksoc1dDQbe+LGE9At2/KUVYrWENrembdtPAvCnod0JbGM722xby/s8JLKan8+U0qVLV+zsrr+Nya20OTU1tcnjJutKiouLIzk5GYCUlBR69erV6PGqqioefvhhxo8fz1NPPdVw/OWXX+aHH34AYPfu3URHR5sqZKEglUrF8Gh/Uo4XU1Uj27zfrA3peXTxcbKppGBNhkf7U1RezcHci4pc32SJYcqUKZw4cYIpU6aQlJTEzJkzAXjrrbdIS0tj5cqV5OTksHr16oYZSDk5OcyePZsVK1aQmJjIypUreemll0wVslBYfJQ/l2vq+ElqNNyUnNJK0s9d4s4OGqVDES00qIsf9nYqxSZgGKUrqSkuLi5NdgM9//zzAMTGxvLwww83ee7SpUuNGZowU/1CvXF3tueHjHyzKpRu7jam168av0MSg8Vq4+LAbeHebEzPY+7dXUy+K64scBNmy9G+vkbD5swCauqknGxzbUjPI7qdB4HuDkqHIm7ByJhAzpRUKrJvmCQGYdZGdQvkYmUNe04pN3XPkuSVXebA2YuMjJFFbZZueLQ/dipYfzjP5NeWxCDM2sAIXzSOakU+HJboh1+7ke6OCVQ4EnGrfNyc6B/mzfrDeSbfhl4SgzBrzg5qhkb680NGfclPcX0b0vPp7OdGJz83pUMRrWBkt0BOFVdwrMC03UmSGITZG9UtkNIKHXtOXb2/lvhNsbaafWdKpRvJitwdHVDfnZRm2jtmSQzC7A3q4ouro5r16dKddD2bMgrQG+q/ZQrr4OvuRN9QL9anm7Y+iSQGYfacHdQM6erHD+n50p10HRvS8+jo7UrXgFvfQkSYj1HdAjlZqOW4CbuTJDEIi3BPt0BKKnT8fFq6k5pysVLH7qwS7o4JNPmcd2Fcd8cEoDLx7CRJDMIiDOrih4uDdCddy+YjBdTqDTK+YIX83J3p09FLEoMQf+TiWN+dtDG9gDq9aafuWYLv0vJo39aF2PZtlA5FGMGomACOF2g5WWia7iRJDMJijOoWSLG2WrqT/qC0QsdPJ4sZ072ddCNZqSsTCtYfNs0gtCQGYTEGd/XF2cFOFrv9wYb0POr0BsbEtlM6FGEk/h7O9O7Q1mS/+5IYhMVwdbRnSFc/NqTnS3fS73x76DzhvhoiA2U2kjUb1S2Qo/nlZBVpjX4tSQzCooyObUextpq9sncSAAWXqth7ulS6kWzAqG6BqFT1XwSMTRKDsChDuvrh5mTPNweN/+GwBN+n5WEw1CdMYd0C2jjTL9SLdQfPG33vJEkMwqI4O6gZER3A+vQ8qmulstu3aeeJCvSQvZFsxH09gjhVXEH6uUtGvY4kBmFx7u3RjvKqWnYcK1I6FEXllFbyy9mLjO4uW2DYipExATioVXxz8JxRr2OyCm5VVVXMmTOHkpISNBoNb775Jl5eXo2e8/jjj3Px4kUcHBxwcnLis88+Izs7mxdeeAGVSkXnzp35xz/+gZ2d5DNbdke4N94aR9YdPM+IaNtd0PX9rzNUZDaS7fB0deSuCD++TTvP30ZForYzzriSyf7CrlixgoiICJYvX87YsWNZuHDhVc85e/YsK1asYOnSpXz22WcAvPHGG8yaNYvly5djMBjYunWrqUIWZspebcfo2EC2ZBZQXlWjdDiK+fbQeXoEexLs5ap0KMKE7uvRjoJL1ew9bbwJGCZLDKmpqQwYMACAgQMHsnv37kaPFxcXc+nSJR5//HGmTJnC9u3bAcjIyKBv374N5+3atctUIQszdm+PIKpr9YoVS1faycJyMs5fYkx3uVuwNcMi/dE4qllnxAkYRulKWr16NUuWLGl0zNvbG3f3+nnWGo2G8vLGS7tramqYPn06Dz30EGVlZUyZMoXY2FgMBkPDNLymzrsiMzOzRbFWVVW1+FxLZQ1tdjEY8HezZ/nO40S53nibAGto8+99caAUOxV0ddVes13W1ubmsJU292/vwneHzjGliz36mupWb7NREsOECROYMGFCo2MzZ86koqICgIqKCjw8PBo97uPjw+TJk7G3t8fb25vIyEhOnz7daDyhqfOuiIyMbFGsmZmZLT7XUllLmx/IseOT5FP4tA/D193pus+1ljYD6PUGfvzfNgZG+HJHXLdrPs+a2txcttLmRDtvti7eR77KixDnCy1uc2pqapPHTdaVFBcXR3JyMgApKSn06tWr0eO7du1i1qxZQH0COHHiBGFhYURFRbF3796G83r37m2qkIWZu69HEHV6A9+n2daahj2nSzhfVsW4uPZKhyIUckcnn4YJGMZgssQwZcoUTpw4wZQpU0hKSmLmzJkAvPXWW6SlpXHXXXfRoUMHJk6cyCOPPMJzzz2Hl5cXc+fO5YMPPmDSpEnU1NQwYsQIU4UszFyEvzuRgR6s/cW4U/fMzZoD53B3smd4lL/SoQiFOKjtuOfXCRgVutYvXmWy6aouLi68//77Vx1//vnnG/7/pZdeuurx0NBQvvzyS6PGJizX+LggXv8+k+MF5UT4W/9eQZW6WjYczmN0bDucHdRKhyMUNKlPMGsPnOPC5dpWf21ZECAs2v09g7C3U7F6f47SoZjEpowCKnR1jIsLUjoUobDodm04MC+e9m0cW/21JTEIi+bt5sSQrn6s/eU8NTZQD/rrA7kEebrQp6PXjZ8srJ6D2jh/wiUxCIs3oXcwxdpqkq18i4yCS1XsPFnMuLgg7Iy04lUIkMQgrMCgLr74uDmyOtW6u5PW/nIOvaG++0wIY5LEICyeg9qOsT2C2JpZSIm2WulwjMJgMJC0L4c+HdsS5is7qQrjksQgrMKE3sHU6g1WW6dhz6lSThdXMLlPiNKhCBsgiUFYhS4B7sS2b8Pq1FyjFzFRwsp9Z/FwtueeWNliWxifJAZhNSb0DiYz7xKHcsuUDqVVXajQseFwPvf3DJK1C8IkJDEIqzG2RztcHdV8uSdb6VBa1ZpfzqGr0zO5r3QjCdOQxCCshruzA2N7BvHtofNcrNQpHU6rMBgMrPz5LN2DPYkMbHoDSSFamyQGYVWm9utAda2er1JzlQ6lVRw4e4EThVoS+gYrHYqwIZIYhFWJaudBrw5tWbb3LHq95Q9Cf7nnLG5O9oyW8p3ChCQxCKsztX8Ip4sr2JVlvNKHplBYXsV3aed5oFd7NE4m2+9SCEkMwvqMjAmkrauDxQ9CL9tzllq9gYdv76h0KMLGSGIQVsfZQc3E3sFszizg3MXLSofTItW1dSzbe5bBXfzo6KNROhxhYyQxCKv00K/fsr/YeVrZQFpo/eE8irXVcrcgFCGJQVilIE8XRnULZOXPOZRX1Sgdzk0xGAws3nmGcF8NAzr7KB2OsEEmG9Gqqqpizpw5lJSUoNFoePPNN/Hy+m1P+ZSUFBYtWgTUfzBSU1P57rvvqKqq4vHHH6djx45AfYnQUaNGmSpsYcFmDAjl20PnSdqXwx0W9Pc1NfsCabllvHZfNCqVbK8tTM9kiWHFihVERETwl7/8he+//56FCxfy8ssvNzw+cOBABg4cCMBnn31GXFwc4eHhrF69mmnTpjF9+nRThSqsRGx7T/qFevHfn07T717L2WPo4x1ZtHV1YHyv9kqHImyUybqSUlNTGTBgAFCfBHbv3t3k8/Lz8/nmm2+YOXMmAOnp6ezYsYMHH3yQF198Ea1Wa6qQhRWYMSCM82VV/HSmQulQmuVo/iW2Hi3k4dtDcXWUKapCGUb5zVu9ejVLlixpdMzb2xt39/pi7RqNhvLy8ibPXbx4MQ8//DCOjvV1TGNjY5kwYQIxMTF8/PHHfPTRR8ydO/eq8zIzM1sUa1VVVYvPtVS21OZADLT3cGD14QvcFXrE7Ltm3vqxEGd7Fbf5VN/ye2RL7/MV0ubWYZTEMGHCBCZMmNDo2MyZM6moqP/WVlFRgYfH1fu+6PV6duzYwbPPPttwLD4+vuG58fHxvPbaa01eMzIyskWxZmZmtvhcS2VrbX6m0p05X6VxHm+GRforHc415ZRWknLmNNNu70jfHlG3/Hq29j6DtPlmpaamNnncZF1JcXFxJCcnA/UDzb169brqOcePHyc0NBRnZ+eGY4888ghpaWkA7N69m+joaNMELKzG/T2DCHCz592tx826VsN/UrKwU8GfB4QpHYqwcSZLDFOmTOHEiRNMmTKFpKSkhjGEt956q+EP/+nTpwkObrxZ2CuvvML8+fNJTEzkwIEDPPnkk6YKWVgJe7Udk2M9ST93iW1HC5UOp0k5pZUk7cthQu9gAto43/gEIYzIZKNbLi4uvP/++1cdf/755xv+f+TIkYwcObLR49HR0axcudLo8QnrNjTcna+PVvDe1hMM6epndmMN7209gUql4i9DOikdihCywE3YBns7FTMHdyItt4zNRwqUDqeRk4XlrDmQS2L/DgS2cVE6HCEkMQjbMS6uPeG+GhZsPEpNnV7pcBr83+YTODuoeWJQuNKhCAFIYhA2xEFtx99GRnKqqIKVP59VOhwADuZc5PvDeUy/IxQfNyelwxECkMQgbMzQSD9uC/Pm/7ac4JLCeyjp9QZeWZeBj5sTj90lM5GE+ZDEIGyKSqXipXsiKa3Q8dH2k4rGsvaXcxzMucjcu7vg7uygaCxC/J4kBmFzYoLaMKFXez7/8TTH8ptegW9s2upa3tx4lO7BnoyPkz2RhHmRxCBs0oujIvFwceDFtYcVqQ395oajFGmreWVMFHZ25jV1VghJDMImtdU48tKoSFKzL7DcxAPRe06VsHRPNtNuD6VnSFuTXluI5pDEIGzWuLgg7ujkzRvrMzlTbJrdVy/r6pj7dRohXq78dUSESa4pxM2SxCBslkql4l8PdEdtp+KZlb+YZG3Da98fIbukkgXju8m22sJsSWIQNq2dpwsLxsdyKLeMdzYfN+q1vjl4juV7z/L4XeHcHm5BJeWEzZHEIGzeqG6BTO4TzMc7sthwOM8o1zheUM6Law7Tu0NbZg+XLiRh3iQxCAG8cm80PUM8eXbVQdLPlbXqaxdeqmLa4n1onOz5IKEnDmr52AnzJr+hQgDODmo+TeyNt8aJhxfv42Rh65SQLausYdoX+7hQqeO/D/eRTfKERZDEIMSvfN2dWDK9LwBTFu255eRQWqEj4bM9nCjQ8lFCHDFBbVojTCGMThKDEL/Tyc+NFTP6YTAYGP/xLn46Udyi1zlVpGXif3ZzslDLpw/1YnBXv1aOVAjjMXli2Lx5M7Nnz27ysVWrVjFu3DgmTpzI9u3bASgtLWX69OkkJCQwa9YsLl++bMpwhQ3q7O/OmifuwN/DiT8t/pn3t55o9lRWg8HA2l9yue/DnZRW6FgyvS+DukhSEJbFpInh9ddf5+2330avv/pDVlRUxNKlS1m5ciWff/4577zzDjqdjoULFzJ69GiWL19OVFQUSUlJpgxZ2KgQb1e+fuJ27ukWyDubj3PP+z/yfVoeddfYPsNgMLD3VAkPfraXZ5MO0cnfjXUz76B/mLeJIxfi1pl0hU1cXBzDhg1r8o97WloaPXv2xNHREUdHR0JCQjh69Cipqak89thjAAwcOJB33nmHhx9+2JRhCxvl7uzA+1N6MqZ7O97YkMlTyw/g4+bI4C5+RAZ60MbFgcqaOrIKtew4VsiZkkp83Bx59b5oHuzXAbXsgSQslFESw+rVq1myZEmjY/Pnz2fUqFHs3bu3yXO0Wi3u7u4NP2s0GrRabaPjGo2G8vKmd8PMzMxsUaxVVVUtPtdSSZtvTnsVvH+3H3tyKkk+rWVj+nlWp+Y2PO5kryLaz5l7b/NhSJgbTvaXOX7saGuF3mLyPtsGY7TZKIlhwoQJTJgw4abOcXNzo6Lit/1qKioqcHd3bzju7OxMRUUFHh4eTZ4fGRnZolgzMzNbfK6lkja3TEw0/Jn6bqNirY7Lujoc7FX4uzub5Q6p8j7bhltpc2pqapPHzWZWUmxsLKmpqVRXV1NeXk5WVhYRERHExU9pdEUAAAUsSURBVMWRnJwMQEpKCr169VI4UmHrVCoVvu5OhHi7EtjGxSyTghC3QvFdvBYvXkxISAhDhw4lMTGRhIQEDAYDzz77LE5OTjzxxBPMnTuXVatW0bZtW95++22lQxZCCKtm8sTQr18/+vXr1/DztGnTGv5/4sSJTJw4sdHzfXx8+Pzzz00WnxBC2Dqz6UoSQghhHiQxCCGEaEQSgxBCiEYkMQghhGhEEoMQQohGVAaDoenNXyzItRZpCCGEuL6m1oZZRWIQQgjReqQrSQghRCOSGIQQQjRis4lBr9czb948Jk2aRGJiItnZ2UqHZHQ1NTXMmTOHhIQEHnjgAbZu3ap0SCZRUlLCXXfdRVZWltKhmMR//vMfJk2axLhx41i9erXS4RhdTU0Ns2fPZvLkySQkJFj9+3zo0CESExMByM7OZsqUKSQkJPCPf/yjyVo3LWGziWHLli3odDqSkpKYPXs2CxYsUDoko1u3bh2enp4sX76cRYsW8dprrykdktHV1NQwb948nJ2dlQ7FJPbu3csvv/zCihUrWLp0Kfn5+UqHZHTJycnU1taycuVKnnrqKd59912lQzKaRYsW8fLLL1NdXQ3AG2+8waxZs1i+fDkGg6HVvuzZbGJITU1lwIABAPTo0YP09HSFIzK+u+++m2eeeabhZ7VarWA0pvHmm28yefJk/Pxso7zmTz/9REREBE899RSPP/44gwYNUjokowsNDaWurg69Xo9Wq8XeXvG9QY0mJCSEDz74oOHnjIwM+vbtC9QXMtu1a1erXMd6/wVvQKvV4ubm1vCzWq2mtrbWqn+pNBoNUN/2p59+mlmzZikckXGtWbMGLy8vBgwYwKeffqp0OCZx4cIFzp8/zyeffEJubi5PPPEEGzduRKWy3q3BXV1dOXfuHCNHjuTChQt88sknSodkNCNGjCA397ciUQaDoeG9vV4hs5tls3cMfywMpNfrrTopXJGXl8dDDz3Efffdx5gxY5QOx6i+/vprdu3aRWJiIpmZmcydO5eioiKlwzIqT09P7rzzThwdHQkLC8PJyYnS0lKlwzKqL774gjvvvJMffviBb775hhdeeKGhq8Xa2dn99if8eoXMbvp1W+VVLFBcXBwpKSkAHDx4kIiICIUjMr7i4mKmT5/OnDlzeOCBB5QOx+iWLVvGl19+ydKlS4mMjOTNN9/E19dX6bCMqlevXvz4448YDAYKCgq4fPkynp6eSodlVB4eHg3lf9u0aUNtbS11dXUKR2UaUVFRDeWSU1JS6N27d6u8rvV/Rb6G+Ph4du7cyeTJkzEYDMyfP1/pkIzuk08+4dKlSyxcuJCFCxcC9YNZtjIwawsGDx7Mvn37eOCBBzAYDMybN8/qx5IefvhhXnzxRRISEqipqeHZZ5/F1dVV6bBMYu7cufz973/nnXfeISwsjBEjRrTK68rKZyGEEI3YbFeSEEKIpkliEEII0YgkBiGEEI1IYhBCCNGIJAYhhBCNSGIQQgjRiCQGIYQQjUhiEMIIli1bxuzZs4H6RUjLli1TOCIhmk8WuAlhJE8++SQeHh7odDreeecdpcMRotkkMQhhJAcPHmTSpEmsWbOG6OhopcMRotkkMQhhBDqdjqlTpzJ+/Hi++uorli1bhqOjo9JhCdEsMsYghBH8+9//ZtCgQUyaNImBAwfy9ttvKx2SEM0mdwxCCCEakTsGIYQQjUhiEEII0YgkBiGEEI1IYhBCCNGIJAYhhBCNSGIQQgjRiCQGIYQQjUhiEEII0cj/BzVt58NQB7erAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x))\n", + "plt.title(\"A Sine Curve\")\n", + "plt.xlabel(\"x\")\n", + "plt.ylabel(\"sin(x)\");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can adjust the position, size, and style of these labels using optional arguments to the function.\n", + "\n", + "When multiple lines are being shown within a single axes, it can be useful to create a plot legend that labels each line type. Again, Matplotlib has a built-in way of quickly creating such a legend. It is done via the (you guessed it) plt.legend() method.\n", + "Though there are several valid ways of using this, I find it easiest to specify the label of each line using the label keyword of the plot function " + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, np.sin(x), '-g', label='sin(x)')\n", + "plt.plot(x, np.cos(x), ':b', label='cos(x)')\n", + "plt.axis('equal')\n", + "plt.legend();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see, the plt.legend() function keeps track of the line style and color, and matches these with the correct label. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Matplotlib Gotchas\n", + "While most plt functions translate directly to ax methods (such as plt.plot() → ax.plot(), plt.legend() → ax.legend(), etc.), this is not the case for all commands. In particular, functions to set limits, labels, and titles are slightly modified. For transitioning between MATLAB-style functions and object-oriented methods, make the following changes:\n", + "- plt.xlabel() → ax.set_xlabel()\n", + "- plt.ylabel() → ax.set_ylabel()\n", + "- plt.xlim() → ax.set_xlim()\n", + "- plt.ylim() → ax.set_ylim()\n", + "- plt.title() → ax.set_title()\n", + "\n", + "In the object-oriented interface to plotting, rather than calling these functions individually, it is often more convenient to use the ax.set() method to set all these properties at once" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.axes()\n", + "ax.plot(x, np.sin(x))\n", + "ax.set(xlim=(0, 10), ylim=(-2, 2),\n", + "xlabel='x', ylabel='sin(x)',\n", + "title='A Simple Plot');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Simple Scatter Plots\n", + "Another commonly used plot type is the simple scatter plot, a close cousin of the line plot. Instead of points being joined by line segments, here the points are represented individually with a dot, circle, or other shape. We’ll start by setting up the notebook for plotting and importing the functions we will use:" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use('seaborn-whitegrid')\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Scatter Plots with plt.plot\n", + "In the previous section, we looked at plt.plot/ax.plot to produce line plots. It turns out that this same function can produce scatter plots as well" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAD0CAYAAAB+WlaPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAHzVJREFUeJzt3XtsU9fhB/Cvk5CXY0oDY6xT7QBqJhMUgYPaqWrSTZQGaFgrCnkSCrQgGJRBszSM0BTRODwqYIIRWIBRlBcmZVJZUFcNhuKOsG6YBhYwHWLEadempVBobDBJ8P39kV/cuXEgvrZj33u/Hwkp99yHz8HRl8u555yrEgRBABERyVJEqCtARETBw5AnIpIxhjwRkYwx5ImIZIwhT0QkYwx5IiIZiwp1Bb7PYrGEugpERJKUlpbWryzsQh7wXtHBsFqt0Ov1Aa5NeGOblYFtVgZ/2jzQDTK7a4iIZIwhT0QkYwx5IiIZY8gTEcmYXyF/7tw5FBYW9iv/61//ihdffBE5OTk4fPgwAMDpdOLVV19Ffn4+Fi9ejBs3bvjz0URENAiiQ37v3r1Yt24d7t6961He3d2NjRs34g9/+AOqq6thMplw7do11NfXIzk5GXV1dXjhhRdQWVnpd+WJSD5qa2uRlJSEiIgIJCUlobGxMdRVkgXRIa/VarFz585+5VeuXIFWq8VDDz2E6OhopKWl4cyZM7BYLEhPTwcAZGRk4PTp0+JrLVHf/yWura0NyLFEUldbW4slS5bAZrNBEATYbDaUlZXx9z4ARI+Tz8zMxGeffdav3G63Q6PRuLfVajXsdrtHuVqtRmdn54DXtlqtourkdDpFnxtsjY2NKCsrg9PpBADYbDa88sor+Pzzz5GVlSX62HBuc7CwzfJTXFyM27dve5Q5nU4UFxfDYDCEqFZDLxjfc8AnQyUkJMDhcLi3HQ4HNBqNR7nD4cDw4cMHvIbYyQDhPHlixowZ7tDu43Q6sWvXLhQXF4s+NpzbHCxss3TU1taitLQU7e3t0Gq1MBqNKCgo6HdcR0eH1/M7Ojok2W6xJDEZavz48bDZbLh58ya6urpw5swZTJ48GQaDAU1NTQAAs9kselarVLW3tw+63JdjicKVty6YJUuWeO2C0Wq1Xq8xUDkNXsBC/k9/+hNMJhOGDRuGNWvW4OWXX0Zubi5efPFF/PCHP0ReXh4uX76MvLw8mEwmrFixIlAfLQm+/BLzF57koLS0tF8XzO3bt1FaWtrvWKPRiPj4eI+y2NhYGI3GoNZREYQwc+bMGdHnXrx4MYA1CayamhohPj5eAOD+Ex8fL9TU1Ph1bDi3OVjYZmlQqVQev8N9f1Qqldfja2pqBJ1OJ6hUKkGn0wlbtmwZ4hqHnj/f80DZyclQQ6SgoABVVVXQ6XRQqVTQ6XSoqqry2j/py7FE4crX/5EWFBSgra0NLpcLbW1t/QYZkDgM+SH0/V/i+4W2L8cShSNvXTDx8fF+d8FweLFvGPJEFBTB+B+pLw9zqRdDnoiCJtD/I/XlYS71YsgTkWRweLHvGPIS19jYyP5JUgwOL/YdQz4AQvUgqLa2FmVlZeyfJMUI1sNcOWPI+ymUD4JKS0v7LX/A/kmSMw4v9h1D3k+hfBDE/klSIg4v9g1D3k+hDFr2TxLRgzDk/RTKoDUajYiNjfUoY/8kEf0vhryfQvkgqKCgABs2bGD/JA05zjqVjoCvJ680fYE6mDWzgyErK6vfGvNEwdQ32KDvWVTfYAMAvMEIQ7yTDwA+CCIl4axTaWHIE5FPOKpLWhjyROQTjuqSFoY8EfmEs06lRfSDV5fLhfXr1+OTTz5BdHQ0ysvLodPpAPS+jLaiosJ9bEtLC3bt2oXU1FRkZmYiOTkZAPDMM8/gpZde8rMJRDSUQj3YgHwjOuSPHz+Orq4umEwmtLS0YNOmTdi9ezcAQK/Xo7q6GgDw/vvvY/To0cjIyEBzczOysrLwxhtvBKb2RBQSBQUFDHWJEN1dY7FYkJ6eDgCYNGkSWltb+x1z+/Zt7Ny50/3UvbW1FRcuXMC8efOwcuVKfPXVV2I/noiIBkH0nbzdbkdCQoJ7OzIyEj09PYiK+u6S7777LqZPn47ExEQAwLhx4zBx4kQ8+eSTOHr0KMrLy7Fjx45+17ZaraLq5HQ6RZ8rVWyzMrDN4jQ2NmL79u3o6OjAmDFjsHr16rB+d2xQvmexbwavqKgQjh075t5OT0/vd8ycOXOEzz//3L3d2dkp9PT0CIIgCLdv3xamTp066DeOD4YU32jvL7ZZGdhm39XU1Ajx8fECAPef+Ph4oaamJkA1DDx/2jxQdorurjEYDDCbzQB6H6z2PUzt09nZia6uLvzoRz9yl61btw4ffPABAOD06dNISUkR+/FERPfFSVu9RHfXTJs2DadOnUJubi4EQUBFRQUOHDgArVaLqVOn4urVq/jxj3/scU5RURHWrl2L+vp6xMXFoby83O8GEBF5w0lbvUSHfEREBDZs2OBRNn78ePfPqampqKys9Nj/6KOPukfdEBEFk1arhc1m81quJJwMRUSyxElbvRjyCsLlYUlJ+KrAXlxqWCG4PCwpESdt8U5eMTjSgEiZGPIDkFvXBkcaECkTQ96Lvq4Nm80GQRDcXRtSDnouD0ukTAx5L+TYtcGRBkTKxJD3Qo5dGxxpQKRMHF3jhVwnUXCkAZHy8E7eC3ZtEJFcMOS9YNcGKZHcRpRRL3bXDIBdG6QknCwnX7yTJyJZjiijXgx5IpLliDLqxZAnIk6WkzGGPBFxRJmMMeSJiCPKZEz06BqXy4X169fjk08+QXR0NMrLy6HT6dz7y8vLcfbsWajVagBAZWUluru78etf/xpOpxOjR4/Gxo0bERcX538riMhvHFEmT6Lv5I8fP46uri6YTCYUFRVh06ZNHvsvXLiAffv2obq6GtXV1dBoNKisrERWVhbq6uowYcIEmEwmvxtAREQDEx3yFosF6enpAIBJkyahtbXVvc/lcsFms6GsrAy5ubl49913+52TkZGB5uZmf+pOREQPILq7xm63IyEhwb0dGRmJnp4eREVF4fbt25g3bx4WLlyIe/fuYf78+Zg4cSLsdjs0Gg0AQK1Wo7Oz0+u1rVarqDo5nU7R50oV26wMbLMyBKPNokM+ISEBDofDve1yuRAV1Xu5uLg4zJ8/393f/tOf/hSXLl1ynxMbGwuHw4Hhw4d7vbZerxdVJ6vVKvpcqWKblYFtVgZ/2myxWLyWi+6uMRgMMJvNAICWlhYkJye797W1tSE/Px/37t1Dd3c3zp49i5SUFBgMBjQ1NQEAzGYz0tLSxH48ERENguiQnzZtGqKjo5Gbm4uNGzfiN7/5DQ4cOIATJ05g/PjxmDVrFrKzs1FYWIjnn38ejz32GJYtW4Zjx44hNzcXH3/8MebNmxfIthARiSLnxdlEd9dERERgw4YNHmXjx493/7x48WIsXrzYY/+oUaOwf/9+sR9JRBRwcl+cjZOhiEjR5L44G0OeiBRN7ouzMeSJSNHkvjgbQ56IFE3ui7Mx5IlI0eS+OBtDnvqR83AyIm8KCgrQ1tYGl8uFtrY22QQ8wHe80vfIfTgZkdLwTp48yH04GZHSKC7k2RVxf3IfTkakNIoK+b6uCJvNBkEQ3F0RDPrvyH04GZHSKCrk2RXxYHIfTkakNIoKeXZFPJjch5MRKY2iRtdotVrYbDav5fQdvuuTSD4UdSfPrggiUhpFhTy7IohIaRQV8oC8Z7YRecNhw8qmqD55IqXhDGYSFfIulwvr16/HJ598gujoaJSXl0On07n3v/POOzh27BgA4Omnn8aKFSsgCAIyMjKQlJQEAJg0aRKKior8bwERDeh+w4YZ8sogKuSPHz+Orq4umEwmtLS0YNOmTdi9ezcA4NNPP8XRo0fR0NAAlUqF/Px8PPPMM4iLi0NKSgr27NkT0AYQ0cA4bJhE9clbLBakp6cD6L0jb21tde8bM2YM9u3bh8jISERERKCnpwcxMTG4cOECvvzySxQWFmLx4sX4z3/+E5gWENGAOIOZRN3J2+12JCQkuLcjIyPR09ODqKgoDBs2DImJiRAEAVu2bMGECRMwduxYfP3111iyZAlmzJiBM2fOoLi4GEeOHPF6favVKqoxTqdT9LlSxTYrg9g2L1++HGVlZXA6ne6y2NhYLF++POz/Dvk9B4aokE9ISIDD4XBvu1wuREV9d6m7d+9i7dq1UKvVePPNNwEAEydORGRkJABgypQp+PLLLyEIAlQqVb/r6/V6MdWC1WoVfa5Usc3KILbNer0ejzzyCEpLS9He3g6tVguj0SiJ/nh+z76xWCxey0V11xgMBpjNZgBAS0sLkpOT3fsEQcAvf/lL/OQnP8GGDRvcwf673/0OBw8eBABcunQJjzzyiNeAJ6LA4rBhZRN1Jz9t2jScOnUKubm5EAQBFRUVOHDgALRaLVwuF/7xj3+gq6sLH374IQDgtddew5IlS1BcXIympiZERkZi48aNAW0IERH1JyrkIyIisGHDBo+y8ePHu3/+17/+5fW8qqoqMR9HREQiKW7GKxGRkjDkiYhkjCFPRCRjDHkiIhljyBMRyRhDnojIB1JbuplLDRMRDZIUl27mnTwR0SDdb+nmcMWQJyIaJCku3cyQJyIaJCku3cyQJyIaJKPRiPj4eI+y+Ph4GI3GENXowRjyRESDVFBQgKqqKuh0OqhUKuh0OlRVVYXtQ1eAo2uIiHxSUFAQ1qH+fbyTJ79IbcwwkdLwTp5Ek+KYYSKl4Z08iSbFMcNESsOQJ9GkOGaYSGlEh7zL5UJZWRlycnJQWFgIm83msf/w4cOYPXs2srOzcfLkSQDAjRs3sGjRIuTn52PVqlW4c+eOf7X/f339wikpKewXHkJSHDNMpDSiQ/748ePo6uqCyWRCUVERNm3a5N537do1VFdX49ChQ9i/fz+2bduGrq4uVFZWIisrC3V1dZgwYQJMJpPfDejrF7bZbBAEwd0vzKAPPimOGSZSGtEhb7FYkJ6eDgCYNGkSWltb3fvOnz+PyZMnIzo6GhqNBlqtFpcuXfI4JyMjA83NzX5Wn/3CoSTFMcNESiN6dI3dbkdCQoJ7OzIyEj09PYiKioLdbodGo3HvU6vVsNvtHuVqtRqdnZ1er221Wgddj/v1C/tyHalyOp0hbafBYMD777/vURbs+oS6zaHANitDMNosOuQTEhLgcDjc2y6XC1FRUV73ORwOaDQad3lsbCwcDgeGDx/u9dp6vX7Q9dBqtf2eB/SV+3IdqbJarYpo5/9im5WBbfaNxWLxWi66u8ZgMMBsNgMAWlpakJyc7N6XmpoKi8WCu3fvorOzE1euXEFycjIMBgOampoAAGazGWlpaWI/3o39wkREAxN9Jz9t2jScOnUKubm5EAQBFRUVOHDgALRaLaZOnYrCwkLk5+dDEASsXr0aMTExWLZsGUpKSnD48GE8/PDD2Lp1q98N6Ov/LS0tRXt7O7RaLYxGI/uFiYgAQAgzZ86cEX3uxYsXA1gTaWCbleH7ba6pqRF0Op2gUqkEnU4n1NTUhKhmwcPv2TcDZSeXNSCSGC4nQb7gjFciieGwYfIFQ55IYricBPmCIU8kMVxOgnzBkCeSGA4bJl8w5IkkhstJkC84uoZIgqT2CjoKHd7JExHJGEOeiEjGGPJERDLGkCcikjGGPBGRjDHkiYhkjCFPRCRjDHkioiCora1FUlISIiIikJSUhNra2pDUg5OhiIgCLJyWgxYV8k6nE8XFxbh+/TrUajU2b96MxMREj2M2b96Ms2fPoqenBzk5OcjOzsbNmzeRmZnpflXgM888g5deesn/VhARhZH7LQctiZCvr69HcnIyXn31VRw7dgyVlZVYt26de//f//53tLe3w2QyoaurC8899xwyMzNx8eJFZGVl4Y033ghYA4iIwk04LQctqk/eYrEgPT0dAJCRkYHTp0977J88eTIqKirc2/fu3UNUVBRaW1tx4cIFzJs3DytXrsRXX33lR9WJiMJTOC0H/cA7+YaGBhw8eNCjbOTIkdBoNAAAtVqNzs5Oj/0xMTGIiYlBd3c31qxZg5ycHKjVaowbNw4TJ07Ek08+iaNHj6K8vBw7duwIYHOIiELPaDR69MkDoVsOWiUIguDrSStWrMCSJUuQmpqKzs5O5OXlobGx0eOYW7duYeXKlXj88cexfPlyAIDdbkdcXBwiIyNx584dzJo1C8ePH/c4z2Kx9Fsre7CcTidiY2NFnStVbLMysM3S09jYiO3bt6OjowNjxozB6tWrkZWVdd9z/Gnz7du3kZaW1q9cVJ+8wWBAU1MTUlNTYTab+13Y6XRiwYIFWLhwIX7xi1+4y9etW4dnn30WM2fOxOnTp5GSkuL1+nq9Xky1YLVaRZ8rVWyzMrDN0qPX61FcXOzTOf602WKxeC0X1Sefl5eHy5cvIy8vDyaTCStWrAAAbNmyBefPn8ehQ4fw6aefoqGhAYWFhSgsLMSnn36KoqIi1NfXo7CwEIcOHeKLhxUkXMYMEymNqDv5uLg4r33pr7/+OgAgNTUVCxYs8HpudXW1mI8kCQunMcNESsMZrxR09xszTETBxZCnoAunMcNESsOQp6ALpzHDRErDkKegMxqN/YbFhmrMMJHSMOQp6AoKClBVVQWdTgeVSgWdToeqqio+dCUaAlyFkoZEQUEBQ50oBHgnT0QkYwx5IiIZY8gThRHODKZAY588UZi438xgg8EQyqqRhPFOnihMcGYwBQNDnihMcGYwBQNDnihMcGYwBQNDnihMcGYwBQNDnihMcGYwBQNH1xCFEc4MpkDjnTwRkYyJupN3Op0oLi7G9evXoVarsXnzZiQmJnocs3TpUty8eRPDhg1DTEwM9u3bB5vNhjVr1kClUuGxxx7Dm2++iYgI/jtDRBQsohK2vr4eycnJqKurwwsvvIDKysp+x7S3t6O+vh7V1dXYt28fAGDjxo1YtWoV6urqIAgCTpw44V/tiYjovkSFvMViQXp6OgAgIyMDp0+f9tj/9ddf49tvv8XSpUuRl5eHkydPAgAuXLiAxx9/3H1ec3OzP3UnIqIHeGB3TUNDAw4ePOhRNnLkSGg0GgCAWq1GZ2enx/7u7m4sWrQI8+fPx61bt5CXl4fU1FQIggCVSjXgeX2sVquoxjidTtHnShXbrAxsszIEo80PDPm5c+di7ty5HmUrVqyAw+EAADgcDgwfPtxj/6hRo5Cbm4uoqCiMHDkSer0eV69e9eh/93ZeH71e73NDgN5/HMSeK1VsszKwzcrgT5stFovXclHdNQaDAU1NTQAAs9mMtLQ0j/3Nzc1YtWoVgN4wv3z5MsaNG4cJEybgo48+cp83ZcoUMR9PRCQrfauPpqSkBHz1UVEhn5eXh8uXLyMvLw8mkwkrVqwAAGzZsgXnz5/H008/DZ1Oh+zsbLz88st47bXXkJiYiJKSEuzcuRM5OTno7u5GZmZmwBpCRCRFfauP2mw2CILgXn00UEGvEgRBCMiVAsRisfT7n8Fg8b93ysA2K4NS2pyUlASbzdavXKfToa2tbdDXGSg7OUidiCiEgr36KEOeiCiEgr36KEOeiCiEgr36KEOewg7fc0pKEuzVR7kKJYWV+73nlKszklz1rT4ajIfNvJOnsML3nBIFFkOewgrfc0oUWAx5Cit8zylRYDHkKazwPadEgcWQp7DC95wSBRZH11DY4XtOiQKHd/JERDLGkCcKMk7uolBidw1REHFyF4Ua7+SJgoiTuyjUGPJEQcTJXRRqDHmiIOLkLgo1UX3yTqcTxcXFuH79OtRqNTZv3ozExET3frPZjL179wIABEGAxWJBY2MjnE4nli5diqSkJAC9rxGcOXOm/60gClNGo9GjTx7g5C4aWqJCvr6+HsnJyXj11Vdx7NgxVFZWYt26de79GRkZyMjIAADs27cPBoMB48ePR0NDAxYuXIhFixYFpvZEYa7v4WppaSna29uh1WphNBr50JWGjKiQt1gseOWVVwD0BnplZaXX4zo6OvDee+/hyJEjAIDW1lZcvXoVJ06cgE6nw9q1a5GQkCCy6kTSwMldFEoPDPmGhgYcPHjQo2zkyJHQaDQAALVajc7OTq/nHjhwAAsWLEB0dDQAIDU1FXPnzsXEiROxe/du7Nq1CyUlJf3Os1qtPjcE6O1GEnuuVLHNysA2K0NQ2iyIsHz5cuHcuXOCIAjCt99+Kzz33HP9jrl3757w7LPPCnfu3HGX3bp1y/3z5cuXhfnz5/c778yZM2KqJAiCIFy8eFH0uVLFNisD26wM/rR5oOwUNbrGYDCgqakJQO9D1rS0tH7H/Pvf/8bYsWMRGxvrLnv55Zdx/vx5AMDp06eRkpIi5uOJiGiQRPXJ5+XloaSkBHl5eRg2bBi2bt0KANiyZQumT5+O1NRUXL16FY8++qjHeevXr8dbb72FYcOGYdSoUXjrrbf8bwEREQ1IVMjHxcVhx44d/cpff/11988zZszAjBkzPPanpKTg0KFDYj6SiIhE4GQoIiIZY8iTZHF1R6IH4yqUJElc3ZFocHgnT5LE1R2JBochT5LE1R2JBochT5LE1R2JBochT5JkNBoRHx/vUcbVHYn6Y8iTJBUUFKCqqgo6nQ4qlQo6nQ5VVVVD+tCVo3tICji6hiQrlKs7cnQPSQXv5IlE4OgekgqGPJEIHN1DUsGQJxKBo3tIKhjyRCJwdA9JBUOeSIRwGN1DNBgMeVKEYAx3LCgoQFtbG1wuF9ra2hjwFJY4hJJkj8MdScl4J0+y58twR05wIrnxK+T/8pe/oKioyOu+w4cPY/bs2cjOzsbJkycBADdu3MCiRYuQn5+PVatW4c6dO/58PNGgDHa4Y98dv81mgyAI7jt+Bj1JmeiQLy8vx9atW+Fyufrtu3btGqqrq3Ho0CHs378f27ZtQ1dXFyorK5GVlYW6ujpMmDABJpPJr8oTDcZghztyghPJkeiQNxgMWL9+vdd958+fx+TJkxEdHQ2NRgOtVotLly7BYrEgPT0dAJCRkYHm5maxH080aIMd7sgJTiRHD3zw2tDQgIMHD3qUVVRUYObMmfjoo4+8nmO326HRaNzbarUadrvdo1ytVqOzs9Pr+VarddAN+F9Op1P0uVLFNj9Y3w3J9u3b0dHRgTFjxmD16tUwGAwe1xkzZgy++OKLfuePGTMm5H/H/J6VIRhtfmDIz507F3PnzvXpogkJCXA4HO5th8MBjUbjLo+NjYXD4cDw4cO9nq/X6336vD5Wq1X0uVLFNg+OXq9HcXHxfY95++23PUbhAL13/G+//XbI/475PSuDP222WCxey4MyuiY1NRUWiwV3795FZ2cnrly5guTkZBgMBjQ1NQEAzGYz0tLSgvHxRKJwghPJUUDHyR84cABarRZTp05FYWEh8vPzIQgCVq9ejZiYGCxbtgwlJSU4fPgwHn74YWzdujWQH0/kt1AuX0wUDH6F/BNPPIEnnnjCvb1w4UL3z9nZ2cjOzvY4ftSoUdi/f78/H0lERD7gZCgiIhljyBMRyRhDnohIxhjyREQyphIEQQh1Jf7XQGM9iYjo/rwNSw+7kCciosBhdw0RkYwx5ImIZEwWIe9yuVBWVoacnBwUFhbCZrOFukpB193djeLiYuTn52POnDk4ceJEqKs0JK5fv46nn34aV65cCXVVhsTvf/975OTkYPbs2WhoaAh1dYKuu7sbRUVFyM3NRX5+vuy/53PnzqGwsBBA7xvL8vLykJ+fjzfffNPrMu5iyCLkjx8/jq6uLphMJhQVFWHTpk2hrlLQHT16FCNGjEBdXR327t2Lt956K9RVCrru7m6UlZUhNjY21FUZEh999BE+/vhj1NfXo7q6Gh0dHaGuUtA1NTWhp6cHhw4dwvLly/Hb3/421FUKmr1792LdunW4e/cuAGDjxo1YtWoV6urqIAhCwG7cZBHy/7tO/aRJk9Da2hriGgXf9OnT8atf/cq9HRkZGcLaDI3NmzcjNzcXo0ePDnVVhsTf/vY3JCcnY/ny5Vi6dCl+9rOfhbpKQTd27Fjcu3cPLpcLdrsdUVHyfQ21VqvFzp073dsXLlzA448/DiCw79uQxd+g3W5HQkKCezsyMhI9PT2y/gVRq9UAetu+cuVKrFq1KsQ1Cq4//vGPSExMRHp6OqqqqkJdnSHxzTff4PPPP8eePXvw2WefYdmyZfjzn/8MlUoV6qoFTXx8PP773/9ixowZ+Oabb7Bnz55QVyloMjMz8dlnn7m3BUFwf7f3e9+Gr2RxJ//99etdLpesA77PF198gfnz5+P555/HrFmzQl2doDpy5Aiam5tRWFgIq9WKkpISXLt2LdTVCqoRI0bgqaeeQnR0NMaNG4eYmBjcuHEj1NUKqnfeeQdPPfUUPvjgA7z33ntYs2aNuztD7iIivovj+71vw+frBuQqIWYwGGA2mwEALS0tSE5ODnGNgu/rr7/GokWLUFxcjDlz5oS6OkFXW1uLmpoaVFdXQ6/XY/PmzfjBD34Q6moFVVpaGj788EMIgoAvv/wSd+7cwYgRI0JdraAaPny4++1xDz30EHp6enDv3r0Q12poTJgwwf22PbPZjClTpgTkurK43Z02bRpOnTqF3NxcCIKAioqKUFcp6Pbs2YNvv/0WlZWVqKysBND7IEcpDyWV4Oc//zn++c9/Ys6cORAEAWVlZbJ/9rJgwQKsXbsW+fn56O7uxurVq/u9n1euSkpK8MYbb2Dbtm0YN24cMjMzA3JdznglIpIxWXTXEBGRdwx5IiIZY8gTEckYQ56ISMYY8kREMsaQJyKSMYY8EZGMMeSJiGTs/wDxlemXGvxk2gAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(0, 10, 30)\n", + "y = np.sin(x)\n", + "plt.plot(x, y, 'o', color='black');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The third argument in the function call is a character that represents the type of symbol used for the plotting. Just as you can specify options such as '-' and '--' to control the line style, the marker style has its own set of short string codes. The full list of available symbols can be seen in the documentation of plt.plot, or in Matplotlib’s online documentation. Most of the possibilities are fairly intuitive." + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "rng = np.random.RandomState(0)\n", + "for marker in ['o', '.', ',', 'x', '+', 'v', '^', '<', '>', 's', 'd']:\n", + " plt.plot(rng.rand(5), rng.rand(5), marker,\n", + " label=\"marker='{0}'\".format(marker))\n", + "plt.legend(numpoints=1)\n", + "plt.xlim(0, 1.8);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For even more possibilities, these character codes can be used together with line and color codes to plot points along with a line connecting them" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, y, '-ok'); # line (-), circle marker (o), black (k)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Additional keyword arguments to plt.plot specify a wide range of properties of the lines and markers" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, y, '-p', color='gray',\n", + " markersize=15, linewidth=4,\n", + " markerfacecolor='white',\n", + " markeredgecolor='gray',\n", + " markeredgewidth=2)\n", + "plt.ylim(-1.2, 1.2);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This type of flexibility in the plt.plot function allows for a wide variety of possible visualization options. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A second, more powerful method of creating scatter plots is the plt.scatter function, which can be used very similarly to the plt.plot function " + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(x, y, marker='o');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The primary difference of plt.scatter from plt.plot is that it can be used to create scatter plots where the properties of each individual point (size, face color, edge color, etc.) can be individually controlled or mapped to data.\n", + "\n", + "Let’s show this by creating a random scatter plot with points of many colors and sizes. In order to better see the overlapping results, we’ll also use the alpha keyword to adjust the transparency level." + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "rng = np.random.RandomState(0)\n", + "x = rng.randn(100)\n", + "y = rng.randn(100)\n", + "colors = rng.rand(100)\n", + "sizes = 1000 * rng.rand(100)\n", + "\n", + "plt.scatter(x, y, c=colors, s=sizes, alpha=0.3,\n", + " cmap='viridis')\n", + "plt.colorbar(); # show color scale" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that the color argument is automatically mapped to a color scale (shown here by the colorbar() command), and the size argument is given in pixels. In this way, the color and size of points can be used to convey information in the visualization, in\n", + "order to illustrate multidimensional data.\n", + "\n", + "For example, we might use the Iris data from Scikit-Learn, where each sample is one of three types of flowers that has had the size of its petals and sepals carefully measured" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.datasets import load_iris\n", + "iris = load_iris()\n", + "features = iris.data.T\n", + "\n", + "plt.scatter(features[0], features[1], alpha=0.2,\n", + " s=100*features[3], c=iris.target, cmap='viridis')\n", + "plt.xlabel(iris.feature_names[0])\n", + "plt.ylabel(iris.feature_names[1]);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see that this scatter plot has given us the ability to simultaneously explore four different dimensions of the data: the (x, y) location of each point corresponds to the sepal length and width, the size of the point is related to the petal width, and the color is related to the particular species of flower. Multicolor and multifeature scatter plots like this can be useful for both exploration and presentation of data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### plot Versus scatter: A Note on Efciency\n", + "Aside from the different features available in plt.plot and plt.scatter, why might you choose to use one over the other? While it doesn’t matter as much for small amounts of data, as datasets get larger than a few thousand points, plt.plot can be noticeably more efficient than plt.scatter. The reason is that plt.scatter has the capability to render a different size and/or color for each point, so the renderer must do the extra work of constructing each point individually. In plt.plot, on the other hand, the points are always essentially clones of each other, so the work of determining the appearance of the points is done only once for the entire set of data. For large datasets, the difference between these two can lead to vastly different performance, and for this reason, _**plt.plot**_ should be preferred over **_plt.scatter_** for large datasets." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Basic Errorbars\n", + "A basic errorbar can be created with a single Matplotlib function call." + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use('seaborn-whitegrid')\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Q//73/8kSTt37tTWrVt17NgxFQoFo52wQAV2KpXSqlWrJElNTU165ZVXfK7Ie3fddZe2bNky/ncUbmi8a9cutbW1qaGhwe9SquaPf/yjlixZok2bNul73/ve+B3ew6qxsVGjo6PK5/MaGhrSzJnhvfT+okWL9Nhjj43//de//lUrVqyQJH3xi1/U2bNnjX1WoL7FoaEh1dXVjf9dW1urkZGRUP/Y8+fPl3St7Zs3b9bWrVt9rshbzz33nBYsWKBVq1bp8ccf97ucqnn//fd1+fJl7d+/X5cuXdL3v/99Pf/886qpqfG7NE/EYjG99dZb+trXvqb3339f+/fv97skz6xZs0aXLl0a/7tQKIz/rvPnz9cHH3xg7LMC1cOuq6vT1atXx//O5/OhDusxb7/9tu677z5985vf1N133+13OZ569tlndfbsWXV0dCidTmvbtm26cuWK32V5Lh6P6/bbb9fs2bN1yy23aM6cOfr3v//td1me+c1vfqPbb79dL7zwgn7729/q/vvvHx8yCLsZMz6K1atXr+qmm24yt2xjSzJg2bJlOnPmjCSpv79fS5Ys8bki77377rvauHGjurq61NLS4nc5njt69KiefPJJHTlyRIlEQrt27dLNN9/sd1meW758uf7whz+oUCjoX//6l/773/8qHo/7XZZnbrrpJn3sYx+TJNXX12tkZESjo6M+V1Udn/nMZ3Tu3DlJ0pkzZ/T5z3/e2LID1X2988479dJLL6mtrU2FQkE9PT1+l+S5/fv3a3BwUHv37tXevXslXTuIEaUDclHw5S9/WX/605/U0tKiQqGg7u7uUB+v2LBhg7Zv36729nblcjn94Ac/UCwW87usqti2bZt+8pOf6Je//KVuueUWrVmzxtiyOdMRACwRqCERAEBpBDYAWILABgBLENgAYAkCGwAsQWADgCUIbACwBIENAJb4P1/mD15quw47AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(0, 10, 50)\n", + "dy = 0.8\n", + "y = np.sin(x) + dy * np.random.randn(50)\n", + "\n", + "plt.errorbar(x, y, yerr=dy, fmt='.k');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here the fmt is a format code controlling the appearance of lines and points, and has the same syntax as the shorthand used in plt.plot.\n", + "\n", + "In addition to these basic options, the errorbar function has many options to finetune the outputs. Using these additional options you can easily customize the aesthetics of your errorbar plot. I often find it helpful, especially in crowded plots, to make the errorbars lighter than the points themselves " + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.errorbar(x, y, yerr=dy, fmt='o', color='black', \n", + " ecolor='lightgray', elinewidth=3, capsize=0);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In addition to these options, you can also specify horizontal errorbars (xerr), onesided errorbars, and many other variants." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Continuous Errors\n", + "In some situations it is desirable to show errorbars on continuous quantities. Though Matplotlib does not have a built-in convenience routine for this type of application, it’s relatively easy to combine primitives like plt.plot and plt.fill_between for a\n", + "useful result.\n", + "\n", + "Here we’ll perform a simple Gaussian process regression (GPR), using the Scikit-Learn API. This is a method of fitting a very flexible nonparametric function to data with a continuous measure of the uncertainty. We won’t delve into the details of Gaussian process regression at this point, but will focus instead on how you might visualize such a continuous error measurement:" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.gaussian_process import GaussianProcessRegressor\n" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "__init__() got an unexpected keyword argument 'corr'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;31m# Compute the Gaussian process fit\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 7\u001b[0m gp = GaussianProcessRegressor(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1E-1,\n\u001b[1;32m----> 8\u001b[1;33m random_start=100)\n\u001b[0m\u001b[0;32m 9\u001b[0m \u001b[0mgp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mxdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnewaxis\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mydata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 10\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: __init__() got an unexpected keyword argument 'corr'" + ] + } + ], + "source": [ + "# define the model and draw some data\n", + "model = lambda x: x * np.sin(x)\n", + "xdata = np.array([1, 3, 5, 6, 8])\n", + "ydata = model(xdata)\n", + "\n", + "# Compute the Gaussian process fit\n", + "gp = GaussianProcessRegressor(corr='cubic', theta0=1e-2, thetaL=1e-4, thetaU=1E-1,\n", + " random_start=100)\n", + "gp.fit(xdata[:, np.newaxis], ydata)\n", + "\n", + "xfit = np.linspace(0, 10, 1000)\n", + "yfit, MSE = gp.predict(xfit[:, np.newaxis], eval_MSE=True)\n", + "dyfit = 2 * np.sqrt(MSE) # 2*sigma ~ 95% confidence region" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Density and Contour Plots\n", + "Sometimes it is useful to display three-dimensional data in two dimensions using contours or color-coded regions. There are three Matplotlib functions that can be helpful for this task: plt.contour for contour plots, plt.contourf for filled contour\n", + "plots, and plt.imshow for showing images. This section looks at several examples of using these. We’ll start by setting up the notebook for plotting and importing the functions we will use:" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use('seaborn-white')\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Visualizing a Three-Dimensional Function\n", + "We’ll start by demonstrating a contour plot using a function _z = f(x, y)_, using the following particular choice for _f_ when we used it as a motivating example for array broadcasting):" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "def f(x, y):\n", + " return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A contour plot can be created with the plt.contour function. It takes three arguments: a grid of x values, a grid of y values, and a grid of z values. The x and y values represent positions on the plot, and the z values will be represented by the contour levels. Perhaps the most straightforward way to prepare such data is to use the np.meshgrid function, which builds two-dimensional grids from one-dimensional arrays:" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "x = np.linspace(0, 5, 50)\n", + "y = np.linspace(0, 5, 40)\n", + "X, Y = np.meshgrid(x, y)\n", + "Z = f(X, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.contour(X, Y, Z, colors='black');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that by default when a single color is used, negative values are represented by dashed lines, and positive values by solid lines. Alternatively, you can color-code the lines by specifying a colormap with the cmap argument. Here, we’ll also specify that we want more lines to be drawn—20 equally spaced intervals within the data range:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we chose the RdGy (short for Red-Gray) colormap, which is a good choice for centered data. Matplotlib has a wide range of colormaps available, which you can easily browse in IPython by doing a tab completion on the plt.cm module:\n", + "\n", + " plt.cm.\n", + " \n", + "Our plot is looking nicer, but the spaces between the lines may be a bit distracting. We can change this by switching to a filled contour plot using the plt.contourf() function (notice the f at the end), which uses largely the same syntax as plt.contour(). Additionally, we’ll add a plt.colorbar() command, which automatically creates an additional axis with labeled color information for the plot:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.contourf(X, Y, Z, 20, cmap='RdGy')\n", + "plt.colorbar()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The colorbar makes it clear that the black regions are “peaks,†while the red regions are “valleys.â€\n", + "\n", + "One potential issue with this plot is that it is a bit “splotchy.†That is, the color steps are discrete rather than continuous, which is not always what is desired. You could remedy this by setting the number of contours to a very high number, but this results in a rather inefficient plot: Matplotlib must render a new polygon for each step in the level. A better way to handle this is to use the plt.imshow() function, which interprets a two-dimensional grid of data as an image." + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(Z, extent=[0, 5, 0, 5], origin='lower',\n", + " cmap='RdGy')\n", + "plt.colorbar()\n", + "plt.axis(aspect='image');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are a few potential gotchas with imshow(), however:\n", + "- plt.imshow() doesn’t accept an x and y grid, so you must manually specify the extent [xmin, xmax, ymin, ymax] of the image on the plot.\n", + "- plt.imshow() by default follows the standard image array definition where the origin is in the upper left, not in the lower left as in most contour plots. This must be changed when showing gridded data.\n", + "- plt.imshow() will automatically adjust the axis aspect ratio to match the input data; you can change this by setting, for example, plt.axis(aspect='image') to make x and y units match." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "contours = plt.contour(X, Y, Z, 3, colors='black')\n", + "plt.clabel(contours, inline=True, fontsize=8)\n", + "plt.imshow(Z, extent=[0, 5, 0, 5], origin='lower',\n", + " cmap='RdGy', alpha=0.5)\n", + "plt.colorbar();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The combination of these three functions—plt.contour, plt.contourf, and plt.imshow—gives nearly limitless possibilities for displaying this sort of threedimensional data within a two-dimensional plot. \n", + "### Histograms, Binnings, and Density\n", + "A simple histogram can be a great first step in understanding a dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use('seaborn-white')\n", + "data = np.random.randn(1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(data);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The hist() function has many options to tune both the calculation and the display" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Michael\\Anaconda3\\lib\\site-packages\\matplotlib\\axes\\_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n", + " warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(data, bins=30, normed=True, alpha=0.5,\n", + " histtype='stepfilled', color='steelblue',\n", + " edgecolor='none');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The plt.hist docstring has more information on other customization options available. I find this combination of _histtype='stepfilled'_ along with some transparency alpha to be very useful when comparing histograms of several distributions:" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\Michael\\Anaconda3\\lib\\site-packages\\matplotlib\\axes\\_axes.py:6571: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n", + " warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x1 = np.random.normal(0, 0.8, 1000)\n", + "x2 = np.random.normal(-2, 1, 1000)\n", + "x3 = np.random.normal(3, 2, 1000)\n", + "\n", + "kwargs = dict(histtype='stepfilled', alpha=0.3, normed=True, bins=40)\n", + "\n", + "plt.hist(x1, **kwargs)\n", + "plt.hist(x2, **kwargs)\n", + "plt.hist(x3, **kwargs);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you would like to simply compute the histogram (that is, count the number of points in a given bin) and not display it, the np.histogram() function is available:" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 6 156 542 267 29]\n" + ] + } + ], + "source": [ + "counts, bin_edges = np.histogram(data, bins=5)\n", + "print(counts)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Two-Dimensional Histograms and Binnings\n", + "Just as we create histograms in one dimension by dividing the number line into bins, we can also create histograms in two dimensions by dividing points among twodimensional bins. We’ll take a brief look at several ways to do this here. We’ll start by defining some data—an x and y array drawn from a multivariate Gaussian distribution:" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "mean = [0, 0]\n", + "cov = [[1, 1], [1, 2]]\n", + "x, y = np.random.multivariate_normal(mean, cov, 10000).T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### plt.hist2d: Two-dimensional histogram\n", + "One straightforward way to plot a two-dimensional histogram is to use Matplotlib’s\n", + "plt.hist2d function" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist2d(x, y, bins=30, cmap='Blues')\n", + "cb = plt.colorbar()\n", + "cb.set_label('counts in bin')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "plt.hist has a counterpart in np.histogram, plt.hist2d has a counterpart in np.histogram2d" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "counts, xedges, yedges = np.histogram2d(x, y, bins=30)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### plt.hexbin: Hexagonal binnings\n", + "The two-dimensional histogram creates a tessellation of squares across the axes. Another natural shape for such a tessellation is the regular hexagon. For this purpose, Matplotlib provides the plt.hexbin routine, which represents a two-dimensional dataset binned within a grid of hexagons" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hexbin(x, y, gridsize=30, cmap='Blues')\n", + "cb = plt.colorbar(label='count in bin')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Kernel density estimation\n", + "Another common method of evaluating densities in multiple dimensions is kernel density estimation (KDE). We’ll simply mention that KDE can be thought of as a way to “smear out†the points in space and add up the result to obtain a smooth function. One extremely quick and simple KDE implementation exists in the scipy.stats package. Here is a quick example of using the KDE on this data:" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from scipy.stats import gaussian_kde\n", + "\n", + "# fit an array of size [Ndim, Nsamples]\n", + "data = np.vstack([x, y])\n", + "kde = gaussian_kde(data)\n", + "\n", + "# evaluate on a regular grid\n", + "xgrid = np.linspace(-3.5, 3.5, 40)\n", + "ygrid = np.linspace(-6, 6, 40)\n", + "Xgrid, Ygrid = np.meshgrid(xgrid, ygrid)\n", + "Z = kde.evaluate(np.vstack([Xgrid.ravel(), Ygrid.ravel()]))\n", + "\n", + "# Plot the result as an image\n", + "plt.imshow(Z.reshape(Xgrid.shape),\n", + "origin='lower', aspect='auto',\n", + "extent=[-3.5, 3.5, -6, 6],\n", + "cmap='Blues')\n", + "cb = plt.colorbar()\n", + "cb.set_label(\"density\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "KDE has a smoothing length that effectively slides the knob between detail and smoothness (one example of the ubiquitous bias–variance trade-off). The literature on choosing an appropriate smoothing length is vast: gaussian_kde uses a rule of thumb to attempt to find a nearly optimal smoothing length for the input data. Other KDE implementations are available within the SciPy ecosystem, each with its own various strengths and weaknesses; see, for example, sklearn.neighbors.Kernel\n", + "Density and statsmodels.nonparametric.kernel_density.KDEMultivariate. For\n", + "visualizations based on KDE, using Matplotlib tends to be overly verbose. The Sea†born library provides a much more terse API for creating KDE-based visualizations.\n", + "### Customizing Plot Legends\n", + "Plot legends give meaning to a visualization, assigning labels to the various plot elements. We previously saw how to create a simple legend; here we’ll take a look at customizing the placement and aesthetics of the legend in Matplotlib. The simplest legend can be created with the plt.legend() command, which autoâ€\n", + "matically creates a legend for any labeled plot elements " + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "plt.style.use('classic')" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(0, 10, 1000)\n", + "fig, ax = plt.subplots()\n", + "ax.plot(x, np.sin(x), '-b', label='Sine')\n", + "ax.plot(x, np.cos(x), '--r', label='Cosine')\n", + "ax.axis('equal')\n", + "leg = ax.legend();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But there are many ways we might want to customize such a legend. For example, we can specify the location and turn off the frame" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ax.legend(loc='upper left', frameon=False)\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use the ncol command to specify the number of columns in the legend" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ax.legend(frameon=False, loc='lower center', ncol=2)\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can use a rounded box (fancybox) or add a shadow, change the transparency (alpha value) of the frame, or change the padding around the text" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ax.legend(fancybox=True, framealpha=1, shadow=True, borderpad=1)\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Choosing Elements for the Legend\n", + "As we’ve already seen, the legend includes all labeled elements by default. If this is not what is desired, we can fine-tune which elements and labels appear in the legend by using the objects returned by plot commands. The plt.plot() command is able to create multiple lines at once, and returns a list of created line instances. Passing any of these to plt.legend() will tell it which to identify, along with the labels we’d like to specify " + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "y = np.sin(x[:, np.newaxis] + np.pi * np.arange(0, 2, 0.5))\n", + "lines = plt.plot(x, y)\n", + "\n", + "# lines is a list of plt.Line2D instances\n", + "plt.legend(lines[:2], ['first', 'second']);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "I generally find in practice that it is clearer to use the first method, applying labels to the plot elements you’d like to show on the legend" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x, y[:, 0], label='first')\n", + "plt.plot(x, y[:, 1], label='second')\n", + "plt.plot(x, y[:, 2:])\n", + "plt.legend(framealpha=1, frameon=True);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that by default, the legend ignores all elements without a label attribute set." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Legend for Size of Points\n", + "Sometimes the legend defaults are not sufficient for the given visualization. For example, perhaps you’re using the size of points to mark certain features of the data, and want to create a legend reflecting this. Here is an example where we’ll use the size of points to indicate populations of California cities. We’d like a legend that specifies the scale of the sizes of the points, and we’ll accomplish this by plotting some labeled data with no entries:" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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jkohtgtrC5yRNi6elMF3F8/ke1fO4so547HbLby+bS87D51gb14R739xmL/tPdrptnubgoICvF5vj0W+tNlsTS6dPYHL5WLDhg089thjREVFMX/+fJYvX85LL70UVn57ZGdnM3LkSNavXw9o5p5f//rXTJs2DafTyQ9+8ANKSkpYsmQJ0dHRLF68mKqqqqb6Sik2btzIL37xix651q6gVPhHP3BFK2mdCrdgKPwBhIgwMTOV2ROGtzBrxMZpk5/R0ZFNfvQFxVXknixrKlNeXc/enFNtth8b6+DiS0YzYdLQdkfGw+JiWTBqBDazGavFTFpCNFnjRmKyKv7612/401928Pf843xdfpq/n8rn9b3f8OHBHIrKavj7V7l8eeAEMYlRLFxxEdHxzu7ckiY+P3SCRp+/WVruqXJOlXfdja43yM7OJiamZ81OMTExHD58uOOC53DfffeRlJTEpZde2rQzVE5ODmazmXHjzk58T58+nYMHD4aV3xZ79uzhyiuv5JlnnmHVqlVN6Rs2bGDLli3k5OSwadMmlixZwhNPPEF5eTnBYJCnn366qeymTZu4++67KSoq6vS19hSFdTVhH32FiPxYRPYD40Xkm5DjONCpyJmGSacPKCus4Pj+AmYtnorF2rVbPvuSUYwcnUJ0TGST735VK5uRV9e6W6R1hZnD0pmUlsKRqtOcaCzlC/chdp1QHBhRSm5MBUFXNY31JoI+Eyjhy5JTzHcMZVikpuzqXB4WzekZbxqlFEUVta3mnSqvYWhSbI/0012UUhQXF5OU1LN7BjidToqLizsVquNXv/oVkyZNwmazsX79eq655hr27t1LfX09sbHN71dsbCx1dVq8oo7yW2PHjh384Q9/4KWXXmLhwoXN8u6+++4m89aCBQtISUlh5syZAKxYsYK//vWvALz55ps88cQTPP3001x22WU88MADYV1nTzPUOSA3n3kV+AD4JXBvSHqdvs1h2BgKvw8oOFxI9q5cxs4aSXxq1x4oESExqblb5NDklopuaBfbP5c6XwMfnt5HpedsNE1vIECB1OKPApfXhXIolMeEr9xKrQ821x7l5oypRJitlFT2XMAzEcERYcPV6G2R54wYGGsXANxuN36/v9miqp7AbDbj9/txu904neG9Mc2ZM6fp86233sprr73G+++/z/z586mtbf7jWVtbS3S09mxF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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "cities = pd.read_csv('E:/Python_4_DS/datasets/california_cities.csv')\n", + "\n", + "# Extract the data we're interested in\n", + "lat, lon = cities['latd'], cities['longd']\n", + "population, area = cities['population_total'], cities['area_total_km2']\n", + "\n", + "# Scatter the points, using size and color but no label\n", + "plt.scatter(lon, lat, label=None,\n", + " c=np.log10(population), cmap='viridis',\n", + " s=area, linewidth=0, alpha=0.5)\n", + "plt.axis(aspect='equal')\n", + "plt.xlabel('longitude')\n", + "plt.ylabel('latitude')\n", + "plt.colorbar(label='log$_{10}$(population)')\n", + "plt.clim(3, 7)\n", + "\n", + "# Here we create a legend:\n", + "# we'll plot empty lists with the desired size and label\n", + "for area in [100, 300, 500]:\n", + " plt.scatter([], [], c='k', alpha=0.3, s=area,\n", + " label=str(area) + ' km$^2$')\n", + "plt.legend(scatterpoints=1, frameon=False,\n", + " labelspacing=1, title='City Area')\n", + "plt.title('California Cities: Area and Population');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Multiple Legends\n", + "Sometimes when designing a plot you’d like to add multiple legends to the same axes. Unfortunately, Matplotlib does not make this easy: via the standard legend interface, it is only possible to create a single legend for the entire plot. If you try to create a\n", + "second legend using plt.legend() or ax.legend(), it will simply override the first one. We can work around this by creating a new legend artist from scratch, and then using the lower-level ax.add_artist() method to manually add the second artist to the plot:" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "lines = []\n", + "styles = ['-', '--', '-.', ':']\n", + "x = np.linspace(0, 10, 1000)\n", + "\n", + "for i in range(4):\n", + " lines += ax.plot(x, np.sin(x - i * np.pi / 2),\n", + " styles[i], color='black')\n", + "ax.axis('equal')\n", + "\n", + "# specify the lines and labels of the first legend\n", + "ax.legend(lines[:2], ['line A', 'line B'],\n", + " loc='upper right', frameon=False)\n", + "\n", + "# Create the second legend and add the artist manually.\n", + "from matplotlib.legend import Legend\n", + "leg = Legend(ax, lines[2:], ['line C', 'line D'],\n", + " loc='lower right', frameon=False)\n", + "ax.add_artist(leg);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Customizing Colorbars\n", + "Plot legends identify discrete labels of discrete points. For continuous labels based on the color of points, lines, or regions, a labeled colorbar can be a great tool. In Matplotlib, a colorbar is a separate axes that can provide a key for the meaning of colors in a plot. We’ll start by setting up the notebook for plotting and importing the functions we will use:" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "plt.style.use('classic')" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we have seen several times throughout this section, the simplest colorbar can be created with the plt.colorbar function" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = np.linspace(0, 10, 1000)\n", + "I = np.sin(x) * np.cos(x[:, np.newaxis])\n", + "plt.imshow(I)\n", + "plt.colorbar();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Customizing Colorbars\n", + "We can specify the colormap using the cmap argument to the plotting function that is creating the visualization " + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAARcAAAEACAYAAACZADL3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJztvW2sbWt5HTbeczYHcLD5sGV6fUF8KNfYV5Zam8gfwcLIENemVm5/QIwduUCIKrVx6yStwiWVbNrGNa6ixK5S4UQhKViurzGxAnJoqcHYFVKgNtiNHV8+bgBdjrkx14BJFSe6d589+2OvZ5+xxxrP875zrbn3mYezHmlqzjU/3s/xjmc875xzzTZNEw52sIMdbGm7cqsLcLCDHezL0w7kcrCDHexC7EAuBzvYwS7EDuRysIMd7ELsQC4HO9jBLsQO5HKwgx3sQuzSyaW19r2ttY+11h5qrd1/2fkf7GAHuxxrl/mcS2vtKoCPA/hzAK4D+E0APzhN0+9fWiEOdrCDXYpdtnL5VgAPTdP0yWmaHgPwAID7LrkMBzvYwS7BLptc7gbwGfp9fbPvYAc72JeZXTa5NLPv8P7BwQ72ZWhHl5zfdQDPpt/PAvBZPqG1diCbgx3sFto0TU4EzLbLJpffBHBPa+15AP4AwKsA/JCe9JM/+ZO4du0arl27hic84Qlba94+Ojo62xfbR0dHZ8uVK1fOtq9evYorV66crXlprZ0tAM7WADBN09ZycnKCk5MT3LhxAz/xEz+B17/+9bhx48bZcnx8fLaO5fHHHz9bu+Wxxx7bWo9s6/X82+V/48YNfP7zn8dTnvKUs983btw4VyeuY9Q52iKM26q1dtaO0abc3rFEP3Afab9F/167dg1HR0e4du0aHnzwQbzwhS/EE5/4xHPHo+/dfj7OuLl69eo5/OjC5WSs8DbjhXHDbfTGN74RP/ZjP3auLXlhvChWKsxEvwYOeHsEKw47sXzgAx9YbLBfKrlM03TcWvsRAO8BcBXAP5qm6V/umNY5oMc2DwY9zgPk5OQErbWt8wCc7de0s7z1HM5Hy5LdnZt7186RIG8DwJUrV7au0evcAIn666DJyqHXZr91n25HmWPw7mpVW1f9qtdmGIp9UcYsHZeGOxZ4zDC1Sz1GbJ82HrHLVi6YpundAN49eO7WugcI3pcN8hg4VZpZ+lm6/Fu9veajBJgR0y6mA1kJJju3IgcumwLSefDMo7vfbFlZtS5zBkWPzF0/nJyc4MqVK5YA2PFUfZSlf3Jycm6/puPO03R2tcwhXRTJXDq5LGGZIsjIKFtu3LiBq1evWo/hZC4TB4cM3/md35mGD1kZs3rtYg4gSjC6POlJT9oigRhQGbmoosvColGyYWPi0DIBwDOf+cyyDZgY+Hdsu/5xzqDnkJSEsjpN04QXv/jFVpk455JhmsuS1VnPHTFX5soR7WKrJ5eKuavOYe+j2yz7+XikqYPI5cUAedGLXnRuzkLPqcCbqRxeq2UhRS/k4eXJT34ybty4kQ5mwHvwnnJhgtE5mNjfm/Nyedx1113n6jZiFaGMkAn3EWMF2B6IDi9BLs4hcdpzyCYbB7sa99WNGzd2TsfZasmlarxqoMdEmZIJe5kASNiVK1fOHedBVHk6npzLvKDK4Ao0Lu4GsFVeZ25w8363RL2ZQJySceGAk9aOTEbVzNwwqiKZzNNX/aBEwu3DmIl92rZcpgozmVNx52TX7kIyVX/1VOWutlpyAXws6gamHo/fTr0wMHjwAzg3keiAwkShhMIk4wgnI6Cs3qOE4vZxOOQsBv80TVtrVw5WdbzOwiJVJKpS+JpMqTiS7Jlrz4pE3D4mWiUWbj8mmxHMOIcUjrCHHa3HaN213VSZ8vE7jlyAGhxZ2BHHVJEwSIJcGOy9Ad1TLxXhjHihyEPzZOsNRPW6Maeki6qWLO9opwzYDM6MTJRo9BbvaIg0SjQ9dRL10L5TvFQDLlPBWVkqvFT4GVUxmidbdteQndAdSS5qOhBjiVCIQdIDis6zZOe5/CoPNAKeEfBX3igbhJXkVfK5evXqVv04j2yuSMui6WYEE4TC52YExH2wxK3pEdUySixBzpWyUhKrCMbhKHOkrj4V0WT9lPXdkrZKcqnUSgaKq1evnuukGBxLAMWViYGiD6BVRFOpnQwYPVO1ovt0gDPoM68WbdcD7q7KhUMkzVvTc+TV658efqKvdF6lRy6BF3VIzjK8VEsPH5rmLubadl8Cd7ZKclFzasWxuyqWuBvi0gtCigE0Bygj6kUJxkldTdf9dtZTK0EgrORiibZh5ZKlz+0cZXPnujI4xcLKhY9lYVLVJ7uGRi4MYnLhurg0HbGMYiZwweXIHFGPfObgRfvJ9Rdwh92KZnYeGdzOA8XttWjAuJYbMkhmV+WSydoR8Diy5DzVuGyZWlHVEh6aCeX4+Ni2OZMtr3vl6YVFTCC8nSmsTLGMkkps64B0gz3SDqxo2zgntiu5OGzoawA9xevGgtbd9RH3k7ate95rX1stuegg65FKLMC2Z8/SicHD5uRhlEWJLiuDA0qPZFz5tB2CKKKOXFenUmI5OjrC8fHxuXNYtbTWcHx8vAVC9tQVcLMlSNsRS5SZ3/lScmei0Tpz/tpPI6qFFZx73icIxuGFccM3BCrMKMkpuWjZjo+Ph8MjdsKKGW6zyhGNEPdcWy25AOPPC/AADuXiHgjKyIWVTsbeWhanXELyMrH0vFG2cJ7OKs+uSkAJRT1zgCrawRF7VR4FJ5NHpl6YVLIQqhoA2WDuYSRTuYqXK1eu4Pj4eOtuW1wT7R3XZ5gZdYyqXhy2HNZ6SpfbasQRLWmrJJdMtUSDcCO7eZYsvUgjAMPeq/KOmUesQiPnlTL14p516AFFf1dhiZtbCaXCA0QHHteZPaOahiwa3iiJ6NxLNiczQiqun7WvXGgRjih7KlXT4sGoDknLpWTs8OLmXhyBOFw4PPJvZ1rWzBEtaaskF2DsSUoHEge+uCYaMDyQTnLy9aNyu+eJKvXCJJIBxYGFPY+up2k6IxMGjEuLCYOJwYVqPXKJNJQYODRqrZ39DUZPvSjoXb+6wVA5AibRuL4XQnMZ4l20uUpKy+AwrOsRp+TULptrs0zt3lHkEpZ5HiYFjiPVE52cnODo6ChVQNGgGjtn5OIGXaZenNzdFShsLlTQECgGRhDNyJ2hWHNsvjS5uPkXneB1E7v8O5sXy8g/iEFVh2KF+5nDIVYt0U5Rby4Hqz1Ok9syw0uGGTf34pRMhR/FNGOF63nHkIs2kguLAnhulj+ujdhZvaOGRExQvTJVodGI3O0BxdU/TMEcdeA7QhVYor00JGJyyUg0MxcWOcnt5lWykMmFRZXKcH3k1N1IKBTXclkiDS5DDzOZelEV48KhIJY4NwuR1Dm5Nok+YcfDcy8cni5pqyQXZVTtHI15GXA6y595oAq0WWjF6SpYArBOyo6omAwoDBIXM8dvDoWing4sSk4M6opcom5qqlpiX0YuUVYlF1Yw7jrNo9dHjli07VSd8vNBPAi5TK7tR/AS7edCJKdegliqGwKx1vyyPlelGw5Jn9ReylZJLsB254S3jU53QI9rdJbfSeoKLFWZGCxBKJXczbyPO98RmJqSQwAj2mPEA7HX4qdUIw3e5vJU6fE6C2dUlSi5qHrhPuIQZA75s0NitaHXRfs7Z+RCoUxF9crEbdwLj1T5Ovy4cIjryOqESYWxU+FtH1stuQB+kjMaKjufr3OA7qmWsPCWGYk59ZKBxSmYLDxyoZF2OpMsg36UVJioA3xaDyXwSknxtiPsbD6lFyb15mFceMSLe37F9SX3d+aMdL7GpZVhRvszC22qW9DspEawo/3uVO5FkUrYasnFsTKDBchfFgvvEzKfpW1GMJxea+fjcm58Vy4HGgeczDtVKsaZlp0HhitzXKMePNqU52m4LE4u98gFQErkjlgykskcQmWZF6+uVXWrJDY695Nhpqeoog8y58TPvfSUS2WZQ2KFtrStllyAbTkZLyf2gMJg0dgbyKVtRVqahytfRjKZZ1L5m8ncsEwpOCDHOUEkmbdjgEUbOwXl2sKVR9tU1YYOXBciZQOc01fjEEaVV3WN1jfS0XzdKyIZubq+cMQS+zMH0wuZRkjGlTkIPBwLP8G9pK2WXLhTglAYLHqugqPyPm6CEDj/3ETs185ycxEVyYyAhknHeV41rgcPKq0bn8u/ORTieaOM3FwZ1LRNHXm7iVE3gcvhkB53zoBVavwOzHAd2YJYAZw9v5KFQlk4pIPRYSYLLSuHxGqmRzaj6sVhgM8/Ojoa6uc5tlpyAfxEmDvGSwCKPVAvFMoUiyuPrrMlOh/AOSD01IwjGAaBTtBFuXmg8EDnc938irsrx15V889M21DJxvWFUzCqZuI3p8X1dX2k9Yh5Jnc80mdyHgmFlsaM9ksWKjuV6zDj+ifalOfc9PiStkpyUc8zSjIcAimgAT/Z2JO3mpeuK2/UA06mWEY9UY9QHLFwGFSRiatrVZZs7dp+V6LpDYAKK0EwPUekbVYpQF5n5dHtish3IRrFTvzmMqtDcqTCGFrKVkkuYa4TuDMdQBw4uAEVJGGZxI182Cqp2/NMQSqRjgNPRqSOFNkbsdRV+a5zEg7UjlTmSOUqJKtI3s1tVASk9eN+cXjg9ovzIh/niHpqheuqaXPbcbnYnFOqlIjDRUYuWRm4P7jsjJc7KixiD8zEAdwkFpa0/Ih3DyQOMCOyMPPoPcD0VI07zumzqTqLwRJpxADjMIjbLSMTNwiyMqhl7TgyF5OpGiAnG80nczTcBowVxo8qljlqpYeZSr3wdoYXPaeap+n1DeMl2jCww2NrKVsluTCbsgd1HR8g4d9xHPD/zq7KxTVq5Yl4X0UylTrogSrzIlwvnlOIa3mA6TEH3F5dnDFZZeWrBmRv/qtyEHyeK48jlgwrSiqufFkdtP6jeOHtitxHcZKRkZZLHZIbY0vbKsmFjVlWvc6Ip9FnY2K/s5GYMxv0PbIZ+V15LFd2BoymwUrFgbZX5pE6s2VhQrV2A5qPOYWTGQ8WRyxZ2lqWuN6VuVdnZ1XbZSTD+yqc8H5HLGysWlgVxvV692gJWyW56GBSL5x5lVFPM0fWjpRRf48MXrfPqQm2TJkBOAcaTZ//wlDXI+Cfa73BuAvx6H49h8urmJmDlbkqZY5lmOlhp9qXOY6svBw+x7GeUt3VVkkuYeqF3UBw8XcPDD1wuOO9hh8hG9129empCFeXIBA+v6ewemXuXZuVp3d8pC/c80bV4I+yqcRnkqnSrrazMvaO74MX/V31aUVMUTYeQ7GPHVHYHTOh6zrHDTT3gNSunuWirALaSD3VeIApcOL66jmQni3lwUb6ITtn7n7g/OBycwkZXkbLepmW9cHc/cA2XngfX39H3Iqe61FH07kVthRodxlsc9O6TFuyb3Yh6NF0boVdJGYus+9XSS5ho6GG+72rxBvxAHOteiZCf4/OB+06h+S80z4KA9hdDfX6aJcQbvSapfBSlWUpvGhao/jZ5folbbXkUk1ojTyPUe3Lfs+10U7u3X3geSMX5rh0XVrZhGnvupHfc23OhLfbp32tE48a9vQm0XuYGZkjc7/n2kjfxh1O3jeCmR5+3CS4m7NcylZJLkosPLvN+/Ucvja785JNlI6CZs7AD6vudsQ8QOznO2IuLU0nruH0srxcGSsiyvLPLGvTkXW2zSSifeoIhq/tvdbgzs3KXtWvZ7tipupLfbUhy9P1ffVaw5K2SnIBPLHwvuq4nhu/gdyDVftGY9eMRHoPavHCt1A1LwVC72nkjHBGVM9ovUcUSu91Cf2dLe4pbbU5eKnKoWlVdXb7Rtquel1CMVP1NT8LlpHEKGaWtNWTS/bI/D6EE9u8Ho25e7dJK0/BS3je7D2beCw7yph5tioNB5wRlcNr3c6sF6JUarTqQ/2t7wvp9brPvauVYSpLz+Em0hmxked7ekTCGNB3rZRgOG3e1je+syell7KdyaW19mwAbwPwHwA4AfAPpmn6mdbaMwD8IoDnAvg0gL8wTdMX22nJfwbAywH8CYDXTNP0EZe2DngFiq6nqf+/JD2J7PKX+m5tu8EJbIODO16BwSTDj60roFzenE62Bs7/0dGIunFr3c7aqkco2eL+jzjaTomF3xfSvN27N9WLou66jGy0flkbuLaqiNzhhc/Tf1HkssW+qJ/+1akjFkdOjJelbB/lcgzgv5mm6SOtta8E8OHW2q8CeA2A903T9KbW2v0A7gfwegDfB+CezfJtAN68WVtTYJ6cnJwDyQhwMiDH+S6vyrKBNgIOfkw/I5VIi8voPIoDiYIn8s3A1FM2XMc5yoXXboC6QTxN2y9ZMnno4/yxn7cdWTBOeF0RUM85cR1125lrw97LnDroGSvRVq21sz+50vZw/eXycDha0nYml2maHgHwyGb7/2utPQjgbgD3AXjJ5rS3Avh1nJLLfQDeNp22xAdba09rrd21SafKZ4sUdHHkk3koRzQKnsp6k7PO2yg4HAjUIzlP4vJjYnFkM+KtRlWMbrtB1lMrjlyUVCIPTt+9J+TM5RV5ZP9V68rmnBOnH2UasR6ZcH+zOgPOOwiuY/RtYD6wpU7M9blio7Wbf8y1pC0y59Jaey6AbwbwIQDPDMKYpumR1trXbk67G8Bn6LLrm31b5OKA4ZbsrwDDE2VAizyc3NVtquPWWvdlhBJgifz5+zhsOmHJ5dSyZN7O/Q+tks4IyWgduZ7aV66sFbG4UIfJI/pI/8BIB0z2h9jc/xlW9I+6nMpR1ZJhpsKLw4wSSkUAUWd+yVDT43JV/ZWpF16WtL3JpbX2FAD/BMBfnabp3xRexR2wmvI3fuM3zhrr7rvvxt13370FjBHQOLC4CT6gHxpl8pY7K/M4ARImlKwj3R9ks6kXZMJwn+WYQzIZ8LXeapVXd22vAzrz5gDOvdXOg82VyZEBY6L35css1HZEo/V2NoIZpyyZeN2gD2LtET8fc6QCAA899BA+8YlPdBXhLrYXubTWnoBTYvn5aZp+ebP7D9sm3Gmt3QXgc5v91wE8my5/FoDPunS/67u+q/tVQiUZRzqAn5/JJHuc74wHdawz9aBxMi9MHtSOZ2DhuZcoj4Kr54H4Ex0jagaoJ3253s4qtZKFKC7M6eWRnavqSUNlJRb+fhSrnErNOKzMwQyXm0PeKkSJMhwdbQ9TncfLVHiY69erV6/iG77hG3Dvvfee5fmud70r7YO5ts/dogbgLQAenKbp79ChdwF4NYA3bdbvpP0/0lp7AKcTuV+akvkW11gZQE5Ozn/6sueVeuHRrkDRbQWI+9sDasutkCiTuY7MonyOWI6OjqyaUVJyddCB7Aa/CxEyUok+4lAo+pKJVXHAyi/zsEwC/Du2HbHEOlO/mdLdFTOqCjlk5n7QuscXRBUznDaH3mqVI1LMLGn7KJcXAfhhAL/bWvudzb6/iVNSeXtr7XUAHgbwys2xd+P0NvRDOL0V/dqRTBw5MBiOj49nkYwDfg8kbBouZKFGDIT4Hg/Q9ygMkCws0muzECiIxX1orFIx2UCI/NSYVNzgU7USA6r3gTtNJ1NU1TWZss0+kapfNXQqhvMYxQv3M7B9a1mXIJVqwMf1PcWi5zvFxPhY0va5W/QB+HkUAHipOX8C8FdmpL8FXN5348aNc2BwJKPgUQ/K+TivCdRPVTq1wttMKqxcwnRwMVhC7XBZ+Dx3LYNFFQuHSBkZKUlmgz/KqW2lpKKhqYZDx8fHNn1Hsu4fBR1mHHaqby/3PrGrKmZXzHDZOdTVvohwp0cq3I6sWBQ76hwYs45glrTVPqELePmpZBEkkwFHPScvnAcDJVMYYVkYwWol0lFSyYiBB1EAL/NEmcxVJRNE4j74rqDOiGVEXWhfaTiTDdrWtj+BGm0Wv2MQ8Sd6K9WiYUz0q2JH5/TcOvqjCpF6/cSYiX5VlRIqM9J3g7wiFV1GMeOIZklbJblwvOwaL5tLGfVIzquG9aQl0CcXJZWqw8OLOVIZBUsmr5lglGyi3JWK6YUgbFU/RSgUSqUiK00rrnWEXJVFiYC3mVgyzDC5AOdvDOxKLlVf6edUNU1uu4xYMsWj7aXY1Y/PLWWrJJcwjXcVLOyFVL0EUNw8zAi5OImbkQuTAnvd2M/pa9zLBKPhgLNM+TgvxLfDKxXjFIzW0xGCI0F9jF9DoegjTYvrzoonyhNtmKkn57kVI5mCDbzMmbNj5avt4dqKcRKhTy8s0T7W9uDJcb02U99Opd6RYRGwPWGooFDCqLwSy1weBNnDWGEKlswLxXXcUcfHx2eSN8IABkuAw80zVCoqjEHCv1W5jJLLnNDIqcuMGDgU0v6dpunsY+icRpRF0+K2577TNCvFqzhxofVFkUso3N78SphiJ7CifaDlcX2oi2JgSVstuWinOaCoZ6ok7i5gYRv1QvGb7fj4+CwN9kDheSKU4jq5duA0NCTLyEIfrJsz/zIaGrm+YVLphUJKTEoiu5ZDw2XnoELd9kKjXUJpJnxuFw2fwxQ3kUaQCqfD2B1xRj2SuaPIBagfJ6/mUhQgVWjkOieTlLE4oDBIrl69ekYoYey51RNHOpx3j/BGweJIxs3FZMolAFcNau4fJhZHCKp8YoDFWsOFnnritLitmay5PZ16URJShxR9OWdQc1lVbelAjn6OuRfuX3VE+pzQKHZ52+HjjiIXJRX1PHHMeSAmGSYW3tZ0HVCCOIDt+JeJwQGFFQyDJAuBuBxcfzYd6C5cq8KcTL30yMURhFOWGbHEEgOHSYXbMEIEHYyjBONw40IiHphBJqpeMoeUERevFSvOMTE+glSOjo7OMBJtxX3nHFFVDraqTHesctH1KFhYCo+ApfIArmNY2rLKYO8T1yhYsnJnBMeWgSSbB3JKJQuTlIh0YHP+rl8Y+I4QYl6Fr4l9TDCVatEy8LYONMVKhhvFDuOGVY4jl1G8MG5iEDOpANvhsyrkyhFlKpfbx7Upk0pPnc61VZML4F8ec2pGn2nJ1EsGrF3IhQeT8z58TS9e5jwzqa3l0fQ1jMnCpJHJXacaNO9MJWgowBbhI79jVSmtjGC0LGzcfkw42u4aImVzLz1nMIIXxoD2r+LGYWcXR6QYqcq3qid0L9Jcw/F+blwFj8bT6oUULFlnOYkL3GR/HhhxvoZCDBb2QFXsHtePmBv4Trn0Hv3vvdg4GhZF+TMy0Lr2lIqrnyuPy4P7UPPNCEPVS4WZyjlk5MJ40X50IXSG9yBmJbg5eOmFvkvYKslFzTVy5oFGwFJ5oshPTcOhDCTRQQqWjGQykPZAo4CoBqYLd3okM6IctKysWnrnMalwSDl3joXTZnNty6pA+0SdEe+fE8YyFmIddXJl1f5TjDAhstrLiLOyzBlxOZe024pceLsilixGzo73gAL4OQQHFCaXzPvMUStanmyQO6/kJmdHSEbPC3Pgi3rGtms/V+cYPExsqnqcZx3xrooVdRzZEnWoHl2owtqsT7S+cYzPqZxRqBXN25nDkmu3rH2XtFWTS68R9bgDivM4jnDmSlzep6FQ7Lty5eaf+rTWrPfZxQOFZeAYUS+OhKqwSNsiyswelttN+1EVWyiWTG1pPbTemWVtV5GKcwAZTipyqTCj5XbnqFrJCDArd68NNL+s3ZeyVZNL2Ej4oOdUsrgnc9kYMNoJLOmDUBzBaF0ygLLXqdRM5Ke/WWk4zxRlzggmI6FqkE/TdK6uWuc4HhO5fJ5rVy4zP32r+buBUDkaxUVP8Y5gJnMGDjPR9pwut5sScOaIHL5d/V076fYdSy4BPm28TGX0gOLIJ4uftZN4EAXwefAzsYx4nsocWHggqlWSl7cdkVRkUs1/aHlZwUR5nTcGzv9PsKoXLa/Ld2QAZCSj7anHeZ8jEVU2TrVk5VRnwZjhNuA5FyWzfazXhncUuahljasePzvu1m6fyyuIJYw9DHuhHrHs44HYMpndCy2cOnDb1XU9Y/XEhMxE01Mru5JK9I3bVnOqpiKRyhG5/lJnpPk4zLiycV0qQhsln337d46tmlwqQmHvovtdx88Z8Jxe1uAjaaiS0jrt643CsjLqfImSB+/n7eq2cJzHZQ+PG3lWIc/I/qxujlTDnEPg7UzxZoN6rpOIa1zZ1BnNwV9VL/e7sqXJo2erJhe1qiF7RKS/eyAZTbcCoxoTTJbHLh6I92WDVq91ymBE7Wj+Ueb4zdtVOnOUyT6Douo/wE/6Kw5GCKfKz6laTS9L36WZ4SuzXvvdkcqlspFBn3ValZY7x3nqXlmy8mVSfV8VkwEjIx/9Hfuq8KjKh/OYpmlrXmqk7EvJ9FFHU/VFRgCcfkUAjnx7hDGnLlqOXeyilcyyT81coFXeoWrkucqjl3fv+n1J4lZaFZK433PS3TetJQfCrn00R92OqmG9VsPoueXr2aiTWMJuG3JZ0nYJr+aecyfZyDzJyHV3mu0zf3I72B1JLg7Ucxj9Th8UatUgGQ1Rbhcb7ftdcLQvruZcfxltf9uQS+UNK2Kozh2dVMzuWFRzE7ej9Tzprp52lEj2VZSjtk9419vW87OJ9+xafkJ6n7JmdpmEfttO6PY6dM6k5KiXGb2+Ipns5bB9QVTF/fq7mujm5y/cRHZ250KX6vmdntLZd/5qZLADdV9kk8uxHe0TZR4JDSuy2aX/950/uWiiWTW5zCGBbNKwBxIGSJVHdX2Wvpp7NF/PHQVKNlGY3d2oSIb38V2NUbVR5av5ZxPoF6VaempU36cKcuXzuJ+ijXr9NIKTETxpHXZRyL32u6ibEasml8yicVk+6rG5nauPqWd5Rr4j6SpwI52lLSuze24jUxe636mULG9d3H8T77NoPV25uB/5d2y7N6t1kPb6khXKkuQygs+RfHo2SuZL2W1DLllDZyQDnH+PRYHC5t770HCAwctgHSWaCrQO5JWNqJaMULIwiBVLbGcvIbpyZPlm7+NkZenVeY5V/0/i+iF7J0pxkz1xy2lrHg4nc/5KQt/14nzm2AhmlrLVkkvm6avBrEqBgeE8kAMSA4rNgcK96KcqpfJCWd30OL+boqagqNQKvxSXKRYtj5KzlqFSQ/oGck85ufRW954BAAAgAElEQVQy9VJZpUa4Pd357hrFjHtxVcvFBOD+2kJx4zDkzq/qWpkjFf19x5ALW/Z2buYJNH7WwaTg4oHlgJLllQFAj2tdMgLS8yrLAMLbOpDdy5auTZVoKnArMSmZVC+LZmWtVA7n6/rI9Rf/5r+FcIv+NYTDjCt75jgycskwkznNbJ/W1/VP1mYOM0vaqsmlYmttXD4WFmAJcGQNGOCoGLxHLpkXaq2d+zPsTM1UCkfLqr8ztdKbU4k24S8hujW/lKim70upWlGiyY47FTPaBq6f2EZCEnZIcQ3jxuWvba7liHVGLs4J9fDhzukpMS17tSxpqyaXsF7Duq8eRkM59aJpZ/Kcz+G8HTD0y4YVWDKPVdWbrSIURyS6sAfnbU7flV8/x+ryrsijIpPqLw3mEE+FG6B+U1zVS0Yc4Yz0TfdYV1h1mGEcZ3+WHulVKjLqoNYjFG77JW2V5FJJWucRtON40PA3mx3Dx7nV/7lomSpvNAIWV/7MS43aSFjB76w4We3S7CmqEUIb/U/aKhSqiKXCivaZC4nYGfE5Wf9HOVtrKWZGHJIjGT2HseTIpdc/mfXCziVsleTiLPP0mYpg5cIkw+kxsVRA0fx7nqgCizvuCHPEqoHN2/xN6qir/oVkpHdycvPTFSy5K3Lha3Xd+/KCA7n+uTr3xxwV4zAyxxllaQZWeuUYcUZMGuqMNI0MK7vgRX+zc13KVk8umYxlYHB8nIGFjdNhD7QvuShAjo6O7MfGnHd1HsmZgnkkHOI2ySZy2XPH4Ob2ycqkQM3ILdb6HWa3VPXqWaZW+JgO9FFn5PCSlavCbOQfxBI4YaLJlK9TZVrGCjO6rX21pK2aXBTU1eDWORfAex8dYCPkUuXPIHFfMMxIqALKHJJxg9rtj/kSViycFm9zu7DqqYDrJnY1NFJS6RFNFSK5sgcxur7SiX3+zWotc0axduQyghnub+D007Y99dLDjqqYDCdh3EfcvuyAlrS9yaW1dhXAbwH4g2mavr+19jwADwB4BoCPAPjhaZoea609EcDbALwQwOcB/MA0TZ8u0j1bswfKGlvBUqkWXgPnn86tJC6Xp+r4TL2MgEXLxeYmEJ0n0snbTLWE6fXRHkrAmTlC07Jk6iXCoN5Erw7iajBn/aU4YtJx7R3Xc/vxQKyUrssbwDlH5BwSEw0TkKsbY8cd1z5yfcWLczz72BLK5UcBPAjgqza/fwrA352m6YHW2s8CeB2AN2/WX5ym6U+31l61Oe8HqoS1cyrlEgNgVLXEGrj5Bz1hGXCB87c1eZslLpMMg1glLqetXkjlrpYtG4AVuSh4lFSifPHbDY6sLNGOjmD0g+5KNG5iN1Mvrn+0nXqOiNULgHNOiD8GH2Xkfokyqaefg5lRh8TnqyJ2jzVovly2DDcaPi9pe5FLa+1ZAP4TAD8B4K+305p9N4Af2pzyVgBvxCm53LfZBoB3APh7rbU2JUjRRnLyMiR7gOXo6OgcqShQMum9K1AAWBAoyfC2AkplsZJKLxTh7WgPJZfMIzHgAljxvRwtT1UWLlOmXJyCcft7YVFGLNpmPWcUZOr6+/j4eKve4dlZ5V6kQ1LCycJoRzCZZe3JfbCk7atcfhrA3wDwlZvfXw3gj6dpihF+HcDdm+27AXwGAKZpOm6tfWlz/h9VGagEZNnOnicLhdT7xJq90BygRH4ZuTiS4YfosgneKjyqzAEl6ubmH9y1zqvvSi6ZenHEwiFSdVfJpa19pvVUUlEHwOV24bOqPg4NlyYXJRl96NKFTJXyzbDhsBJzcazkl7KdyaW19v0APjdN04dbay+J3ebUaeCYS3+LTLhheb9TLZoWAyQbCOcKRmCplEslvTWWrs7lclYEUwGF1Rynwe2iaoW/6sdzEdHGldx2aVZhWtyFUnI5Pj7eIhYlpyok0rZyTsRN4Lp0Yu0IbpRctK0ychnBi7vjGGlkijfrL21TVWGrIRcALwLw51trLwfwJJzOufw0gKe11o426uVZAD67Of86gGcDuN5aOwLwVABfcAl/4AMfOOvUr/u6r8Ndd921FQo5cAA3JS2zsfNCOgiA/idUgZpc2CNlcXJ2N6AKjdQ0hma1EmGQDrggGBfGOKDOkdzahs47ujApiCULoRzRVOGRkooOot4doVB6GlqOkEtlo+SiIVJsZ+e69HoOKfoo6vjRj34UH//4x9Nr97GdyWWapjcAeAMAbJTLfztN019srf0SgFfg9I7RqwG8c3PJuza///nm+K9NSQD94he/GMfHx1uyOQbBJv8tEMex6PRodJ2LUHCMgkUVBoCtQTlHwehrAkpcvQEdZMLEwnVWOz4+PufBq1AoIxaV3bzt+mQkPGIVw/tV/VTqhfso6sIkE0u0d2bshLhtHbkAfYfknJGSCzukjGQUZ4od7ZswVm3aN601vOAFL8C99957ls873vGOsj5z7CKec3k9gAdaa38LwG8DeMtm/1sA/Fxr7SGcKpZXVYnoINuHVHgOIho6ABtpxjoDiyMWHYhV2DOHZCItbouwbBCPqAynWsKLVR5QQezS1BChIhdVL7yOEElVA6fL+bK5NmCCqBSvC4ViYeWjDknrzlZhJo4pqWQkE9t6l8g5JCXQTOkqfkaV2KgtQi7TNP06gF/fbH8SwLeac/49gFfOSZc9TwaWo6MjSyqxHTF+AKtSLrFdlUe9hBuYqmLUE2m4pKHRnFDEhUU9aazyWte66AuLLm3NI1Mw2RLKhUMpnaupQiI1JhIOhfTailRc2XUy2KXJace6ckg9xasko2H1iNKNcuoUwei1u9gqn9DVSsfCXie2VbLHwgBhaauxOzCPXDQfLqubt8g8U/bMi/N2YVm5e96Hve5I7J4pgMxGyUVDHKdg3AL4F+3YNLTTbS5nhplIh8sY4aXLu0d02nbaro7cR9Vv5sR6jkXxcpG2SnIJ0053MTM/l+HUTQBEVYuql7ARsER5ssHoOr0CS+WNtL5RxlFS0fAxC4U0X66j1t3lE+sqPHJKgFVJ71UATsf1i+sH4OYEptaDPTiHz4ydbL5C6+5M26yHGe2TuY6p6iuHGX1EY2m7LciFO92dk03AsXJx4HCKpSdxuVy8Pwst5oDGSWe1qGuPIHVRb94LhbSe2gacl26PKJgAtiMQJR4+HnnwXIz2k6qXq1evnoXGbE6lOKw4wtT6OsuUS+SdkeHI6yJZHzrL+uLKlStbymxJWyW5MElwo2fnOhJyk1YZ+GMfGwOK8+9J3ThfFQyw/cBd7FOiqQZ4WE+B6TnRHkFMcX6PXHit29pmLmTISN3NaSi5KCFpn7H11Evky8ciHcULE4rDicOMtn+Gmaxvud+zcCkjmx5GeNuVkwlmSVslubBlQGGAKLGwZ8y8KLANiJHGnSN1+XimaByYKrCwalEC1MHLg4XJmvPi2JvLzL9HZLMOOOftMxVTKRqnXLJ+0jqyYtG6OkfkCGVfzDi8xP4KM4yFTNFEOj0VEyGxc7hcxsqJ72KrJRdldw2NYqBxmBDXaCPG+Qwetw6rPKOWTY/1yMbdSuT9LjxS40GiIJmmaUuh6KCryueUi2uDrK0yD99b3MRtpW40b1YijJcgmKgX44X7rCqT1kvzzghmBDM9slGSydRNzxG4ccDXVKS9q62SXHiQuDCHBw43TBxnLwR4oPMxXo+UTbergbmPsumpF+A80cS1Kv+ZWLRMWbldPXuWDUBHMpmyycIgnXNxxMKkEvVkJ8ST2oyXXplcXXS7sgwzbjvKPcdBOaLiMkb9dTxpu90R5AKcH5yqRGJhkgnLiKSS7WrayL3B5cKIuYSj5/LvTL2wjFUCqZSJC4W0Lu7YiHLhfVkIUakaty8jgKxsOnh0AI0QyRy8uHaYg5nMSc0hnN7cixKMphHnLGmrJxfgZkeopA0QsDeK/XE+W+V1dvFC+tt1DiuQOV7LmXprnZSt0h5VJyOEklnVpj014/Y5Ke+Ou/LqINL0OLzm9a3GzFxHFddUjijK6TCT4XAJWyW5KJPGb346kr0vkINgCXBU5az2jQxeIJ9AnUsyLq0svQrgS4BshGh42+2rlI+aKzPjZTS9XtizNGay33MJKLuWFT6n18PMErZKcgHyRo9GUs8TlnV+T9YuaW7WvUdEI7+BvL5x7twHo0bvEFTpjQ640T7o9WmWHzslxQuAdF7B7bvVeAHG8NBTzoBvPz6393rHrrZacgm7CK/65WBLqbCl/33sVtsBL7ntMhm9j62SXHpsvBSA9r2vv6t3G/GeI+SxyznZPrYlvHavbUf6dXTfLgrwdsfMRWFoSVsluQBj8w/Vw177zCmMhCPVsTnzP/rMwShAqnmL7GndOelnNueuyC7zC2HV3NFoer25itHtrIy9Y0tiRueOsvnG6ne2jjSXtlWSSzaDPXpXpFrrtvs9YnMHfXZHRB/2q4iBf1d3Utw5cwgo+z1iI23buyMSeWvf9/LRNLLbvaNYGSWeURslkAwrsc1t5IiGJ3A1Ddf/vH9JWyW5AOdB0Hv/pdoXv3kd1gOssx7bV4Pb/dZFn9HQtHnpPWKfneO2R+o2x6o7GqzWnPNw/ce3UNkyMqueC6lwkjk2rVeWv5r2Ye+OVYUTty9wok9tax6KB4eVpW3V5ALk/z/aW/jaSG/EQ2kZenFqBYqRwR/nKWB0Bj8DqUun945MRThZ/bT+VZtl6x6RcLru3ZogGfcskPZ7hpXKUWm+mm5PvWSDm/f1yKTXd1l/jjgl94qFw8RStkpyUYD13qmYQz6R/ihg2DJSiXXlZdybttHJMWi4k/UVBs7Xkdg0nX9ZUwGUPVbP52d1021nFWG792f0iWJ9pN1dy6TCRKTnV7jRdDISy3Cj+e2KmQw32aDPXvSsHuvnPLN0Rl4I3dVWSS5sSh4MnABDBqgeycS1kY/mC9TzEHOUScytMIkwqUR6DJDYdqpFAeJe7lNAjSib2J95Mi5LNrCcYsxUJb9kyf06TeffEdMBFA/IZQrJOaNR0qmIJcri6t/DTPWUcaYm9Nkcxo3iJbPMGTncLGmrJhdHLI5gFDTOG1XxvFurVR7IeZqMWHgg8T/khekj61oGJQAHFve3BbyPy+v+LEi3tf6un3Tttrmvol30C49Rj/gbUyWYaDsmljDtd8VHa/4f/xxuNL2KbEYxk+GGyZL7kp1LtJmm6/DSw486JcbJkrZKcnFeRIEy8l+i7rcDSY9YwtyAq9SKUyo8MBgwmk+vXEwOSizuN5clIxolR7eu+kzbU9ub24D7LurLfcoP96ncz8qSqdRRxzQ6v6f1rSwjbIcV7RtVJrG4f9Vj5ZeF3xmp8LKkrZJcwrKOrr5e2PNODiiZzHWmIUMGElUTXJfq282ufGzsYVhSM5GM/heti7mdXJ9j1aDkvmDvzCFu5K2DJ67hcuk5wHnMzF1GHVKUJ/KrTNux54xcKOjy57/k5DatVJTre8bO2r4VfWGWgdN97yf7PccjRZ6cf5iTtxqehLTVzguAqHdQsHD4xHG2IyP1Qqxg9JMcmZqJPB0hZiGStoW2V3hVbdfqqwgaFlSqRMNKDgMyzCjZVN8JctiJPpiDGddeFaG4Qc8kkxGGEkxFdErMiofAyJK2WnIJU3AoyehHvHteyZEM58P5AuNA0bCDScV5Hk1f/zHNgSUri/NG7quG/OlUJSclFvW0rgyOXML47g8rFPWy8YE4TZvTzVQVW6StmHHOqHJQzildBLlkKtLlE1/K1PQjrR5m3OK+C3VHKxeVu0os2acXMhVTyV1nvXBIpW2QjH67mUGSga/yRBVQlVgcyVTxNqcVefE66yteq5zXvnChj6bPxMT9lIVDeh2Xyanb6sN0I6o3rCpLtKfrsypE4X6MvBzZx7WsdHtlcdcHscT3xJey1ZILUN8tio6OT1yOeKTKG3F+zioPxPKeJS0PDvdQHKeZkV3mjZznq7693CMZJ9O1nNn8i6oG4HwopHMr3EeOvLRPnGJxCkbxkmGAP6dbOaSRkJrrPAczleLkNDltxlpghomFy+kcYaRRYWBJWy256IDPlIsCpqdeXPxfhS1AfpdIByMvkd7Ip1AZMG7OQs/n7VGSUXLhNeBvW48QS5h6dQZ/7Oe+ibSrz6yqcgmVkIVPfF1sZ+rVYaanerUcFcFkxKJqwTmWqLdLS9PMwu4wp5xivyOZJW2V5KKdp54jA4j70Lt+0bAXR+/jhTJZm03IMrEESOK3A60rA4CtfAO4umRzMe5azmcEdEouOs/CpBOkUimPjFSqMM1hhfGiWKkcUoaXTPFmmOE+coqXw2enXNj064+RxqhDUuxGuRgjS9oqyQXIXypzBMP7eoDhazl9F0+zaZzK2wqUTAFxWkouHEr1gNLzihl5BIBiYtedsxS5uG9THx8fn20D22qI+1rJVkMCvU7bPCMYFyJloVKGMa5v1sfRfrFWlRv9rQShbaH97HCiYZArkzrBbHtJWy25sKm3cB0fcy89j+Ri6V2VCw8AFwrpBJl6bQeWAFrPKmLREImX4+Pjs3OYZHTNeexCLhwW6WAGgOPjYxwdHdl2c4Qd2zxQ1Vxf9kIi3dabA+76fZWLhs5VaKVhc5ShckhViBZr53juGHKpgJKplypM4uv09y7kot5H04gBGgTDpMLXavmjg6vyuHkWjeUdeIJYOExyJOM8bc9UJQS5hIIJUmFj8lUFyQTD7a/toKZKl9Ot8MIOasQhjSoXF/4ybjikcU7FOaM5KjcrTxbaL2mrJBcHEO1MRxYOEJWCUelcgUU7hMnBzbOwxeCN6wIsGUiczOVy6DojGvVKrGYcyegC+Fugrq9UfXH4E2tOj3+ramFPrXMErgxaFu3T6q6RU75xrLWbjzlkyqU3sN0cCbdVlDtTLfyCprarw22FXS2PI5klbZXkouZIxgGEyaaa5HXkAmx/M6i1+tV1Rw5qARDeVrBk5KbpaedXQMmkr1Mv/IRmpl54UEf5Xf9Em7EqC/UC4Nw2k0q0Pz8bNIdkXNs55+EUr3vWJVO9ql40T20nJufMmbC6VVJRh8SE6UiqMueInENZylZLLtlg6wGGn9RVYhlRLq6jGNABeC1nRSxO7TDQnCcakdyx7gGGSSUIpDexq8TiBrVTmDHAtJ2uXLmyNQelISATNoeQvNYy9MoTv7OwSB1V9QwMD+xePzFJcB1cHx8dHZ1rGw2lKnJTYtaycJsxeWROaElbLbmE6eBXQGRLRiyjt6TZnKRkL9U7n8MgJRiuV4Av0hyRuDzoMoJhELFiYWJRgsmUyyi5RH2jXEdHR2cEEteEaslUl8u7Cou03Vz/VjhhTDhnpKQ0Qi5xzCkXNqdulVwYOw4nFWa0XFl7L2mrJ5ewDMg9kqnkrwNKT7mwB4qBEv9JohbgcBO3MfBGyM2ZC1WciuGQR4mjevZlV3JxoczVq1e3Jm9VtTDBZqoJ2H6EPTPXpq6NR0KkUCvOKXFe3BfcJ0EuGbG4PlR164hS61mZc5Dax6tSLq21pwH4hwC+CcAE4C8B+BiAXwTwXACfBvAXpmn6Yjut/c8AeDmAPwHwmmmaPpKka5dsIGpD99RNT704U9WiEjdeLuNz2fOwx3Fqped9KlN5C2DLE1UTvE65ONC5Aa0qgRULnxN11X7KPKkjt4pQRsjEhUEZPljJZE/tzsGMOiR3rqraKr+oh763NmqubdemXH4GwP85TdMrWmvXAHwFgL8J4H3TNL2ptXY/gPsBvB7A9wG4Z7N8G4A3b9ZD5lSFytg5KiYjlzAeIByuZEC5evXq1iSkgsXF3BVIM9BUA88N0CpEcnMt2bxLpM/l43IyoWZExF482qYXCo2qFZcf59tzWC5UzcLpOB6mhBp9rQ5J+5H7LPKJ8zNizDAzSnQVVpa0ncmltfZVAF4M4DUAME3TYwAea63dB+Alm9PeCuDXcUou9wF423Rasw+21p7WWrtrmqZHijzSBqxUjFMtlZJRsnKDfFPHcwOCTUMUJRUtQ6aYel7I5euIJpt/4RDJHZ9DLtpHSv68jsHG3nY0z14bqLn2zNRLtt1zSJwW15XLwI7IlVlDJXZAPdXSc0psjtQyhbik7aNcng/gUQD/uLX2HwL4MIAfBfDMIIxpmh5prX3t5vy7AXyGrr++2ZeSC1uvYasOqZRNzxts6nG2bs2/4cyEw0BxBDPicdQTOusNvswTZQM621cpF/WyUXb2hKpYsnAo0s/yHSEV3R4ZmJk6qHCijslhJtqG683HA5fxO1O5XA+tk6u7loO3q7BsaXLZ58O3RwC+BcCbp2n6ZgD/FqchUGau9mltsobLSKUCCl/niKdSOe6aAITLS+869EDOxufr/sxGB2WmDHpKR4+NnJuFYVn4k6kjB/hMQWXY4d8jhNMjkuh/p2B6CihLv8Kx2691ywjOtVuGlbUpl+sArk/T9KHN73fglFz+sG3CndbaXQA+R+c/m65/FoDPuoTf+973nnXgN37jN+KbvumbyoYd9UiOVHqDnr0zd4rOscTaAbjyRC4U64HFDbAqlh4hl154peBjlRaWqRKeo4q20EXroPXdBfiOrEfUQIWPkbAosKJl0TaKdTbPMrLsa48++igeffTRdb1bNE3Tv26tfaa19oJpmj4G4KUAfn+zvBrAmzbrd24ueReAH2mtPYDTidwvTcl8y8te9jJcu3YNT3jCE3Dt2rVzx7IG1s4d6ZTKW2ieGg4A/g+UHZmMepddwVKFRzx4wyqC6ZHNSFkcsfTSyIiPy16Bn/uEf8e2Uwo9ZTBCLNUgj3pzeOjS7WF6BBcj5zrn8DVf8zV46lOfisceewyPP/44Hn744W5eo7bv3aL/CsDPt9M7RZ8E8Fqchlpvb629DsDDAF65OffdOL0N/RBOb0W/tpf4aCNnx6vO7IUsc8s1QiI8ALL8RgFVqZcRIhghlyxsmZMu79Nyj6qRLDQasRHMaD9k2HDn9/pL1Sw7Hncd45Pn9uY4qZ5lindp24tcpmn6HQB/xhx6qTl3AvBX9smPLRuU1R0Y1zEjYGGAcIikeevvOSDcByyA9+rZXQL9nYVU2W8us/udEVK1j8scCmZX6w1cPc+d01MyVbphDjeKjdgO0hmpR1bfuXZRpBK2z4TuKqw3cHUyNCMcPeaucdfrhPGIcrkV5iRxdc4Sv3n/LkAeKfOocds7TFSKdcQpZdfNdSpzFMqtxNOI3fbkspTNkZtr79QRW9JrVSSzNOHcahvt+7XiyCnQi7IDuYiNzisc7KaNKD13zZcDSd+udhlt/2VBLtVgrx4a0vVouMD7+DZqryxrIqWRsG0pAC5BJJcxGEYnwfXcDB89deaOz5k838Uuk9Bvm7ei1bLJQSYTNymp58ckpE7gAucnLLPr3Vq3s3Pc8V2t90RvNrlc7dN24bJqGFnNYWk5qn06h7WLZf0Ri3MIWd/FMTfB73BSlSkjJ6DvBOceG7GLJprbilxGG7qnQgJgPID0fL7zwdeN3Anp3WnJXmDj7R5wRiYZK8Kp7pTotrvr4cqQkdYIqbFlk/BLWkVAbpv3ZWTCbcTnK7FV+KjOc+XX7bl2keHpqsllFABVJ2ULk4e+95GVIQPK6P4svX2tAkdWr4oAMtKIbfXkvbRG7qxEWfU4l989IBdWKUXtk+yc2O49aTyiUjjdEXxmdRh1miM256bFErZqcmEbYe4RUnFgAc4/lu0ANOJ9el6o8jYVyDJzA5y3WcHoEvXkc2KfPujFL2Vm+XI6PXKJMoS5lwBHQixnI0/09pyBO4dxkTmjDJPuJdDekpVV97v8RkzbWvtkCVs9uVQN3VMKSiKxBOjiKch4EVFDJc7fpVm9r5O9QOi8ZEY6sZ09XKXbes7IINfBo8c5byVdB1AGqiMbfQGQ/4+W09I69OrLlg3CrD/iN7/7pK9wcDu41zu4bC4P9y0oxVIPy1oHV9/Mem14EeHRasmlYmneVykFJ2/1XRcAZy8gOqBwWTIyy/7CYNRDcTphc18i08HrjrnBoETj+kDLyum6dLI3zN0Dh6Oh0wjJZCTNdagcEGOFccLvBnG/6AuHmSOMaxxOHFZ6fzfqMOTqrO2k2xXml7DVkgtQA8QNcAeWysPENntoF9ergtC/F6gIhz/VEcCZ65kyq0IRFwrxon/JOU3bf0+5BLlkf1fgJDi3vXtbXPMdsYzEtQ+ZSBxWglj4d6gRJXTFi3NClVPia9zvHslUlr3Xdkcpl7DeQHTyMsKd6m1X3XbytypHBRA+Bpz3WK7cFTD0WG/A9RRBDGyn6lze3CaVZ3RhUUYwsa3fl6qIcg74RwZipl40b320wamvEcw4vPB/GTvycY5Tw+gsXzanZrkOFzHfAtwG5BJWyUM3uLO/PdDY101uakc47+Hy1P+kVXmbqayKPDNzxFnNb+h5PM/kgBWDJtpmVLlU5NL7jK4SFKc91zKcZH0Y2HBlcmn3Qooq/5OTm5/QzZyTU76qhOYqmEytcNsvaaskl6rBRgYpqwRt0PiTJ05vJPbsKRf9eqF+ziPzVHPAodYb3ADODWxOP0hFP4nC3jhIpSpbpY6UWJhcso/UOSXE+WQqpoeXk5OTsw+UuSXSdmG0puccksOL5h9rxQZjJgu5HVZGVEzWXzoVcMeQC1vVqI7lWaFkkjUakb3yXHKZpsmCpPJCWuZKsVREM6pW3DepY5/7zpKSxAjxOTLQ8IhDHvcXkaps9IuGVb84yxxQhqVoG0csbBxKjqgbLkuFWcUHO6pKfWldR/Ci/cwh8h1FLlkDRiNHw2goxDLXpckLkwvgZbgDCuBn//Xj7r0vGvJ25nnZXDnVy7tBHqQSx9VaO/32Eg/8UXLJQpsgMyWNK1dufvi9CpN0gtf1D2+7QRf9xA5BcZLhRdMKYgms9cIixYwjF1UujmycQ3IhXoUXxgW3YzYvuYStlly0kRzQ1fu42Nmlq+TCHouNpaNe3/NEChRHLFl9XP2jPDwAsih0vIoAACAASURBVHAkQoBQKJFfT7VEvtlnVrkNMk+YhUZBLEwqqm7cBHB1dyOzCiPqkIJUeyqE8aIOifsHOP8YQYXVSvGOqGDFSoWdzBEpySxpqyUXoAaJAoTDIsCDjweY80B6rXqDTKJW5FKRTC9EymQul7EimDmqRb2484iVcgljdRJ5HR0d2bmWIBpHRtmdpgorsa7ak9WLhtEuzQwv6pBinytPhpcIexQzx8fHKcm4tCqlm2GFcRKKzDmdfWyV5OI8ZUUywE3JFyCJbxMzQKLx4qncbAKv8l6x7UIbFw71vFElcSMvtgBG1FM9kqqFSJNJJdqGvTanxd49gOfKovnHtZEXf2fZhUhxLpMPk4lLf0SxcB9VzigjFU4r2k5J26kpvV7TGXFIfBdpbijdc0aVuoy+XtJWSS5hGam4uNmBJPt+M0/KVcpFy6JlykKjTMFouFQBZAQsGgKxWlFvpGkxqURbsNRn4p5LLtGWqko4NFIVE+frPBH3kVtnVjkjDZ21v1WxsGoBbpJm1DsjPFcGbltdMsXiHnEYUbk9glaCqfC2i90W5MIDkSfVHEgyYsiktspbwIcOqiYq9TIidxUoLjxy5rwPk4qGQpG2k7wuFFqSXLIQh9ULh0guDBqdcKzCIK4n4yUUnGsXhxnXTlFnl0ZWtp56cU5JlbqGSC4fZxoKxXbcpl/SVksuCuhohFhX8TJfqxOacb2bKAzAuM+1xprL01MwmdzthUWZeuEyqdJiFcN1D3OhUBYyRP1ceObKowOtRy6sXphYmBiDdDRNRzRcplGHpO3CWIl8+fqsDOzgqvJk5JI9zuCIJVO9Dits6oT4d7TNNE04OlqWDlZJLiz1nTRVj+tkbazZA4XHUXk9KnE5TV4CrJXcZVWTeSVHNM6UVHQQaZvx07j8/I+Gl6pW2CtyG7iyANhqTyUUVS+OZPSukQtBRsKQqG81TxLpuPA5cKMhnru+Vx5NV/vbLb1QuueYXD851atja0lbJbkAfnIum4B118agcl7TDYIeUCJdTh/YVjAVWNzaKRkFiaoFN9iUWJRUuG58HYdUTJSOXHqWkUsvRGKSyc5lkuG24DbKBnKFF23nDC88+GLdC9VcO/ZIRhXuyN1GxQv3Gc+lVKSy9J0iYMXkEjYXKCFve9KWt91zMVlYpGVyUjcGqZO7DkCaxognUiXmSCU8spJKFZpxu80hGDc3omSeEUxFMlp2JbA5eKkww/MOlTPKVEulnh1mtN0rh5Q5oyxtZ5lDughSCVstuTiQZGGQuyabHNwHKJwHbzuC6CmYnmrJQBLlUy/EYIlw5+jo6FybhSrhUCiIMAaW5j+HXLRsUaY4ru2v7xop2SjxVCShYWHUm7d7mAncOGdUhVUVZiqHxEqxUiYOO3HtCG4UK9xOrGyWttWSC5DPb2QeKLy2UysaUgHbMn4XcmG567zRHKJx6oUHtvPiFUAcefLgYbXi8tQBottucLm2VfWiRK+vAbgXGpm8KnMKQa/T+vTUChOk9oFrC9d2rm17KqZ6+TVTvGpOsbhQ7yJsteSSgcTdMlMWDoBG4zlJ7cKhHnAjL1e+EbBU8teBxIHlypXzd8p0AISp0gsvHqrGKS5XL1eOaGPNL9ZKalkfVGGSm/twf4nJ5ckwk/UtkwqTTBUKZeQyghfXvo4k+DmWSsmMYobbgMNeVrlZG+1jqyQX7ugMMKxS+FiAggdAb6Z/lFxGpW6mQDKCcednaoHL7EjFnQecf76B84y2VIDq4Bw15917CgbYfm0gI5iq3r1ya/ty2FQ5oQw3vM5sF8zMcU4ZZrRsjvDDIiy+I8glLANLqBRleB1A0ZhZOAT05S3nqdvcoZXcddscaytoMrBw+Xqqhbe1XRxpazs7T5h5xWrAVQM1G9Du/SQdHJn16hVOqcKLhstaBtfGWVm0XLGdKcWKaBRDDi/qKLj/uX1VseziSHq2enLhwaDxs3oeB5RRtTLK2hVgRha+1Vt5KkeqUV+uo8bOTKZcVp3sdGSi9XF1rsy1qRJCRijAeYXpFE4VlkR99MlkLg87Jc6vwkuFlbmYcU5pVMkA6OJlhPwDL0EwQbQjxD3XVkkuIVmVWJRUGHTxOxi5RygZQKoGztRLrDPAjHopBxQndWOfKhFgO1xUYnbhpKtLnDvXNH7PiEZVZKYYXF+y8lTjsjMJc1tEWrGt5ZjjiEbxwr8dTvR3Twln2Mks2iK2Hb7uCHIBzhMM4OUdDzTep0QUlgFft0fKpttuQO6ibEaAooolron9DqCxX4lFy5zVb8Sq9sxCi4w4MvXgiIUxwCrOYSVL13nvpfDCZeRt188OC9l+XvThR1dOJpj4HW0yp59HbbXkAmwrGCWNOcokVI3uU+t5xGxf5v17ysb9dl7LlU3JVs9XD5WRiPNivfqyVerPbWcDOCMePtft5/KxQ6oU7IgyGSWVi8DMHNwwXjJjctawOdJZ+rb0KsmFB5MCBvCP61dAqMDvfo+WL9s3l3SAbcWT5aPl5T+CYvIdybPa1jKNWm9yWbd1X6V49JxMwcQxJhmX5yiJzCGUzOYSjds3ihmnXGIcATlmllYvqyQXYLuRuTN7sSXbEsAYsRFPX5V7dMCrvOe2qQbbCFFchDQeaeu5hOTSrcqePXjZy3tk/642qgyr2+q97TBttwwzqyKX1tpfA/CXAUwAfhfAawHcBeABAM8A8BEAPzxN02OttScCeBuAFwL4PIAfmKbp01X6cxotbBdvuwtwluiIXdMYif017V3eIdmlfEsNwl3TmaP6gNsLL/uk08PMquZcWmt3A/ivAdw7TdO/a629HcCrALwcwN+dpumB1trPAngdgDdv1l+cpulPt9ZeBeCnAPyAS3tOvN87NuecpawHvur4Lp5zH297ESous336aZf+3wcza8JL75y5/X9Zfb5vWHQE4MmttccBfAWARwB8N4Af2hx/K4A34pRc7ttsA8A7APy91lqbil4cnSsYkY7ud29/ZqOdVnUiy3GWqDp5W4V1PW/k8phTziU9dNUXvb5kGV8pk9E5jNHwNMun2p/Zvpip+lKnDao0K1wtbTuTyzRNf9Ba+9sAHgbw7wD8XwA+DOCPp2mK/w+8DuDuzfbdAD6zufa4tfYlAF8N4I+S9O0kVW8Sa1cicvmHjXZERhhurSQS148AxwGkeop0iQnM7NjI4JszScnvvsR6zryDYiG71TtSFuBi8QJsTzbzduV04trAR28eLsPMRZLNPmHR03GqRp4H4I8B/BKA7zOnRqu70ltkvv/97z89OE14znOeg+c85znpg2i8r7rjMko+I9YblLyuCECJQO9ujOTVe/jLlWWEgJawkT7QbbcvBgzfQlWS1jT09myWfvVckkvfbY9YhhP3ORxHAK5f9Q6qy4uv4fNi3yc/+Ul86lOfmlWXUdsnLHoZgE9N0/QoALTWfhnAnwXwtNba0Ua9PAvAZzfnXwfwbADXW2tHAJ4K4Asu4Ze85CVnHZ39Z4UDkVuA+jbvqAze1LHc7oEie8eJF32c3+XB1/desnMLl1HTzEimIp2sDd06e+VgZOHB6PLMMOGeYs2IrOekqm21rA1HlKdTIVVfB2aqfnLX33PPPfj6r//6s9/vfe970+vn2j7k8jCAb2+tfQVOw6KXAvgtAO8H8Aqc3jF6NYB3bs5/1+b3P98c/7Wp6JlMmbht/j2icID6qdSeaQe6FyFHiESvdy8YZmBRYum91dt7oGwJJdNTKJmKyJyHI4XsIbAwfQ8nrnX7RxxU7M/mgkbM4SX2V32hfcpE497D4jI5ZzSClSVtnzmXD7XW3oHT283HAH4bwD8A8M8APNBa+1ubfW/ZXPIWAD/XWnsIp4rlVUXaAPL/p1XwuZcBRz0V5xd5Zjb3vRkGAJNNEIN6JSWWKJuqJAcOt9YyZMSTAdHV3Vk28DIy0f6JttA3xeNa1y7u5czMGbn1LmSjeVT11zarBnvmgByZxDnxDt2oQ6pwogS1lO11t2iaph8H8OOy+5MAvtWc++8BvHJG2mdrJZZqO/OEDKhItwJMZtVAVHDwYGBw8IBxg5bP4edTlGSUrBgk2QfFMm+VKRvNd6S/uH2rwcqDIgYSXx9tCJx/ktSVJ+t/xY7+Tccc58R14H2VZY4oTFUr95EjC/6XPlZz6oRcOTK88O8lbbVP6FZhz8mJ/5jYKNEocIA6jtZBHebiZO4k7rTofO5MtQBJLOqZuQwOLBloKoLpKZmq/lq2EbWiqoEJhttJnQHjojJHKm7ZhWg0/10xow7I9Um0S/wtwjSd/7uISIvbLcocv3t9rBip1OkutkpyyQCqxJL9B60DTUU0nGdP4jpJqwqACYVlP+/j9zvUMrnPx9UDZWBR4OgnU52a4TxcG7Blc1eu73Qdg4MHWBZiuYHBA03bSx3OyOKuc3VZGjOqMkN5angchKF58CR3pj4qUmE1tKStklzYlBQyYuHPqFZKRr1TrHtSt5K32SB1f904TTf/u9Tl4UDM5ryQUyujf3rt1FalYrI+4nZ0IUU24LOBl6Xv+sLlD2z/y59ixClg9w+Bri6uXK4/de2cEIfI0R9BFPwXGVkejJvqHIcV/crCkrZqcqm8H4OB15UEBuoJvMjTmfPiWadVAOE4WdNWqcweXsug+brPdLiPwrnFEeMS5JL1GyuWqCurF03blUnP48Gv/Z4pXnfMOSangF39K8z0wiF1QKxSXPqMD1a6jmQUX5Guc0ZL2irJpUcojlgqkqlUzChYFCg6GNxg1Y+zhWo5Pj4+913eEe+j51Yy1xFMRTQjIdJIn2V95/pP68APk2Vk5UhFy8DXur7n73b3vmSojmkfh1Q5I1Yu2ocjakSdUO98p2TvuLAoA5l6HPep1Ez+OrCw1+N1mBtkOhgdQDgP/iQKE4x6MVY9I8CqiIY/6M5zLfx9Zqe4tH6qmLR/tI9URVTOoSIMTbNSLg4nnHf2QbFR5Zspl7mYUdXgnAOTSubo1LFx/avznTNkjCxpqyUXJRbX2Y5kHGgcuAGc2646M0w7x3l69+VADoWOj09fu9I/RmZCUU/EZVKJG+lmpJKRjFMv2YNZcxUDD0b3RUEmFTf35Egl2id+Z+ZUKZfFfeCdP6/rQqWMXHqYUYJRzHAYdHJyYknFkRa3h7ZXtEEQBYfUjFEtR2BkSVsluXDnOW+kQNWl8kgBMgcU7hw2nfOItZvlD/ken1LVUChTKrxPFYEal6P63k8ARsmlmuzV+vTCo0xdRt2jbnG9C4M4rR6pjJYlm0NR3BwfH5/tU5JRYtwVMz1yYZIJgtHnmzQdbp/METm8aP5aliVtleQCwHaiA4qTs+qReCJvF3IBPFiCSLRzQqGoJwjVouloSKKeiM0BpQJsRS5OxSi5aN1dP3GbZX0Vg8C9qKfp8SBTteJUlLYTk0wW6jCx9ObsHLloHs5cO2Z9xQo3Sy+udcTL6qe6tkdwS9pqySXMAbWSu5VHYnIBtsOiHlCAPrkoUBT4AYwYZOx5KlJhUw+eeSEXomUKRgGmrw1EXq5/uP1UYUb9mFiCZDk9JRVVd1Uo5PJXx6GOx4XXvcleFyJFnzqryCUwEmtVuNxGSirx6D+3cRZOOSekDinWd0RYBPjHyWPtvJCTugykaol05yiX6NARoPDg5PkGBUe2qDkv5EiOQcNkcnR0NEu9zCUXJRWXRgweJpW4jpfY58LHK1fOP0jHZXJhtO5TrPQcUqZ255ALq1NVhmGBmyhXtBtjRXHjLCNk19d3rHKpwMLqxYVGFclknkg7i71GBRSNlYHzoVDmebI6OWPA9DySI44gFiaXIEgFnVuy/oltJhZHKpyGIxhuW0cwlYpxZXEYcXeOMocUJKPYc/n1MKNP3XL4rAR1fHx8ri8577nOKMOKtnVPHc61VZOLekUXFmUTuNkzMC40Gu2cWAeRKFDCFCjxW8GSgUSvc8DV8qgHUoJxYVAVGrF60fqpcTmZWHib20D7V9+dUY+vddV0OC0lZ3Ugip8gFRcijTgk1z/aT4wZp3SjDTQUCoxGe2SOqCqDtlUWEt1RyiUDh9vHHsjdnh6JoyuCcQOZ1UoAJYxBw6FQlIkH0Y0bN19MqzwhsP1UrwNKpVo0RNo3NIoyMkk6YnHXhVKJbS4f/65UkG4rqVfeXQdoNcHr7jz1+kvLy23KfRnqhXHDJDPiiCqyywiaSYV/L2mrJRdgeybehTHsbWKfqpdMEms6nAdbj1z2US1xTpZ/VhYtjyMZBZG75dxTL6NhEZNE1KeS2Xr+SEg2Itt7ZJKFziPqRUmpRy7cR4wXLlPMyalqUXXODqlyhs4psfrM2vWOUi5sDijK1gwGJZXebcZdlQsTRJiqlhhkGeAzDzQic7VcGsZUC0/qurmXEeXi+iYGUSg2nYNipRdtyNvOozpi6ZGNa2MlGd03ejMg67usfIETJQYOhZxqCfwEAfOdNJd3DzPaZs4hLWmrJBfnFRyZZJ6EPdDIQ3WVJ3IDmUESbK9SNIChyoWvd+Wea84LZQ/WuX1MJtWb0y4U0f6JOnFZ+HkfHlTRdhr2ZKTiCFTxkmElI3V9eluxw6RT4aXCTKVygW1nlDmijCh3xYy28x2rXNiqBq8e166WnnIBvGrJzlHlwmQUdeh5oops3KCvwggdmNVcTG/ORcuh5eX6A6eDx8n5jPxG8p1jGVaijFmYVOFmVLloX2XnqUrhxxXUIWWOV+vl+moEI0va6sllVMVkYBklF/V0apVEz87hvHtqJSOUDLRsDN4RIukdU3LRPFz5snCOf3PfBbHqAKpIcYRwKqxkakDL3sPLqOJ0zigLTWI7sJLVayTvEcw48rujyMUBs2LtnpS8SHIJYPCA4LtEPc+n9c48kCsT/9ayZvLXzc/w8VEVEXXg8Mb1IfcBn5tNMs4hFM1Ly8bbvGjo4wbviHLpkQuXPeoex7kdsjx7+VThkSOySu0uaaslFx5c2UAbIRftrF7nuU4M78PA5zIxSHQQcTm5Pnr7WQkuawvOk7erQZkBSudc9Fp9BaAil2gflfQxaLTteL5FlZeWM6tzZr2ByEo3O1ZhxjmHnlrI+pAVbuaQek6T651Zhpc7klzCtPEyWTgqYd31zjvEmokljMOcuL7yQhovR/oZofQAqwOQj1f7VJHwcSWY6lwupxIqz7HwOZW3dOXTemvdR6wXQmROpYePKrSNMnK9GRPqhDRdFxJxyF8R54gt1bYjtnpyCVOSic4A+h8W32Xh6xksqkZG0onyZSDX+s21bEAqKYyEHrE/u1tUAZCVCIeInKYOukqx7OJNua11vyOCXfHB+Msww5Y5mlEcBnFrmm57xDIntKStmlxGGoyJZdQTzenUrEw9Qgow8WBzZdV67kMygI+rdX9vIFeSuReOZOm431mZXZ3cWvPOyqTHHPlXIUgPJyNqYgSLrmxZ2Xv1Zuv13UUQC7ByclGbO+jdfj2nd52GRaOElVk2r7KL5+G1bmfnuGPZ4K3O6ZUpu6XK6WXluiiwq7m5lwoPPWJRzGi6jKEsrawsaks4pAwvS9myT81ckmUDeKRzKlC4dOZ4qyUVyFzref3YzoiCwxd3rstj7u9e2avr5wC/p2JGVUaVXkUM2b4qf1VRvbr0jmV2GaQddtuQy66NPFeuzi2LU0gHO29VKHQ72ahT4309bGbHRx5FGClHZpfR9rcNuRzs9rHbjTQOdjF225DLSKw/9xgfn+NJnVw/DKibNhqy3m4qbxeM9LCZHd/lPZ8lQscl7bYhF7ZqMtD9zshgZJ6Cz3WTklm5LptsqnkG3q7mCaap/uuJXX/PCU2rsu9ro5PFI3NH2d00Pj+b76qwqy8Q7uM4nV0mod9Wd4tG71Rkd0DcOa6zeWbf5euuH1VA2Ts6c4FSTSRW57hjvB13OmI9Mp/lJrrdsz3ZnRhNc19VM9qW7k3gCke6T+8OVWQycmzEObo67urIRiau97FVk8tIoynLVwO+WkbKMZI27+OyOY9UKatdLVMnvUGe3QmbQy69O2oZcfQIZWTSvFKhlXMAzv/3jT7813MkmY2k0cOTy2MEr2q9vryoEHXV5MLmmD+epaji0zkdy9ewV8rSqd7j4XOq27uufnMtG7CZemB14Z4Y5RcQ55BL9lJftn+EBOeCntta97tBuwsJMClFGUcxs0s+XC+2UaJzlhH/krZ6clFSyd6WVWXAj5vr28oBBt3HS+XtRh6bH/VQLkzKAJMNRD5e7dM3xLP3o4K09ZOzPIBc+tN0/jvcmp87Pyufy4PrPmK9N6tHB3j28iWn48KiWGdvnLt8snpofXa1pdp2xFZLLkoUzlwH8dvGGXloegx+N4BcXtl/oChQKi/k0nTAyf7fg7fdAK1CFa1zEAvXX/+J35UtzuWHv6q/JtC3jEcUTFbnzKoByP2VHXNtx+c7xefyyxyPw4w7VpGRI5qKdDK87KoQR6x7t6i19o9aa59rrf0e7XtGa+1XW2uf2KyfvtnfWmv/S2vtodbav2itfQtd8+rN+Z9orb16pHDacJn373mdihBcR46c17suiK46NxsElRdjywZfTx3wwI7zs0F/clJ/4rT3dxbVG+oZyWQkOQcvjI8MK+4/hJ2TWGpREuH0ud8rchmtu2JCceH27fLgXmUjt6L/NwDfK/vuB/C+aZruAfC+zW8A+D4A92yW/xzAm4FTMgLw4wC+DcC3AvjxIKSeZYTCXj4LiaqPtGdLRgjVcnx8nALCgdWBJQOQ/naDTIlCwxQ3yD/4wQ+ebWff21bScJ/N7ZFPVgb+S9IsLOL9Dz744BDRVFjJnI8S/RIY4Q+gVZ9wcWlW9XJ10WtGMDMSju5rXXKZpun/BvAF2X0fgLdutt8K4D+l/W+bTu2DAJ7WWrsLwH8M4FenafrCNE1fBPCr2CasIauUSfwP7C6KpfqOT+/3448/vuWd9P9oFfQBCAfunqeqBqICho/xNUwuQQBKGj3l4Y7rtfHNKD0P2P4Pnky1AMBHP/rRXeBSqtgw17c93OjH5lQFXblyGjaNfoiOy6ffluIy9dR7Rk6VmuXjS9qucy7PnKbpEQCYpumR1trXbvbfDeAzdN71zb5sv7VKrQQwFQCukWP+pZdPL/50HekA4cDpwKLHR2RvZqMhUHhRVg18Vyj+5EnT7ZWvyjf7D+Ps21EZsXA+TJraj7wdbav9xjhyH2VjteHyaK2dlSGwE+Vz5zsly0SjzihTWJkK3sVcO7t23deWntB1o2Mq9o8lmoCDAcRkEo0UAMrSjMHlVMBIGXTtwOL+KtKBJczt22o4KacCpJrz4AGiH3EPsMZg25dcOCRy32euQjDermR9Zpl3V7Wgzgg4/33vLF3n+d15qqQ1/6Ojo3PH9HtSfCzSrVRMZhVhc78tapXno8I8F8Dv0e+PAbhrs30XgI9ttv8+gB/U8wD8IIC/T/vPnSd5TYflsByWW7eMcMLIsqtyeReAVwN402b9Ttr/I621B3A6efulTdj0HgD/U7s5ifs9AN7gEp6m6XJfyjnYwQ52IdYll9baLwB4CYCvaa1dx+ldnzcBeHtr7XUAHgbwys3p7wbwcgAPAfgTAK8FgGmavtBa+x8B/ObmvP9hmiadJD7YwQ72ZWRt6Umcgx3sYAcDVvaXC621722tfaydPoR3f/+Ki7fW2rNba+9vrT3YWvuXrbUf3eyf/SDhLSj71dbab7fWfmXz+3mttQ9tyvyLrbVrm/1P3Px+aHP8ubeovE9rrb2jtfbRTXt/x5rbubX21zaY+L3W2i+01p60tjZut/Ah2EUmbpZYAFwF8K8APB/ANQD/L4B7V1CuuwB8y2b7KwF8HMC9AP5nAPdv9t8P4Kc22y8H8H/g9A7ZtwP40C0s+18H8L8D+JXN77cDeNVm+2cB/Beb7f8SwM9utl8F4BdvUXnfCuAvb7avAXjaWtsZp49SfArAk6ltX7O2NgbwYgDfgvM3ZGa1KYBnAPjkZv30zfbTu3nfChAljfAdAN5Dv98A4A23ulymnO8E8Ocw847ZLSjns3D69PR3A/iVDWD+CMCRtjeA9wD4js320ea8dsnl/arNYG2yf5XtjJvPbj1j02a/gtOHRVfXxrjEu728rCksmvWg3a2wjZT9ZgAfgjxICKD3IOFl208D+BsA4uGFrwbwx9M0xUMcXK6zMm+Of2lz/mXa8wE8CuAfb0K5f9ha+1NYaTtP0/QHAP42Tm9oPILTNvsw1t3GYXPbdKe2XhO57PWg3UVba+0pAP4JgL86TdO/qU41+y61Hq217wfwuWmaPsy7zanTwLHLsiOcyvc3T9P0zQD+LW6+s+bslpZ5M09xH4DnAfg6AH8Kp+/WZWVaQxv3bNGHYNdELtcBPJt+PwvAZ29RWc5Za+0JOCWWn5+m6Zc3u/+wnb43hc36c5v9a6jHiwD8+dbapwE8gNPQ6Kdx+q5XPH7A5Tor8+b4U7H9PtlF23UA16dp+tDm9ztwSjZrbeeXAfjUNE2PTtP0OIBfBvBnse42Dpvbpju19ZrI5TcB3LOZbb+G00mvd93iMqGdPlP9FgAPTtP0d+hQPEgIbD9I+J9tZt6/HZsHCS+twACmaXrDNE3PmqbpuThtx1+bpukvAng/gFckZY66vGJz/qV61Wma/jWAz7TWXrDZ9VIAv4/1tvPDAL69tfYVG4xEeVfbxmRz2/Q9AL6ntfb0jWL7ns2+2i5rAmxw4unlOL0b868A/He3ujybMn0nTiXgvwDwO5vl5TiNl98H4BOb9TM25zcA/+umDr8L4M/c4vK/BDfvFj0fwP+D04ccfwnAEzf7n7T5/dDm+PNvUVn/IwC/tWnrf4rTOxOrbWcA/z2AjwL4PQA/B+CJa2tjAL+A0zmhx3GqQF63S5sC+Eubsj8E4LUjeR8eojvYwQ52IbamsOhgBzvYl5EdyOVgBzvYhdiBXA52sINdiB3I5WAHO9iF2IFcDnawg12IDokRqwAAACBJREFUHcjlYAc72IXYgVwOdrCDXYgdyOVgBzvYhdj/D2NmghHyYUskAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(I, cmap='gray');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Choosing the colormap\n", + "Broadly, you should be aware of three different categories of colormaps:\n", + "\n", + "_Sequential colormaps_\n", + " \n", + " These consist of one continuous sequence of colors (e.g., binary or viridis).\n", + " \n", + "_Divergent colormaps_\n", + " \n", + " These usually contain two distinct colors, which show positive and negative deviations from a mean (e.g., RdBu or PuOr).\n", + "\n", + "_Qualitative colormaps_\n", + " \n", + " These mix colors with no particular sequence (e.g., rainbow or jet).\n", + "\n", + "The jet colormap, which was the default in Matplotlib prior to version 2.0, is an example of a qualitative colormap. Its status as the default was quite unfortunate, because qualitative maps are often a poor choice for representing quantitative data. Among the problems is the fact that qualitative maps usually do not display any uniform progression in brightness as the scale increases.\n", + "We can see this by converting the jet colorbar into black and white:" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib.colors import LinearSegmentedColormap\n", + "\n", + "def grayscale_cmap(cmap):\n", + " \"\"\"Return a grayscale version of the given colormap\"\"\"\n", + " cmap = plt.cm.get_cmap(cmap)\n", + " colors = cmap(np.arange(cmap.N))\n", + " \n", + " # convert RGBA to perceived grayscale luminance\n", + " # cf. http://alienryderflex.com/hsp.html\n", + " RGB_weight = [0.299, 0.587, 0.114]\n", + " luminance = np.sqrt(np.dot(colors[:, :3] ** 2, RGB_weight))\n", + " colors[:, :3] = luminance[:, np.newaxis]\n", + " return LinearSegmentedColormap.from_list(cmap.name + \"_gray\", colors, cmap.N)\n", + "\n", + "def view_colormap(cmap):\n", + " \"\"\"Plot a colormap with its grayscale equivalent\"\"\"\n", + " cmap = plt.cm.get_cmap(cmap)\n", + " colors = cmap(np.arange(cmap.N))\n", + " cmap = grayscale_cmap(cmap)\n", + " grayscale = cmap(np.arange(cmap.N))\n", + " fig, ax = plt.subplots(2, figsize=(6, 2),\n", + " subplot_kw=dict(xticks=[], yticks=[]))\n", + " ax[0].imshow([colors], extent=[0, 10, 0, 1])\n", + " ax[1].imshow([grayscale], extent=[0, 10, 0, 1])" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAABsCAYAAADJ2WELAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAABCFJREFUeJzt22FyqzYUBtALZDnZZLutbK2g/gjp87iADTHXCM6ZYURkbCNiPrAsNaWUACBH++4dALgSoQuQSOgCJBK6AImELkCij6UHm6YxtAFgg1JKM1W/GLrf/o6Ibtz0N+UrXuMj/tyc37Wne3L5WLHtnq+Rti9lLPuIbojo+mi7Ibq7sv3oo+uGaNs+unaINvroYog2huiinyz/bDNXbnnu/HN+89xD7eswRDsM0fV9tP0QXR/Rfv9rIvqIZiyjj4jhZr22+p3fs4z1/c3yTx/RDzfluPnacstzbp/7V8y7VvfC5HUHIM+1QldnCZzGHvdQGfdl1wpdgDerNHRP0E9wgibMO17j5vfoePtanTcdwp8vrq98+4wvw5WG7kbOL+DNKg3djdejI/XpHmlfXu54jZvfo+Pta3XedAh/7qFe+fb6dF/NnS7wZtcKXYA3E7q18+2Yi9rjo++HtFc7Y0DpMoGqXCt0zxhQZ7yQwBNMjqjBGQPqjBcSOLFKQ/cESXOCJsw7XuNMjtiRyRGrVBq6AHWqNHQ3Xo+OdFNzxq6O/xyvcSZH7MjkiFUqDV2AOgldoErG6QLw0LVCV/cdnIZxujU40g9pwCVVGronSM8TNGHe8RpnnO6OjNNdpdLQ3Uj3AvBmlYaucbrHdrzGGae7I+N0V6k0dAHqdK3QdVMDvNm1QvdI3QvAr5gcUQN3usCbXSt0gdMwOaIGuheAN6s0dE+QnidowrzjNc7kiB2ZHLFKpaELUKdKQ/cEv4idoAnzjtc4kyN2ZHLEuvcoZX6Xm6bxiQTYoJQymeGLoQvAa1XavQBQJ6ELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5Aoo+lB5umKVk7AnAmpZRmqn4xdCMiPj8/o2ma/y1t2/66futrPOtn26nyfomIp/Znav22fHb9dpmrf/Uy9T5TdTMfoIfH+5ltbv8Pa7e5r7v9e836fTn32KPPz1Ldo/VSyuwyDEMMw/BwfW3dbfmobml9qe7RMtX227qf9aXyfv2nvc8ut8dor+2+vr5iju4FgERCFyCR0AVIJHRHa/qKAefMVkIXIJHQHT37yzvwzTmzjdAFSCR0ARIJXYBEQhcgkdAFSCR0ARIJ3ZGB3rCOc2YboQuQSOiODPSGdZwz2whdgERCFyCR0AVIJHQBEgldgERCd2TMIazjnNlG6AIkErojYw5hHefMNkIXIJHQBUgkdAESCV2AREIXIJHQBUgkdEcGesM6zplthC5AIqE7MtAb1nHObNMsHbimaRxVgA1KKZP9L4uhC8Br6V4ASCR0ARIJXYBEQhcgkdAFSPQvKyOo7kCy5NEAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "view_colormap('jet')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice the bright stripes in the grayscale image. Even in full color, this uneven brightness means that the eye will be drawn to certain portions of the color range, which will potentially emphasize unimportant parts of the dataset. It’s better to use a colormap such as viridis (the default as of Matplotlib 2.0), which is specifically constructed to have an even brightness variation across the range. Thus, it not only plays well with our color perception, but also will translate well to grayscale printing:" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAABsCAYAAADJ2WELAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAA+lJREFUeJzt21F2mzgUBmBd2k30KUvIJmYLs/uuJZqHwRgUIG3q3kj4+87xsYSuiByc38Q2UWstAOSYvnoBAM9E6AIkEroAiYQuQCKhC5Do+9lgRPhqA8An1Fpjb/tp6JZSyj/Tv6WUKCWixPT//e0WEaXEVMrUbmtuu/PWt/J+zmp7vfVLW3tv193t5T532VdZ7ec2Xpp9rMZKW3dvL7/SZW5TW8qyfTO/rGvn+e+2tfPnta227e+rnNdsHvtt/cdzN/2zsebnnI/VX55379fdtd73Ue9zNo+rNrV1M++2nrYdTW3stG81Mc9bnqZL+1Z378e6X2rTvtVs66eom7nTqubermVqxqd539MyXt+NT6u5t58zlfc1U7w1/brZ77ruaP6mrrw1+3rbtvfq1vs5azf9b+v5mzXcH/dUyqpf5n6Zf6cxt+f7iLk93+Z+lGnpf/vxsxzx9gJAIqE7jPi4hP44bDSELkCiIUL3KU4WPnyQPtP8WnHaPXSZwzbQX2HnSx0idAGuYojQvczJwpkPH2TnL9+XV0+7hy5z2Ab6K+x8qUOELsBVCF2AREJ3GJ3/z8Q+h42G0AVIJHSHcZlPZJ6Lw0ZD6AIkGiJ0n+JkwcURnXNxxDA6X+oQoQtwFUOE7mVOFs64OKJzLo4YRudLHSJ0Aa5C6A6j85dv9jlsNIQuQCKhO4zLvDn4XBw2GkIXINEQofsUJwu+p9s539MdRudLHSJ0Aa5iiNC9zMnCGd/T7Zzv6Q6j86UOEboAVyF0ARIJ3WF0/j8T+xw2GkIXIJHQHcZlPpF5Lg4bDaELkGiI0H2KkwUXR3TOxRHD6HypQ4QuwFUMEbqXOVk44+KIzrk4YhidLzVqPV5hRHS+fIA+1Vp3X3JPQxeAxxri7QWAqxC6AImELkAioQuQSOgCJBK6AImELkAioQuQSOgCJBK6AImELkAioQuQSOgCJBK6AImELkAioQuQSOgCJBK6AImELkAioQuQSOgCJBK6AImELkAioQuQSOgCJPp+NhgRNWshAFdSa4297aehW0opr6+vSzsifun+d2ofdf/o2h7GstfwFTV/8pz5zJwenqvr+0fXPmrb74z/aftRY3+j/9mal5eXcsTbCwCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiQSugCJhC5AIqELkEjoAiSKWuvxYMTxIACHaq2xt/00dAF4LG8vACQSugCJhC5AIqELkEjoAiT6D1WL4M+BqqVYAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "view_colormap('viridis')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you favor rainbow schemes, another good option for continuous data is the cubehelix colormap" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAABsCAYAAADJ2WELAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAABEJJREFUeJzt2+t2okoQBtAqkvd/5NPnBxcxYRxlTPVqsvesxL5hGMVvtQ1kay0AqDH13gGA30ToAhQSugCFhC5AIaELUOjzUWdmurQB4ITWWh61PwzdiIiMiIwpMjMyMqbMuR65tE33j7n23R5j1x+7cWt7ZEbk0r9sF/m9fa4/Ki8/09ze7tpiK7dtTOzqa39E2/XN7REtY7dNbO1rud21tcit3nbjl/Zs3+rz+Ba5jM9cy23Z7bb7OajHXJ52/dPWNvevfdNajogpW0z7x5jHfy/HUm5b/WNry1t968ulnEt77trzrn3fNrXpy5jp1reVp1t7m+L2L7dR961r6SMy75/l9qz7vmUPcrcnW3keF8tjxsdyzH55XMbMx+e6zVye26atbyvHFG0tT9NyDN/Gtt1nom39a/3+mJ/7b8f6/biMNsX3/il228fd4/y5eO0zsZV39fX4Xj/iW3k77m/1Wzm2Y/q+vn5M20Hb3Ud8FwEZ225nLJm2jsttzP3YJfu2vjX71m33bdM8Pg/zNiIsLwCUEroAJ/x5LvuY0AUoJHTp4o+zhLPThweb5zueuEhuv37kmXmjs1cZCF2AQkKXLv44S/jHixSPNm/veOIibfv1I8/MG1nTBRiA0AUoJHQBTnAiDWAAQhfgBCfSAAYgdOnCzRHH3BwxDmu6AAMQunTh5ohjbo4YhzVdgAEIXYATrOkCDEDoApxgTRdgAEKXLlyne8x1uuOwpgswAKFLF67TPeY63XFY0wUYgNAFKCR0AU5wIg1gAEIX4AQn0gAGIHTpws0Rx9wcMQ5rugADELp04eaIY26OGMfZ7w6ffxvQIqLFf7f3zHsHcFq2JkUBqlheACgkdAEKCV2AQkIXoJDQBSgkdAEKCV2AQkIXoJDQBSgkdAEKCV2AQkIXoJDQBSgkdAEKCV2AQkIXoJDQBSgkdAEKCV2AQkIXoJDQBSgkdAEKCV2AQkIXoJDQBSj0+agzM1vVjgBcSWstj9ofhu4qM7/9vNL+TNvf6s+OeWUfnul755h/2d9H9Wf71vLf+s+O/Zf9fPV9e7X9HcfLq/v/6vty9nV+93vxzv/nu973n3rtf2r/1rYjlhcACglduKhHsy36EboAhYQuXFRrY5wH7z0j//r3f3p/hC5AIaELF9V7Bvms3jPyr3//p/dH6AIUEroAhYQuXFTvr+0cE7oAhYQuXNQoJ9J+G6ELUEjowkWNsqbbe0bu5giACxO6cFG9Z5DP6j0jd3MEwIUJXbio3jNIjgldgEJCFy5qlDXd30boAhQSunBRo6zp9p6Ru04X4MKELlxU7xnks3rPyF2nC3BhQhegkNCFi+r9tZ1jQhegkNCFixrlRNpvI3QBCglduKhR1nR7z8jdHAFwYUIXLqr3DPJZvWfk1TdHfD4zqLXW/YUBuIIUpgB1LC8AFBK6AIWELkAhoQtQSOgCFPofogzC0bvZDuIAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "view_colormap('cubehelix')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For other situations, such as showing positive and negative deviations from some mean, dual-color colorbars such as RdBu (short for Red-Blue) can be useful. It’s important to note that the positive-negative information will be lost upon translation to grayscale!" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAABsCAYAAADJ2WELAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAABORJREFUeJzt3FFyozgUBdAn3PuYffSKZlezpMx+poLmwzYhNmDiwAstn1PlQkZCNnRyI2OpS601AMjR/fQbAHglQhcgkdAFSCR0ARIJXYBEv5YqSymmNgA8odZapvYvhm5ExN/xV5xKRFdKdBHRlYjTqNyVcq6PS5sScRqVu1Iuzz/6GPq7HHcatf1Ufz2uK1FmHt1ppm5m/2z74Zhu8ZgY6rtR28/7oitRTo/aXfu6qTvd77ttF6Ub9l3LUboo3WkoT9fflK91XRelnIbybf1tP+dtiYjLtpy3tYyeR7nfNzqmjvdd2t+1vbS/a1tK1ChRI6LWGG3r8Lwf9teP+qGuzh7b3/Y1atOP+h/31dfz6/T1+nxcnmtz7u/2mLs2E9s68TrvtUbfX8r9pa6v8V4j+svz92Ebo/p6qY+b4+aP7/sY1X8cX/t6vt6jcl9r1P7y79Bfr+mj8uc+VpWvr1H7qP35EbWP2r9/2lfre8RQvq+P+j6q+6iP0fHj+pjqv9b4799/ZjPV7QWAREJ3B5OfKVrR9MnB/oQuwKaWvwoTujtY++3j2kHjFoPLzQaow8mVb3Z6f/Dug2ij9J/1Mtd/+USFLkAiobuDtX/Q146It5i3t9ncv+Hk6jc7vT949/mJJkD+LNc/IoQuwMbc0wVI5J5uuqY/RTV9crAFI12AREa66ZqeGdP0ycEWjHQBEhnpprM4Yg2LI16O6x8RQhcgldDdgcURa1gc8XJe5fo/OE+hC7Ch6f+6/IPQ3UHTf9CbPjn4vkefdIUuQCKhu4Omv6Rt+uRgf0IXIJHQ3YF5umuYp/tyXP+IELoAqYTuDszTXcM83ZfzKtffPF2ARObpAhyH0N1B05+imj452IDbCwCJ3F7I1/TMmKZPDvYndAESCd0dWByxhsURL8f1jwihC5BK6O7A4og1LI54Oa5/RESUWuevRCnFZQJ4Qq3T/535YugCsC23FwASCV2AREIXIJHQBUgkdAESCV2AREIXIJHQBUgkdAESCV2AREIXIJHQBUgkdAESCV2AREIXIJHQBUgkdAESCV2AREIXIJHQBUgkdAESCV2AREIXIJHQBUgkdAES/VqqLKXUrDcC0JJaa5navxi6ERG/f/+OUkqUUqLruqH86PkWdbft1jymjnnm9abKz9Q/2j5qM9V+7fWZq//K/qXXiIi78u32q3Vf6ePygx211h8rTz36vv+RuqntUt1X2ixtl97f0vv+Sptn+svejstvb2+zmer2AkAiobuD8Uhsy7Z7vQcgj9AFSNRU6B5ldHe977d127FH5/psvxzTnj/bz/Z9lN+3P01ToQtwdE2F7lFGdxn3dB+dq1FIW/b82X6276P8vv1pmgpdgKMTugCJhO4OMr5I+6l+ge8RugCJhO4OLI4A5ghdgERNhe5RRncWR7A1iyPa0VToAhxdU6F7lNGdxRFszeKIdjQVugBHJ3R3YJ4uMEfoAiQSujswTxeYI3QBEjUVukcZ3Zmny9bM021HU6ELcHRNhe5RRnfm6bI183Tb0VToAhyd0AVIJHR3YHEEMEfoAiQSujuwOAKYI3QBEjUVukcZ3VkcwdYsjmhHU6ELcHRNhe5RRncWR7A1iyPaUZYuXCnFVQV4Qq11cuSzGLoAbKup2wsARyd0ARIJXYBEQhcgkdAFSPQ/ynRYFMQzE9cAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "view_colormap('RdBu')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Color limits and extensions\n", + "Matplotlib allows for a large range of colorbar customization. The colorbar itself is simply an instance of plt.Axes, so all of the axes and tick formatting tricks we’ve learned are applicable. The colorbar has some interesting flexibility; for example, we can narrow the color limits and indicate the out-of-bounds values with a triangular arrow at the top and bottom by setting the extend property. This might come in handy, for example, if you’re displaying an image that is subject to noise:" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# make noise in 1% of the image pixels\n", + "speckles = (np.random.random(I.shape) < 0.01)\n", + "I[speckles] = np.random.normal(0, 3, np.count_nonzero(speckles))\n", + "\n", + "plt.figure(figsize=(10, 3.5))\n", + "\n", + "plt.subplot(1, 2, 1)\n", + "plt.imshow(I, cmap='RdBu')\n", + "plt.colorbar()\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "plt.imshow(I, cmap='RdBu')\n", + "plt.colorbar(extend='both')\n", + "plt.clim(-1, 1);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that in the left panel, the default color limits respond to the noisy pixels, and the range of the noise completely washes out the pattern we are interested in. In the right panel, we manually set the color limits, and add extensions to indicate values that are above or below those limits. The result is a much more useful visualization of our data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Discrete colorbars\n", + "Colormaps are by default continuous, but sometimes you’d like to represent discrete values. The easiest way to do this is to use the plt.cm.get_cmap() function, and pass name of a suitable colormap along with the number of desired bins:" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(I, cmap=plt.cm.get_cmap('Blues', 6))\n", + "plt.colorbar()\n", + "plt.clim(-1, 1);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example: Handwritten Digits\n", + "For an example of where this might be useful, let’s look at an interesting visualization of some handwritten digits data. This data is included in Scikit-Learn, and consists of nearly 2,000 8×8 thumbnails showing various handwritten digits." + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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OOPxWDvVGN1VrValVquJiHiKv/ys7ayEaYEmN/vpvgWqTxmHeiKR8Hjb9rKtzLa5hPU2m00REQ87iEguFos9qI3dd5l2ewrbr9YsEdq2UK4KHFx+sO2G4s9bW1seLwcPggdv9U7JWS6qMvSltXJg8cBFRItPdk32xGVtflfT72vzWmfts7WdW26Xlx9dPp8zfp+9Z64Gqq1S49WQasKDt1KUq0qHuE0CNoyd125MFGk71OxesGkHv9aGuZ9/e3tber2evhs2l2vB2qYfLXWQd9Nv3WLSmnadrigOxT9XblTkI83R8vndmtVD1rneN3OOuayGP7J9zbX+0e+NyF2P+o+y5j/KOtZp39J79X/NAp97IIFA4A/3tGaz2Vx3aLPWxe1bWafIZq2rsm9lrd/KOkU+s9bNKbixjW1sY+uzr55e2NjGNrax/0u2Ad2NbWxjG1ujbUB3Yxvb2MbWaBvQ3djGNraxNdoGdDe2sY1tbI32Wcb0N0XD2Kx1YftW1imyWeuq7FtZ67eyTpFPr/WLbSoPoZTZbo2bmxt59eqVvHjxQl68eCG//PKLvHnz5s7PPH78WP70pz/Jn//8Z/nhhx/k8ePHquiFQIeVeltkrVa7dzQaSb1el5cvX8rLly/l119/lX/84x/S6/V0vMlkMpFwOCzff/+9PHv2TJ49eybPnz9XoRPETmhXnGeLrvU+9vbtW/nnP/8pv/76q/z666/y7t27O/f+yZMn8pe//EV++ukn+fHHH+XJkyd3ptn6vU53DdfX1zoQ8OzsTCqVigqKcJ2ensr3338vP/zwg/zwww9ycnLyyX//vmt113F1dSXv3r3T6+LiQrUX0AjY3t5WlSv0Z3nufD04OPDcv891/S16X4vForx+/VpevXolr169krOzsztrvb299WgoHxwcyPPnzz1rTafTHsH1zw0nXXStv//+u/z3f/+3/P3vf5e///3v8vvvv3ueLxKZdNUxT/D4+FgePXokJycncnp6qipoduruouucTqcerYderye///67B4fevn1752fddUajUVVq40Jzg3XSbu++U19aq6/SjrbVlnZKesRta6P7EK0Gr6vD69fabFstLcB2NpudbOCKrdupE3aQ4rpsXo+7O2aIlkR3sq798yq1i+095t6ib8F9c+8999fPlk/+HfcSudt+zhwtXjj0Kqx4NXtmMBh4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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# load images of the digits 0 through 5 and visualize several of them\n", + "from sklearn.datasets import load_digits\n", + "digits = load_digits(n_class=6)\n", + "\n", + "fig, ax = plt.subplots(8, 8, figsize=(6, 6))\n", + "for i, axi in enumerate(ax.flat):\n", + " axi.imshow(digits.images[i], cmap='binary')\n", + " axi.set(xticks=[], yticks=[])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Because each digit is defined by the hue of its 64 pixels, we can consider each digit to be a point lying in 64-dimensional space: each dimension represents the brightness of one pixel. But visualizing relationships in such high-dimensional spaces can be extremely difficult. One way to approach this is to use a dimensionality reduction technique such as manifold learning to reduce the dimensionality of the data while maintaining the relationships of interest. Dimensionality reduction is an example of unsupervised machine learning." + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [], + "source": [ + "# project the digits into 2 dimensions using IsoMap\n", + "from sklearn.manifold import Isomap\n", + "iso = Isomap(n_components=2)\n", + "projection = iso.fit_transform(digits.data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We’ll use our discrete colormap to view the results, setting the ticks and clim to improve the aesthetics of the resulting colorbar:" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plot the results\n", + "plt.scatter(projection[:, 0], projection[:, 1], lw=0.1,\n", + " c=digits.target, cmap=plt.cm.get_cmap('cubehelix', 6))\n", + "plt.colorbar(ticks=range(6), label='digit value')\n", + "plt.clim(-0.5, 5.5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The projection also gives us some interesting insights on the relationships within the dataset: for example, the ranges of 5 and 3 nearly overlap in this projection, indicating that some handwritten fives and threes are difficult to distinguish, and therefore more likely to be confused by an automated classification algorithm. Other values, like 0 and 1, are more distantly separated, and therefore much less likely to be confused. This observation agrees with our intuition, because 5 and 3 look much more similar than do 0 and 1.\n", + "### Multiple Subplots\n", + "Sometimes it is helpful to compare different views of data side by side. To this end, Matplotlib has the concept of subplots: groups of smaller axes that can exist together within a single figure. These subplots might be insets, grids of plots, or other more complicated layouts. " + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use('seaborn-white')\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### plt.axes: Subplots by Hand\n", + "The most basic method of creating an axes is to use the plt.axes function. As we’ve seen previously, by default this creates a standard axes object that fills the entire figure. plt.axes also takes an optional argument that is a list of four numbers in the\n", + "figure coordinate system. These numbers represent [bottom, left, width, height] in the figure coordinate system, which ranges from 0 at the bottom left of the figure to 1 at the top right of the figure.\n", + "\n", + "For example, we might create an inset axes at the top-right corner of another axes by setting the x and y position to 0.65 (that is, starting at 65% of the width and 65% of the height of the figure) and the x and y extents to 0.2 (that is, the size of the axes is 20% of the width and 20% of the height of the figure)." + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax1 = plt.axes() # standard axes\n", + "ax2 = plt.axes([0.65, 0.65, 0.2, 0.2])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The equivalent of this command within the object-oriented interface is fig.add_axes(). Let’s use this to create two vertically stacked axes:" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "ax1 = fig.add_axes([0.1, 0.5, 0.8, 0.4],\n", + " xticklabels=[], ylim=(-1.2, 1.2))\n", + "ax2 = fig.add_axes([0.1, 0.1, 0.8, 0.4],\n", + " ylim=(-1.2, 1.2))\n", + "x = np.linspace(0, 10)\n", + "ax1.plot(np.sin(x))\n", + "ax2.plot(np.cos(x));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We now have two axes (the top with no tick labels) that are just touching: the bottom of the upper panel (at position 0.5) matches the top of the lower panel (at position 0.1 + 0.4).\n", + "### plt.subplot: Simple Grids of Subplots\n", + "Aligned columns or rows of subplots are a common enough need that Matplotlib has several convenience routines that make them easy to create. The lowest level of these is plt.subplot(), which creates a single subplot within a grid. As you can see, this command takes three integer arguments—the number of rows, the number of columns, and the index of the plot to be created in this scheme, which runs from the upper left to the bottom right:" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ncFc1cn1P//5D7q6utDR0YFnn30W7e3teO2117Bq1SpcvXoV8+fPt9p+sOUKeGe27e3tAIC//vWv8Pf3x1NPPQVfX18UFhbil7/8JQoLCy1n873cna1DVH23vx9qfxizaNEikZSUZHObK1euiMzMTKHVasXzzz/v0v7a2trEBx98IN59912RkpIi7rjjDvHPf/7ToTF6enpEamqq1YcrvX8v/X14KoQQ//jHP4RWqxXHjh1zqf7refKkx96YqxBCvP7662LXrl1Wy7q7u8WsWbPE1KlTRU9Pj9W6wZarEN6Z7bvvviu0Wq245557RFtbm2X55cuXxd133y1SUlL6PEbtbAfVZNZtbW1WHw59V3t7Ox599FEcP34cqampWLlypUv7CwsLQ2JiIubPn4+ioiJEREQ4fM1qYWEhamtrsXr1arS0tKClpcVyRtDd3Y2WlhaYzWarx/QeY2trq0v1ewtvzBUAFi1ahIyMDKtlQUFBSE5OxjfffGP5cLXXYMsV8M5sQ0JCAAA//vGPERYWZln+gx/8ADNnzsS///3vPtfHe1K2XtfYfX19+zTBXpcuXcKSJUtw8uRJpKWlYePGjfDx8VFt30FBQYiPj8fFixfR0tKi+HFHjx7F1atXsXDhQtx333247777sGDBAgDXmv59992Hr776yuoxvcfo6IdI3sobc7Vl2LBhAPp+mDrYcgW8M9ve9/57c7zesGHDIITw6Gy9rrEPHz4cbW1tfZZ3dnYiOzsbNTU1yMrKQl5entNPkLNnz2LmzJn9fsLd1dUFHx8faDQaxePl5uZi+/btVn+ee+45AEBycjK2b9+O8PBwq8f0HuPw4cOdOgZv4425NjY2IikpCS+99FKfdb2XEd58881WywdbroB3ZvujH/0IGo2mzysu4NoVM4GBgX2avidl63WNPSIiAk1NTTCZTFbL8/LyUFNTgyVLlmDNmjUu7WPs2LHo6OjAm2++CaPRaFne0NCAgwcPIi4uzuZLy++Kjo7G1KlTrf7odDoAwC233IKpU6f2+XCnsbERgPOXVnobb8x15MiR6OjowFtvvYXOzk7L8osXL2LPnj245557+vyHPdhyBbwz25CQEMycORNHjhyxXNIKAPX19Th8+DBmzZrV58zck7K1e1WMp7n33nuxZ88enDlzBrfffjuAa/9bv/feewgNDcUdd9yB9957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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for i in range(1, 7):\n", + " plt.subplot(2, 3, i)\n", + " plt.text(0.5, 0.5, str((2, 3, i)),\n", + " fontsize=18, ha='center')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The command plt.subplots_adjust can be used to adjust the spacing between these plots. The following code uses the equivalent object-oriented command, fig.add_subplot():" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "fig.subplots_adjust(hspace=0.4, wspace=0.4)\n", + "for i in range(1, 7):\n", + " ax = fig.add_subplot(2, 3, i)\n", + " ax.text(0.5, 0.5, str((2, 3, i)),\n", + " fontsize=18, ha='center')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We’ve used the hspace and wspace arguments of plt.subplots_adjust, which specify the spacing along the height and width of the figure, in units of the subplot size (in this case, the space is 40% of the subplot width and height)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### plt.subplots: The Whole Grid in One Go\n", + "The approach just described can become quite tedious when you’re creating a large grid of subplots, especially if you’d like to hide the x- and y-axis labels on the inner plots. For this purpose, plt.subplots() is the easier tool to use (note the s at the end of subplots). Rather than creating a single subplot, this function creates a full grid of subplots in a single line, returning them in a NumPy array. The arguments are the number of rows and number of columns, along with optional keywords sharex and sharey, which allow you to specify the relationships between different axes.\n", + "\n", + "Here we’ll create a 2×3 grid of subplots, where all axes in the same row share their y-axis scale, and all axes in the same column share their x-axis scale:" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(2, 3, sharex='col', sharey='row')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that by specifying sharex and sharey, we’ve automatically removed inner labels on the grid to make the plot cleaner. The resulting grid of axes instances is returned within a NumPy array, allowing for convenient specification of the desired axes using standard array indexing notation:" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# axes are in a two-dimensional array, indexed by [row, col]\n", + "for i in range(2):\n", + " for j in range(3):\n", + " ax[i, j].text(0.5, 0.5, str((i, j)),\n", + " fontsize=18, ha='center')\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In comparison to plt.subplot(), plt.subplots() is more consistent with Python’s conventional 0-based indexing.\n", + "### plt.GridSpec: More Complicated Arrangements\n", + "To go beyond a regular grid to subplots that span multiple rows and columns, plt.GridSpec() is the best tool. The plt.GridSpec() object does not create a plot by itself; it is simply a convenient interface that is recognized by the plt.subplot() command. For example, a gridspec for a grid of two rows and three columns with some specified width and height space looks like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [], + "source": [ + "grid = plt.GridSpec(2, 3, wspace=0.4, hspace=0.3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From this we can specify subplot locations and extents using the familiar Python slicing syntax:" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Y61ng13XUzjrnBDsep0tdvVFOOucTt/NBrt729Y7djs2uAQ6R1pamg4fPqyoqChFRkZqbGxMMTEx065Fks6dO6eIiAitX79+Rt9PW1ubVq1apYaGBpWWliolJUXJycnTPk9cXJyWLl2qkZERjYyMKCIiYsp6MjIydODAgWcev3PnjjIyMpSUlCSXy6V169aptbV1yvPYYb5sZrLregpnndKLXa+zxa6+CGed0+m72WB3bwf9747TMdUGlwULFrzwBpdA54iOjlZycrIsy9Knn36qzMxMLV++fNq1dHd36+zZs/riiy908ODBGX0//f39un79upqamhQfH6+ysjJlZ2c/t55A55GkJUuWqLCwUOPj46qqqpqynoKCAt29e/e555/tzUN2rPVssOt6CmedL3q9zha7+iKcdUov3nezwe7etjXYQ93gEuwckuT1evXRRx8pISFBtbW1M6qlqalJDx480I4dO3Tv3j1FR0crPT39mbuhQOdYtGiR1qxZo9TUVElSbm6uurq6nnsBBzpPS0uLent7dfHiRUlSRUWF3G631q5dO+X3Fuz8U/1s7WTHWs8Gu64np9lxvc6FWqfTF+Gs046+mw0z7SVb34pxu91qaWmRpOducLl586a8Xq8eP3783A0uwc5hWZZ27typ1atXq76+PuD/lQ50nt27d+v777/X8ePHtXXrVr311lvPbZJA58jKylJ3d7cePnyosbExdXR0aOXKldOuJSkpSbGxsXK5XIqJiVFiYqIGBwen/L6eZ8WKFerp6dHAwIBGR0fV2tqqnJycaZ1juuxY69lg1/XkNDuu19liV1+Es047+m42zLS3bb1j37hxo65evart27f7N7gcPXrUv8GlvLxcpaWlsixL77///nPfzwx0Dp/Ppxs3bmh0dFRXrlyRJO3ateu532iwWuz4fqqrq1VZWSlJ2rRp05ThFew8165dU0lJiSIjI+V2u5WXl/dC9Z05c0ZPnjyRx+PRnj17VFFRIcuyVFxcrMWLF7/QOWbKjrWeDXZdT+Gs80Wv19liV1+Eu86Z9t1sCLW32aAEAIZhgxIAGIZgBwDDEOwAYBiCHQAMQ7ADgGEIdgAwDMEOAIYh2AHAMAQ7ABiGYAcAwxDsAGAYgh0ADPNCwT5X5mwCsBe9baagH9v7zTff6PTp04qLi5v0+D///KNPPvlEP/zwg+Li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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.subplot(grid[0, 0])\n", + "plt.subplot(grid[0, 1:])\n", + "plt.subplot(grid[1, :2])\n", + "plt.subplot(grid[1, 2]);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This type of flexible grid alignment has a wide range of uses. It's useful when creating multi-axes histogram plots:" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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xR84cIA/cOAAX1VVxe/bty8p60zHtWvX+N27dyd1jc7OTn7Pnj38p59+mtR1Evn888/5J554IinHPnLkCP/BBx+wzxsaGpKyTiIDAwP8gw8+mPR1eJ7nh4aG+Pvvv59/5513lmQ9Abvdzu/atYsPBAJJOf6+ffv4/fv38wcOHODr6ur4Bx54gLfb7TO+niLvFOU3v/kNjEYjHnnkEXR2diInJydp8wyPHz/OPv7KV76CP/7xj0lZR+D1119HZmYmvvnNb0KtVif10fjatWt4/PHH8fLLLyflyWI5qK2txSeffII9e/agpaUFa9euXe5TWjTGxsbwve99D4cPH8b27duTvt6f//xnjI6O4vvf/z5UKhVEIlHS/j8ePXqUfdzY2IjnnnsOZrN5xteTeKcojz76KA4dOoQTJ05AIpHghRdeWO5TWjQeeOABPP300zh27BhisRiOHDmStLVeeuklRCIRPP/88wAArVab1A2ppeCrX/0qTp06hb1794Ln+aRev6Xmtddeg9frxauvvopXX30VwI0N0/ls8C2Er33ta3jmmWewf/9+RKNRPPvss0uyLzIfqEmHIAgiBaFqE4IgiBSExJsgCCIFIfEmCIJIQUi8CYIgUhASb4IgiBSExJsgCCIFIfEmCIJIQUi8CYIgUpD/D2uh59oD4boSAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Create some normally distributed data\n", + "mean = [0, 0]\n", + "cov = [[1, 1], [1, 2]]\n", + "x, y = np.random.multivariate_normal(mean, cov, 3000).T\n", + "\n", + "# Set up the axes with gridspec\n", + "fig = plt.figure(figsize=(6, 6))\n", + "grid = plt.GridSpec(4, 4, hspace=0.2, wspace=0.2)\n", + "main_ax = fig.add_subplot(grid[:-1, 1:])\n", + "y_hist = fig.add_subplot(grid[:-1, 0], xticklabels=[], sharey=main_ax)\n", + "x_hist = fig.add_subplot(grid[-1, 1:], yticklabels=[], sharex=main_ax)\n", + "\n", + "# scatter points on the main axes\n", + "main_ax.plot(x, y, 'ok', markersize=3, alpha=0.2)\n", + "\n", + "# histogram on the attached axes\n", + "x_hist.hist(x, 40, histtype='stepfilled',\n", + " orientation='vertical', color='gray')\n", + "x_hist.invert_yaxis()\n", + "y_hist.hist(y, 40, histtype='stepfilled',\n", + " orientation='horizontal', color='gray')\n", + "y_hist.invert_xaxis()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Text and Annotation\n", + "Creating a good visualization involves guiding the reader so that the figure tells a story. In some cases, this story can be told in an entirely visual manner, without the need for added text, but in others, small textual cues and labels are necessary. Perhaps the most basic types of annotations you will use are axes labels and titles, but the options go beyond this. " + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib as mpl\n", + "plt.style.use('seaborn-whitegrid')\n", + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example: Effect of Holidays on US Births" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [], + "source": [ + "births = pd.read_csv('E:/Python_4_DS/datasets/births.csv')\n", + "\n", + "quartiles = np.percentile(births['births'], [25, 50, 75])\n", + "mu, sig = quartiles[1], 0.74 * (quartiles[2] - quartiles[0])\n", + "births = births.query('(births > @mu - 5 * @sig) & (births < @mu + 5 * @sig)')\n", + "\n", + "births['day'] = births['day'].astype(int)\n", + "\n", + "births.index = pd.to_datetime(10000 * births.year +\n", + " 100 * births.month +\n", + " births.day, format='%Y%m%d')\n", + "births_by_date = births.pivot_table('births',\n", + " [births.index.month, births.index.day])\n", + "births_by_date.index = [pd.datetime(2012, month, day)\n", + " for (month, day) in births_by_date.index]" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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HyIiIiIitWGxQH5+/axIASqMRURERMRHWSyQl6fCWERERESaObNZHWMRERERESwWuHChftYwBhXGIiIiIuKj3PeXU8dYRERERJo1s7n8bxXGIiIiItKs+ftDSIgKYxERERERLBbNGIuIiIiIYLGoYywiIiIiosJYRERERARUGIuIiIiIAJoxFhEREREB6rdjHFA/hxERERERaXzum3zUB3WMRURERMRnacZYRERERIT6nTHWKIWIiIiI+CyLBYqL6+dYKoxFRERExGf17w/nz9fPsVQYi4iIiIjPevDB+jvWNQvj0tJS/vCHP/Df//4Xf39/UlNTcTgczJkzB39/f2666SZSUlLw8/MjIyOD9PR0AgICmDx5Mv379yc/P5/nnnuOS5cuERkZSWpqKiEhIfWXgYiIiIhIPbjmm+927NgBQHp6OtOmTSM1NZUlS5YwZcoU1q5di9PpZOfOnZw+fRqbzUZ6ejrLly8nLS0Np9PJm2++yWOPPcaaNWvo0aMH69ata/CkRERERERq65qF8cCBA5k7dy4Adrudtm3b0r17d86dO4fL5cLhcBAQEMDhw4fp2bMnLVq0ICwsjI4dbzpuGgAADd1JREFUO3Ls2DEOHjzIg//rcfft25c9e/Y0bEYiIiIiItehRsu1BQQEkJSUxNy5cxk8eLBnfGLo0KHk5eXRp08fCgsLCQsL83yN2WymsLCwwnaz2UxBQUHDZCIiIiIiUgc1fvPdggULeO6554iLi+PixYusXr2arl27snr1al599VUeeOABHA6HZ3+Hw0FYWBgWiwWHw0FwcDAOh4OWLVtWevyDBw/WPZsmLjc319shNAij5uVm5PyMnJubkXM0cm5uytG3GTk3NyPnaOTcqnLNwnjz5s2cOnWKSZMmERISgslkonXr1lj+d/+9yMhIDh06xB133MHixYspKirC6XSSk5NDt27d6NWrF7t27SImJoasrCx69+591XNUtk1EREREpDGZXC6Xq7odLly4wIsvvsiZM2coKSnh17/+Na1bt+b1118nICCAwMBA5s6dS4cOHcjIyGDdunW4XC4mTZrE4MGDOXPmDElJSTgcDsLDw1m0aBGhoaGNlZ+IiIiISI1cszAWEREREWkOavTmOxERERERo/NKYWy1WsnJyfHGUzeokydP0qtXL6xWq+fPkiVLKt3XV74H2dnZ3HLL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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(12, 4))\n", + "births_by_date.plot(ax=ax);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When we’re communicating data like this, it is often useful to annotate certain features of the plot to draw the reader’s attention. This can be done manually with the plt.text/ax.text command, which will place text at a particular x/y value:" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(12, 4))\n", + "births_by_date.plot(ax=ax)\n", + "\n", + "# Add labels to the plot\n", + "style = dict(size=10, color='gray')\n", + "\n", + "ax.text('2012-1-1', 3950, \"New Year's Day\", **style)\n", + "ax.text('2012-7-4', 4250, \"Independence Day\", ha='center', **style)\n", + "ax.text('2012-9-4', 4850, \"Labor Day\", ha='center', **style)\n", + "ax.text('2012-10-31', 4600, \"Halloween\", ha='right', **style)\n", + "ax.text('2012-11-25', 4450, \"Thanksgiving\", ha='center', **style)\n", + "ax.text('2012-12-25', 3850, \"Christmas \", ha='right', **style)\n", + "\n", + "# Label the axes\n", + "ax.set(title='USA births by day of year (1969-1988)',\n", + "ylabel='average daily births')\n", + "\n", + "# Format the x axis with centered month labels\n", + "ax.xaxis.set_major_locator(mpl.dates.MonthLocator())\n", + "ax.xaxis.set_minor_locator(mpl.dates.MonthLocator(bymonthday=15))\n", + "ax.xaxis.set_major_formatter(plt.NullFormatter())\n", + "ax.xaxis.set_minor_formatter(mpl.dates.DateFormatter('%h'));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ax.text method takes an x position, a y position, a string, and then optional keywords specifying the color, size, style, alignment, and other properties of the text. Here we used ha='right' and ha='center', where ha is short for _horizonal alignment_.\n", + "### Transforms and Text Position\n", + "Sometimes it’s preferable to anchor the text to a position on the axes or figure, independent of the data. In Matplotlib, we do this by modifying the _transform_.\n", + "\n", + "Any graphics display framework needs some scheme for translating between coordinate systems. For example, a data point at x, y = 1, 1 needs to somehow be represented at a certain location on the figure, which in turn needs to be represented in pixels on the screen. Mathematically, such coordinate transformations are relatively straightforward, and Matplotlib has a well-developed set of tools that it uses internally to perform them (the tools can be explored in the matplotlib.transforms submodule).\n", + "\n", + "The average user rarely needs to worry about the details of these transforms, but it is helpful knowledge to have when considering the placement of text on a figure. There are three predefined transforms that can be useful in this situation:\n", + "\n", + "ax.transData\n", + " \n", + " Transform associated with data coordinates\n", + "\n", + "ax.transAxes\n", + " \n", + " Transform associated with the axes (in units of axes dimensions)\n", + "\n", + "fig.transFigure\n", + " \n", + " Transform associated with the figure (in units of figure dimensions)" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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aam++OILpaSk6I033tCIESP03nvvafz48eratateeeUVFRYWauDAgdq0aZN27Njh2BYJCwvTc889V2POiooKFRUVKTAwUJLUs2dPDRgwoFH13HnnnZozZ462bt2qUaNGaenSpZIkb29vBQYG6vjx42589QBM5PJFIZobu92us2fPqnPnzurevbuWLVsmf39/nTlzRvfee2+NsR07dlReXp7+85//KCAgQFeuXKl33osXL7p87dGhQ4fKz89PkvTII49o3bp1jq9169ZNJSUlLs0LoPlgJf6dnTt3aujQofLy8lJ8fLySkpK0YsUKdevWTXa7XZJksVhks9m0e/dutWvXTqtXr9a0adNUUVHhGPNDnTp10qVLl1yqKT4+Xu+//76kq1s1ISEhjq9dvHhRnTt3dmleAM1Hs1+Jl5SUKD4+vs696ri4OMdKt3v37lqyZIkkaezYsZowYYLat2+vLl26OPaiBw8erNjYWCUkJOiFF15QTk6O/Pz81KtXLxUVFenkyZPKycmpsaXi4+OjwMBAnTt3rsHQnTt3rhYtWqSuXbs67ps3b54WLVqkHTt2yM/Pz7GdYrPZdObMGf3kJz+58QYBMJolLy+v7iXkDbJarRo0aNDNmNo4GRkZqq6u1tSpU+sd8/LLL2vWrFny9/e/7nz79+9Xfn6+fvOb37ixyluDC+I60QsneuGUk5MjX1/fRo9nO+UWGDFihPLz82t8TvyHJk2a1KgAt9vt2rdvX4NvCABajma/nXI7sFgsSklJaXBMY1chFotFq1atckdZAJoBVuIAYDBCHAAMRogDgMEIcQAwGCEOAAYjxAHAYIQ4ABiMEAcAgxHiAGAwQhwADEaIA4DBCHEAMBghDgAGI8QBwGCEOAAY7IZC/OLFi4qNjdU333zjrnoAAE3gcohXVVUpPT1dPj4+7qwHANAELof4li1b9OijjyowMNCd9QAAmsClEM/KylKHDh0UGhrq7noAAE3g0jU2s7KyZLFYdOTIEZ06dUqpqalasGCBOnXq5O76AAANsOTl5dlvZIKEhATFxsYqODi4xv1Wq1V33HHHDRXXXJSVlaldu3aeLuO2QC+c6IUTvXAqLCyUr69vo8ff1KvdN/YK7s1dQUEBvfgOvXCiF070wqmwsLBJ4284xBMTE290CgCAizjYBwAMRogDgMEIcQAwGCEOAAYjxAHA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57jTp0/XOH/5/v37tXPnTve8MNwShDjwA++//74ef/xx7dmzp1aQuts777yjkJAQtW3bVsuXL9fzzz+v7du3y2636x//+EeNsV999ZVCQkKUkZGhjIwMzZs3r955d+zYoT59+mj79u365S9/qVdffbXWmL1792ru3Lm6cOGC476HHnpI7733Xq2zLeL2RYgDP5CZmamnnnpK/fr1c5y86p///KciIyNls9m0bt06JScnS5JWr16tSZMmaeLEiXr33XclXT3Effz48Zo4caJWrlwpSTpw4ECd53rJyMjQmDFjJEn5+fm6//77JV099/hHH31UY2x+fr7OnDmj6OhoxcTE6OTJk/W+huudx1y6enrarVu31rr/oYce0p49expuEm4bhDjwPV9++aUuX76sfv366amnntK2bdskSQ8//LD69++vuLg4ZWdn64UXXtD+/fv1zTff6M0339Qbb7yh9PR0lZaWavfu3Vq8eLHeeust9ezZU1VVVQoLC6t1AQmr1arCwkLHmQXtdrvj8ml1nXu8a9euio2NVUZGhmbOnKn58+fX+zqudx7za6/J39+/1v19+/bVoUOHmtA1eBLnTgG+JzMzU5cvX3Zc9CQ3N1enT59Wr169FBMTo4cfflhr1qxRq1atdPz4ceXn5ys6OlrS1SvpFBQUaPny5Xr99de1atUqDRw4sMY5yr+vrKxMnTp1cty+dupbqe5zj999993y9vaWdPV86GfOnKkR/N/XmPOY16dr164qKSlp9Hh4Fitx4DtVVVV65513tG3bNm3atEmbNm1SbGys47JmS5Ys0eLFi5WamqqLFy/qzjvv1JAhQ5SRkaEtW7boscceU3BwsP785z/rD3/4g7Zu3arPP//ccQ7zH2rfvn2Nizz0799fBw8elHT13OM/vHBFWlqatmzZIkk6duyYgoKC6r3w8fXOY94QzjtuFkIcLVJd18fMyspSSEiI42r0kvTkk0/qL3/5i7Zs2aLOnTtr8uTJevrppxUfH68RI0bI399fkZGRjsuxBQQEqG/fvho3bpymTJmiwMBADRgwoM49cR8fH3Xp0kXnzp2TJMXFxSk1NVUTJ05UZWWl4zqd06ZN05UrVxQbG6vs7GxFRUVp+fLlWr58uSRp2bJl+vzzz2vMHRERoS+++EIRERF66623HK81OTlZR44cabA3n376qcLCwpraUngIZzG8BThDmxO9cCooKFBubq7Onj2rqVOnujxPRkaGhg8frl69ermlrunTp2vt2rUKCAhwy3yNwfeFE2cxBAwyZswY5efn19hWaaqRI0e6LcD/9a9/afTo0bc0wHFj+MMm4EEWi+WGL9bgzhXsz372M7fNhVuDlTgAGIwQBwCDEeIAYDBCHAAMRogDgMEIcQAwGCEOAAYjxAHAYIQ4ABiMEAcAgxHiAGAwQhwADEaIA4DBCHEAMJhLp6K12Wx67bXX9OWXX6p169Z65plndMcdd7i7NgDAdbi0Ej906JCuXLmi5cuXKyoqynHdPwDAreVSiH/++ecKDQ2VJPXp00cnTpxwa1EAgMZxKcQvX74sf39/5yReXqqurnZbUQCAxnEpxP38/HT58mXHbZvNJm9vb7cVBQBoHJf+sNmvXz99/PHHGjZsmI4fP17vRVpzcnJuqLjmpLCw0NMl3DbohRO9cKIXrrHk5eXZm/qga59OOX36tOx2u5599lkFBwffjPoAAA1wKcQBALcHDvYBAIO5tCfeEA4EcqqqqtL69etVXFysyspKjRs3Tvfdd5+ny/Koixcvav78+UpISGjRW3C7d+9Wdna2qqqqNHr0aI0aNcrTJXlEVVWVUlNTVVxcLC8vL82aNatFfl8cP35cW7duVWJiogoLC5WWliaLxaKePXsqJiZGXl71r7fdvhLnQCCnDz74QO3atdPSpUsVHx+vjRs3erokj6qqqlJ6erp8fHw8XYpHHT16VMeOHdOyZcuUmJioc+fOebokj8nNzVV1dbWSkpI0fvx4bd++3dMl3XJ79+7Vhg0bdOXKFUnS5s2bFRERoaVLl0qSsrOzG3y820OcA4GcwsLCFBER4bjd0LtpS7BlyxY9+uijCgwM9HQpHvXJJ5+oV69eSk5O1vLlyzVo0CBPl+QxQUFBstlsstlsunTpklq1cvvmwG2ve/fumj9/vuP2yZMnFRISIkkKDQ3VkSNHGny821OFA4Gc/Pz8HJ+pT0lJUWRkpKdL8pisrCx16NDB8QbfkpWVlenEiROaN2+eZs6cqbVr18pub5mfL2jTpo2Kioo0Z84cpaen6/HHH/d0SbdcWFhYjTcvu90ui8Ui6WqGXLp0qcHHuz3EORCoprNnz2rJkiV66KGH9OCDD3q6HI/JysrSp59+qoSEBJ06dUqpqam6cOGCp8vyiICAAA0cOFCtW7dWjx491Lp1a5WWlnq6LI/Yt2+fBg4cqLS0NK1evVqpqamObYWW6lqAS7UXxXVxe4j369dPubm5ktTggUAtQUlJiRITExUVFaWRI0d6uhyPWrp0qV566SUlJiaqd+/emj17tjp16uTpsjzirrvu0uHDh2W323X+/HlZrVYFBAR4uiyPCAgIcIRUQECAqqurZbPZPFyVZ/Xu3VtHjx6VJB0+fFj9+/dvcLzbN6CGDBmiI0eOaNGiRY4DgVqqXbt2qby8XDt37tTOnTslSYsXL5avr6+HK4MnDR48WJ999pni4uJkt9s1Y8aMFvvbanh4uNavX6/4+HhVVVVp8uTJatOmjafL8qipU6dqw4YN2rZtm4KDgzV06NAGx3OwDwAYrGV/XAIADEeIA4DBCHEAMBghDgAGI8QBwGCEOAAYjBAHAIMR4gBgsP8HJ+NTV5npK+AAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ffig, ax = plt.subplots(facecolor='lightgray')\n", + "ax.axis([0, 10, 0, 10])\n", + "\n", + "# transform=ax.transData is the default, but we'll specify it anyway\n", + "ax.text(1, 5, \". Data: (1, 5)\", transform=ax.transData)\n", + "ax.text(0.5, 0.1, \". Axes: (0.5, 0.1)\", transform=ax.transAxes)\n", + "ax.text(0.2, 0.2, \". Figure: (0.2, 0.2)\", transform=fig.transFigure);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that by default, the text is aligned above and to the left of the specified coordinates; here the “.†at the beginning of each string will approximately mark the given coordinate location.\n", + "\n", + "The transData coordinates give the usual data coordinates associated with the x- and y-axis labels. The transAxes coordinates give the location from the bottom-left corner of the axes (here the white box) as a fraction of the axes size. The transFigure coordinates are similar, but specify the position from the bottom left of the figure (here the gray box) as a fraction of the figure size.\n", + "\n", + "Notice now that if we change the axes limits, it is only the transData coordinates that will be affected, while the others remain stationary:" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 117, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ax.set_xlim(0, 2)\n", + "ax.set_ylim(-6, 6)\n", + "ffig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can see this behavior more clearly by changing the axes limits interactively; if you are executing this code in a notebook, you can make that happen by changing %matplotlib inline to %matplotlib notebook and using each plot’s menu to interact with the plot.\n", + "### Arrows and Annotation\n", + "Along with tick marks and text, another useful annotation mark is the simple arrow.\n", + "\n", + "Drawing arrows in Matplotlib is often much harder than you might hope. While there is a plt.arrow() function available, I wouldn’t suggest using it; the arrows it creates are SVG objects that will be subject to the varying aspect ratio of your plots, and the result is rarely what the user intended. Instead, I’d suggest using the plt.annotate() function. This function creates some text and an arrow, and the arrows can be very flexibly specified." + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "\n", + "fig, ax = plt.subplots()\n", + "\n", + "x = np.linspace(0, 20, 1000)\n", + "ax.plot(x, np.cos(x))\n", + "ax.axis('equal')\n", + "\n", + "ax.annotate('local maximum', xy=(6.28, 1), xytext=(10, 4),\n", + " arrowprops=dict(facecolor='black', shrink=0.05))\n", + "ax.annotate('local minimum', xy=(5 * np.pi, -1), xytext=(2, -6),\n", + " arrowprops=dict(arrowstyle=\"->\",\n", + " connectionstyle=\"angle3,angleA=0,angleB=-90\"));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The arrow style is controlled through the arrowprops dictionary, which has numerous options available. These options are fairly well documented in Matplotlib’s online documentation." + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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1zfvy8/PDz8/vyKf59/u5eXlsPcsKyuL1NRUUlJSSE1NLfA4JSWlyO2pqamcO3eO2NhYjh49yvnz52ncuDGNGzfmhhtu4OGHH3ZIW4XjBQbC6dNgsUBlzF12+YVdHKF27dpMmzaNxx9/nLlz59KhQwdGjRrFc8895xK3MYQQwpV169aNN954AzAygqNHjyYsLIxWrVo5uWUivz59+tCnz4XcV0pKCkeOHOHQoUOcOnWKlJQUkpOTSUpKIjExkX/++SfvuX2fPZC1P3bkioMeHh74+/vj5+eX993+uPBX3bp18x7XrFmTxo0b06RJE+rWrSsf0txEQADEx1dOdhokoC5RnTp1mDVrFk888QSvvvoqbdu25ZZbbiEqKoprr71WfqmEEA4xevRoWrZsyb59+0hOTmbevHk0bNiQN954g59++on69etz5swZwJgDMmnSpLznkydPRinF9ddfT/v27Tl69CjNmzdnxowZpKSk8NJLL+WV6LMfO2DAADp27MihQ4eoU6cOCxYsIC0tjaeeeopz585x5ZVX5rVNa8306dMBqFWrFjNnziQmJoZ3330XT09PYmNjGTx4MA8//DCHDx9m8uTJZGZm4u3tzRtvvEF6ejovvPAC6enpeHl5MW3aNBo0aFDsz8LPz4+RI0fy7bff0qJFC1588UXi4uI4c+YMvXv35rHHHmPgwIF8+umn1KpVi5UrVxIXF1dg2WpRNfz8/GjdujWtW7eu0HlcZQyucG2BgZUbUFflGGqXFRISwty5c/nf//6HUor77ruPli1bMnv2bI4fP+7s5gkh3FC7du1YsmQJPXr04Ouvv+bvv/9m586drF69mldffZWUlBQAFi1aRLdu3Vi+fDnTpk1jypQpgLGU8vjx41m9ejWpqals2LCBRYsW0bFjx4uOPXbsGOPHj2fVqlUkJCSwd+9ePv/8c1q0aMGHH37I7bffnteuF154gZdeeonly5fTu3dv3nvvPcAIghYsWMCqVavyts2ePZsHHniAVatWMXLkSGJiYpg9ezajR49m+fLl3HfffcydO/eSP4s6depw5swZjh8/TocOHXj//ff56KOP+Oijj/Dw8ODGG2/k66+/BuDLL79kwIABlfU2CCHcVEAAnDolGWqnqFevHhMnTuTpp59m27ZtLF68mNatW9OzZ0/GjBnDkCFDiiwmL4QQZWXP8tWv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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(12, 4))\n", + "births_by_date.plot(ax=ax)\n", + "\n", + "# Add labels to the plot\n", + "ax.annotate(\"New Year's Day\", xy=('2012-1-1', 4100), xycoords='data',\n", + " xytext=(50, -30), textcoords='offset points',\n", + " arrowprops=dict(arrowstyle=\"->\",\n", + " connectionstyle=\"arc3,rad=-0.2\"))\n", + "\n", + "ax.annotate(\"Independence Day\", xy=('2012-7-4', 4250), xycoords='data',\n", + " bbox=dict(boxstyle=\"round\", fc=\"none\", ec=\"gray\"),\n", + " xytext=(10, -40), textcoords='offset points', ha='center',\n", + " arrowprops=dict(arrowstyle=\"->\"))\n", + "\n", + "ax.annotate('Labor Day', xy=('2012-9-4', 4850), xycoords='data', ha='center',\n", + " xytext=(0, -20), textcoords='offset points')\n", + "ax.annotate('', xy=('2012-9-1', 4850), xytext=('2012-9-7', 4850),\n", + " xycoords='data', textcoords='data',\n", + " arrowprops={'arrowstyle': '|-|,widthA=0.2,widthB=0.2', })\n", + "ax.annotate('Halloween', xy=('2012-10-31', 4600), xycoords='data',\n", + " xytext=(-80, -40), textcoords='offset points',\n", + " arrowprops=dict(arrowstyle=\"fancy\",\n", + " fc=\"0.6\", ec=\"none\",\n", + " connectionstyle=\"angle3,angleA=0,angleB=-90\"))\n", + "\n", + "ax.annotate('Thanksgiving', xy=('2012-11-25', 4500), xycoords='data',\n", + " xytext=(-120, -60), textcoords='offset points',\n", + " bbox=dict(boxstyle=\"round4,pad=.5\", fc=\"0.9\"),\n", + " arrowprops=dict(arrowstyle=\"->\",\n", + " connectionstyle=\"angle,angleA=0,angleB=80,rad=20\"))\n", + "\n", + "ax.annotate('Christmas', xy=('2012-12-25', 3850), xycoords='data',\n", + " xytext=(-30, 0), textcoords='offset points',\n", + " size=13, ha='right', va=\"center\",\n", + " bbox=dict(boxstyle=\"round\", alpha=0.1),\n", + " arrowprops=dict(arrowstyle=\"wedge,tail_width=0.5\", alpha=0.1));\n", + "\n", + "# Label the axes\n", + "ax.set(title='USA births by day of year (1969-1988)',\n", + " ylabel='average daily births')\n", + "\n", + "# Format the x axis with centered month labels\n", + "ax.xaxis.set_major_locator(mpl.dates.MonthLocator())\n", + "ax.xaxis.set_minor_locator(mpl.dates.MonthLocator(bymonthday=15))\n", + "ax.xaxis.set_major_formatter(plt.NullFormatter())\n", + "ax.xaxis.set_minor_formatter(mpl.dates.DateFormatter('%h'));\n", + "\n", + "ax.set_ylim(3600, 5400);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You’ll notice that the specifications of the arrows and text boxes are very detailed: this gives you the power to create nearly any arrow style you wish. Unfortunately, it also means that these sorts of features often must be manually tweaked, a process that can be very time-consuming when one is producing publication-quality graphics! Finally, I’ll note that the preceding mix of styles is by no means best practice for presenting data, but rather included as a demonstration of some of the available options.\n", + "### Customizing Ticks\n", + "Matplotlib’s default tick locators and formatters are designed to be generally sufficient in many common situations, but are in no way optimal for every plot. Matplotlib aims to have a Python object representing everything that appears on the plot: for example, recall that the figure is the bounding box within which plot elements appear. Each Matplotlib object can also act as a container of sub-objects; for example, each figure can contain one or more axes objects, each of which in turn contain other objects representing plot contents. The tick marks are no exception. Each axes has attributes xaxis and yaxis, which in turn have attributes that contain all the properties of the lines, ticks, and labels that make up the axes.\n", + "### Major and Minor Ticks\n", + "Within each axis, there is the concept of a _major_ tick mark and a _minor_ tick mark. As the names would imply, major ticks are usually bigger or more pronounced, while minor ticks are usually smaller. By default, Matplotlib rarely makes use of minor ticks, but one place you can see them is within logarithmic plots:" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "plt.style.use('seaborn-whitegrid')\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.axes(xscale='log', yscale='log')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see here that each major tick shows a large tick mark and a label, while each minor tick shows a smaller tick mark with no label. We can customize these tick properties—that is, locations and labels—by setting the formatter and locator objects of each axis. Let’s examine these for the x axis of the plot just shown:" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + } + ], + "source": [ + " print(ax.xaxis.get_major_locator())\n", + "print(ax.xaxis.get_minor_locator())" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + } + ], + "source": [ + "print(ax.xaxis.get_major_formatter())\n", + "print(ax.xaxis.get_minor_formatter())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We see that both major and minor tick labels have their locations specified by a LogLocator (which makes sense for a logarithmic plot). Minor ticks, though, have their labels formatted by a NullFormatter; this says that no labels will be shown.\n", + "### Hiding Ticks or Labels\n", + "Perhaps the most common tick/label formatting operation is the act of hiding ticks or labels. We can do this using plt.NullLocator() and plt.NullFormatter()." + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.axes()\n", + "ax.plot(np.random.rand(50))\n", + "ax.yaxis.set_major_locator(plt.NullLocator())\n", + "ax.xaxis.set_major_formatter(plt.NullFormatter())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that we’ve removed the labels (but kept the ticks/gridlines) from the x axis, and removed the ticks (and thus the labels as well) from the y axis. Having no ticks at all can be useful in many situations—for example, when you want to show a grid of images." + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "downloading Olivetti faces from https://ndownloader.figshare.com/files/5976027 to C:\\Users\\Michael\\scikit_learn_data\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(5, 5, figsize=(5, 5))\n", + "fig.subplots_adjust(hspace=0, wspace=0)\n", + "\n", + "# Get some face data from scikit-learn\n", + "from sklearn.datasets import fetch_olivetti_faces\n", + "faces = fetch_olivetti_faces().images\n", + "\n", + "for i in range(5):\n", + " for j in range(5):\n", + " ax[i, j].xaxis.set_major_locator(plt.NullLocator())\n", + " ax[i, j].yaxis.set_major_locator(plt.NullLocator())\n", + " ax[i, j].imshow(faces[10 * i + j], cmap=\"bone\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that each image has its own axes, and we’ve set the locators to null because the tick values (pixel number in this case) do not convey relevant information for this particular visualization.\n", + "### Reducing or Increasing the Number of Ticks\n", + "One common problem with the default settings is that smaller subplots can end up with crowded labels. " + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAD/CAYAAADllv3BAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAHmJJREFUeJzt3X9IVGv+B/D32HVq9E6GKJXGRLi4ICX+CPpD1jbvirFzg66zzZQhLYzkEmVsXtq4f6wRsenGgqwbxa0oELacLRAraOtWN/sBheKPFqwB/3DbWjI2TceGMfV8//k65NWZM55nHqdnfL/+8s74zPnM55z9cHaat49J0zQNREQUNxJiXQAREUUXBzsRUZzhYCciijMc7EREcYaDnYgoznCwExHFmYgGe09PDyorK2c9fvfuXTgcDrhcLng8nqgXR0RE8/eF3i+cPXsWbW1tsFgsMx7/+PEjTpw4gStXrsBisWDXrl3YsmUL0tPTpRVLRET6dO/YbTYbmpqaZj3e398Pm82GlJQUmM1mFBYWoqOjQ0qRREQUOd3BXlZWhi++mH1j7/P5YLVag/+dnJwMn88X3eqIiGjeDP/j6ZdffomxsbHgf4+Njc0Y9EREFBu6n7GHkpWVhYGBAQwPDyMpKQkdHR1wu91z/m5nZ6fhAheTwsLCea9hbyNjpLcA+xspXrvyGOntvAf7tWvX8OHDB7hcLhw5cgRutxuapsHhcGDlypVRLQ4AXr9+jYyMjAVbF6tjilzkC91bkbWxOKboADHS38XSW0Cta1e182K0txEN9jVr1gS/zrht27bg4yUlJSgpKTF0YCIikoMBJSKiOMPBTkQUZ3QH+9TUFP74xz/C5XKhsrISAwMDM54/f/48ysvL4XA4cPv2bWmFEhFRZHQ/Y//hhx8wPj6OlpYWdHd3o76+HqdPnwYAjIyMoLm5Gbdu3YLf78f27dtRWloqvWgiIgpN9469s7MTv/jFLwAAeXl5+Ne//hV8zmKxICMjA36/H36/HyaTSV6lREQUEd07dp/Phy+//DL430uWLMHExEQwjbp69WrY7XZMTk6iurpaXqVERBQR3cH+04Tp1NRUcKi3t7djcHAQd+7cAQC43W4UFBQgNzd31uu8fv3aUIGjo6OG1hpdF6tjiljo9ymyNhbHFKXK+1wsvQXU6lEseqs72AsKCnDv3j38+te/Rnd3N7Kzs4PPpaSkYNmyZTCbzTCZTLBarRgZGZnzdVQKBcTimP/9738NrQMWvrcia2NxTJHeAsb6u1h6C6h17ap2Xoz2Vnewl5aW4tGjR9i5cyc0TcOf/vQnXLhwATabDV999RUeP34Mp9OJhIQEFBQUoKioyFAhREQUHbqDPSEhAceOHZvxWFZWVvDnmpoa1NTURL8yIiIyhAElIqI4w8FORBRndD+KmZqawtGjR/HixQuYzWYcP34ca9euDT5///59nDp1CgCQk5ODuro6fp+diCiGdO/YP02e1tbWor6+Pvicz+fDyZMncebMGXg8HmRmZmJoaEhqwUREFJ5Q8rSrqwvZ2dloaGhARUUF0tLSkJqaKq9aIiLSJZQ8HRoawpMnT9Da2oqkpCTs3r0beXl5WLdundSiiYgoNKHk6YoVK7Bhwwakp6cDADZu3Ii+vr45B7tKaS+VEmYAk6eyqfI+F0tvAbV6pFzydP369fB6vXj37h2WL1+Onp4eOJ3OOV9HpbSXSgkzgMlTPUyeyl2r0rWr2nmJWfK0trYWVVVVAICtW7fOGPxERLTwhJOndrsddrs9+pUREZEhDCgREcUZ4a3xpn+nqqoKly5dklIkERFFTiigNK2xsRHv37+XUiAREc2PUEAJAG7evAmTyYTi4mI5FRIR0bzoDvZQASUA8Hq9uH79Og4ePCivQiIimhehgFJrayvevHmDPXv24NWrV0hMTERmZibv3omIYkgooHT48OHgz01NTUhLSws51FVKe6mUMAOYPJVNlfe5WHoLqNWjzzJ5qhdQipRKaS+VEmYAk6d6mDyVu1ala1e18yIteaoXUJp24MABQwUQEVF0MaBERBRnONiJiOKM8NZ4Fy9exI0bNwAAmzdvxv79++VVS0REuoSSpy9fvkRbWxsuX76MlpYWPHz4EM+fP5daMBERhad7xx4uebpq1SqcO3cOS5YsAQBMTExg6dKlkkolIqJICCVPExMTkZqaCk3T0NDQgJycHG6LR0QUY0LJUwAIBAL47rvvkJycjLq6upCvo1IoQKUgAsCAkmyqvM/F0ltArR59lgGlcMlTTdOwb98+bNq0CXv37g37OiqFAlQKIgAMKOlhQEnuWpWuXdXOS0y2xpuamsLTp08xPj6OBw8eAAAOHTqE/Px8Q8UQEZE44eTps2fPol8VEREZxoASEVGc4WAnIoozwnueejwelJeXw+l04t69e9IKJSKiyOh+xv5p8rS7uxv19fU4ffo0AODt27dobm7G1atXEQgEUFFRgaKiIpjNZumFExHR3IT2PO3t7UV+fj7MZjOsVitsNhv/pAARUYwJJU99Ph+sVmvwueTkZPh8PgllEhFRpISSpz99bmxsbMag/1RnZ6fhIo1+SV8kOBGLYxoVi96KrI3FMUUY7S97q49zQQ6h5Glubi4aGxsRCAQwPj6O/v7+Gc9PKywsjG7VFMTeysX+ysPeymPSNE0L9wvTf4/d6/UGk6ft7e3BPU89Hg9aWlqgaRqqq6tRVla2ULUTEdEcdAc7ERGphQElIqI4E9Fg7+npQWVl5azH7969C4fDAZfLBY/HE/XiiIho/nT/8fTs2bNoa2uDxWKZ8fjHjx9x4sQJXLlyBRaLBbt27cKWLVuQnp4urVgiItKne8dus9nQ1NQ06/H+/n7YbDakpKTAbDajsLAQHR0dUookIqLI6Q72srKyGTsmTWM4iYjo82T4H0/nE04iIqKFo/sZeyhZWVkYGBjA8PAwkpKS0NHRAbfbPefviqTLFhMjgQ32NjJGwzDsb2R47cpjpLfzHuzXrl3Dhw8f4HK5cOTIEbjdbmiaBofDgZUrV0a1OGDx7G0ocpEvdG9F1sbimKIDxEh/F0tvAbWuXdXOi9HeRjTY16xZE/w647Zt24KPl5SUoKSkxNCBiYhIDgaUiIjiDAc7EVGcEd4a7/z58ygvL4fD4cDt27elFUpERJER2hpvZGQEzc3NuHXrFvx+P7Zv347S0lLpRRMRUWhCW+NZLBZkZGTA7/fD7/fDZDLJq5SIiCKie8ceamu86TTq6tWrYbfbMTk5ierqanmVEhFRRHTv2MNtjdfe3o7BwUHcuXMHP/74I3744Qf09vbKq5aIiHQJbY2XkpKCZcuWwWw2w2QywWq1YmRkZM7Xef36taECR0dHDa01ui5WxxSx0O9TZG0sjilKlfe5WHoLqNWjWPRWd7CXlpbi0aNH2LlzZ3BrvAsXLgS3xnv8+DGcTicSEhJQUFCAoqKiOV9HpbRXLI4pstltLNKGKp0X0Y2EVXmfsUqeqnTtqnZejPZWd7AnJCTg2LFjMx7LysoK/lxTU4OamhpDByciouhjQImIKM5wsBMRxRndj2KmpqZw9OhRvHjxAmazGcePH8fatWuDz9+/fx+nTp0CAOTk5KCuro7fZyciiiHdO/ZPk6e1tbWor68PPufz+XDy5EmcOXMGHo8HmZmZGBoaklowERGFJ5Q87erqQnZ2NhoaGlBRUYG0tDSkpqbKq5aIiHQJJU+Hhobw5MkTtLa2IikpCbt370ZeXh7WrVsntWgiIgpNd7CHS56uWLECGzZsQHp6OgBg48aN6Ovrm3OwqxQKUCmIADCgJJsq73Ox9BZQq0efZUApXPJ0/fr18Hq9ePfuHZYvX46enh44nc45X0elUIBKQQSAASU9DCjJXavStavaeZEWUNJLntbW1qKqqgoAsHXr1hmDn4iIFp5w8tRut8Nut0e/MiIiMoQBJSKiOMPBTkQUZ4T3PJ3+naqqKly6dElKkUREFDmh5Om0xsZGvH//XkqBREQ0P0LJUwC4efMmTCYTiouL5VRIRETzojvYQyVPAcDr9eL69es4ePCgvAqJiGhehJKnra2tePPmDfbs2YNXr14hMTERmZmZc969q5T2UilhBjB5Kpsq73Ox9BZQq0fKJU8PHz4c/LmpqQlpaWkhP5JRKe2lUsIMYPJUD5OncteqdO2qdl5iljwlIqLPi3DydNqBAweiVxURERnGgBIRUZwR3hrv4sWLuHHjBgBg8+bN2L9/v7xqiYhIl1BA6eXLl2hra8Ply5fR0tKChw8f4vnz51ILJiKi8HTv2MMFlFatWoVz585hyZIlAICJiQksXbpUUqlERBQJoYBSYmIiUlNToWkaGhoakJOTw23xiIhiTHewhwsoAUAgEMC3336LsbEx1NXVyamSiIgiJhRQ0jQN+/btw6ZNm7B3796wr6NS2kulhBnA5KlsqrzPxdJbQK0efZbJ03ABpampKTx9+hTj4+N48OABAODQoUPIz8+f9Toqpb1USpgBTJ7qYfJU7lqVrl3Vzou05KleQOnZs2eGDkxERHIwoEREFGc42ImI4ozw1ngejwfl5eVwOp24d++etEKJiCgyup+xf5o87e7uRn19PU6fPg0AePv2LZqbm3H16lUEAgFUVFSgqKgIZrNZeuFERDQ3oa3xent7kZ+fD7PZDKvVCpvNxj8pQEQUY0LJU5/PB6vVGnwuOTkZPp9PQplERBQpoa3xfvrc2NjYjEH/qc7OTsNFGv0up8j3a2NxTKNi0VuRtbE4pgij/WVv9XEuyCGUPM3NzUVjYyMCgQDGx8fR398/4/lphYWF0a2agthbudhfedhbeUyapmnhfmH677F7vd5g8rS9vT24NZ7H40FLSws0TUN1dTXKysoWqnYiIpqD7mAnIiK1MKBERBRnONiJiOJMRIO9p6cHlZWVsx6/e/cuHA4HXC4XPB5P1IsjIqL50/1WzNmzZ9HW1gaLxTLj8Y8fP+LEiRO4cuUKLBYLdu3ahS1btiA9PV1asUREpE/3jt1ms6GpqWnW4/39/bDZbEhJSYHZbEZhYSE6OjqkFElERJHTHexlZWUztsKbxtQpEdHnSfejmFAWKnW6mBgJbLC3kTEahmF/I8NrVx4jvTU82LOysjAwMIDh4WEkJSWho6MDbrc7qsUBi2cLLJGLfKF7K7I2FscUHSBG+rtYeguode2qdl6M9nbeg/3atWv48OEDXC4Xjhw5ArfbDU3T4HA4sHLlSkNFEBFR9EQ02NesWRP8OuO2bduCj5eUlKCkpEROZUREZAgDSkREcUZ4a7zz58+jvLwcDocDt2/fllYoERFFRmhrvJGRETQ3N+PWrVvw+/3Yvn07SktLpRdNREShCW2NZ7FYkJGRAb/fD7/fD5PJJK9SIiKKiO4de6it8aZDS6tXr4bdbsfk5CSqq6vlVUpERBHRvWMPtzVee3s7BgcHcefOHfz444/44Ycf0NvbK69aIiLSJbQ1XkpKCpYtWwaz2QyTyQSr1YqRkZE5X+f169eGChwdHTW01ui6WB1TxEK/T5G1sTimKFXe52LpLaBWj2LRW93BXlpaikePHmHnzp3BrfEuXLgQ3Brv8ePHcDqdSEhIQEFBAYqKiuZ8HZXSXrE4pshmt7FIG6p0XkQ3ElblfcYqearStavaeTHaW93BnpCQgGPHjs14LCsrK/hzTU0NampqDB2ciIiijwElIqI4w8FORBRndD+KmZqawtGjR/HixQuYzWYcP34ca9euDT5///59nDp1CgCQk5ODuro6fp+diCiGdO/YP02e1tbWor6+Pvicz+fDyZMncebMGXg8HmRmZmJoaEhqwUREFJ5Q8rSrqwvZ2dloaGhARUUF0tLSkJqaKq9aIiLSJZQ8HRoawpMnT9Da2oqkpCTs3r0beXl5WLdundSiiYgoNN3BHi55umLFCmzYsAHp6ekAgI0bN6Kvr2/Owa5SKEClIALAgJJsqrzPxdJbQK0efZYBpXDJ0/Xr18Pr9eLdu3dYvnw5enp64HQ653wdlUIBKgURAAaU9DCgJHetSteuaudFWkBJL3laW1uLqqoqAMDWrVtnDH4iIlp4wslTu90Ou90e/cqIiMgQBpSIiOIMBzsRUZwR3vN0+neqqqpw6dIlKUUSEVHkhJKn0xobG/H+/XspBRIR0fwIJU8B4ObNmzCZTCguLpZTIRERzYvuYA+VPAUAr9eL69ev4+DBg/IqJCKieRFKnra2tuLNmzfYs2cPXr16hcTERGRmZs55965S2kulhBnA5KlsqrzPxdJbQK0eKZc8PXz4cPDnpqYmpKWlhfxIRqW0l0oJM4DJUz1Mnspdq9K1q9p5iVnylIiIPi/CydNpBw4ciF5VRERkGANKRERxRnhrvIsXL+LGjRsAgM2bN2P//v3yqiUiIl1CAaWXL1+ira0Nly9fRktLCx4+fIjnz59LLZiIiMLTvWMPF1BatWoVzp07hyVLlgAAJiYmsHTpUkmlEhFRJIQCSomJiUhNTYWmaWhoaEBOTg63xSMiijHdwR4uoAQAgUAA3377LcbGxlBXVyenSiIiiphQQEnTNOzbtw+bNm3C3r17w76OSmkvlRJmAJOnsqnyPhdLbwG1evRZJk/DBZSmpqbw9OlTjI+P48GDBwCAQ4cOIT8/f9brqJT2UilhBjB5qofJU7lrVbp2VTsv0pKnegGlZ8+eGTowERHJwYASEVGc4WAnIoozwlvjeTwelJeXw+l04t69e9IKJSKiyOh+xv5p8rS7uxv19fU4ffo0AODt27dobm7G1atXEQgEUFFRgaKiIpjNZumFExHR3IS2xuvt7UV+fj7MZjOsVitsNhv/pAARUYwJJU99Ph+sVmvwueTkZPh8PgllEhFRpISSpz99bmxsbMagJyKihSeUPM3NzUVjYyMCgQDGx8fR398/4/lPdXZ2Gi7S6Jf0RYITsTimUbHorcjaWBxThNH+srf6OBfkMGmapoX7hem/x+71eoPJ0/b29uDWeB6PBy0tLdA0DdXV1SgrK1uo2omIaA66g52IiNTCgBIRUZzhYCciijMRDfaenh5UVlbOevzu3btwOBxwuVzweDxRL46IiOZP91sxZ8+eRVtbGywWy4zHP378iBMnTuDKlSuwWCzYtWsXtmzZgvT0dGnFEhGRPt07dpvNhqamplmP9/f3w2azISUlBWazGYWFhejo6JBSJBERRU53sJeVlc3YCm8aU6dERJ8n3Y9iQplP6lQkhLCYFBYWznsNexsZI70F2N9I8dqVx0hvDQ/2rKwsDAwMYHh4GElJSejo6IDb7Y5qccDi2QJL5CJf6N6KrI3FMUUHiJH+LpbeAmpdu6qdF6O9nfdgv3btGj58+ACXy4UjR47A7XZD0zQ4HA6sXLnSUBFERBQ9EQ32NWvWBL/OuG3btuDjJSUlKCkpkVMZEREZwoASEVGc4WAnIoozwnuenj9/HuXl5XA4HLh9+7a0QomIKDJCe56OjIygubkZt27dgt/vx/bt21FaWiq9aCIiCk1oz1OLxYKMjAz4/X74/X6YTCZ5lRIRUUR079hD7Xk6nUZdvXo17HY7JicnUV1dLa9SIiKKiO5gD7fnaXt7OwYHB3Hnzh0AgNvtRkFBAXJzc2e9zuvXrw0VODo6amit0XWxOqaIhX6fImtjcUxRqrzPxdJbQK0exaK3QnuepqSkYNmyZTCbzTCZTLBarRgZGZnzdVRKe8XimCJ7IsYibajSeRHdb1KV9xmr5KlK165q58Vob3UHe2lpKR49eoSdO3cG9zy9cOFCcM/Tx48fw+l0IiEhAQUFBSgqKjJUCBERRYfuYE9ISMCxY8dmPJaVlRX8uaamBjU1NdGvjIiIDGFAiYgozujesU9NTeHo0aN48eIFzGYzjh8/jrVr1wafv3//Pk6dOgUAyMnJQV1dHb/2SEQUQ7p37J8GlGpra1FfXx98zufz4eTJkzhz5gw8Hg8yMzMxNDQktWAiIgpPKKDU1dWF7OxsNDQ0oKKiAmlpaUhNTZVXLRER6RIKKA0NDeHJkydobW1FUlISdu/ejby8PKxbt05q0UREFJruHXu4gNKKFSuwYcMGpKenIzk5GRs3bkRfX5+8aomISJdQQGn9+vXwer149+4dli9fjp6eHjidzjlfR6W0l0oJM4DJU9lUeZ+LpbeAWj36LJOnegGl2tpaVFVVAQC2bt06Y/B/SqW0l0oJM4DJUz1Mnspdq9K1q9p5kZY81Qso2e122O12QwcnIqLoY0CJiCjOcLATEcUZ4a3xpn+nqqoKly5dklIkERFFTih5Oq2xsRHv37+XUiAREc2PUPIUAG7evAmTyYTi4mI5FRIR0bzoDvZQyVMA8Hq9uH79Og4ePCivQiIimhehrfFaW1vx5s0b7NmzB69evUJiYiIyMzPnvHtXKRSgUhABYEBJNlXe52LpLaBWjz7LgFK45Onhw4eDPzc1NSEtLS3kRzIqhQJUCiIADCjpYUBJ7lqVrl3VzkvMtsYjIqLPi3DydNqBAweiVxURERnGgBIRUZzhYCciijPCe55evHgRN27cAABs3rwZ+/fvl1ctERHpEkqevnz5Em1tbbh8+TJaWlrw8OFDPH/+XGrBREQUnu4de7jk6apVq3Du3DksWbIEADAxMYGlS5dKKpWIiCIhlDxNTExEamoqNE1DQ0MDcnJyuN8pEVGMCSVPASAQCOC7775DcnIy6urqQr6OSmkvlRJmAJOnsqnyPhdLbwG1eqRc8lTTNOzbtw+bNm3C3r17w76OSmkvlRJmAJOnepg8lbtWpWtXtfMSk+Tp1NQUnj59ivHxcTx48AAAcOjQIeTn5xsqhoiIxAknT589exb9qoiIyDAGlIiI4ozw1ngejwfl5eVwOp24d++etEKJiCgyuh/FfBpQ6u7uRn19PU6fPg0AePv2LZqbm3H16lUEAgFUVFSgqKgIZrNZeuFERDQ3oa3xent7kZ+fD7PZDKvVCpvNxuQpEVGMCQWUfD4frFZr8Lnk5GT4fD4JZRIRUaR0B3u4gNJPnxsbG5sx6ImIaOEJBZRyc3PR2NiIQCCA8fFx9Pf3z3j+U52dnYaLNPolfZHgRCyOaVQseiuyNhbHFGG0v+ytPs4FOUyapmnhfmH6z/Z6vd5gQKm9vT24NZ7H40FLSws0TUN1dTXKysoWqnYiIpqD7mAnIiK1MKBERBRnojrYjYaZ9NZdvHgRO3bswI4dO/C3v/1tXsec/p2qqipcunQp4nX379+H0+mE0+nE0aNH8en/sdFbe/78eZSXl8PhcOD27duz6unp6UFlZeWsx+/evQuHwwGXywWPxzOv9/k59TaStaH6q1JvI1kbqr8q9haI/2tXtbkQkhZF//znP7U//OEPmqZpWldXl/a73/0u+Nzg4KD29ddfa4FAQBsZGQn+rLfu3//+t/bNN99oExMT2uTkpOZyubS+vr6IjjntL3/5i/ab3/xG+/vf/x7RutHRUc1ut2v/+9//NE3TtO+//z74s97a9+/fa5s3b9YCgYA2PDys/fKXv5xRy/fff699/fXX2o4dO2Y8Pj4+rv3qV7/ShoeHtUAgoJWXl2uDg4NK9lakvyr1VqS/qvU2Fv3lXNDvbShRvWM3GmaKdJemhISEWbs0hVsLADdv3oTJZEJxcXHEtXZ1dSE7OxsNDQ2oqKhAWloaUlNTI1prsViQkZEBv98Pv98Pk8k047g2mw1NTU2zetff3w+bzYaUlBSYzWYUFhaio6NDyd6K9Fel3or0V7XexqK/nAv6vQ1F9+uO8xEqzPTFF1+EDTOFW/fpLk1//vOfZ+3SFG6t1+vF9evX8de//hWnTp2KuNahoSE8efIEra2tSEpKwu7du5GXlxc8bri1ALB69WrY7XZMTk6iurp6xnHLysrwn//8Z87ehQt7qdRbkf6q1FuR/qrW21j0l3PBeAg0qoPdaJhJZJemcGtbW1vx5s0b7NmzB69evUJiYiIyMzNRXFwcdt2KFSuwYcMGpKenAwA2btyIvr6+4AkMt7a9vR2Dg4O4c+cOAMDtdqOgoAC5ubnz6t1Pw14q9VZvbbj+qtRbvbVA6P7GS29Fe/S5XbuqzYVQovpRTEFBAdrb2wFgzjBTZ2cnAoEARkdHZ4SZwq3T/n+Xpp///Oc4duxYcOPsSI55+PBh/OMf/0BzczO++eYb/Pa3vw3+jyPcuvXr18Pr9eLdu3eYmJhAT08Pfvazn0V0zJSUFCxbtgxmsxlLly6F1WrFyMiIbu+ysrIwMDCA4eFhjI+Po6OjY8aGJSr1VqS/KvVWpL/x0luZ/eVc0O9tKFG9Yw+329JXX32FyspKVFRUQNM0/P73vw9+JiayS5PeMY3WWltbi6qqKgDA1q1bZ5wkvbWPHz+G0+lEQkICCgoKUFRUFLKOa9eu4cOHD3C5XDhy5Ajcbjc0TYPD4cDKlSuV7K1If1XqrUh/Ve/tQvSXc0G/t6EwoEREFGcYUCIiijMc7EREcYaDnYgoznCwExHFGQ52IqI4w8FORBRnONiJiOIMBzsRUZz5P3ZzM6WlPK+PAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(4, 4, sharex=True, sharey=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Particularly for the x ticks, the numbers nearly overlap, making them quite difficult to decipher. We can fix this with the plt.MaxNLocator(), which allows us to specify the maximum number of ticks that will be displayed. Given this maximum number, Matplotlib will use internal logic to choose the particular tick locations:" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 127, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# For every axis, set the x and y major locator\n", + "for axi in ax.flat:\n", + " axi.xaxis.set_major_locator(plt.MaxNLocator(3))\n", + " axi.yaxis.set_major_locator(plt.MaxNLocator(3))\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This makes things much cleaner. If you want even more control over the locations of regularly spaced ticks, you might also use plt.MultipleLocator, which we’ll discuss in the following section.\n", + "### Fancy Tick Formats\n", + "Matplotlib’s default tick formatting can leave a lot to be desired; it works well as a broad default, but sometimes you’d like to do something more." + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot a sine and cosine curve\n", + "fig, ax = plt.subplots()\n", + "x = np.linspace(0, 3 * np.pi, 1000)\n", + "ax.plot(x, np.sin(x), lw=3, label='Sine')\n", + "ax.plot(x, np.cos(x), lw=3, label='Cosine')\n", + "\n", + "# Set up grid, legend, and limits\n", + "ax.grid(True)\n", + "ax.legend(frameon=False)\n", + "ax.axis('equal')\n", + "ax.set_xlim(0, 3 * np.pi);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There are a couple changes we might like to make. First, it’s more natural for this data to space the ticks and grid lines in multiples of π. We can do this by setting a MultipleLocator, which locates ticks at a multiple of the number you provide. For good measure, we’ll add both major and minor ticks in multiples of π/4" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 129, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ax.xaxis.set_major_locator(plt.MultipleLocator(np.pi / 2))\n", + "ax.xaxis.set_minor_locator(plt.MultipleLocator(np.pi / 4))\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "But now these tick labels look a little bit silly: we can see that they are multiples of π, but the decimal representation does not immediately convey this. To fix this, we can change the tick formatter. There’s no built-in formatter for what we want to do, so we’ll instead use plt.FuncFormatter, which accepts a user-defined function giving fine-grained control over the tick outputs:" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def format_func(value, tick_number):\n", + " # find number of multiples of pi/2\n", + " N = int(np.round(2 * value / np.pi))\n", + " if N == 0:\n", + " return \"0\"\n", + " elif N == 1:\n", + " return r\"$\\pi/2$\"\n", + " elif N == 2:\n", + " return r\"$\\pi$\"\n", + " elif N % 2 > 0:\n", + " return r\"${0}\\pi/2$\".format(N)\n", + " else:\n", + " return r\"${0}\\pi$\".format(N // 2)\n", + "ax.xaxis.set_major_formatter(plt.FuncFormatter(format_func))\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is much better! Notice that we’ve made use of Matplotlib’s LaTeX support, specified by enclosing the string within dollar signs. This is very convenient for display of mathematical symbols and formulae; in this case, \"$\\pi$\" is rendered as the Greek\n", + "character π. The plt.FuncFormatter() offers extremely fine-grained control over the appearance of your plot ticks, and comes in very handy when you’re preparing plots for presentation or publication.\n", + "### Customizing Matplotlib: Confgurations and Stylesheets\n", + "Matplotlib’s default plot settings are often the subject of complaint among its users. While much is slated to change in the 2.0 Matplotlib release, the ability to customize default settings helps bring the package in line with your own aesthetic preferences.\n", + "\n", + "Here we’ll walk through some of Matplotlib’s runtime configuration (rc) options, and take a look at the newer stylesheets feature, which contains some nice sets of default configurations.\n", + "### Plot Customization by Hand\n", + "Throughout this chapter, we’ve seen how it is possible to tweak individual plot settings to end up with something that looks a little bit nicer than the default. It’s possible to do these customizations for each individual plot." + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "plt.style.use('classic')\n", + "import numpy as np\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "x = np.random.randn(1000)\n", + "plt.hist(x);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can adjust this by hand to make it a much more visually pleasing plot." + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "dark" + }, + "output_type": "display_data" + } + ], + "source": [ + "# use a gray background\n", + "ax = plt.axes(facecolor='#E6E6E6')\n", + "ax.set_axisbelow(True)\n", + "\n", + "# draw solid white grid lines\n", + "plt.grid(color='w', linestyle='solid')\n", + "\n", + "# hide axis spines\n", + "for spine in ax.spines.values():\n", + " spine.set_visible(False)\n", + "\n", + "# hide top and right ticks\n", + "ax.xaxis.tick_bottom()\n", + "ax.yaxis.tick_left()\n", + "\n", + "# lighten ticks and labels\n", + "ax.tick_params(colors='gray', direction='out')\n", + "for tick in ax.get_xticklabels():\n", + " tick.set_color('gray')\n", + "for tick in ax.get_yticklabels():\n", + " tick.set_color('gray')\n", + "\n", + "# control face and edge color of histogram\n", + "ax.hist(x, edgecolor='#E6E6E6', color='#EE6666');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Changing the Defaults: rcParams\n", + "Each time Matplotlib loads, it defines a runtime configuration (rc) containing the default styles for every plot element you create. You can adjust this configuration at any time using the plt.rc convenience routine. Let’s see what it looks like to modify\n", + "the rc parameters so that our default plot will look similar to what we did before. We’ll start by saving a copy of the current rcParams dictionary, so we can easily reset these changes in the current session:" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [], + "source": [ + "IPython_default = plt.rcParams.copy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can use the plt.rc function to change some of these settings:" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib import cycler\n", + "colors = cycler('color',\n", + " ['#EE6666', '#3388BB', '#9988DD',\n", + " '#EECC55', '#88BB44', '#FFBBBB'])\n", + "\n", + "plt.rc('axes', facecolor='#E6E6E6', edgecolor='none',\n", + " axisbelow=True, grid=True, prop_cycle=colors)\n", + "plt.rc('grid', color='w', linestyle='solid')\n", + "plt.rc('xtick', direction='out', color='gray')\n", + "plt.rc('ytick', direction='out', color='gray')\n", + "plt.rc('patch', edgecolor='#E6E6E6')\n", + "plt.rc('lines', linewidth=2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With these settings defined, we can now create a plot and see our settings in action" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "dark" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(x);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s see what simple line plots look like with these rc parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "dark" + }, + "output_type": "display_data" + } + ], + "source": [ + "for i in range(4):\n", + " plt.plot(np.random.rand(10))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Stylesheets\n", + "The version 1.4 release of Matplotlib in August 2014 added a very convenient style module, which includes a number of new default stylesheets, as well as the ability to create and package your own styles. These stylesheets are formatted similarly to the _.matplotlibrc_ files mentioned earlier, but must be named with a _.mplstyle_ extension. Even if you don’t create your own style, the stylesheets included by default are extremely useful. The available styles are listed in plt.style.available—here I’ll list\n", + "only the first five for brevity:" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight']" + ] + }, + "execution_count": 142, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " plt.style.available[:5]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Default style\n", + "The default style is what we’ve been seeing so far throughout the book; we’ll start with that. First, let’s reset our runtime configuration to the notebook default:" + ] + }, + { + "cell_type": "code", + "execution_count": 144, + "metadata": {}, + "outputs": [], + "source": [ + "# reset rcParams\n", + "plt.rcParams.update(IPython_default);" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [], + "source": [ + "def hist_and_lines():\n", + " np.random.seed(0)\n", + " fig, ax = plt.subplots(1, 2, figsize=(11, 4))\n", + " ax[0].hist(np.random.randn(1000))\n", + " for i in range(3):\n", + " ax[1].plot(np.random.rand(10))\n", + " ax[1].legend(['a', 'b', 'c'], loc='lower left')" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "hist_and_lines()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The FiveThirtyEight style\n", + "The FiveThirtyEight style mimics the graphics found on the popular FiveThirtyEight website. As you can see, it is typified by bold colors, thick lines, and transparent axes." + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuIAAAEWCAYAAAAjCPKtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsnXd8VGXWx3+3zEx6L6QQAmlAKBGQonTRtQK2FRVXWVl4RV9XVxFQ17auZXFdfRVBBWUVK4qKFQugCIQgCgiBJJQE0ntIJlPvve8fITPzzEySmWRKEs738+Gj99ynTcmdc5/7O+dwjY2NCgiCIAiCIAiC8Cm8vxdAEARBEARBEOci5IgTBEEQBEEQhB8gR5wgCIIgCIIg/AA54gRBEARBEAThB8gRJwiCIAiCIAg/QI44QRAEQRAEQfgBcsQJgiAIgiAIwg906Yg///zzmDFjBgYOHIi0tDTccMMNyM/PZ9rccccdiIiIYP7NmjWLaWMwGLB06VIMGTIEiYmJmDdvHsrKyjz7agiCIIgesXPnTsybNw/Dhg1DREQE3nnnnS77HD58GJdffjkGDBiAYcOG4dlnn4WiUIkKgiCIrujSEf/5559x++23Y8uWLdi8eTNEUcTcuXPR0NDAtJs+fToKCgos/zZu3MicX7FiBT7//HOsW7cOX331FZqbm3HDDTdAkiTPviKCIAii22i1WgwfPhzPPPMMAgMDu2x/5swZXH311YiLi8PWrVvxzDPP4KWXXsLLL7/sg9USBEH0bTh3K2u2tLQgJSUF77zzDi677DIAbTvi9fX1+OCDD5z2aWpqQnp6OlatWoU//vGPAIDS0lKMHDkSH330ES666KIevgyCIAjC0yQlJeFf//oXbr755g7brFu3Do899hgKCwstjvvKlSvxxhtvID8/HxzH+Wq5BEEQfQ63NeItLS2QZRkRERGMfffu3UhPT8fYsWNx9913o6amxnJu//79MJlMmDlzpsWWnJyMrKws7NmzpwfLJwiCIPxJXl4eJk2axOyeX3TRRaioqEBJSYkfV0YQBNH7cdsRX758OUaOHInx48dbbLNmzcKaNWvw2Wef4cknn8S+ffswe/ZsGAwGAEB1dTUEQUB0dDQzVmxsLKqrq3v4EgiCIAh/UV1djdjYWMbWfkzXd4IgiM4R3Wn84IMPIjc3F9988w0EQbDYr732Wsv/Z2dnIycnByNHjsSWLVswe/bsDsdTFIUeWxIEQfRx7K/j7YGadH0nCILoHJd3xFesWIGPP/4YmzdvRmpqaqdtExISkJiYiBMnTgAA4uLiIEkS6urqmHa1tbUOOykEQRBE3yEuLs5h57u2thYA6PpOEATRBS454suWLcNHH32EzZs3IzMzs8v2dXV1qKioQHx8PAAgJycHKpUK27Zts7QpKytDQUEBJkyY0M2lEwRBEP5m/Pjx2L17N/R6vcW2bds2JCQkYNCgQX5cGUEQRO+nS0f8/vvvx7vvvou1a9ciIiICVVVVqKqqQktLC4C24M2HH34YeXl5KCkpwY4dOzBv3jzExsbiyiuvBACEh4fjlltuwSOPPILt27fjwIEDWLx4MbKzszF9+nSvvkBfUVRU5O8luA2t2Tf0tTX3tfUCfXPNvZWWlhYcPHgQBw8ehCzLKC0txcGDB3H69GkAwOOPP85IDq+77joEBgZiyZIlyM/Px+bNm/HCCy9gyZIlvV6a0pu+N7QW5/hrLbKi4LKvahDxZpnDv99qjX5ZUzv0+bAIv/yEoL9eB9U914M/esDfy3GbLh3xtWvXorm5GXPmzEFWVpbl30svvQQAEAQB+fn5uOmmmzBu3DjccccdSE9Px7fffovQ0FDLOE899RSuvPJKLFiwAJdeeimCg4Px/vvvM1pzgiAIwr/89ttvmDp1KqZOnQqdToenn34aU6dOxVNPPQUAqKysxMmTJy3tw8PD8cknn6CiogIzZszA0qVLceedd+Kuu+7y10sgiB7z2hEtdlc5d7g3FLX6eDVEh+i0CHj9afCNtdA01CBg/XNAHysm1mWwZmNjY6fnAwMDsWnTpi4nCggIwMqVK7Fy5UrXV0cQBEH4lClTpnR63V+9erWDLTs7G19//bU3l0UQPuPkGTOe2Hemw/MbT7TiyfPDESj27ic+5wLirzvB6XWWY77iNLiaCihxiX5clXu4nb6QIAiCIIj+h6IoON5kRqX+3HUwZUXBXTsb0Gq27qqGqThEaazu0hmjgi9KdM66Ez5G3LPVwSYc3e+HlXQfcsQJgiAI4hzncL0JV39bh7GbqnDVL4FYdbjF30vyC+uOarGzkpWk/HN8OG5KD2Jsb5M8xf+0NEE4tNfBLBwhR5wgCIIgCBfgTxyF5uXHkP7WSgj5v/p8/jq9hPt2N2LK5mpsLzdY7A/nNWFbmb6Tnv2P4mYzHvuFlaRclKTB/Iwg3JzBOuI/VRhQ3Gz25fIIO8RfdoCTJAe7cHR/n9KJkyNOEARBEL7GoIf6vVcQ+MQSqPZuR+ipQmjW/AMw+Mb5NUoKXjncgjEfV2HdUS1kO79FAfCXnxpQrnV0dPojsqLgf39ugNZGkhKq4vDiBRHgOA7DIlUYEcq+F+8eo11xf+JMlgIAfH01uJoKH6+m+5AjThAEQRA+RDjyG4Ie/jPU33wITpEtdr6pAfypY16dW1EUbDmtxwWfVuPBvCY0GTveOazVy7j9x3qY7L30fsj6glbscCJJSQ6x5rSYHc/ugL9b1ArpHHhveiNcY12nEhThyG8+XE3PcKvEPUEQzjl5xozSDnaOdEIsKisMTs+5S3KwgMFh9GdLEH2S1hZoPngVqu2fd9iELy+BnDHCK9MfbTThobwm/FDm/Ho0OFTA+Dg1PjhuDUTcXWXEk/vO4PHzw72ypt5ASbMZj+xtYmwzEjW4xU6OcnGMhP+c5KCT2pzvUq2EnyoMmJEU4LO1Em2Ie39kbmLtEY7uh3naFT5cUdtNLhQJHO/ebzT9ohOEByjVSrjqm9pOWmg9Ms/nl8aQI04QfRBh/25o1v8bfENn14k2R9zTNBhkPPXbGbxxVAvJyQZumIrD0tGhWDQ8BCoeKKlrQW6jtcbHi4daMDFejctSAj2+Nn+jKAru3tmIFhtJSojI4cULIxwKUoWIwJzUALxvc6PydlErOeJ+wF6WYs6ZBHH/bsuxRSfuw6JiUtVWGEs+QNCE19zqR9IUgiAIgvAWzY3QrHkSgf9Z4dQJl9KGM8eedMRNsoJX81tw3keVeP2IoxPOAbg1Mwj7ro3H/44MhUbgwHMcnsgyIDGIdQ/u2NGAkn4YnPjfwlb8aPfE8h/nhyMlxPmGx/zMYOb4ixIdGgwd78wSnoerq4ZQdIixGebdAVlUW475+hpw1eU+W5Ni1sJ4bC0U7Sm3+5IjThAEQRCeRlEg5v6A4BW3QrX7e4fT8oCBaH3o/2C47T7GzpcXe2T6H8r0mPxpNZbtaUKjEx345AFq/Dg7Fi9eGInYQLbCdaQKeHN6FGzr1TQaFSzYXg+Dsy31PsqpFjMezmMlKVMTNLgtK6iDHsCF8WoMDrW+X0YZ2HicgjZ9iZi3jTmW0oZBSUiBNjmNsfsyn7ip+F0oxoZu9SVHnCAIgiA8CFdfg4AXH0bA6n+Aa2YdPYXnYbziJrT+Yy3kzFGQByRD4aw/xXxtFaDvvmNX1GTCH7+rxbXf1qGgyXEHe1CIgLdmROHzS2MwKlrtZIQ2JsRr8Oi4MMb2a60Jf7fTUvdVFEXBX+0kKcEih5ecSFJs4TgO8zPYXXEqee9bHGQpE2YCAJoHZTJ2XznisvY0TKc/7XZ/csQJgiAIwhMoCsTtXyDowdsg/rbT4bSUkgbdo2tg/OMiQK1pM6o1UOISmHZ8xWm3p240yFixpxGTPqnGt6WOwZghIodHx4Zhz9XxmJ0a2Kmz2c5d2SG4PIXVP792RItPT/b9qpJvF7ViWzn7Pj0+LgyDQruOwZmXHgTe5u07WG/CgTpjxx0Ij8FVlUI4WWA5VjgO5vOnAwBaBmUxbX2RT1xRFBgKVwNK99N8kiNOEARBED2Eqy5HwL/uQ8Cbz4HTscHZiqiC4bqF0D36KuTUTIe+cmIqc+yOTtwsK1h3tC0f+Op8LcxOdODzM4Lwy7XxuHdUKAJE14PXOI7DK5MjkRLCSlf+d2cDjjWZXB6nt1HqRJIyeYAafx4a3EEPlqRgARclahgb7Yr7BnEPK0uRs0ZBiYoFALQmpkJRWz8XX+jEpdpdkBt6VoiLHHGCIAiC6C6yBNU3GxH00AKITipjSunZaP3HWpiumg+Izndb5cQU5pgvK3Zp6u3lekz9rBr37W5CvZOAwUnxamy7KhYvT47EgCDByQhdE6Hh8d8ZUVDbeAvNJgW3bquHzt7r7wMoioJ7djXijMm69iCRw8uTI8G7kWHDPmhz4/FW6Pvg+9HXsJelmM7KUoC2G14pPZs57015iiIZYCx6lbHxkTluj0OOOEEQBEF0A770JAKfvAua91aBM7IyB0UdAMPN/wvdQ/8HJXFQp+M47IhXdL4jfrzJjBu/r8PcLXXIb3TUgScHC3hzeiS+uiwGOTEd68Bd5bwYNZ4az+YRP9xgxrI9jT0e29e8c6wV39vlUX9sbBhSO5GkcNXlUH23CQHVZRbbpQMDEKWxulCNRgVfner7kp3eDF96EkLpScuxwvMwj5vGtJGGso6wNx1xU8mHUPTVVgPHQ5PxP26PQwmJCYIgCMIdzCaovnwP6s/eAic5OsLm7LEwLLgfSmyCk86OyEmso86XOXfEm4wynjvQjDX5LTA5yZgXJHK4d2QI7hoRikA3JCiucPvQYOyuMuJjG334W4WtmBSvwY3pHWcZ6U2UayU8aCdJuSBejYXDOpakcPXVCHpoATijAVm8AP2gQZCTB0MjcLghLRCr860ypA1FrbhmSN94L/oiDtlSho8FwiJY2zAnjrgX8onLukqYTm1k15c8B3xIqttj0Y44QRAEQbgIf+IoAh9dDM2mNxyccCUoGPrbH4B+6XMuO+EAICew0hSuuhwwWYP/JFnB+gItxn5chZcOOXfC56UFYt+18ViaE+ZxJxxo04u/cGEE0u0Kiv1tVyPyG3q/XlxRFNy7qwFnbFI5BgpdS1LEHd9YnnbwsgTVd5ss5+yzp2wrN+BUS//Ltd4rUBSIuc6zpdgiDx7qE524seg1QLb+jXLqSKgHz+/WWOSIEwRBEERXGA1Qf7AGgU8sgVB6wuG0ecxktD71X5inXu7+7ltAEIxhUZZDTpHBV5YCAHZUGDDt8xrcs6sRtXpHD3x8rBo/XBmLNVOjkNBNHbirhKra9OIBNtPoJAW3batHi7O7g17E+8d12GKXTeaRsWEY0kWlYv40+1kLhQct/58dpcJ5MSrLsQLgvWMUtOkN+JIi8FWllmNFEGEeO9mxoUrtdZ24ue4XSLW72GnTFoATXQv2tYcccYIgCILoBP7ofgQ9/Geov3ofnMI6nHJYJHR3Pgb93f+AEhnT7Tn0MewOeu3x47hlax2u+qYWh+odd5yTggS8PjUSW66IwdjYnuvAXSU7SoXnJrFygMImM+7d1QjFy6niuktFq4Tldnr2SfFqLB7eteNkX2CJLy8BzljHmp/BSlHeKWqF3Evfh76MfZCmNGoCEBzqtK03deKKbIKxaDVj48OGQhwwq9tjkiNOEARBEM7QaaFZ/zyCnr4HfFWZw2nTBZeg9en1kMZP77EGVW8nZXl72xF8XqJ3aBcocFieE4q918bh+rQgl/KBe5r5GcG42c4B3XhCh/UFvW83uD1LSpONJCVAAF6+0IUsKWaz5cmELULh75b/v3ZwEPOE4FSLhB0VlFPcoyiKQ9pC84QZHTbvUCfuAUynP4XSanst4KDOvBMc1313mhxxgiAIgrBDOJCLoAcXQLVts8M5OSoOur89C8PiB4GQcCe93ac1OpE5ztQ6Ov7XDwnE3mvisPy8MASJ/v35XjkxHMMjWFnHsj2N2F/bu5zQD0/osOU0e0Pz97HhSAvvOlcFV1XqNBjXVp4SoeExe1Agc/6dIq19F6IH8MfzwddVWY4VtQbm8y7osL23dOKyoQ6m4ncZm5h4KYSwjB6NS444QRAEQbTT3AjNq/9E4PPLwddXO5w2zZyD1qfehDR6gsem3FVpwN8b2MwpQ2123cbEqPDtFTF4fVoUkkN6R7KzIJHHf2dGIcQmMNQoA7dtr0eTsXfoxataJSzLZSUp42PV+J9OsqTY0lE+d1tHHAButgva3FyiQ6OTvO5E93AI0hw9CQjoJDuNl3TixmNrAckmRaUYAvWQ23o8LjniBEEQBHH28XfQitug2vWdw2k5PhmtK16E4dZ7gcDuBWU547X8Flz+dS2+4ZMZe1ZrBZI0ClZPicT3V8ZifJymgxH8R0a4Ci9eyOrFi5sl3Lmjwe96cUVRcO/uRjTaSFI0ArBqSgQE3jU5j1B20qmdLy4CdFYZzpQENVN9VC8BH5/sfTKdPoksOaQtNE90zJZij6d14lLjIUhV7DrUQ24Fp+75EzFyxAmCIIhzGq6hFgH/93cEvPI4+GZ2B1XheBgvvxGtT66DPHS0R+fdVqbH8rN5rRtUIahUWX/U1YqEX6aYcWN6kFsVH33NtUOCsNCuNPwXp/RMfm1/8PFJHb46xUpSHj4vDBnhqg56ONLRjjinyBCOHba24zgHzTyVvPcMQsFB8E31lmMlIKgtULMLPKkTVxQJxsJXGBsfMgRi0uXdGs8ecsQJgiCIcxNFgfjjlwh68FaIv/7scFpKHgLdo6/AeMNiQO3ZHeniZjP+/GM9ZBvf4EhwEtMmpPq0R+f0Fv8cH46caNbBfWRvE/ZW+0cvXq2TsNROknJ+rApLskPcGqcjRxxwlKfclB4E29ul32pNTrPdEO5hny3FPOZCl/4WPakTN5d9BbmFTWOpzlwCjvNMulByxAmCIIhzDq6qDOnv/AcBb6wE18ru3iqiCoZr/gzd469CHjzU43O3mmXM31qPBoPVC+egIDkzjWnHl3de6r63oBE4rJ8RhTC11RU1K8CC7fWo10s+XYuiKLhvdyPz3moE4OXJkS5LUgAAZhO4KseMKe0IBawjPjBExIxE1kHcQEGbPcNshrj3R9bkpIiPUzykE1eMTTCe+C87TvwMCBEj3B6rI8gRJwiCIPo/sgz+5FGoPlmPwMf+B8EP3IzQ4iMOzaS0YWh94nWY5vwJEF2XMbiKoij4685Gh93SJYNMSMkawtj6iiMOAKmhIlZPjmRspVoJi39q8Gle7U+LdQ5pH1fkhCErwr3Pkq88DU6y3kQo6gD2/Il8pvop4JhT/MPjOhgkyineXYT8feBazliOleBQSCPGudzfEzpx44n1gLnFZpBAqNMXuj1OZ/SO8GuC8BInz5hRqvX+joyeLrYE0fvQaSEc+gXigVwIB3PBNzV02FRRB8B43e0wXXwNwHuvQuUr+VpsPKFjbHNSA3BrUitkKZWx82V9xxEHgCsGBeKu7BC8fNjquHxXZsALv7fgb6OcF1/xJDU6CffvbmJsY2JUuGuEe5IUwFGWImWOhHzqONRn2vTKnMkE/mQB5MyRljaXpwQiQm0NEK03yPjmtB5zUtn0hoRrOMhSxk116+a4Q524izEX0plCmMu/YWyq1JvAa6JdXoMrkCNO9GtKtRKu+qbW6/NsmBnVdSOCILyLooCrPN3meB/IhVBw0GkeaHvMw8fAsOB+KHGJXbbtCT+WG/DIXtZRHBYhYtXkSFQU10NOSGHO8RUlgCwDfN95eP3ouDDkVRuRV2PdLX7y1zMYH6fG5AHezfyyNLcJdTZpA9U8sGpyJER3JClnsb8JkpNS0aJwiDqcZ7EJhQcZRzxA5HB9WhBeP2KVpGwo1JIj3h2MBoj72LgNl2UpZ5GHDIOi1oAzGgBYdeJKfFIXPQFFkc8GaNrIx4KSoRo41601uELf+esmCIIgCHtMRgi/74V6w0sIeuBmBC//EzTvvQIx/9cunfDWhEHQL1wG/QP/9roTfqrFjAXb62H78CxMzWHDzGiEqNp+ipXwKCg2Zbs5owGcTSGTvoCK5/DG9EhEaazuhawAt2+vR7XOe08nPz2pw6fF7JOG5eeFYVhk9+RFvF3qQjkpFS0pbOEWe504ANxiJ0/5odyAMh88le1vCIf2gtNZb2jksEhI7mYtElWQMlgtt6vyFHPl95DPHGVs6ow7wPGel6vRjjhBEATRp+DqayAc3APxwG4Ih/eBMziWgneGEhAIacT5MI+eCGnUBBTW1CMjo2dV8VxBZ1Yw/4d61Nvs1nIA1k6NYis8chzkxEEQig5ZTHx5CaTYBK+v0ZMkh4h4bWokrv+uzrKfWKWTsfDHBnxySbR7QZMuUKuXcL9dlpScaBXu7oYkpR17aYqclAqtih1PKDoEyBIjZRoVrcaoKBUOno0BkBXgvWOtuH+096U5/QmHIj7nTwME911WaWgOxMP7LMfCkd9gnnZFp30UsxbGY28wNiHmAojRY92e3xXIEScIgiB6N7IE/sRRiPt3t0lOTh1zveuAgW2O9+iJkLJGsRrTmvqOO3oIRVHw110NFsesnYfGhOGSgQEO7R0c8bJiSKMnen2dnmZWcgDuGx2K5w40W2w/VRjwzP5mPDQmzKNzLcttQq3eepOj4oFXpnRPkgIAMBkdMqbIiYOgl1VQQsIsAYScTgv+9AnIg9ibufkZQXhgj1WCtKFIi7+NCunV+eB7FQYdxN92MSZXivg4w2nAZhc6cePJDYDJ5saOV0Odsahb87sCOeIEQRBE70PbDPH3PAgHciH+ngeuuanrPmhLPShljYaUMxHm0ROhxCd33cmLvHpEiw+Ps5KJK1MC8LdRzndr5cRU5pivOOWtpXmdFTmh2FNlwI5Kq178uQPNmBivxkVJjjch3WFzsQ4fn2Tf3wdGh2J4NyUpAMBXloKTrY69HBULBIUAHAcpcyTEX3dazgmFvzs44tenBeHvvzTBcFaRUtwsYVeV0esa+f6CuH83OKP1KZccFQs5vXvpAuUhQ1mdeEMtuOqyDq8LcksxzKWfMTZVyvXgAwd0a35XIEecIAiC8D+KAr7sZJvjvT8X/LFDjDPUGXJEDKTRE9p2vrPHAgFBXXfyAT9XGvBQHnsDkRUuYvXUyA53R+WkQcxxZ0VlejsCz2HttChM3VyNKl3bZ6kAWPRjA36aE4ek4J5lp6nXS7hvNytJGRWlwj09zNDiTB/ejpQ5inXECw60ZdqxIVLD48qUQOYGYUOhlhxxF3GQpYyf0f2A5bM6cVaesh9mJ464oigwFK4GFBsJWUA8VIP+2L25XV2iV0cnCIIgiI4wGiDk/2pNL1jrWmCiwnGQhwxrc7xzJkFOSXc5JZmvON1ixm3b7IIzVRw2XBSFUFXHToWcaOeIV5S4lXKttxEfJGDttCjM2VJrqSJaZ5Dx5+31+OKyGKh6oBdftqcJNTaSFJFrk6T0ZEzAmT58sOX/pSw2YJAvPOj085mfEcQ44p8V6/HsRBnhasqR0SmtLRB+38OY3M2WYo+DTvzofpinX+nYrmYH5MYDjE2dsQic4N0bKHLECYIgCL8QvOQqcCbXyqArQSEwjzwf0uhJMI8cD4RFeHl13UdnVnDL1npGtwwAr06NREZ455IJJSoOSkAgOH2bE8e1asE11kGJjPHaer3NlAQNHjovDP/41VqcZU+1EU/sO4N/nB/erTG/KNE55GNfmhOKEVE9z2rhLFDT8v+D0qFoAiwBwnxTA7iqMigD2B3WqQkaJAcLljoWOknBJyd1uC0ruMfr68+Iv+4EZ7LGU8ixiZAHZ/VoTFd04oqkh7HodbZd1BgIMRf0aG5XoFszgiAIwi905YRLSakwXn4jWle8CO3Ln8Kw5FGYL7ykVzvhiqLgb7sbsb+ODc5cnhOKy1JcyCfNcY75xMuLPbhC/3DvqBBcnMTuLL50qAVflug66NExDQYZf7OTpIyIUnmsaFBnjjgE0bF0egG7iwq0yXJusktlSCXvu8ahiM/EmT1+GtSuE2+nXSdui6n4fSiGGquBE9rSFfrgSRQ54gRBEESvQFGpYR49Efo/3QPtc+9B99R6GG9YDHno6G6lLvMHa49q8d6xVsZ22cAAPJDjupPoELBZ3ncDNtvhOQ6vTo1Esp0ufMnPDShu7rroki3L9zSiWmcnSZkc0WNJCgDAaABXxTpp9p+HlDmKORYKHfOJA8BN6awj/kuNCUcaTE7bEgCaGyEc/oUx9VSWAsB5PvEj1nzicms5TKc+Zs6rBs4FHzyw53O7QJeO+PPPP48ZM2Zg4MCBSEtLww033ID8/HymjaIoePrppzF06FAMGDAAV1xxBY4cOcK0aWxsxKJFi5CSkoKUlBQsWrQIjY3sHS1BEAThf9auXYtRo0YhPj4e06ZNw65duzptv3HjRkyePBkJCQnIzMzEokWLUFXlmt7bFBUH08w50N37NLSrNkP/t2dgvmgulD6WOxsAdlUasGIPG5yZES5iTSfBmc7oTwGbtkQFCHhjeiREm7eiyajgtm31MNiK6Tvh61M6fGCXheZvo0MxKlrtkTXylaXgbIL15Oh4IJB1qOUsO0e84HenY6WGipiWwD4FeKeo1WlbAhB/2QFOshY/khJTIScP7qSH6ziVp5zFWPQqoFhvkDh1FFSpN3lkXlfo0hH/+eefcfvtt2PLli3YvHkzRFHE3Llz0dDQYGnz4osvYtWqVXj22WexdetWxMbG4uqrr0ZzszV/6MKFC3Hw4EFs3LgRH330EQ4ePIjFixd751URBEEQ3WLTpk1Yvnw57rvvPvz0008YP348rr/+epw+fdpp+9zcXCxevBg33ngjdu/ejXfeeQdHjx7FX/7yly7nGj3uGWRMfBG/XHUXpJxJgMYzKe38QZlWwq3b6mG28SdDVRzemRnldoCenOAkYLOfMD5Og8ftdOH760x4OK/r9JSNBhn37mI38IZHirjfQ5IUoAtZylmktOFQbJ7Q8DXl4OprHNoBbUGbtrx/vBVGF286zjXEvG3MsSdkKe10pBM31+6BVMcGh6rTbwcn+k7L3+XVYdOmTZg/fz6GDx+O7OxsvPrqq6itrUVubi5o7taKAAAgAElEQVSAtt3w1atX45577sGcOXMwfPhwrF69Gi0tLfjoo48AAAUFBfj+++/xwgsvYMKECRg/fjz+85//YMuWLSgqKvLuKyQIgiBcZtWqVbjppptw6623IisrCytXrkR8fDzeeOMNp+337t2LxMRE3HnnnUhNTcX555+PRYsWYd++fU7b23I4ZCBKW2Vc+mUNvuiGVri3oDcr+NPWOiaDBwCsnhKJzAj3gwftd8S5sv7jiAPAkuHBuDKFvel6/agWm050vlu8Iq8JlTaSFIEDXpkcCbXgOR1vZ6kLLag1DgGEHclTrhwUiDC1dX21ehlbSl2rBHsuwTXWQTjyG2MzT5jhsfGd6cRRWdy2G24DH54NId4Dchg3cFsj3tLSAlmWERHRFixTUlKCqqoqzJxpXXhgYCAuuOAC7NnTdpeRl5eHkJAQTJgwwdJm4sSJCA4OtrQhCIIg/IvRaMT+/fuZ6zkAzJw5s8Nr9YQJE1BVVYWvv/4aiqKgrq4OmzZtwsUXX+zyvNqzWUb+c7AZitK3dgsVRcH9uY3YV8tqf5eODsWVg1wIznQ2ZmwCFJXVgeebG4Hm/iPl5DgOL0+ORGooqxe/e2cjipqca6i3nNY7aO/vHRmKnBjPSFLacdgRt9OHtyPZyVP4QufylECRw/VD7IM2SZ5ij7j3R3A2f/vSoAwoAzyo0XaiEzcf/S8UXbmNhYc6c4lPAjRtcdsRX758OUaOHInx48cDgEUHGBsby7SLjY1FdXU1AKC6uhrR0dHMi+M4DjExMZY2BEEQhH+pq6uDJEmdXs/tGT9+PNauXYtFixYhNjYWaWlpliel7qAAeHzfGfzPjgbozX3HGX+zoNXBsbokWYMV5/VALsELkAfYZ07p+wGbtkRoeKyfHgWNjS/eYlZw67Z6tJrZJwttkpQGxjYsQsRSNwJgXcUVaQrgJGCzwPmOOADcYidP+a5Uj4pWqYPW5yYORXw8EaRph608RQoCDFIeu4akyyGEpnl83q5wyxF/8MEHkZubi7fffhuCwN7J2t9BKIri4HjbY9+GIAiC8D9dXc9tOXr0KJYvX46lS5di+/bt+Pjjj1FVVYV77rmny3menxQBe1XBB8d1mP1NLap1vd9Rya0yYNkedqc6LUzAa1Oj3ArOdIZDYZ9+kMLQnpwYNZ4Zz6aizG8w44FcVi/+8N4mlLfaSVKmRELjQUkKgLaMKdXljMleJtSOlDECis1nzJedBFrOOG07OlqF7EirplxWgA+O0a54O1xdFYRjhxibefx0j89j64g3j1MBvM0NnyoM6iG3enxOV3A5H9SKFSuwadMmfP7550hNTbXY4+PjAbTteicnWxPa19bWWnZV4uLiUFtby1zM2x9h2u+82NOXNOR9aa3t9Pc164TOv1+eQnaxFHdP0el0KCry/s5Yf/9e+JuMjAx/L8Ep0dHREATBYffb9npuz/PPP48xY8bg7rvvBgCMGDECQUFBuOyyy/D3v/+d+V2wZ4pQjv/L5rHiqAZnzFanJq/GiKmflOPfwwzIDPHu7nh3vzc1Bg637A+ASbauO0hQ8FR6C2pONcN56J7raxmgCYFt3pgzhw+gLHlYt9baHXz193QhD/whVo0tNVZ3ZENRK4agAVfFS9jVwDs8cbglyYSQhhIUNdiP1jMCK09hqE3GFEN4NIpOs6kMbd+XobFJCKwuBQBwioKqH7/FmUy28mY7f4gQcbjBKqN5I78RlwdUdjsWsTdd73q6lrjdW2AbGtmSnIaixhag0f1xO1sLJ4sYJaphjjHDMJjdTG4MuRzlxZUAKt2e0x53r+8uOeLLli3Dpk2b8MUXXyAzM5M5N2jQIMTHx2Pbtm0YM2YMAECv12P37t144oknALQ9umxpaUFeXp5FJ56XlwetVsvoxj3xgvxFUVFRn1lrO+fCmisrDAC8X0SB532Tkj8wMBAZCd79zM6F7wXhHLVajZycHGzbtg1z58612Ldt24bZs2c77aPT6RyekLYfd6X3zsjIQAaAiZlm3PB9HY6dseaTrjTwWHQoCK9NjcQV3dRad0V3vzcGScGdX9eizq4g0Zqp0fhDavfWar8WoXEM8NNmy3FUaxOCfPQd9/Xf07rBMmZ+XoPCJuvnv/JEAC7IiMY/89ibwqERIp6dmej53XAAYk0xcyykZjDvg8NnNOp84PtSy/HAlloYO3jf7hwo4aWSSpjO+vmndDzqwlMwKd798um96XrnibUEbljJHKumXdatMV1ZizR0BJqHsLvvfGg6EnNuAccJHfTyLl16D/fffz/effddrF27FhEREaiqqkJVVRVaWloAtD3CvOOOO/DCCy9g8+bNyM/Px5IlSxAcHIzrrrsOAJCVlYVZs2bh3nvvxd69e5GXl4d7770Xf/jDH3rNl4kgCIIA7rzzTrz77rt46623UFBQgGXLlqGyshILFiwAACxevJhJPXvppZfiq6++wrp161BcXIzc3FwsW7YMo0ePxsCBrgVbpYWL+P7KWExPZJ0SrVnB/F4YxLkstxF5NawTft+oEMzuphPuDMU+hWE/lKa0E6LisX5GFAJtnGudpOCKr2tRbbS6KTwHrJrsBUlK+/gu6sMt593QiUcHCLjcLlMMBW0CXGUphOJCy7HCcTCfP91r8+lGBMIcybq+bQGa/nHCARd2xNeuXQsAmDNnDmNftmwZVqxYAQD461//Cp1Oh6VLl6KxsRFjx47Fpk2bEBpqDaR4/fXXsWzZMlxzzTUAgMsuuwz/+te/PPZCCIIgiJ5zzTXXoL6+HitXrkRVVRWGDRuGDz/8ECkpbcGDpaWlTPubb74ZLS0teP311/Hwww8jLCwMU6ZMweOPP+7WvBEaHh9dHI0VeU14/Yj1KVZ7EOfRRhNevCASAaJ/44rWF2ixvpB1oGYlafDgeWEenUcekAyF58Gdlb3xDbWATgsE+i6/sS8ZHqnCvyeFY8nPVs29fbrt/80OwdhYz2ZJscVdR9whc0pxAWDQARrnN2S3ZATjs2Jr6sJPT+rwzIRwhKrO3SLn9iXtpazRUCJjvDKXYmyELuBw20XlLJpTIoQZvpN8OaNLR9yV6pccx2HFihUWx9wZkZGReO2119xbHUEQBOFzFi5ciIULFzo99+WXXzrY7HfJu4vIc1g5MQJDI0Q8kNvEOGIfHNfh5BkJGy6KQlygf3av8qoNWJrL/iamhgpYOy0KgifKq9siqqDEJ4OrsMaE8OUlkNOGe3aeXsRNGcHYXWXE2052ijPDRazw8M2OPfZPHbpyxJWIaMhxieDPBnhykgTh+BFIw8c4bT8jUYPEIN4SeKo1K/jkpA5/yuyfN1euYO+Imyd6L4e38fgbgGK9EeKMCkJ3t0B/WRmU+I5jWbzNuXsbRhAEQfRKbh8agk2XRCNCzTq3eTVGzPy8Br/XO8817U0qWyX8aWu9ReMLAMEih3dmRiNC0/2fUtlQB/3hZxFVswpS42H2nH3mlH5W2McZ/5oYwWQYAaySFK8+DXGWMSXRecYUW6QsNjiT70SeIvAcbkpnne5zueQ9X3oCgs1TCIXnYR431StzSU1HYa74lrEFHzBD0APCkf0d9PIN5IgTBEEQvY5piQH44co4pIexTlmpVsKlX9bgSx9W4jRKCm7bVs9UdQTanMPsKPcrZzJjH30BUtU2BOiPQn/gIch6a3CigyPej0rdd0SgyOGtGdEIt7kJu2dkCM6P854kBQD4ilNMQRk5NqFDiYktDvnEO6iw2c5NdjnF91QbUdjo+xvL3oC4hy1pL2WPBUIjOmjdfRRFhrFwFWMTGmUEHWlLkSocJUecIAiCIBzoKojzBR8FcT6Y14TcajY4856RIZg7uGfBmXJrKaS6vVaDpGdKbttLI+w1zP2VtHARP8+JwwM5oXg804C/j/GuJAUA+FK70vYu7IYDgJQ1kjkWjuUDZnMHrYEhYSIuHMDeVJyTu+KK4ihL8UIRHwAwV2yB3MymNQzdYwZ39tIhHN0P+DEYnBxxgiAIotfSHsT5l2HsI30FwGP7zuCOHQ0w2Ef1eZC3C7VYe5RNgTozUeMR59Bc/o2DTarZCXPdLwCcFfXpX9U1O2NgiIgHzwvD5XGSTwr/OQZqDnapnxKXBDki2nLMGfXgSwo76dEWtGnLe8dbYZJ7T1YgX8AXF4KvsuZoV0QVzGMme3wexdQM4/H1jE2IuRDqeuuTLL6hFlx1GfwFOeIEQRBEr6Y9iPPfk8IdKnG+f7YSZ40XKnHuqzHivt1scOagEAHrpvc8OFORTTBVfOf0nLFwFRTJCHnAQKZ6I1dbARj0TvsQPcPdjCkWOM6tcvcAMDs1AKEq6+darZPxXem59bk6ZEsZNR4IDu2gdfcxnnwbMNlUauU1UGcuhpQxgmnnT504OeIEQRBEn+D2oSH4+BJWPwy06WxnfF6DQx4M4qzWSbhlax2MNrLwQIHDhouiEdmD4Mx2pNrdrINgg6KrgOnURkATACVmgMXOKQr4ytM9nptwpNuOOAA5006eUvh7p+2DRB7X2smazqmc4rIMMW87Y/KGLEVuOQFz6ReMTTXoBvABcUy5e8C/OnFyxAmCIIg+w/TEAPxwZazTIM4/fFmDr071PIjTJCu4dVu9Jc1cOy9NjsDIHgZnWuYo+5o5ljm22Iup5APIugon8pT+H7Dpcwz6tqcNZ1E4zmWNOOCYT1woPAjIcget25hvl7Jwy2k9qlo9/1SnN8IfzwdfV2U5VtQamHMmeXQORVFgKHgFgPVz4AISoEppKzTp1BH3k06cHHGCIAiiT5EeruowiPPmH+rx4u89C+J8KK8Ju6vY4My7skNw3ZCgDnq4h6yrgNzwG2Orj1kMqMJtGhlhLFwNKck+hWGxR9ZAWOHLS5iMKUpMAqAJ6KQHi5w8GEpQiOWY0zZ3WQl1bIwKwyKsN5OSAnx4/NzYFXcI0sy5AAjwzN9WO1LVdshNbCl7deZicEJboKw8ZCgUtfUz5htqwVX5RydOjjhBEATR54jQ8Nh4cTT+MtQxiPPRX7ofxPlukRavHWGDM6claPDYOM9l7rAP0uTDhsIYkA51OltESarLgzGe3SXlK86dgE1f0RNZStsAgoPmmC/oXJ7CcRxutktl+HZRq0+yAPkVWYKYx6Yt9LQsRTHrYDy2lrEJ0edDiJ5gNYgqR524n+Qp5IgTBEEQfRIVz2HlpAg8N9EzQZy/1Rpxr11w5sAQAW9Mj4ToocqZimx2KCwiJl7a9t8Bs8CHZzPndNxOKDaFRGlH3PO4W1HTGQ7ylIIDXfa5IS0ItjWKCpvM2Ftj7LhDP0A4egB8U4PlWAkIagvU9CCm4vegGOusBk4Fdcb/OGTfkYb1Dp04OeIEQRBEn2bhsJ4HcdboJNyytR4GG789QAA2zIxCdIDQcUc3ker2QDFaHREIQRDjpgFo2yXVZN0FcNafZkVqgHaUVcLAVZUC5nOzAIy36PGOODoo7NPF7nZsoIBLB7ISmP4etGlfxMc8dgqg1nTQ2n1k7WmYTm9ibKqUq8EHJTm0ddCJH/GPTpwccYIgCKLP0x7EmRbGOs2uBHGaZAW3ba9HqZbdPX/xwkiMjvZsRUd7WYoYPx2caM2gwYcMhpg8h2mjHSHCHNZ2k8HJst+0rP0VB0c82bUc4kyfwVlQVNbvCt9QC662sst+8zNZecqmEzpoTZ0HevZZzGaIe39kTZ6UpShKW0EsxVpQidPEQDXoRqfN5cFZrE680T86cXLECYIgiH5BergKP1wZh2kJ7gVxPrK3CTsrWUnAHcODcUOaZwPIZF0VpLPFetoRky5zaKcePB+cOspq4IHmCSLaV95VICDhBgYd+Bq7jCkJKe6PI6ogpQ1nTF3lEweAWUkBGBBodcVazAo+K+555p/eiHB4HzjtGcuxEhzWVtbeQ2j0hyDVs39f6vSFzI0uQy/RiZMjThAEQfQbIjQ8ProkGgtdDOL84HgrVuezwZmTB6jxxPnh8DRt2nDr3HxoOoTQDId2nBgMdcYixmZMFGAY1PaTzZdRCkNPYZ8OUolN6LZUQu6GTlzkOdyY7hi02R9xyJYybiogih20dg9FMiC84WPGxkeMhHBW9tURvUEnTo44QRAE0a9Q8RyemxSBlR0Ecc45G8RZ0MLhrzsbmPPJwQLWz4iCykPBme0osgRzxRbGJiY67oa3I8RNAx/JOgnN41WQRcol7km6W9reGY75xDvPnNKOffaU3VVGHGvqZ3EARgPEfTsYk3mi52QpplMfQZRsAzR5aDKXOARo2tMbdOLkiBMEQRD9kr8MC8FHFzsGceZWGzHzixrcf0QDvY0sXHM2ODPGg8GZ7Uj1v0Ax1FoNvAZi/PQO23McB03mnQBn3TGUgzhoc0RyxD2IJwI125HShkPhrW4VX3kaXFN9l/3Sw1WYFM/GIrx7rH/tigu/54HTW1+THB4Jaehoj4wt66pgKvmAsYlJV4EP6fqmqjfoxMkRJwiCIPotM5IC8L2TIM7TLRIqDexP4AsXRCInxrPBme2Yy9lKmmL8NHBicAet2+CDB0KVcg1jax0mQNadAuRzowqjt/GkI46AIMiDMtnxu7kr/t6xVpjl/pNT3EGWMn4GwPf8hldRZBiLXgFkmxgPVTjUg29xcWH+14mTI04QBEH0azLCVfjeSRCnLYuGBTtodT2FbKiFVJvH2MTEy13qq0q9CZwmzmrgOTSP5YDqck8u8ZyFLzvJHPfIEYezfOJdB2wCwNzUQITYJBWvaJWxtczQo7X0Ggw6iL/tZkzm8TM8MrTp5NuQavcwNnXaAnCqkA56OOJvnTg54gRBEES/J/JsEOftQx13oSfFq/HP8Z4PzmzHXP4tAGtKOi44FXxYlkt9OSEA6szFjM00gIdU/IUnl3huom8FX1tlOVQ4vnsZU2xw1Im75oiHqHhcPZjN7vF2kbaD1n0L8bdd4Ix6y7EcFQc5PbuTHq5hqvgepuL3GBsflgUx4RK3xvG3TpwccYIgCOKcQMVz+PfZIM72zceMcBH/9UJwZjuKIsNcweYOVyVd3mUQmS1CzAVQ6WIYm0G7BYqpxSNrPFfhy08xx0pcYo+Ly0iZI9k5Th0HdK451PPt5Clfn9KjVt/3JUgOspQJMwC+Z+6n1PA7jEdfYG18CDTZK8Bx7o3tb504OeIEQRDEOcVfhoXgwPUD8HK2HtuvikVcoOeDM9uR6n+Foq+2Gng1xHj3HstzHIcA9SzAJu2iwulhPPmWp5Z5TuJpWQoAICQcUqJ1HE6RIRQdcqnr+Dg1MsKtwblmBfjgeB/PKd7aAuEgK8vqaREfubUM+t+fYAr3gFehPmYR+MAB7g/oZ504OeIEQRDEOUdSsIAJkTKCVd79GXQI0oybCk4V6vY4XOIIBP/O7o6aS7+A1FzUo/Wdy3g0UNN2nCx2V9xVnTjHcbjFbld8Q6HWaRGqvoL468/gzNZUjHJ8EuTUzE56dI5iOgP9gUcAczNj1wy7HyZND1JP+lEnTo44QRAEQXgB2VAPqTaXsYmJl3ZvrMRUBB8yQ2i2LX8uw1iwCorST0uiexlP5hC3Rcpi0/K5qhMHgBvSgpjc90cazfi1tu/mFBdznWRLcUOWZYsim6D//R9QdKxsRDX4TxDjOy/c0xX+1ImTI04QBEEQXsBc8R2gWHexuaAU8OHdC1JTIqIBdTBC95gZu3zmqEOhIMI1vLUjLmWyAZv8iaOA0bUMKPFBAi5JDmBsG/pq0GZzI4TDbMn57hbxURQFxqMvQm5k00GKAy6CKvXGbi+xHX/qxMkRJwiCIAgP4zRIM/FSt4I0GTgOcuIgaMpkaE6xEhXj8TehmM50d6nnJrpW8HV2GVMGJHtkaCU6DnJMvOWYM5vanHEXsQ/a/PiEDq3mvvfUQ/xlBzjZum4pKRVy8pBujWUq+QDmyu8ZGx8+Auqhf+3+35QtftSJkyNOEARBEB5GbjgARVdhNXAqiAmzejbm2R3b0DxTWyRfO6YzMB5/s0djn2vw5cXMsRKf1OOMKbZImd2Xp1wyMABxgVb37IxJwecl+k569E4cs6V0bzfcXPUTTCfWMzYuMBEBox4Bx3uuAJe/dOLkiBMEQRB+oS8HoXWFqZzdDRfiLgSnCuvRmO05rgUtEHKAlaiYy7+B1OT6ruu5jrdkKe10N5840JZmc16aY9BmX4JrrHNwZLvjiEtNR2A4spI1iiEIGP1Ej/+eHObyk06cHHGCIAjCL0h1eV036oMoxkZINTsZmyrxsh6Pa+ssBuVLEFpVtrPCWPgyFKXv5532BV53xO3yiQtFhwHJ3EFrR+xL3u+oNOLkGdf7+xsxbzs4GydWGpQJxU3pj6yrhP7g44BsE6zKiQgY+Qj4IM/IiJj5/KQTJ0ecIAiC8AvGY+ugyP3PcTRX/sDkOOYCk8BHjOqkh2vIiYOsY8pA6C+sblhuPgZz2Zc9nudcwCs5xG1QElIgh0ZYjjl9a1txHxfJilBhfCwru3jnWKvH1udtHGQpbgZpKmYt9AcfBUyNjF099G4IkT3/W3KKn3Ti5IgTBEEQfkFpPdXvMn4oigKTfe7wngRp2o4dHQ/FRsesOamFGDmRaWM88V8oxoYez9Xf4ctKmGNPpS60wHGQeyBPAYD5meyu+HtFrZDk3i/n4morIRw7zNjM46e73F+RzTAc+icULfsZqQbNg8rN8vXu4g+dODniBEEQhN8wnXwbirmPVw+0QW48BKW11GrgRKgSLvbM4DwPOWEQYwpQTQeEQKvBrIXx2DrPzNdf0WnB11urnSq85zKm2OIgTyn8vYOWzpmbGogg0XoDV9YqYXuFa2kQ/YmYt505ltJHQIlxreKloigwFr4Cqf5Xxi7ETYFqyJ88tcQO8YdOnBxxgiAIwm8oxgaYTn/s72V4DPvdcCFmIjh1RAet3UdOTGGOxcoGqAfPZ2zmyu8hNbpWVv1cxF4frsQnAyrPZd9oxyGfeMFBt5y6MDWPuamBjO3twt4vT3Eo4uOGLMV8+hOYy79ibHzYUGiG3Q+O877L6g+dODniBEEQhF8xnfoIsqHe38voMYqpGVLNDsamSrrco3PYa5m58hKIyXPABbN2Q8HLUOS+E9znS7wdqGkZNyUNSoDVkeabG8FVnHJrDPuc4l+e0qGxFxfa5CpPQygptBwrHAfz+a5VvTTX7Ibx2OvseAFxCBj1KDjBc6klO8WZTvzIb96d0qujEwThUUQO2OHlR5M6IRbiGTMGh9HlgfARkh6mkxugGXq3v1fSI8yVPzAZHriAAeAjczrp4T720hS+vAQcL0KTdRf0v95vsSvaYphLP4Mq5VqPzt8f8FZpewcEEVLGCIi/77WaCn+HOXFQJ51YJsWrMSRUwInmtqBmkwx8UyPifI8v1jOIe7Yxx9LQnLaqsF0gNRfBcPgZADZPDIQgBIx6Apw60sOr7GItw3Ig2lQEFY7uh3nGVV6bj35pCaIPUWeQMX+r93cOP780kBxxwqeYK76BauBc8MEpXTfuhXQcpOnZB89ykqMjDgBCxAiIA2Yx1QeNJzdAiJ8GXhPj0TX0dRwdcdcdY3eRMkexjnjBQZinX+lyf47jMD8zGE/ss1ZO3Vwp4mFF8UxFSQ/TnSI+sqEWhgOPAbLNJhPHQzPiQfAhqZ5doAs46MSPntWJe+n9JmkKQRAE4Re4wCTrgSLDeLzvBhnKZ46wWR44HqKngjRtUOISoQjWm2S+qR5oaXPS1Om3A2KwtbGkg7Hodfshznm8nbrQFnuduFB4wO0xbkwPAm/jAxa18jhQ1/v0KXzpCQg2NzmKIMA8bkqnfRSzDoYDj0Ix1jF2dcYSiNHjvLHMLpEHD7XTideBqyrtpEfPIEecIAiC8AvqtAXMsVS7B1KDeyneegvmMrsgzeiJ4DVdP5J3G0F0yPDRvivOqSOhHnIrc06q/hFSvXc1rn0KbTP4hlrLoSIIkAcM9Np08pChUERr4SW+tgpcXXUnPRxJCBJwcRKrkd5Q1PuCNu2DNKXscUBox4HKiiLBkP8s5BY2v7o48Gqokl1/auBxRNEx480R76UxdMkR37lzJ+bNm4dhw4YhIiIC77zzDnP+jjvuQEREBPNv1qxZTBuDwYClS5diyJAhSExMxLx581BW5v2KRQRBEIR7rF27FqNGjUJ8fDymTZuGXbt2ddreaDTin//8J0aNGoW4uDiMGDECa9as6XIeIfZC8OHD2bGOrYWiyB306J0oZi3M1T8xNjHxUq/NJyemMsftjjgAiElXgA9NZ84bCl+BIve+HVR/YPteAWczpoiqDlp7ALUG8pChjMndfOIAcHNGMHO88UQrdOZelFNcUdyWpRiPrYNUm8vYhJgJUKcv9Pjy3MWpPMVLuOSIa7VaDB8+HM888wwCAwOdtpk+fToKCgos/zZu3MicX7FiBT7//HOsW7cOX331FZqbm3HDDTdAkvpfVTWCIIi+yqZNm7B8+XLcd999+OmnnzB+/Hhcf/31OH36dId9br/9dvzwww948cUXsXfvXqxfvx7Z2dldzsVxnMOPrtxcCMnOqe3tmCu3MvpWThMLIXqs1+ZTEp3rxAGA4wSoM+8CYNUyKK2nYTq1yWvr6Uv4KmOKLQ7ylAL3HfFLBwYgWmN12ZqMCn4o0/d4bZ6CLy4AX11uOVZEFcxjLuywvansS5hPs99JPiQNmuHLwXGC19bpKk4L+3gpn7hLjvgll1yCRx55BHPmzAHPO++i0WgQHx9v+RcZaY1ybWpqwttvv40nnngCM2bMQE5ODl599VUcPnwY27dv98gLIQiCIHrOqlWrcNNNN+HWW29FVlYWVq5cifj4eLzxxhtO22/duhU//vgjNm7ciBkzZmDQoEEYN24cpkzpXBvajhA+HEIs+4NtPL4eimzs8WvxBYqiwOwQpPkHrzoTHQVstiOED3XYkTcVvwtZ754koj/SGxxxvhuOuFrgcM0QdiP0pwrpUDUAACAASURBVF5U3MchW8qoCUBQiNO25rpfYCxcxdg4dTQ0ox4DJzrf7PU1cqp9PnHv6cQ9phHfvXs30tPTMXbsWNx9992oqamxnNu/fz9MJhNmzrQ+pkhOTkZWVhb27NnjqSUQBEEQPcBoNGL//v3MtRoAZs6c2eG1+ssvv8R5552HVatWYfjw4RgzZgweeOABtLS0uDyvOu3PgI3jqugrYS79onsvwsfIzYWQW07YWHiICX/w7pydSFPaUactAFRhNp0MMBZ1LRfq79g74pK3UhfazpGRDcUme45QXgy0NLk9zvQEVif+c2UvccRl2cER76iIj9xSDMOhpwBb+RmvgWb0Y+ADYr25SvfwoU7cI474rFmzsGbNGnz22Wd48sknsW/fPsyePRsGQ9uXpLq6GoIgIDqaDVyJjY1FdTXdoRMEQfQG6urqIEkSYmPZH8TOrtXFxcXIzc3FoUOH8NZbb2HlypX44YcfsGTJEpfn5YOSICZdwdiMxe9CMTW7/yJ8jLn8G+ZYiB7ndYdCHpDMOHZ8XRWgZ4P3OFWYYzBszS6Y6/biXMYfO+IICoGcksaY3C13DwAXDtDANoFefoMZtXr/y3v5Y4fB11uvD4o6AOacSQ7tFGMD9AcfASTb7yoHTfZyCKEZPlipe/hKJ+6RRMHXXmstGJCdnY2cnByMHDkSW7ZswezZszvsp7iQB7OoqMgTS/QJfWmt7fT3NesE39xhy7Jvgst8NY9Op0NRkXsV4PxNX/ouZ2T0vh8dW+yvy51dq2VZBsdxeP311xEeHg4AWLlyJa655hpUV1cjLi6uw3lsPzNenog47lvwylndq7kF1fvX4EzE3B6+ms7pyfeGk/WIr/iB2dGq5nJg6OaY7qxlWGQMAmycn9I9O6Gz2ymHMgQx6lSojcUWk/bwi6ge8CDAdR6g2Jv+njy1FkHfilGN1owpMi+gsFkHuDF+d9eSFJeCuBJr3zN7fkJ5aLzb42QGB6BAa/3GffxbCWbG+NcZ127ZBNv6n43pI1F8yk7GIRsRU/MS1Eb2hr4pYi60jTFAo2c+Y09+b4NCopFlazj0C4oKC7vMJ+7u9d0rFTsSEhKQmJiIEyfaHtfFxcVBkiTU1dUhJsZaWKC2thYXXHBBp2P19h+sdoqKivrMWts5F9ZcWWEAoPXegs7SUexEX50nMDAQGQl957vRF7/LvZHo6GgIguCw+11bW+uwS95OfHw8EhISLE44AGRmZgIASktLO3XE7T8zY8A8mE6stxyHaH9C7Ig/gQ9032FxhZ5+b0xlX8OoWLXsnDoaA0fMAce7rw93dy1iagZg44inCjLMTvpLCfdDv/duAG038aK5FoNUv0I9eL7H1uJNPLkW3m4XWkkYiIyhw3yyFqFxCrD3B8txTNUpBHdjrFkNTSg4bJV9HUMUFmd0nCLQ2xQVFCC6iN0pDpg1m3mfFEWG4fDTkGxuCIG2DD8JmYs8VpjI49/bwYOhvPsCOGPb5oCqpQmZYYFQPJzu0iu/6nV1daioqEB8fNvFMycnByqVCtu2WTVEZWVlKCgowIQJE7yxBIIgCMJN1Go1cnJymGs1AGzbtq3Da/XEiRNRWVnJaMKPH2/LCzxwoHs/WKqBc8HZVoGUTTCe+K9bY/gSc/lXzLGYcHG3nPDu4FjqvthpOyE0HaJdTmZTyQeQW8udtu/P+Ky0vRNk+4DNkkIHOZErTB6gZo79rRMPKSkA39RgOVYCgyGNHM+0MZ14C1L1DsYmRI2BOuOOXlkd1IKPdOIuOeItLS04ePAgDh48CFmWUVpaioMHD+L06dNoaWnBww8/jLy8PJSUlGDHjh2YN28eYmNjceWVbX/84eHhuOWWW/DII49g+/btOHDgABYvXozs7GxMnz7d4y+KIAiC6B533nkn3n33Xbz11lsoKCjAsmXLUFlZiQUL2vTGixcvxuLFiy3tr7vuOkRFReHOO+/EkSNHkJubi+XLl2POnDkd7qJ3BCcEQDX4T4xNqtoKqbn3yCTakZqPQ2bWxXk1d7g99tpmvrxjKZl68J/Aqa2ZzCCbYCxaDcVL6dh6Kw6OeKL3Stvbo4RHMYWDOFmGcDzf7XEmxWvAw/q5HWk0o0bnP2lKZD4bc2AeOxlQW4NKTRXfwVTyPtOGC06BZsRD4HiviDI8ii904i69C7/99huuuuoqy/HTTz+Np59+GjfeeCOef/555Ofn4/3330dTUxPi4+MxZcoUvPnmmwgNDbX0eeqppyAIAhYsWAC9Xo+pU6dizZo1EAT/54skfM/JM2aUat2/eOiE2LNyE9fQS+fWDw1B9JRrrrkG9fX1WLlyJaqqqjBs2DB8+OGHSElJAdAmN7ElJCQEn376KR544AHMnDkTERERuOKKK/Doo492a34x4SKYTm+Coi222IzH1iEg5+letXtmn7JQiDoPfOAAn80vJ6Ywxx3tiAMApwqBKu12GI88Z7FJdXsh1e6GGNu5PLQ/4VDaPjnVp/NLmSPBV1rz8QsFB9uqT7pBhIZHVoiMIy1W32lnpRFzB/sh7Z/ZhIijv7ImmyI+UsNBGI++yPZRRSBg1BPgRLZAUW+lw3ziHrwWueSIT5kyBY2NjR2e37Sp60IBAQEBWLlyJVauXOn66oh+S6lWwlXf1Hbd0Cmua743zIzq5hwEce6ycOFCLFzovLrdl19+6WDLyMjAJ5984pG5OU6AOn0hDAcettjkhv2Q6n+BGH2+R+boKYqkbyviY4OYeLlP1yAnsI44V10BGA3MbqQt4oCLYK7YArnRqpM2Fq6BEDUGnBDgtE9/w5/SFACQskZD9ZNVztSdfOIAMDacdcR3VBr84ogLh/dB1Fl/j5WQMEjD2wpZya2l0P/+BKCYrR14FQJGPerTG9ae0p5PvF0n3p5P3JM6cd9EfhEEQRCEiwhRY8FHnsfYjMfWQVH8n6oNQFs5e9sUbKoICDE+jncKCIIcYw1i5RQZfGXHBUc4joMm807AJu2hYqiGqfg9ry6z19ByBnxTveVQEUQocUk+XYKUZVdh83g+YDa5Pc7YcPbv4Gc/FfYRc+1K2o+bBogiFNMZ6A88CpjZWgKaYfdDCHc9OLZX4AOdODniBEEQRK+C4zio028HU6ZdWwxzxXf+W5QN5jJWlqJKuAQc33k6QG/gasCm5XxIKsRkNh2k6dTHkLWnO+jRf7B/b+SEgYDoW42yEjMAcqQ1GJkzGcEXF7o9Tk6YDN5GGVHQZEZVq49vUo0GiL/+zJjME2dCkY3Q//4PKLoy5pxqyK0Q46f5coUew9s6cXLECYIgiF6HEJoOcQBbnc904m0okt5PK2pDbimGfOYIY/NlkCazFjcCNttRD54PTm1TXE8xw1C4qt8HbvqlkI89HOdQ7l4oOOD2MCEikBPN3vjt/P/27jw+ivr8A/hnZvbIfZBjcycQAiHcggERBEHwoAqiiKjVgiiiraW1/ATrrS0iWMUKKEYUFauIWFH81QuUIxz6Q8olEIQAIXdC7mOPmd8fIbs7s5tjN7Mzs8nzfr14tfPNHF9ws3ny3ef7PApXT+EO7QfjVPWFD+8Fa7/BMB9/VZT+BAC6uGugT71d0fnJqc08cZlQIE4IIUST9H3uAZxWmgVzBSznOt6T5EsWySZNNnIY2KAEVeYizRPvaEUcABhdEAwZ94vvc/EgbKU75Jya5qidH97K1n+o6JjzMk98XJx4L8BOhQNxfe7XomNr9tWwnP8Y1uJvReNsxGAYMh/W1EZrT7XmibdqzROXCwXihBBCNIkNiIU+6WbRmOXcxxDMF9u4wrcEWzOsxd+JxvQqrYYDrqu6TOHZTl3HxV7lmoOftxaC1fO61v5CEyviAPj+knzjvCOAFx2Tx8aLA/FdxeY2zpQfe+oodP8nrgveODgSFknNfyYwEQGDnwDDimuf+x0f54lTIE4IIUSz9Km3Afowx4CtEeYzG1SZi61sl3gDmj4MnIrl/6R1sNniAsBqbeNsh5aNmw8CjCNHWjBXwHzmfdnnqBUupQvVCsQT0iAEO0o7Mw11YAvOtHOFe6NNBnBOi8x51VYUKZEnzvMwvv9P0VDToCQ0XfxIfJ4uFAFDnwXj/L3rx3yZJ06BOCGEEM1i9CEwpN0hGrMWfqnKBkNL4X9Ex7q4a9Rd7QsOBR/uKNHK2KxgSi+0c4EDG5wMfcotojFrwb/B13keFGpeXbW4+6NODyFWnXQisCxsGZLVVS/yxEP1LIZHK58nrsv9BtyZ4/ZjWwiDmssbAd6p+gujQ8DgJ8AGKVuVxpd8mSdOgTghhBBN0yVOBRMQ7xgQeJh/fVvROfD15102oekTrld0Du54s2GzlT5tNhhjrGNA4NF8YpWsG9G0gC3IFx3zcckAp15XR2kZQ/bk4TbObJ9Lnrivyxg2NcDw8Vr7Ia8HKq4Pg8CLe3sYMv8ILnKI9Gq/5ss8cQrECSGEaBrD6mFInyMas5XnwlZ1RLE5SFfD2fBBYIPla+rhLW82bLZiuAAY+j0gvl/1EQQ27JdjapqhlfzwVi71xE8e8uqXH9c8cd8G4oYvPgBbVQEAEBig6mojhCDxM/Wpt0MfP9mn81CFD/PEKRAnhBCieVzsOLBh/UVj5lM5ipTdE3gzrMXiGuZqlSyUcl0R79yGzVZc9BXgJB1Lw6o+g2Cpa+MK/6OV/HD781P7ua6udjKlyNmoWAN0Tnniv9bYUFjvmzxxpqwI+v848sDrhutgiRdXQuFir4K+z90+eb4WuOSJ//KzLPelQJwQQojmtTT5uU80xtcch61sZxtXyMdWtgew1DgGdCHQxY7z+XM7Q5Bu2PQwEGcYBoaMBaIykRxfC/OZd2WZnxZopXShnU4HW98s0RB3wvP0lBA9i8uixXsUfLUqbvxwDRhLSx64LZhBw0Bxag8blgnjgEfAMN03rPRVnnj3/RcjhBDSrXARg8BFXyEaM//6NgTe8zbhnpDWDtfFTQTDGds4W1kulVOKznlcDo8NSoA+dZZozHphK/jGki7PTwukv5zwSWnqTMSJS2Ofk17WE48XB+K+yBNnjx+E7idHnfm6YTpR9MgYoxEw5CnNfE/4ikueeHUlmOKubxqnQJwQQojfMKTPBZxW3YTGIlgvbPXZ8/iGQvAXxbmgWtik2UoIi4QQ7CgRx5ibwVR4HkDrU24DExDndGMbLGc/lGOK6qqtAlvjVDFFr2LFFCe8uzxxL4z1dWMf3gbjBke5QmsEg6Z0TnSKvs89YAyR8j5Xi9zlictQxpACcUIIIX6DDU6GThIIm/M/8FlOs7VIskkzLBNsiMqpDc4YBnyiZFVckorRqdtwBuh7S8pEFn0NvrG4K7NTnUtaSnwKwHLuT1aQLT0LAueYB1tyAcyljZCeyI41QO8UyeXX2nC+ruNa8p2l++FLcOd+tR/XDdcBTqnhFl0cdHETZXue1rnmiVMgTgghpIcx9L4L4BwfEcNSA8u5jbI/R+CtsBZJN2neIPtzuoqP71qeeCudaRKYQOcykTZYzn7U9gV+QHP54a2MAeDTxJuPvWl3H6xnMcIlT1ymLpsNdTB88pb90BzDoDlF/EtMbcSNYBj1f7FRii/yxCkQJ4QQ4lcYQyT0KTNFY5bz/wbfVCbrc2zleyGYHWkN4IKgM10l6zPk4LIi7mUgzrAc9NLmSX6+Kq610oXOXOuJe5me4qMyhobP3gVbWwUAEADUjRQH/GxYJpoCBru5svvi0/pDMMqbJ06BOCGEEL+jT7kFjMHRVRK8GZbT62V9htXtJs2ANs5Wj8uGTQ9qiUvpTBNh1cU4BgQbLPn+myvOaax0oTPZNmzGyb9hkyk+D/03n9iPzQksLLHicoUt+zUY6aXdmw/yxCkQJ4QQ4ncYLgD6Pr8VjVmLv4Ot9rQs9+cbi2GrPCAa00rtcCk+IU10zBae8/rjcoblUBt2rWjMWvyN366Ka3pFPGOQ6Jg9fxqor/X4PpfHGmBwiubO1dlwtrZreeLGf60GY2upSS4AqMsW/wLK9RrZ7bpndpbceeIUiBNCCPFLurgpYIKdO0sKMJ/KkeXe1qKv0BKCtGBDM8CF9pXl3nITesVACAi0HzON9WAulnt9v8agkWACE50eYIMl/19dmaIqmJqLYGqr7ceC3gAhJr6dKxQWEgZbUh/7ISMI4PI87xYbpGMxIka+euLc4f3QHdxjP25OY2ENF5fE1Kf/zuv7+zuXQLyLeeIUiBNCCPFLDMvBkH6vaIy/eADWiv/r0n0F3gZr4deiMWmlFk1hGNk2bLbcj4M+bbZoyFr8LfjGIu/vqQKtVkxx5rbdvRfGueSJe7lh02qF8YNV9kOBAWqzg0WncLHjNftLqRLkzhOnQJwQQojf4qKywUYMFY1Zfs2BIHjf6ttWsR+C2amUHBcAnWmC1/dTglwbNlvpTFf7/ao4W6Dd/PBWvDTf2IvKKYCbeuJFzRC8WKXVb98ieu009uPABzo1zGI4GPrc49Ucuw2Z88QpECeEEOK3GIaBoe880RhfdwbW4u+8vqe1UFw7XBc7AYwuyOv7KUHODZvApU8bpHXF/WxV3KWjplZKFzqRbthkz5wAzJ6nlWTHGGB0WuwvqLfhbJ2Hv4zWVcPw6dv2Q4ED6kaKV8N18deCDVK/IZLa5MwTp0CcEEKIX+PCMsCZrhaNWU6/C8HmeUDDN5XBVvGjaEyXqOG0lEvcbtjsIi52Apgg51Vx3q9WxbW8UbOV0CsGfIwjsGVsVnC/HvP4PgE6BpfHdK16imHz22CcNovWDw6AoHNKcWEN0Pe+0+O5dUdy5olTIE4IIcTvGfrcAzB6+7HQXA7L+U89vo+16GsAjo1pbEgfsKH95JiiT8m9Ig5cWhWX1hUv/hZ8Q2GX7+1zggBWw6ULndn6i9Mc2JOHvbqPND3Fkw2bbMFp6LdvsR/zBqBhiDiw1ydNB2uM8mpu3Y2ceeIUiBNCCPF7bGAcdEk3icYsZzdCMFd1+h6CYHNNS0m4Dowf1EoWYuIg6B2/iDC11UBN5//ubeFM/rkqztRcBFNXYz8WDEZtVUxx4lJP/MR/vbqPy4bNInPn8sQFAYYPVoHhHb+A1mVHQGCcVsN1IdCnznRzcQ8lY544BeKEEEK6BUPa7YAuxDFga4A5/4NOX2+rPACh2ak7J2uEzjRRxhn6EMu1VAVxHurihk0AYBgOhjRxOoK15DvNr4q7VkxJBVhthjy2/uLNxtypo4DN8zrgI2MMCHDKE7/QYEN+bcd54tzPudAddVQasgUCjeni5+tTZoLRh3o8p+5Mrjxxbb4qCSGEEA8x+lAYpGX3LmwF33ChU9e7dNKMHQdGH9LG2drjWsIwX5b7cqbxYIKSHAN+sCruD/nhrQRTIvjwSPsx09wE9uwpj+9j5Bhkx0qqp3SUnmIxw/jhatFQ7YR4AI5AnDH0gj55msfz6e7kyhOnQJwQQki3oUu6EUyAyTEg2GD+9e22L7iEb66ArXyv+F6JN8g9PZ+SBptyrIgD/rkq7pIfnpSmzkQ6g2HAy9Tufqyk3f2uDjZs6r/ZDLbE8YuqJYxFc2y1+Jzed4LhAqSX9nhy5YlTIE4IIaTbYFgDDH1+Jxqzle2Crbr9ShTWom8AwZEjywSngA0b4Isp+ozrhk15AnEA4ExXgQlKdgwIPCwepP0ozWVFXFJVRmt8lSe+s7jteuJMdSUMn70rGqubkgLnzcpMYDx08dd6NZduT6Y8cQrECSGEdCucaTzY0AzRmPlUTpsBiSDwLps09Qk3+MUmTWcugfgF+QLxllVxaQWVbZ1O+1GUIPhVagrgrsPmYYDn2zi7bZdFGxDIOV63RQ08Tte4zxM3fPIWmKYG+7E5IRjm4GLxOX3uAcPqPJ5HTyFHnjgF4oQQQroVhmFdm/xUH4OtbLfb8/mLByE0OQUgrB66uEm+nKJPCKZECJxjtx5bVQ401Ml2/5ZVcecNodrMFWeqK0X1sAVDAIToOBVn1DE+uQ+EQEfzHKauBkyR57XgjRyDUSZJPXE3eeLs2TzodnwpGqudJK4qw4akg4u9yuM59CRu88Q9RIE4IYSQboeLHAouapRozPzr2xB412oUFskmTS5mrH9WiNDpIZiSRENypqcwjLtum9vANxTI9gw5uKalpGi2Yoody8GWMUg05G16Sof1xAUBxvf/CcbpE6KmLBOsrPi/oz79d2AYjf+7qcxdnrin6F+YEEJIt2ToOxfOP+aExguwFopXAQVzFWxle0Rj+gTtd9Jsiy/zxAGAix2n+VVx17QU7bW2d8clT9zLxj7j4lw7bDqnZXE//iDaDCoAqLsiTHQNGzEYXK+RXj2/R3GTJ+4pCsQJIYR0S2xwKnQJ4o1m5jMbIFjr7ceWom8AwalUW1Ai2Iiu/WBVk68D8ZZVcUkFleLtmloV97f88FYueeInvKucMjzagCCdI0+8pJHHqZpLr3FzM4wfrhGd3zg2EzaruNqHIX2O3+2RUIs0PcVTFIgTQgjptvS97wJYp4/qLdWwnP245f8LgptNmtf7dQDi60AcALjYsWCCxavi5jPaqaDiL63tpfje/UXdUdnKUjDlxe1c4Z6BYzA6Vroq3tIlU/+/H4GtKHE8U8ehfoBZdC4XPRpceJbHz+2pKBAnhBBC2sAao6BPuVU0Zjn/KfjmchiaT0FodKr6weigi7tG4RnKS4lAvKWCyl2iMVvJ9+DrPa+hLDs/rJhipzeA7yMOgL1dFR8rbXdf3AymsgyGL8S/MNVPvRy82bkePONS/pO0T5on7ikKxAkhhHRr+pRbwBgcnQvBN8Ny+l0E1eeKzuNixoAxRCg8O3nx8SkQnFb0mfJioLlR9ue0rIo7B/08zBqoK85UVYBxqhQjGAMgRJnauUJb5EpPGedmw6Zh41ow5ib7GB8WisZYcflJXdwksCFpXj2zx+pinninAvHdu3fj9ttvx4ABAxAREYENGzaIvi4IApYuXYrMzEzExcVh6tSp+OWXX0TnVFVV4f7770dKSgpSUlJw//33o6qqyuuJE0II8Y2cnBwMGTIEJpMJ48ePR25ubscXAdizZw+ioqJwxRVX+HiGnmF0QS0pKk6sRd8gsOFn0Zg/b9K0MxghRDvK0DGCALZI/pVqhmFdcsVtJT+ovirutpGP1iumOHHdsOldID4sWo9gpzzx3sUnoN/zjeic2puzIZjLHAOMzuX7hHROV9JTOvXqrK+vR1ZWFl544QUEBga6fH3lypVYtWoVli1bhm3btiEmJgY333wzamsddTznzZuHQ4cO4eOPP8amTZtw6NAhzJ8/3+uJE0IIkd/mzZuxePFiPPLII9ixYweys7Mxc+ZMnD/ffoBVVVWFBx54AOPHj1dopp7RxV8n7gwJAQwcjU6YgHiwkUOVn5gP8Im+T08BLpV51NiquL/mh7ey9R0IwalkIFt0DkzNRY/vo2cZXHGpnjgj8PjHqfdEX7ekpqFJf0Q0pkucCjZQ2/XWtcrngfiUKVPw5JNPYtq0aWAlv1kKgoA1a9Zg4cKFmDZtGrKysrBmzRrU1dVh06ZNAIATJ07g22+/xSuvvIJRo0YhOzsbL7/8Mr766ivk5eV5PXlCCCHyWrVqFe644w7cc8896N+/P5YvXw6TyYR169a1e93vf/97zJ49G5dffrlCM/UMw3IwpM9t8+u6hGu7Tc1kJfLEgbZWxdXNFffb/PBWgUHgU/uKhlgvyxi21hO/o2Q3RtX+Kvpa/W8GApZqxwAXAEPabK+eQ7qWJ97ld52zZ8+ipKQEEydOtI8FBgZizJgx2LdvHwBg//79CAkJwahRjuYKo0ePRnBwsP0cQggh6jKbzTh48KDo/RwAJk6c2O57dU5ODkpLS7Fo0SJfT7FLuOjRYMMHuX6B4aCLn6L8hHxEqUAcaF0VT3MaEVRdFWcviP+ufheIA7D1F38y43WeeLwRwdYm/P30R6Jxc/ZoNDdKaucnz/D7/RGq6kKeeJcD8ZKSljI4MTExovGYmBiUlpYCAEpLSxEVFSUqCcUwDKKjo+3nEEIIUVdFRQVsNlu77+dSR48exbJly7B27VpwTu3VtYhhGBgy7nMZ56JHgTX2UmFGvsEnpImO2cJ8nz2r7VVxz9uzd5kggC3079QUQL488aFRejx+4XMkmh2pLTynR93YWMDW4DhRHwZ9yi1ePYM4eJueopNrAtK6q4IguATeUtJz3PGn1BV/mmsrtebcyMV0fJIMeJ6n53ihsbEReXkq/CDtAn/6/svIyFB7Cu3q6P28VXNzM+69914899xzSEtL8/g56vw3YxEZeBkCGw/YR0oxHM0aeP3I9e/BNlvgvKbKFF/AqeO/QOA6/yPfo7kIsYjRJ0BvaS2DJ6Di8Buoivpd5+8hw1z0NRcxqMHRrMlmMOJkZQ1wsbadq3wzl67Q6YLhvLbKns3Dr0cOgTc69uh1Zh6GqnI8fHaraCx36Dj0rdgG5+/m6uBJKDxTCG9p6b1XzbkYo1MQPPVuRHl4XZcDcZOppSxQaWkpkpKS7OPl5eX2VZXY2FiUl5eL3swFQUBFRYXLyouU1n9gtcrLy/ObubZSc87FRc0A6js8r6ukexroOZ0TGBiIjHj/eT374/efFkVFRYHjOJfVb+f3c2fFxcU4fvw4HnroITz00EMAWn5ZFAQBUVFR+Pjjj13SXJyp9d9MSHsMzceWw1x1HAEpNyGl942qzMOZ3K9hvlcM2MqWihiMwKNfSAD4pM61evdmLtaIuWg+8rz9OKjhAKIG3w82OLWdq+SdC3f4R/FAUh9k9OvXped7O5eu4uNTwBa1LIYwgoB+QhNsGUM8mofxtQ3Q8xb7cZEhAhUDWWTAqZOsMRrxQ+eA4QzubtEhLb33qj6XjAxg9DiPL+vyT/XU1FSYTCZs377dPtbU1IQ9e/bYc8Kzs7NRV1eH/fv328/Zv38/6uvrRXnjhBBC1GMwGDBs2DDR+zkAbN++3e17wCK/hwAAIABJREFUdUJCAnJzc7Fz5077n7lz56JPnz7YuXMnsrOzlZq6Rxh9CAKGPoOShOdd0iq6Cz5eHAAzPswTB1pqsLMhzoG+oHi3Tb/fqOmkq3ni7PGD0P/4vWhs5YApuJzZLRrT9/6t10E4kUenVsTr6upw+vRpAC2rHQUFBTh06BAiIyORnJyMBQsW4KWXXkJGRgb69u2LFStWIDg4GLfe2tLNrH///rjmmmvwpz/9CStXroQgCPjTn/6Ea6+9VjO/SRFCCAEeeughzJ8/HyNGjMCoUaOwbt06FBcXY86cOQBgLzv7xhtvQK/XIytL3AkwOjoaRqPRZVyLEhMT1Z6Cndxz4RNTgaM/2Y/ZC/lOxRrlxzAs9Gl3ilbFbaU7wNfNVqxBjL+XLnRm6zcY+u8/tx9znlRO4W0wbnhNNPRTSG/0zygAxwj2MSYo2e87yXYHnQrEf/75Z9x4o+Oju6VLl2Lp0qWYPXs21qxZgz/+8Y9obGzEokWLUFVVhREjRmDz5s0IDQ21X/Pmm2/i0UcfxYwZMwAA119/PV588UWZ/zqEEEK6YsaMGaisrMTy5ctRUlKCAQMGYOPGjUhJSQEAFBQUqDxD+QQFBak9BTu55+KyYbPItyvigGNVnK9rDYgFmPP/hYBBS3z+bKC7rYiLN2yyp48BFjOg73j1Wrfjf8GdOyUaWz3kGiwNFtcSN/S5Bwyr7Q3WPUGnAvFx48a12wWTYRgsWbIES5a0/c0WGRmJtWvXej5DQgghipo3bx7mzZvn9mtbt251O96qo58FRBkuJQwv+D4QZxgW+t53ofnwc/YxxVbFBcGlTCOf2LmceC0SouPAR5nAVrRUpmMsFrBnjoOXVFRx0VAHw6Yc0dCxzHH4TbI4f54N7Qcu5kpZ50y80z26FxBCCCHEzqW7Zsl5wGZt42z5cNFXgA3p4zSiTF1xprIMTKOjAIAQEAShlzLVuXxFWpeaO9Fxeophy3tgax0Lp4LBCNtvxuLKgOOi83TpczqsWkeUQYE4IYQQ0t2EhIMPdTRoYSwWMGXFPn9s66q4M1vpTvB1+T59rmt+eCrg54GmND2lo3riTHEB9F9/Ihoz3zALpsYvRGM7GrPwizBQnkmSLqNAnBBCCOmGBOmquA8b+zhrWRVPd54JzPkbfPrM7pSW0sqlsU/eEYBve8ut8V+rwTh96sH3ikFjdiqEOnFt7ReqZmBXsVneyRKvUSBOCCGEdEOuHTZ9nycOtOwbU3pVvDtt1GwlJKRCCA23HzON9WDPn3Z7LnfkJ+gO5orGmmfOg/mcOC3oi/oR+K+5N3YWNcs/YeIVCsQJIYSQbkiNDZutuOjRklVxwHzmfZ89rzuVLrRjGNgypHnibtJTbFYYJOUKbX0HoSnVBqHxgn3MKrB4saqlcl1uSTNsvACiPgrECSGEkG7IJRBXoIRhK7er4mW7nEobykgQXH7J6BaBONzkiZ/4r8s5+m1bwEnSjppm3w+LZJPsvxvH4ldrHACg2izgcKUFRH0UiBNCCCHdkDQYZQvPAjyv2PPdr4rLnyvOVJaCaWqwHwuBwRAi/btiSitpnjh78jAgOK1k19XA8Ok7onMsY6+F2XASQnO504V67A+8VXTermJKT9ECCsQJIYSQbkgI7wUhKNh+zDQ3gaksVez5ba+Ku89z9hZbkC865hPT/L5iSis+tS8EY4D9mK25CGNlif3Y8O93wNTX2I+FgEA033wnzPkfiu6jT7oJg+MTRGM7acOmrP6vzIxnfqr2+LpONfQhhPQsOgaKbOZJCubQO4zehkjPce7cOaxcuRI7duxAQUEB9Ho9rrjiCjz99NMYMGCAvA9jGPAJaeBOHbUPsYVnYYuOk/c57eCiR4MN7Qu+1tHp0XzmAwQMfly2Z3TL/PBWnA62voOgO/qTfSj4XB4wehzYgjPQf/dv0enm39wFc/U2wFrndI8g6FNnYWytUXTunuKWPHGO7R6/tKjtn0fq8O/8Rjw1Mrzjk53QT0BCiIuKZh53bav0+XM+vy6aAnHSo/z888/YvXs3brzxRqSkpKCoqAhvv/02brjhBuzduxcmk0nW5/EJqa6B+JBRsj6jPa2r4s2HnraP2cp2wVZ7Glxon7Yv9EB3rJjizNZ/iCgQDzmXBwgCDP9aDcYp1YiPiUfz1ZNg+Wm+6Hp96kww+jBkRQroZWRR2dxyTY1FwKFKC4ZHG5T5i3RjZ2ut2HK20atr6ScgIYQQvxbx9oWOT/JS1ZxEWe83efJkTJs2TTQ2a9YsXHHFFXjvvffwl7/8RdbnuVZOyZf1/p3BRY0CG5oBvtZRz9qSvwHc4Cdkub9rIO7/NcSdSTdshpzPA//fPdAdEbetb759ASwXPgF4x6eZjCES+qTpAACWYXBlnAGfn22yf31XUTMF4jJ445c6eFuEhnLECSGEEIUEBQXZ/39DQwMqKysRHh6O9PR0HDx4UPbnudYSPyf7MzriPld8N2y1v3b95jzv0qiou62I830GQOAc66bGqnIY3/mH6Bxr5jBYsvrCWvilaFyfNhuMLtB+PC5OnJ6ykzZsdlmNmcd7Jxs6PrENFIgTQgghCmlqasKTTz6JzMxMJCQkoE+fPkhPT8exY8dQXe35Rq+O8AkpomO2MF9cdUMhXFQ22NAM0ZhFhm6bTGUpmGbHCq8QFAwhIqrL99UUgxF870zREHvRURFFYFiY7/w9zGfeAwRH500mwARdwvWi68bGS/LES8ywUj3xLnkvrwG1Fu//DSkQJ4QQQhSyePFivPbaa5g+fTreeecdbN68Gf/+978xYMAA8D4oLShEmSAYHFU3mIY6MNW+3/8h5X5VPLfLq+IuaSkJvbtNxRRntv6D2/yadcJUWCJZ2Eq+F40b+twNhtWLxgZE6BBldIR+tRYB/62geuLesvICXj9W1/GJ7aAccUIIIX5N7jxuX9q8eTNuv/12vPDCC6Lxqqoq9OrVS/4Hsiz4+BRwZ086hgrPwqbCqnHLqng/8LWOuVjObAA35Emv79ndN2q2svUfCmz9l8u4EBSM5hn3wnL6HwAcq7JMcBo40wSX8xmGwdh4Az7Ld8oTL27GiBjKE/fG1nNNOF/n+BTCyHl+D1oRJ4QQQhTCcRwESWrIpk2bUFRU5LNn8onqb9gE2lgVL8+Fzam0oadcShcmpXl9Ly2z9R0Iwc1Kv3na72DjC2Cr2C8aN6TPAcO4jwpd8sQVKFXbXa06Il4Nv61PUBtnto1WxAkhhBCFXH/99fjwww8RGhqKrKwsHD58GJs3b0ZaWprPnindsMkUKb9hsxUXdTnYsP7ga07Yx1pWxZ/y6n49ZUUcwaHgk/uAO+dI5eHjkmGeNA3mQ4tFp7LhWeCistu8lTRPfG+JGRZegJ7qiXvkx1Iz9peJmyI9ODDE4/vQijghhBCikBdeeAG//e1v8emnn+Kxxx7DL7/8gk8++QSJib5Lr3HZsKnSijjQ1qr4Hu9WxXke7IWz4qFuVrrQmfWycaLj5tkPwlb9M/jqY6JxQ/pcMO3kyfcP1yEmwBH+1VkFHCynPHFPrT4qXg2flGjEgEh9G2e3jVbECSGEEIWEhYVh5cqVWLlypWh869atPnumdJWYLTrr/kSFcL1Ggg3LBF9z3D5mOfM+uCFPe3QfpqIEjNmpYkpwKIRwH+TZa4TlhllgqypgPnkY3JRbYB06Cub9D4rO4aKywUUMavc+DMNgbJwRn+Y7GtDsLG7G5bGUJ95ZZ2ut+EzSwMeb1XCAVsQJIYSQbk2IiYegc6zUsdUXgTr5SyV2lvtV8b2wOTX86Qy3re27YcUUO2Mgmuc8gpNz/wrr1TfCVvI9hPp8pxMYGNJ/16lbjZOkp+yiPHGPrP2lXtTAJzNCh4kJxrYvaAcF4oQQQkh3xunAxyWJhthCtVfFR4ANE9fGtpzxrK54j8kPd0PgLTCfflc0xpkmgA3p06nrx8aJV7/3lpphtlE98c5oaeBTLxp7cGBIu+lA7aFAnBBCCOnmtNBh01mbq+I1nV8VZwvyRcfdOT9cylr4vxCaih0DDAdD7992+vqMcB1MgY4QsMEq4OdycztXkFbv5zWgxqmBT3QA61W1lFYUiBNCCCHdnKChDZut3K6K57/f6etdWtsnpLo/UQYCb1GlI6k7DN8MS764prgu4XqwQQmdv8elPHFnO4spEO+IzU0Dn3szgxGg8z4lijZrEpEzNVYU1Ns6PrGLmugjMEIIUYzLirjKGzYBx6p4838ft4/ZyvfBVnMSXFi/9i/meZdVfblSUwSBh1B/Drbqo+Crj8FWdRRCUzHioUNDWSQYQwQYQ+v/9nJ7DJ33qQodCa77HoL5omOANUKfNtvj+4yLN+KTM44Nh7uKm/GXoaFyTLHb+uJcE85JGvjcmxncpXtSIE5ECuptuPE/5T5/zvsTu+/OdkII0RrXpj7qB+JA66r4APA1v9jHLGc2gBv6TLvXMeXFkoopYV5XTBFszeBrTl4KvI/CVv0LYHVtW87ACqG5DEJzWcc3ZfSXAnN5g3bBUoOQmm9FY/rkm8EaPe+UKs0T31diRrNNgJHrxhteu0hasvC2PkGIDfSinaYTCsQJIYSQbo43JUFgWDACDwBgK0uBxgYg0PvcVjk4VsX/ah+zVXS8Ku52o2Zng1lzFWzVR2GrOga++ij42lOAYPVm+u08xOKToN1y9iOwguMXEOhCoE+51asppofpEB/Eoqih5TXRaBNwoNyMK0zeVf/o7n4qM2NfqTh9Z4GXJQudUSBOCCGEdHd6AwRTIpji8/Yhtugc+D6Z7VykDK7XZWDDs0SNaSxn3gc39Nk2r3FbutANQRAgNBSI00waL8gyb9l4ErRL6FNngdF7Fwy25ol/fNqpnnhRMwXibZCuhk9MMCLLiwY+UhSIE0IIIT0An5AC1jkQL8zXRCDOMAwMve9C08HH7GO2iv2w1ZxAWzUl2ipdKPBm8LWnYKtySjOxeFEzXRcCLjyrpV18+ECwYf3w66k89EmJgmC+eOlPldP/v3TcfBGC5SJga+r4GV3EGKKgT7qpS/cYFy8OxHcVm/E/XZ1YN3SuzorP8sUNfB4a1PXVcIACcUIIIaRH4BPSgAO77cdayRMHADZyuNtVcQTd7f78S4E4bwAssSwawk7A+n+PgK89CfCet2tnAuLBRTgCbyY4BQwj/iVAYI1gA+OBwPgO7yfYmtwE6ZUQLFWyBe363neB4bq2ei2tnLK/tJnyxN1Ye6weNpka+EhRIE4IIYT0ANLyfmo39XHmflX8R+i5qwBkALiUZtJYBFvVYdiSzsEyzABbxKVguf4HDx7Ggg1JBxs+EFzEQLDhWV5tdmz3EVwAmM4G7dbGluBcFKQ7Be3Nl8YuBe0CGOjjJkGXMKXL8+wdyiExiMOFhpZKIE22llzoK+MoPaVVrYXHuzI28JGiQJwQQgjpAVwD8Xx1JtIGd6viYdVbYDlXa8/xtpft68sA6GQgxAWBC89sCbzDB4INzwTDBcj/F/ASowsEowsE0HEdcMHaiF9//RV9+w+S59kMgyvjDdj4qzhPnAJxh/dPujbwmdmFBj5SFIgTQgghClm6dCmWLVuGEydOwGQyKfpsXtLUhykrBszNgEEbQVfLqvhv0XRwiX3M2JwH86nOd9sEAMYYCzYi61KO9yCwIalgmK6VmNMKRhcIgZX3v9e4OKMoEN9V3Czr/f2ZuwY+czODEdiFBj5SFIgTQgghPYExEHy0CWx5CQCAEXiwxefBp/RVeWIObOQwsOEDwVcf7dwFvADOGgam94RLaSYDwQbE+HaS3cy4eHFg/2OZGU1WoUvdIruLreeacNapgY+BBeZ1sYGPFLW4J4QQQnoIlw6bGtqwCThWxdvEBUBXH47gg1ZEfGNGzIfNCNXdAWP/h6AzTaAg3AupIRySgh2fGDTbWoJx4qaBT3rXG/hIUSBOCCGE9BAueeIaaHUvxfUaBkPf+8AYomDjIsDFjoMh4wEEjPwngsZ9goj9oQj5rxXGQh6sRb7W9j0VwzAuq+I7KT0F/1dmxl5pA58seUoWOqNAnBBCCFHYxYsXcd999yElJQWpqan4wx/+gJqaGp8/1yUQl9Tj1gp9yi0IGrsBJQnPIWDQX6FPng4uLAMMWhoRObMl9lZnkt2ItN39riIKxKWr4VcnGDGwV9cb+EjJkiPeuvnEWWxsLE6ePAmgpeTQCy+8gPXr16OqqgojRozAihUrMGDAADkeTwghREY5OTl49dVXUVJSgszMTCxduhRjxoxxe+6WLVvw9ttv49ChQ2hubkb//v3xyCOP4IYbblBsviH3TPDZvevWf++T+86dOxcJCQl44okncPjwYbz77rsoKCjAp59+6pPntZKuHjOF59yfqFFMaREYi2OVkg+NAMIiVJxR9yCtJ/5TmRmNVkHWTYn+5HydFf+WNvCRoZ29O7KtiGdkZODEiRP2P7m5ufavrVy5EqtWrcKyZcuwbds2xMTE4Oabb0Ztba1cjyeEECKDzZs3Y/HixXjkkUewY8cOZGdnY+bMmTh//rzb83fv3o2rrroKGzduxI4dOzB58mTcddddop8BxFVCQgI+/vhj3HfffXj11VexaNEibN++Hdu2bfPpc/l4ceUUtuQ8YLX69Jly6mxre+KZ1FAdUkIcuc9mHthf2nPzxNf+Im7g0z9ch0mJvqkuJFsgrtPpYDKZ7H+io6MBtKyGr1mzBgsXLsS0adOQlZWFNWvWoK6uDps2bZLr8YQQQmSwatUq3HHHHbjnnnvQv39/LF++HCaTCevWrXN7/rJly/CnP/0JI0aMQJ8+fbB48WIMGzYMW7duVXjm/uW+++4TNQR54IEHAABff/21bx8cHAo+wtG8hrHZwJRe8O0zZdRWa3vSdZQn3qLWwmO9Dxv4SMkWiOfn52PAgAEYMmQI5s6di/z8fADA2bNnUVJSgokTJ9rPDQwMxJgxY7Bv3z65Hk8IIaSLzGYzDh48KHq/BoCJEyd69H5dV1eHiAhKF2hPenq66DgqKgoRERFtfvIgJy132OyIayBO+eFykaan7O6hgfiGvAbUmB3L4VFGFrely9fAR0qWHPGRI0di9erVyMjIQHl5OZYvX44pU6Zg7969KClpqVcaEyMuKRQTE4OioiI5Hk8IIUQGFRUVsNlsbt+vS0tLO3WPN998E4WFhZg1a5YvpuiWr/K4fcnd6pogCG7OlB+fkAocO2A/Zi/kwzbyKkWe3VW0Iu470g2bP5WZ0WDlEaTrOXU9bLyANUd928BHSpZAfPLkyaLjkSNHYtiwYfjggw9w+eWXA3B90xEEwWfL/IQQQrzn7fv1Z599hieffBJvvfUWUlJSOjy/Jzt16pRoVbyiogLV1dVITk72+bNdaokX+cmGTZvVZa58Upo6c+mGkkN0SAvlkF/b0sDGcilPfEJCgMozU86X533fwEfKJ501Q0JCkJmZidOnT+M3v/kNAKC0tBRJSUn2c8rLy11WXdzJy/Osta2a/GmuraRzbuSUaYbA8zw9h56DxsZG5OXJEwT40/dfRkaG2lNwKyoqChzHuax+d+b9+rPPPsMDDzyA119/vdMVU9r6b5aYmIigIN99FKwFb775JqZMmWL/Bef1118H4LqwJdXQ0IALF7qW0x0icHB+BVpOn3D5b6Gl76fWuRgripFltdjHLcFhyCsqBdC5T2vknIvafDWPoUEG5Nc6QsPPjhYjsd7SzhXa+TcBuj6Xlw4ZATg2rV4bbUXNhdPwpLCop+/vPgnEm5qakJeXh3HjxiE1NRUmkwnbt2/HZZddZv/6nj178Oyzz3Z4L63+wJLKy8vzm7m2cjfn4qJmAPXuL5ARyyrzURc9R9vPCQwMREZ8179v/PH7T4sMBgOGDRuG7du3Y/r06fbx7du346abbmrzuk8//RQLFizAmjVrMG3atE4/ryf/NyssLMTMmTNx7bXX4siRI1i/fj3Gjx+PSZMmtXtdUFBQl//dGFM08N4K+3FgZQky0vsAbEsAoqXvJ+e5cNXFoq8xKemKzlMr/y6+nMcNbAM+K7loPz7aHIyMjLZ/CdfKvwnQ9bkcKDPjYE2ZaGzxFQnI8EHtcGeyBOKPP/44rrvuOiQlJdlzxBsaGjB79mwwDIMFCxbgpZdeQkZGBvr27YsVK1YgODgYt956qxyPJ4QQIpOHHnoI8+fPx4gRIzBq1CisW7cOxcXFmDNnDgBg/vz5AIA33ngDAPDJJ59g/vz5eO655zBmzBj7viCDwYDIyEh1/hJ+4K233sJLL72E5557DgBw55134u9//7sizxZCIyCEhIGpa1nnYyxmMOUlEGITFHm+t6h0oe9JN2weKDejzsIjRN/988RXHxPnhk/wUQMfKVkC8cLCQsybNw8VFRWIjo7GyJEj8c0339hzBP/4xz+isbERixYtsjf02bx5M0JDQ+V4PCGEEJnMmDEDlZWVWL58OUpKSjBgwABs3LjR/n5eUFAgOn/dunWwWq1YsmQJlixZYh+/8sorqYShG87/Tjk5OepMgmHAJ6SCO3nYPsQW5sOm+UA8X3RMgbj8EoM59AnlcPpSnrhVAPaVmjEpsXvniRfUWfHpGWUa+EjJEoi3VV+2FcMwLm/ShBBCtGnevHmYN2+e269Jg2sKtv0Tn5AmDsQvnIVtmPvuqVpBpQuVMS7eiNO1DfbjXUXN3T4Qlzbw6efDBj5S3f+zBkIIIYSI8Il+VkvcZgVbLK6xTiviviFNT+nujX3qLDzecdPAh1Wosh8F4oQQQkgPw8f7VyDOlFwA41QxhQ/vBYSEqTij7muspMPmz+UW1FqUqaSlBmkDn15GFrN82MBHigJxQgghpIdxuyKuUEMhb1B+uHLigzj0DXNkLtsEYG+JWcUZ+Y6NF7DmmLINfKQoECeEEEJ6GCEyBkKAY9WPaWoAc7GsnSvURfnhyhoXL+6yuauoe6an/O/5JnsDI6Clgc99Pm7gI0WBOCGEENLTXKqc4oy9oN30FFoRV1ZPyRNfJWlnf2ufIJiCuDbO9g0KxAkhhJAeyCUQL9JwIF6YLzqmQNy3pIH4wQoLaszdK0/853Iz9khSbhYoVLLQmU86axJCSGfoGGCnDB95NnIxl7rCupcUzKF3GL3dEeLMb1bErVawRVQxRUmmIA79wnU4WW0FAPACsKfEjGuTu08Zw9WS1fDx8UYMVqCBjxT9ZCKEqKaimcdd2yplult9m1/5/LpoCsQJkfCXEoZM6QUwNqv9mI+IAoKpIaCvjYs32gNxANhV3NxtAnE1G/hIUWoKIYQQ0gO5lDC8kK/JyinU2l4dY+PEGzbl+PRSK978pR5Wp5d6RrgO1yQp08BHigJxQgghpAcSYuIg6B3BFlNfA6a2SsUZuccW5IuOKRBXhjRP/FClBVXN/p8n7raBT5ZyDXykKBAnhBBCeiKWAx+fIhpiNJieQqUL1RETyCEzwpHS15In7v+r4h/kNaBa2sCnb6Bq86FAnBBCCOmh/GHDJpUuVM84yar4rmL/buzTVgOfIJ164TAF4oQQQkgP5RKIS8oEqo2xWcGWSCqmSOZMfEfa7t7f88T/c74JZ5wa+OhZYJ7CDXykKBAnhBBCeijXQFxbK+LGyhIwNkfgxEdGU8UUBV0p2bB52M/zxN018IlTuIGPFAXihBBCiMKKi4uxcOFCZGVlITY2FoMHD8bDDz+M2tpaRechTfPQWiAeUFYoOqb8cGVFB3DIcsoTFwDs9tMumwfLzciVNPB5UKWShc6osC4hhBCioJKSEkyaNAnl5eW4++67kZWVheLiYnzxxReorKxEaKhyK75CbCIEjrOvOrNVFeCaGhR7fkcCyopEx5Qfrryx8UYcqxLXE5+aqt7mRm9JG/hcpVIDHykKxAkhhPi1+m3X+ezewRP/I/s9n376aRQWFmLr1q0YM2aMfXzJkiUQlK7jrdNBMCWJqqUYy4sADFV2Hm0IKJeuiKepM5EebGycEWt/cZT72+mHGzYv1NuwWSMNfKQoNYUQQghRCM/z2Lp1K6655hpREN6KUaGWsTRPXJoOoibX1JQ0dSbSg42NM8D5VXm00oKLfpYn/uYvdS4NfCar1MBHigJxQgghRCHl5eWoqalBVlaW2lOxkwa3ARXF6kxEympBQGWpaIgqpiivVwCHgU4pHAJa0lP8RZ2Fx9snxA18FqjYwEeKAnFCCCFEIa2pJ2qsfLdF2upeKyvibPF5MLxTxZReMUCQNtIJehppu/tdflTG8F+nxA18Io0MblexgY8U5YgTQgjxa77I4/aVmJgYhIWF4dixY2pPxY5PlATi5UWwqDQXZ9TIRzvGxRnx+jHnPHH/CMR5QcAaySbNe/uHqNrAR0o7MyGEEEK6OZZlMXXqVHzzzTfYt2+fy9cV36wJgI9LhuC0Qm+srgCaG9u5QhnU2l47rowzivLEj120oqLJ1ub5WvGf8004LW3gM0DdBj5SFIgTQgghCnrqqacQFxeHadOm4dFHH8U777yDF198EePGjcO5c+eUn5DBCCEmXjTEFqowDwlaEdeOCCPrUurPH9rdSxv43NI7UPUGPlKUmkIIIYQoKC4uDt9++y3+9re/YfPmzaiurkZcXBwmTpyIqKgoVebEJ6SBLXXkhrOFZ8H37q/KXOxzuHBGdEyBuLrGxhtwqNKRtLSrqBlZ0SpOqAMHy83YXay9Bj5SFIj7iTM1VhTUy/sxUCMXg2LJhosmm/IfixJCSE+TmJiI1atXqz0NOz4hFTiYaz9WvcOmxQym5IJoiE9IU2cuBEBLnvjqo4488V3Fzbhfw4H46mPi1fBxcQYMiTK0cbZ6KBD3EwX1Ntz4n3If3Flc0uf9ib188AxCCCFaJt2wyR3YDX14L/CmRPCmRAjR8YBOuZCBLS4AwztqVfNRJiAwSLHnE1dXmIxgGYC/tF73S5UVlRrNTimst2HzaUkDn0HaWw0HKBAvUSeJAAATQElEQVQnhBBCejxpCUOuMB/chn/ajwWWhRAV5wjMYxPBxyWCj01syS/Xy7vSSGkp2hNhZDGklx4HKxzpKQdqOIxScU5tkTbw6Rumw5SkAPUm1A4KxAkhhJAejk9MhaA3gLG4X+JkeB5MWSHYskLgyI+irwkMAyEqtiUoN7UE53xcUkuwHpsAGDzvYEgbNbVpbJxRFIj/VKW9mh/17hr4DAzWTAMfKQrECSHdno4BdirQgCIpmEPvMHpbJX4oIAjmaffA8MlbYATP2pczggCmvARseQlw7IDL1/leMY4g3ZTkWFE3JQBG941VXAJxyg/XhHHxRrzmVInkQLW2KpAALQ18qqQNfNK1m9ZEPzEIId1eRTOPu7ZV+vw5n18XTYE48VuWG++EdfRElOZ+jwSWB1t6AWzJBTAlF8BWeb9Hia0sA1tZBhw/6PI1PiLqUppLUstKuqklYGcLTovPoxVxTRhtMojyxM80sihpsMGkkZKAvCBgjWST5tz+wQjWa2/lvhX9xCCEEEIIAECIiUdV1kjEZGSIv9DcCLakEMyl4JwtueD4/5WlXj+PraoAqirAnTzU7nnSzaREHeEGFsOi9DhQ7khP2V3cjBl9tLHi/NX5JvxaI23go81Nmq0oECeEEEJI+4yB4FPSgZR0uBTSNTeDLXUfpDMVJWC62C2UjzYBAdoI9EhLnrhzIL5TQ4G4tIHPjN6BiNfIan1bKBAnhBBCiPcMRvBJvYGk3q5BusUMprz4UoBe0JLm0hqklxeLShS2he+d6ZNpE++Mizfi1SOOgPejXxtxusaGfhE69Atv+ZMRrkd8EAtGwQ2SJ+oYl26fWmzgI0WBOCGEEEJ8Q2+AEJ8CW3yKa5ButYKpKHasojsH6WVFYGxWWELCYbnxLjVmTtow2mQAxwCt/f8arAJ+KGrGD5IN8aF6BhnhOmSE69AvXG8P1HuH6mDg5A/QP7igFx2PjTNgqAYb+EhRIN5FrR0v3XWplBN1vCSEEHk1NDQgKEgbH6lraS6K0ekgmJJgMyW5Buk2K5jaapwsLkVGaoa7q4lKQvUsxscbsa2w/Zin1iLgQLnlUhqLo7kOxwC9Q3X2wLw1UM8I1yHC6N2mysJ6G74qF6egPOQHq+EABeJdJu54Wd/uuV1BHS8JIUReFy5cQIZ0U6JKtDQXTeB0ECKigDLfVzsinls+OgJ/2lOF3UVNsMGz1W2bAJyqseJUjRVfSr5mCmRdVtAzwnVIDObarQOec7wONsHx9fQwDtcma7OBjxQF4oQQQgghpNPSw3XYcl00jp3IA2dKw8lqK/KqrThRZUHepf9fa/H8k/ySRh4ljWaXXO8gHYO+YTr0jxCnuvQJ1cEmCK4NfLJCNNvAR0rxQDwnJwevvvoqSkpKkJmZiaVLl2LMmDFKT4MQQkgbPH2f3rVrF/7617/i+PHjiIuLwx//+EfMnTtXwRkTQtSgZ4GMCD36R4jzswVBQHEjj5NVFpysttoD9bwqKy40uCQidajBKuBQpQWHKi2icZYBogNYXGx2BP0RBgaz+/pPmpeigfjmzZuxePFivPTSSxg9ejRycnIwc+ZM7N27F8nJyUpOhRBCiBuevk/n5+fjtttuw5133om1a9di7969eOSRRxAVFYVp06ap8DcghKiNYRjEB3GID+IwPkH8tVoLj1OtwXmVFSeqW1bRf62xwuJZU1fwAlDaKL5obqa2G/hIKRqIr1q1CnfccQfuueceAMDy5cvx3XffYd26dXjqqaeUnAohhBA3PH2ffvvttxEXF4fly5cDAPr374+ffvoJr732GgXihBAXoXoWw6MNGB4trmhi5QWcrbXZA3PnQL3a3Lk0Fx0DzMv0j02arRQLxM1mMw4ePIg//OEPovGJEydi3759Sk2DEEJIG7x5n96/fz8mTpwoGps0aRL+9a9/wWKxQK/Xu72OEEKc6VgG6eE6pIeLQ1NBEFDWxNsD85PVjnSX83XiNJf/GRaKhGBtN/CRUiwQr6iogM1mQ0xMjGg8JiYGpaXet8clhBAiD2/ep0tLSzFhwgSX861WKyoqKhAXF+er6RJCegCGYRAbyCE2kMPYOKPoaw3WljSXM7U2CJWFmDY0oY27aJfimzWlXZYEQVC085LcxsUbUTUnUZFn0XPoOfQc7T+nO/D0fdrd+e7GtUZL5QJpLu7RXFxpZR6A+nMJ0rEYEmXAkCgAaemqzsVbimWzR0VFgeM4l1WV8vJyl9UXQgghyvPmfTo2Ntbt+TqdDr16Uf8DQghpj2KBuMFgwLBhw7B9+3bR+Pbt2zFq1CilpkEIIaQN3rxPZ2dn4/vvv3c5f/jw4ZQfTgghHeAWL178tFIPCw0NxdKlSxEXF4eAgAAsX74cubm5eO211xAeHq7UNAghhLSho/fp+fPn44svvsCNN94IAOjduzdeeeUVlJWVITk5GV9++SVeeuklPP/888jMzFT5b0MIIdqmaI74jBkzUFlZieXLl6OkpAQDBgzAxo0bkZKSouQ0CCGEtKGj9+mCggLR+Wlpadi4cSMee+wxrFu3DnFxcVi2bBmVLiSEkE5gqqqqPO9BSgghhBBCCOkSv2k9JAgCbrnlFkREROCzzz5TezrtevjhhzFs2DDExcUhPT0ds2fPxokTJ9SellsXL17EokWLcPnllyMuLg4DBw7En//8Z1RWVqo9tXa98847+M1vfoOUlBRERETg7Nmzak/JRU5ODoYMGQKTyYTx48cjNzdX7Sm1a/fu3bj99tsxYMAAREREYMOGDWpPqV3/+Mc/cPXVVyM5ORnp6emYNWsWjh07pva02vXmm29izJgxSE5ORnJyMiZPnoyvvvpK7WkpRgvfE1p6nWvpNazV1+ZLL72EiIgILFq0SPFnL126FBEREaI//fr1U3werYqLi/HAAw8gPT0dJpMJo0aNwq5duxSfx+DBg13+XSIiInDbbbcpPhebzYbnn3/e/r4yZMgQPP/887BarYrPpba2FosXL8agQYMQFxeHKVOm4MCBAx1e5zeB+GuvvQaO848i7cOHD8fq1auxb98+fPLJJxAEAdOnT4fFYlF7ai6KiopQVFSEZ555Brm5uXjjjTeQm5uLe++9V+2ptauhoQETJ07E4sWL1Z6KW61twh955BHs2LED2dnZmDlzJs6fP6/21NpUX1+PrKwsvPDCCwgMDFR7Oh3atWsX7r33Xnz11VfYsmULdDodpk+fjosXL6o9tTYlJCTgmWeewQ8//IDt27fjqquuwp133okjR46oPTWf08r3hJZe51p6DWvxtfnjjz9i/fr1GDhwoGpzyMjIwIkTJ+x/1FpQqaqqwrXXXgtBELBx40bs27cPL774oipV57Zv3y76N/nhhx/AMAymT5+u+FxeeeUV5OTkYNmyZdi/fz9eeOEFvPnmm/jHP/6h+FwefvhhbNu2DWvWrEFubi6uvvpqTJ8+HYWFhe1e5xepKT///DPuuusufP/998jIyMD69ev9Kv/wyJEjGDt2LH788UfVa252xtdff41Zs2bh7NmzCAsLU3s67fr5559x9dVX47///S9SU1PVno7dpEmTMHDgQLz66qv2scsuuwzTpk1z2yZcaxITE/Hiiy/izjvvVHsqnVZXV4eUlBRs2LAB119/vdrT6bS0tDQ89dRTmDNnjtpT8Sktfk9o7XWutdewmq/N6upqjB8/HitXrsSLL76IrKwsLF++XNE5LF26FFu2bMGePXsUfa47zz77LHbv3q2JTymkVqxYgVdffRXHjx9HUFCQos+eNWsWIiMj8frrr9vHHnjgAVy8eBEfffSRYvNobGxEUlIS3n33XUydOtU+Pn78eEyePBmPP/54m9dqfkW8trYW9957L15++WW/rDdeX1+PDRs2ICkpyW82pdbW1sJoNCr+DdVdtLYJl7b9bq9NOOm6uro68DyPiIgItafSKTabDZ988gnq6+uRnZ2t9nR8ir4nOkcrr2EtvDYXLlyIadOmYfz48ao8v1V+fj4GDBiAIUOGYO7cucjPz1dlHlu3bsWIESMwZ84c9O3bF2PHjsXatWvtzbPU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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with plt.style.context('fivethirtyeight'):\n", + " hist_and_lines()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### ggplot\n", + "The ggplot package in the R language is a very popular visualization tool. Matplotlib’s ggplot style mimics the default styles from that package :" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with plt.style.context('ggplot'):\n", + " hist_and_lines()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Bayesian Methods for Hackers style\n", + "There is a very nice short online book called Probabilistic Programming and Bayesian Methods for Hackers; it features figures created with Matplotlib, and uses a nice set of rc parameters to create a consistent and visually appealing style throughout the book. This style is reproduced in the bmh stylesheet " + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAo4AAAEACAYAAAA9XPfVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsnXd4m9d5t+8DEFzgAodIilsktbe1hzW9ZCd2EjuNWydpVpM0ceyONKPtF7dJmqRpZpO4aZodJ6nTxLYsy0vTovaitjjELXFvECTm+f4AQFIUSGITpM99Xb4sAuc95wFe8PDBecZPSClRKBQKhUKhUCgmQzPVBigUCoVCoVAopgfKcVQoFAqFQqFQeIVyHBUKhUKhUCgUXqEcR4VCoVAoFAqFVyjHUaFQKBQKhULhFcpxVCgUCoVCoVB4xaSOoxAiTwhxUAhxTQhxRQjxlOvxZ4QQN4UQ5a7/do265gtCiGohRIUQ4r5QvgCFQqGIdIQQPxNCtAkhLo/zvBBCfN+1b14UQqwMt40KhULhDWKyPo5CiGwgW0p5TgiRCJwFHgHeCxillP8xZvxC4HfAGmA2sA+YK6W0h8B+hUKhiHiEEHcDRuBXUsrFHp7fBTwJ7ALWAt+TUq4Nr5UKhUIxOZOeOEopm6WU51z/7geuATkTXPIw8HsppVlKWQtU43QiFQqF4m2JlPItoGuCIQ/jdCqllPIEkOL60q5QKBQRhU85jkKIQmAFcNL10KddYZWfCSEMrsdygMZRlzUxsaOpUCgUb3fUvqlQKKYFXjuOQogE4I/A01LKPuBZoBhYDjQD33IP9XC50jVUKBSK8VH7pkKhmBZEeTNICKHD6TQ+J6X8E4CUsnXU8z8B9rh+bALyRl2eC9waO+fTTz8t29vbh39eunQpS5cuRavVotVq77DBbrdjt9+ZJhmq8a2trWRmZkaMPWPHl5eXs3z58oixZywVFRUUFRVFjD3T6f5eunTptns71faMHV9eXs6SJUsiyp7y8nIcDgcASUlJPPvss54csUjGq30TpnbvnMrPpvt3NlTzTzR+9H77dtqrpvJ3vba2lnnz5oVs/onG37p167bPWrDnj5S/7f7unZM6jkIIAfwUuCal/Paox7OllM2uH98FuKsFdwO/FUJ8G2dxTClwauy8nZ2d/OAHP5hs+SnjmWee4ZlnnplqM8Zl9+7dfPjDH55qM8Zl9+7dPP7441NtxrhE8v195ZVXIv7eRpJ9K1feXoD81FNPTZElAbEbZ+rP73EWx/SO2l9vYyr3zqn8bE7l7+xUfuan4nX/8FgjL13tYOBgOd+55z2sy0sO6/oAr7322pT9DXm7fNb83Tu9OXHcCLwfuCSEKHc99kXgcSHEcpzhlDrg4wBSyitCiOeBq4AN+JSnimq3hxupmM3mqTZhQpR9gRHJ9kWybRD59kUiQojfAVuBdCFEE/AlQAcgpfwvYC/OiupqwAR8aLy5pnLvnMp7r9YOD9faBth9tQOAFJ1kX1UXa6bAcXw7veduuk9dZKC9c0rW9oVJHUcpZRme82/2TnDNV4GvBmCXQqFQzBiklBMenUhnX7RPhckchcIjNofkO0cakMCOEgNvlcGx+l4GLHb00XeGRRXBw9Ldx+nHPkP/nDhsA4NE6eOm2qRxmTLlmKVLl07V0l6xatWqqTZhQpR9gRHJ9kWybRD59i1btmyqTQgpU7l3TuW9V2uHnj9cbKWue4jZSdE8vSmfpStWYrFLjtT2hM0GN2+X99xN2+tHcJgtLMyYTe+5K2FfH7zfO5XjOA6R/sdR2RcYkWxfJNsGkW/f2OKNmYZyHNXaoeBm7xC/Od8CwGc25hETpeGezesB2Fc1UQvS0PB2eM9H07rnIACLs3LpOlE+yejQ4O3eqbSqFQqFQqHwwLW2Af5uTxUHb3RjsUd2Xn4gSCn53tFGrHbJztJUVuYkAZCfEkuMVnCxxUhLv8ptDhXWPiMdb50e/rn75IUptGZypsxx9FRGHkkkJ4c/GdgXlH2BEcn2RbJtEPn2zXSmcu+cinvvMFuo+cFvMJ/0KPMdEnoGrXz7rQae2l3JpRYjR1ts/Py0x+5IIScc7/mbVV2U3zKSFKPl42tH+s6np6awoTAFgP3V3SG3YzRTuc+Ee+32N48iLVYSFhRjv3KDnrOXcVisYbXBF5TjOA4pKSlTbcKEKPsCI5Lti2TbIPLtm+lM5d4Z7nvfd7mSY/d/hMqv/Iiap7+GbWAwpOvZHZI91zr4yP9d47XKTqI0ggfmpdE4qOWPl9s53dgX0vU9Eer3vGfQyo9P3gTgE+tySY4dqZlNSUlhZ0kqAPuru3DWcIWHqdxnwr12iytMnff+R4g123AMmum7VBFWG3zBqwbgCsV0pbnPTJvREpK5ZyVEk50UE5K5FYq3Mw6bjdof/Ibqb/0MabW5HnRgqm0kafHckKx5vW2AHxxrorLDBMDKnEQ+tT6XvJRYshKj+fmZZr55uJ4fv3s+hnhdSGyYCn588ib9ZjsrZieyo8Rwx/MrcxJJjYuiqdfM9XYTC2bpp8DKmYvNOEDHgRMAZO66m/4rlQxUN9B94gIpdy0Omx1tzd5/KVKOo2JG02a08Nm91SGZ+5u7SpTjqFAEGWNVHZee/DK95dcAyP/QezDVNdFx8CQD1fVBdxx7h2z87PQtXqvoRALpeh2fWJfD5sIUnPoX8N6lmZy72c+FZiPffKuer9xXjEZMN3GiOznb1Mf+6m6itYKnNuUNv97RaDWCbcUG/ni5nX1VXcpxDDLt+47jMFtIWbOU2KwMDGuX0/Tcy3SdvEDRp/4iLDZYrXZe+NU5Vt+T5NV4VRyjUCgUiilHOhzU/ff/cuyev6S3/BqxOZmsev57LPza35HochaNVfVBW8/ukLxyvYMP/+Eqr1Z0ohHwZ0tn8dNHF3B3keE2J0qrEXxuawFJMVrONPXzp0ttQbNjqhiyOfj+0UYA3r8ym9kTfAneWeoMVx+q6cY6g4uEpoLWVw4BkPXQNgAMa50tcXpOXUCGqdn/2aN19PcOeT1eOY4KhUKhmFJM9bc49Z4nuf7/vodjyMLs9+5i48Ffk373agASSgoAGKgOjuNY0T7A0y9X8r2yRleYNoEfv3sBH1mTQ5zOcw5puj6av7vbacfPzjQPh7SnK8+da6a538Kc1Fjes2TWhGOL0+KZkxpLv9nOqSnI85yp2E1DtO87BkDmri0AxOVnE5OdgbWnH2NFbchtGOg3c/JQjU/XTJnj6EmEO5Lo6Ql/w1NfUPYFRkF85H7+Iv29i3T7ZjpTuXcG+95LKWn8zUsc3f4Buo+fJzrdwIpffJ2l3/8ndEkJw+P0pQVoF81h4EZDQOv1Ddn4blkDn3mpkop2E+nxOv5xeyFff6CEfEPsuNe5X/f6gmTeuTAdm0PytQN1DFpDfy9C8ft2o9PEHy61IYCnN+UTpfEcdh+99g5XkUy4ejpO5T4TrrXbD57APjhE8spFxOVmAdDb2zt86hiOtjxlb1ZhtdgpXjDxl4fRKMdxHHp7e6fahAlR9gVGYQQ7jpH+3kW6fTOdqdw7g3nvh1raOffE33Pl77+BfcBE5kPb2HT4OTLvv/uOsfrifLSLihm40eBX+M4hJXuvd/ChP1xl73VnWPq9S2fx08cWsGWOwWNu32hGv+6PrcmhyBDLzT4zPzzW5LMtvhLs3ze7Q/LdskYcEh5elMH8CXIWR6+9vTgVjYCTjX30DdmCatNka4ebcK3tbvqd9eDW29ZODZPj2Nbcx6WzTWg0gi0PzPP6OhWqVigUCkXYkFJy64U3OLr1Cdr3HycqOZGlP3qG5T/5CtFpntug6JIT0cbH4Rg0M3Sz1af1KjtMPLW7ku+6wtLLsp1h6Y9OEJaeiJgoDV/cXki0VvBGVRcHb4RfVSUQdl9td5626nX85V3ZXl+XptexMicRm0NyuCa8PR1nIvYhM21vHgUg86Gttz1nWOdUcOk+eSFkLZCklBx65TpIWL4un9R074uelOOoUCgUirBg6ezhwl/9Mxc/+QzWnn7St69n0+HfMPvd90566qdLdTZl9jZc3Tdk4/tljTz5YgUV7SbS4nV8cVsh/75r4rC0NxQY4vjEulwAvlfWSPM0UVVpM1r4+ZlmAJ7ckEd8tG+Os7un477q6eUsRyKdb53GbjSRtHQe8QU5tz2XMK8IXUoiQ7faGGxsCcn6NdfbaajpIjZOx/rtxT5dqxxHhUKhUISctjfKKNv6BC0vH0Crj2fRf3yOu577D2KzMry63u04GicpkHFIyasVnXz4D1fZc70DjYBHlzirpbcWTx6W9pYH56exqTAZk9XB1w/WYXOErzm2P0gp+c+jjQzZHGwuSmF9ge/qKBsKU4jTabjWZqLJhypcxZ20vOwMU2e6qqlHIzQaUta4w9XB16222x0cevU6AOu3FxMXH+3T9cpxVCgUCkXIsPYZufTUVzj3gX/A0t6FYf0KNh74FXlPPOyTExed6gxjD0zQkqeqw8TTuyv5zpEG+lxh6WffPZ+/Wpvj8+naZAgheHpTPul6HdfaTPz6XHNQ5w82R+p6ONnYhz5ay1+vz51wrJSSU48+yc3nX70tVBobpWHzFEkQziQcFittrx8Bbs9vHE0o8xwvnGygu8OEIS2e5Wvzfb5eSQ6OQ6Tr8Sr7AqPOFLmfv0h/7yLdvpnOdNKq7jxyhqPb3s/N/92LJiaa+f/yGdb88T+JL5jt89puGThPoeq+IRvfP9rIp1+s4Hq7idT4KL6wrYB/31VCoSHO57XGMt7rToqN4vNbC9AI+H15K+W3+gNey9u1fcFotvEjVyHPR1bPJm0S5RtzSwddZWcZeK0MU03jbc+5ezruq+rCEUIJwpmsVd1ZdhZbn5GEBcXoi2933NxrG9a5HMcTwT1xHDRZOLb/BgBbds1HG+W7G6gcx3GIdD1eZV9g1Eew4xjp712k2zfTmQ5a1baBQa5+8ducfuwzDN1sJXn5Aja8+QsKP/4+hMa/PzsZxYXA7b0cHVLyWkUnH/m/a+y51oEQ8J7FGfz00YVsK04NWlh6ote9NDuRx5dnIYF/P1Qf9IrjYPy+/fT0LboGbSzK1LNrftqk441VdQDYr9TQferibc8tzU4gQ6+j1WjhcstAwLaNx0zWqh6upvYQpnavnbRkHpq4GAaqGzC3By+n9MTBGwwNWsmbk0rxfO/SRMaiQtUKhUKhCBrdpy9xbOcHafjZ/yGitJR+7mOs3fNjEuYWBjRvXG4mmphozC0d2PoHqO4w8bcvV/HtIw30DtlYmpXAs++az8fX5aIPclh6Mp5YkcXCWXo6TFa+daQhZJWw/nC5xcgr1zuJ0gie3pTnlVTiQGXd8L97zly67TmNEMM9HferIhmfcVhttL56GPDsOLrRROtIWbkI4A7n3V+6OgY4f7wBBGzbNd/vL1bKcVQoFApFwDjMFiq+8iNOPvxJTLVNJMyfw/pX/4fiv/kQmqiogOcXWi3xc/IA+PkLp/n0SxVcbRsgNc4ZLv7mgyUUpQYelvYHrUbw+W0F6KO1HK/v5eVrHVNix1gsdgffLXOGmt+3LJMCL8P27hNHgO5Tl+543l1dfbimG7NNSRD6Qtfx81i7+9CXFpAwr2jCsYa1I215gsFbr1bgcEgWr8xh1mzvdKk9oRxHhUKhUARE36UKjt33YWp/8BsAip58Pxte/xlJS7xvKjwZDikxZjnVNS6fqgDg3Ysz+OljC9leErywtL9kJcbw9CanY/vfJ29S2zU4pfYAPH+hlYaeIXKTY3jfskyvrxudDjBQVYel+3aZwXxDLHPT4zFZHRyvV4IAvjBRmHosI3mOgTuODTc6qb7Whi5ay6Z7SgOaSzmOCoVCofALh83Gje/8nOMPfBTj9Rrii3JZ+9KzzPvHT6KJ8a3Fx0TUdA7yty9XcUImAjBvsItn3zWfT0xBWHoitswxcP/cNCx2yb8drJvS07iGniF+V+5slv70pjyifSiCcFeux+Y4nc2x4WoYKZJR4WrvkXY7rXudYWpPbXjGknLXIoRWS9/lSmxG//NJHQ7Job3O9jtr7p5DQlJgfUyV5OA4RLoer7IvMJRWtf9Eun0znUjRqjZW1XHyoY9T9Y2fIG128j/8KBv2/RLD6iVBXbOhe4inX65kwNiHebazGns9/WENS/vymf/k+hxyk2Oo7x7ixydvhnVtNw4p+W5ZA1aH5IF5aSzNTvT6WmtvP+a2TrRxsaR+4GGnDR4cx61zUtAKON3UR7fJ6rONkzETtaq7T17E0tFNfFEuiQtLJl07Sh9P0pK54HDQc+ay3+teOX+TtuZ+EpNjWbW50O953CjHcRwiXY9X2RcYSqvafyLdvpnOVGtVS4eDuh//nmP3/CW95deIzclk9R++z8J/+1ui9MF15gatdr68v9bZtDo7iqf+fAPgvXpMsPDlMx+n0/LFbYXoNII91zo4WheYE+LP79vrFZ1cbhnAEBfFR9f41vrInd+oL8knaolTUcRTnmNKnI41eck4JBwMgQThTNSqbtkz0vR7vNSKsWsbAuznaDHbKHujCoDN981F54fM5lhUqFqhUCgUXmHt7efUe57k+pe+j2PIQs77HmTjwV+TtnlV0NdyK53U9wyRlxzDxsIU0ucXADBQ04iM4MOHkvR4PuJy2L59pIH2AUvY1u4yWfnJqVsAfHJdLokxvhUmDVQ6w9T60kJis2cB0Ft+FYf1zjZDO0oNgLOno2JipMNB6yuHgPGbfnvCsN5ZINPlZ57jqbdqGeg3k5WbzIKl3muTT4RyHBUKhUIxIYM3W6n90W9p/OWLdB8/T3RGKit/+Q2WfPcf0SUlhGTNVys62VfdTUyUhn/eWUSURhCVoCcmOwNpsTLYGNlKLe9alMHq3CT6zXa+cbAee5gkCZ890YTRYmdNXhJb5vjej9B94phQWoA2Ppb4OXk4Bs30X668Y+y6vGQSorVUdw5GRDFQJNNz9grm1g5ic7NIWjbf6+sMLunB3vNXcJh9+wLS1zPImbJaALY9OB+hCU4BWeA9EhSKAGnuM9NmDM03cotdtYpQKHxFSkn/lSraXjtC2+tH6LvkdBqi33sPmQ9tY9E3Pkt0WuiaJFd3mPjhcafSyVMb8yg0xFHvKuxNKCnA3NzOQHUD8YUTS+dNJUII/n5LPp/403Uuthj53wut/PmKrJCuebKhl8M1PcREaXhyQ55fleYD7lB1aSFmwLB6CaaaRrrPXCJ5xcLbxkZHadgyJ4VXrneyv7qLj67JCcKrmJm07DkAOKupfZPaTCZhbhHGylp6L1b4lENc9kYVNquDuYuzyCkw+GzzeCjHUTHltBktfHZvdUjm/tLOiftkKRQKJw6Lla7j52l7vYy2148wdLN1+DltfBzp29YS88hOFmzbFNLWNwMWO185UIvV7izscFfvutGXFNB55AzG6noydm4ImR3BwBCn47NbCvjiazf41blmls9OZGGmPiRrDVrt/OcxZ8/Gv7wrm8xE/6raR04cnY5jyuol3PzfvfScugQf+7M7xu8sSXU5jt18aNVstEE61ZpJSClp3XMIgKx3TF5NPRbDumUYK2vpPnHea8exuamXq+W30GoFd98/1+c1J2LKHMdIlxyMdD1eZV9gKK1q/4l0+2Y6wdw7rb39tB84TtvrZXTsP46tf6TlR8ysNDLu20TmfZtJ3XQX2tgYenp6Quo0Sin51lv13OqzUJwWx1+vHzlRdH/u3Nq+o3sNhppAPvOrcpN4dMks/u9SG187WMd/vXu+Ty2EvF37l2ebaTNaKU2P45FF/knJ2QfNDDY0O5utF+ViMw0QtXopAN2nLyKlvOP+L8zUk50YTXO/hQvN/azM8b+x9GhmklZ17/lrDN1sJSY7445TW2/WNqxdRuOvXnT2c3xy8vWklBx65RoAKzcWkpIa75fd46Ecx3GIdD1eZV9gKK1q/4l0+2Y6ge6dg43NzlPFN8roOnYOaRspMkmYV8Ss+zcz6767SV4+/w5d6VDf+xeutFNW10u8TsM/bS8iZlTvQffa+lJXgUx1+CqrA33dH1qVzYXmfqo6BvluWQNf3FbotQPuzdqV7SZevNKORsDfbMr3+9RvoKYBpCSuMMcpeRedgkxKIio5EXNLB0M3W4nLvT3cLoRgZ2kqvz7Xwr6qrqA5jjNJq7r1FVfT7we3TqrV7mnt4crq05eQdjtikj2g8nIrN+t7iNNHs27rHD+tHh8VqlYoFIoZjJSSvkuVw/mK/VeqRp7UaDCsX0Hm/ZuZdd+mKc0ZvNo6wE9cfQ///u4CcpJjPI7Tl7gdx/CdOAaKTqvhi9sK+eQLFRyu6WFVbhf3zU0Lytx2h+Q7ZQ04JDy6ZBYl6f6fLg2MKoxxIzQaDKsW077/ON2nL97hOIIzXP3rcy0cqevlSauduCC0fJkpSClva8PjD3G5WcTmZDJ0s5X+6zUkLRpf+cVmtfPWa05lpY07S4iJ1fm15kQox1GhUChmGA6Lla5j55zO4htlDN1qG35Oq48nfdtaZt23iYwdG4hOnfrUg94hG185UItdwrsWZ7CpaPwTn9jsDLRxsVg6urF09xFtCM4JV6jJSY7l0xty+Y+3GvjhsSYWZerJTQ5MwQPgT5fbuNE5SGZCNO9fGVjxjXFUK57RpKxeQvv+4/Scvszsd917x3XZSTEsytRzpXWAo3W9d+Slvp3pv1zJYP0tYmalBdQc37BuGc1/fIPuExcmdBzPHW+gt3uQtFkJLF0Vmi+CynFUKBSKGYC1p4/2/c58xfYDx7EbTcPPxWSlM+te56li6saVaGM9n+ZNBQ4p+cahOjoGrCyYFc9HV0/csFpoNOhL8um7VMnAjXqiVwVXqSaU3FOaytmb/Ry80c2/Hajju++cS7TW/654zf1mfnXW2ZboMxvzAj7pGxhVGDOaFNd73HP64rjX7ixN5UrrAG9WdSnHcRTu08ZZD9w9aYh5Igxrlzsdx5MXKPjIox7HDBjNnDh4A4Ctu+ahCeCzNRHKcVQoFIppiqmhmbbX36LttSN0n7hwW1PshAXFzhD0vZtIWnZnvmKk8PvyVs409ZMYo+Uftxeh8+KPnb6kwOk4VjdgmEaOoxCCz2zM41rbANWdg/z89C0+vs6/UyF3g3SzXbKt2MDqvMBPXo0eQtUAySsWOjWTr1RjGzARpb8zHH53UQo/Ot5E+a1+2gcsZOiDp1U+XXGGqQ8B/lVTjyZ1lIKMpyIlgGP7q7GYbRTNTadorn8FUt6gJAfHIdL1eJV9gaG0qv0n0u2b6djtdqq+8d+UbXs/b615D9f/+Xt0HT0HQOrGlcz/8lPcffIPbDr4a0o/91fOP/pBchqDfe/Lb/Xzq3POE7PPbS1gVsL4zsbotcNdWR3M162P1vKFbYVoBPzxcjunG/v8Wvvgje5hh/sT6wLvnyjtdgZqnO183AVI7rWj9HEkLioFh4Pec1c9Xp8YE8W6/GQkcKA6cAnCmaBVbbxeg+lGA7rUFAzrlge0tn5uIbrUZMytHQzW36mB3tHaz8VTjQiNYMsD3jcY9wflOI5DpOvxKvsCQ2lV+0+k2zfTsdvt3PjOLzBeu4FWH0/WO7az9IdfYvuVV1jzxx9Q+LE/I74gNI2Yg3nvO01WvnawDoeEx5dnsiZv4lzL0WuHu0Am2J/5BbP0fPAup/zbNw/X022y+rR235CNZ084nYe/WpuDIS7wAghTQzPSYiV29iyiEvR3rG1Y4zzZ7T59p261m50lzhD1vqoupAxMKWcmaFUPF8XsuhtNlHcB3vHWFkIMV1d7kh889GoFUsKy1XmkZ4ZGzclNZMYuFAqFQjEubTt3suw332LH1b0s/8lXmP2e+9ClTI8iEXBWAn/tQB3dgzaWZSfwgZW+aegOt+S5Eb6WPMHmvUszWZadQM+QjW++VY/DB0frJ6du0jvkfO/uDVI+4YhiTIHH573Jc1ydl0RybBT1PUNUdyoJwla34+iDNvVEGEaFq0dTW9lOXWUHMbFRbNhREpS1JmJSx1EIkSeEOCiEuCaEuCKEeMr1eKoQ4k0hRJXr/wbX40II8X0hRLUQ4qIQYmWoX4RCoVBEOkKI+4UQFa698fMens937bXnXXvnrvHm+s3Wd/Hvg2kY5fT87v/Ls81cbDGSGhfFF7YV+tx3UF+UB4CptgmH1RYCC0OPViP43NYCkmK0nGnq50+X27267vytfl6v7EKnFTy1yT9ZQU8YK+uAOwtj3BjWOBuB95y5jHR4lnKN0gi2znFK2+2r6gqKXdMVY1UdxopadCmJpG1aFZQ5Uz04jg67g0N7ne131m0rJn6CdI9g4c2uYwP+Tkq5AFgHfEoIsRD4PLBfSlkK7Hf9DPAAUOr676+AZ4NutUKhUEwjhBBa4Ic498eFwOOufXQ0/wQ8L6VcAbwP+NF486XH67jSOsDTL1fS3GcOldkh4WRDL7+/0IpGwBe2FZIa73uYVRsfS2xuFtJmx+Qh32u6kK6P5u/udp7w/ez0LSo7TBOON9scfK/MmYf4F8uzgtLOx81ojWpPxM6eRWxOJrb+AYwVtePOc4/rBPTgjW5sjsDC1dOZ1lcOATDrvs1odMGpQ05cMhdtfBymmkbMbZ0AXDzdRGebkeTUOFas93xaHGwmdRyllM1SynOuf/cD14Ac4GHgl65hvwQecf37YeBX0skJIEUI4VscQqFQKGYWa4BqKWWNlNIC/B7nXjkaCbjjzcnArfEm+97Dc5mTGktTr5nP7K7ketvAeEMjitZ+C/9+2JmX+MG7slk2O9HvudyVv6ZpHK4GWF+QzDsXpmNzhe8HrePnX/+2vIVbfWYKDLE8tnRWUO0wVjnvy3gnjuDs5wgT5zmWpseRnxJLz5CNs00TF/7MZAJt+u0JTVQUKasWA9B94gLmIStH9zkb+m+5fx5RUeGJQPi0ihCiEFgBnAQypZTN4HQuAfenOAdoHHVZk+ux24h0ycFI1+NV9gWG0qr2n0i3L0LxZl98BnhCCNEE7GUcVVqtVkuGPppvPTSXu3IS6R2y8dlXqjhWH/oq1EDuvdXu4CsHauk321mTl8SfLcsMaG13gYzb4Qklof7Mf2xNDkWGWG72mfnR8SbbNkmEAAAgAElEQVSPa9d2DfL8hVYETllBb9oWeYuU0mOO49jXbRjOcxzfcXRKEAYerp7OWtUDtU30X64iKlFP+t2rg7r2cIHMyXJOHKxh0GQlt9BA6SLffp8CwevzUyFEAvBH4GkpZd8EeRWenrjjvPrChQv86U9/Gv551apVrFq1iuTkZI9ajT09PR6rjUI5vre3N6LsGT1+7DVTbY8n6uvv3NDHG18Qb/dY6Vxn0nrUlQ7G+MJ4e9Dmj7T3P5TjU1JSIsqesrIy9u3bh9nsDNmWlpayY8eOO66dYrzZFx8HfiGl/JYQYj3wayHEYinlbQllo/dOKWFT/ny0s+fzi6PVtBsLeHjR7f3bIuVe/eTULSraTSxPgw+UaGhsaJhwvKf5R6+jXVwM3FlZHQr7R18XivljojR8cXshn3qxgutN7RwuH6LQMBKG7unt5bkrfdglvGNBOgsz9UG1x2Y0IfMz0d3qIDrdMPz42N9189Jiot97D70pcfT09Iw7/9J4E1vSLWiMbVTVQLRW49f744lwfZ7HXuPL/N1nLqJdNIeM+SVoYqInHT96/sn+ttvWLiT6vffQ0tXHhWN1AGzdNX841zUce6fwpmReCKED9gCvSym/7XqsAtgqpWx2haIPSSnnCSF+7Pr378aOGz3n/v375cqVqm5GARdu9fPZvdUhmftLO4v4l33j5+MEwjd3lQQUalOEhnPnzrFjx47gVAwECZcj+IyU8j7Xz18AkFJ+bdSYK8D9UspG1881wDopZdvoucbunVJKnitvHVYQeXTJLD66ZjaaIBVNBIO3arr5yoE6ojSCbz1UyoJZ+skvmoTOsrOcfvRJUlYtZt2e/w6ClVPPnmsdfP9oI/E6Dc++ez7ZiU6Fn91X2/nBsSbS4nX8z6ML0EcHN2LSeeQMpx/7DCmrl7Du5R+PO85hs7G/9F7sg0Nsu7SHmIzxK7r/YW8V5beM/M2mPB6Ynx5UeyOd4/d/hN7ya6z4+dfIfGBLUOe2m4bYN+9e6jc9Ql/RQhaumM2ux5YGZW5v905vqqoF8FPgmttpdLEb+KDr3x8EXhr1+Adc1dXrgN6xTqNCoVC8zTgNlAohioQQ0TiLX3aPGdMA7AAQQiwAYoFJS22FEDyxIovPbslHK+D/LrXx1QN1mG2eK1/DTVPvEN8+4jxd/Nia2UFxGmFUS57q+oB7BkYKD85PY1NhMiarg68frMPmkHQMWPjZaWe666c25AbdaYTJK6rdaKKiSF7prOmaKFwNIz0d36x+e1VXDzY201t+DW18HOlb1wV9fm18LKzfQF/RQrQa2Hzv3KCvMRneJElsBN4PbBdClLv+2wV8HbhHCFEF3OP6GZy5OTVANfAT4K+Db7ZCoVBMH6SUNuDTwOs4Cwyfl1JeEUL8qxDina5hfwd8TAhxAfgd8JfSB4/ontI0/u3+EuJ1Go7U9vC5vdX0Dk1tqxqzzcFX9tdisjq4uyiFRxYFTwYtZlYa2oR4rD39WDtnhpqREIKnN+WTrtdxrc3Er88188NjTZisDjYUJLOp0HNaUKBM1sNxNO62PBMVyABsKkwhRiu43DJAc//0qvwPhBZXNXXGPRvQxgVfE146JA2lToe0WNtDYhAr673Fm6rqMimlkFIulVIud/23V0rZKaXcIaUsdf2/yzVeSik/JaUsllIukVKeCf3LUCgUisjGtW/Ode2NX3U99v+klLtd/74qpdwopVzm2mff8HWNFTmJfOcdc8nQ67jaNsDTuyu5NYXten54rImariFmJ8XwN5vzg9ZzEJxOVoK7QCZMCjLhICk2is9vLUAj4HflrRyt7yVep+FTG/zTtPaGEY3qwknHetMIHCA+WstGl6O7PwgShNMFd9PvrAeDV009mmsXmumVsUSZ+km/UBaSNSZDSQ6OQ6Tr8Sr7AkNpVftPpNs305ls7yxKjeP775xHcVocN/vMPLW7kmtBatfjy71/o7KT1yo7idYK/nlHYcAhVk9rD0sPhrglT7g/80uzE3l8eRbg3Ks+vHo2GfrQNXYecFWmj+3h6Ol1u9vB9F6swD408ZeSnaX+SxBOR63qoVtt9Jy5jCYuhvQd/oWpJ1rbarFz5I1KADLPHqD/3KVJ70EoUI7jOES6Hq+yLzCUVrX/RLp9Mx1v9s40vY5vPVjKqtyRdj1ldYH/Ifb23td2DfKfR53dhz61IY/itPiA1r1wqpGKK3c6h/qSfGDE8QkVU/GZf2JFFtuLDWzP1fFgCItLrL39mNs60cTFEJeXddtznl63LjmRhHlFSIuVvosVE869YnYiqfFR3Oozc61t4ubmY5mOWtWtew8DkLF9PVF6/z7zE619pqyW/t4hMmcnkRtlRFqs9JZf82udQJieelUKhUKhmJD4aC3/em8xD8xLw2KXfHlfLS9cbpv8wgAxWex8eX8tZrvkntJU7p8bmJZyT6eJN1+8Qm1lBw01nbc9N3ziOINC1W60GsHntxWyoSDFZ0lGX3C/d/rifITGO5cgxS0/OEmeo1Yj2F7sOnV8GxTJjDT93hr0uY19Q5w87OwQsnXXfNLG0a0OB8pxVCgUihlKlEbw9KY8PrQqGwk8e+Imz55owh4iKTgpJd8ta6Cp10yhIZYnNwaupXz53Iik4ME913GMsj1coeqZjLcV1aNxNwLvniTPEUYkCA/XdGOxR0alfygwt3XSffICIlrHrJ0bgz5/2ZtV2Kx2ShdmkjcnFcM6l+N4ojzoa02GchwVCoViBiOE4PHlWXxuawFRGsELl9v56oHakLTreflaB4dqeojTafinHUXEBiiBJh2SKy7HUaMVtLf0c+n0iACPvigXNBpM9bdwmC0BrfV2Zbz8xokYfeI4We5iUWocxWlx9JvtnGqYuRKErXsPg5Skb11LVGJwWk4Nz32zl8vnbqLRCu5+wNl+x7B2OeCsbpdhTv1TjqNCoVC8DdhRksq/3V+MPlpLWV0v/7C3ip5Ba9Dmr2w38eMTTifv6U355KcE3iakoaaT/t4hkg1xFM93qtqWvVnFkMtuTUw08fnZ4HAwUNs00VSKcRipqJ68FY+b+MIcotNSsHT2YKq7Oen4HSUzP1zd6mrDkxVEbWpwnuIf2lsBElasL8CQ5nRKY7MziMufjd1oou9KaAQ0xmPKHEelVR0Yyr7AUFrV/hPp9s10Atk7l89O5DvvKGVWgrNP4NMvV3Kzd8jr68e79/1mG1/eX4vVIXnHgnS2FRs8jvOVy2edTsmilTkUz80ht9DAoMnK8QMjfyjDEa6ezrrJkzHSw7HQ67WFECOnjqcmD1dvLzagEXCqsc/r3qLT6T23dHTTdew8QhfFrHsDC1OPXbv6WhuNtV3ExetYv634tucMw3mO4Q1XK8dxHMbTX44UlH2B4UlvOlKI9Pcu0u2b6QS6dxYa4vjeO+dRkhbHrT4LT+2u5Eqr0atrPd17KSXfPFxPq9HC3PR4Pr4uJyD73AwNWqm60go4HceUlBS2P7QABJw/3kBnm9PmcBTITOVnPpRr24fMmBqaEVot+jl5Pq09nOd4ZuICGYDUeB135SRhc0gO13jX03E6veetrx9B2u2kbV6NLiUpaGvbbQ4Ov+qsXF+/o4TYON1tY0fyHMNbIKNC1QqFQvE2Iy1ex7ceKmVNXhJ9Zjuf21vNkVr/2vX84VIbJxr6SIjW8o87ConWBufPSsXFZmw2B/lzUkk2xAEwa3YSS1fl4nBIDu29DoSvJc9MxFTTCA4HcYU5aKJ1k18wipTVrkbgXpw4AuwsdZ5Cv1k188LVw02/g1xNXX6ygZ5OE6kZepatudOxN4yqrA6n7KZyHBUKheJtSJxOy7/cM4cH5zvb9Xxlfy1/8rFdz6UW47CO8me3FJCdGDyJNXc19eK7bldM2XhPKdExUdRWdlBT0T6jW/KEmpGKau/zG90kLZ2HiNZhrKjF2ts/6fj1BSnE6zRUtJto7PE+PSLSsfb00XnkDEKrZdZ9m4M276DJwrH9zpSMLQ/MQ+vhC5m+OJ/odAOWjm7nl4AwoRxHhUKheJui1Qg+szGPj6yejQT+68RNfnTcu3Y93YNW/u1AHQ4Jjy2ZxfqC4OWkdbYZaW7sJTomitJFmbc9p0+IYcMOZ67XwVeuEVfkPIkZuNEQ1lOXmYC7MMbtfPuCNjaG5KXzAOg5c3nS8bFRGjYXOcOwM6lIpu31MqTNTurGlUSnBS+8fnz/DcxDNgpK0pgzz7PGuxDitlPHcKEcR4VCoXgbI4Tgz5Zl8oVtBeg0ghevtPPl/bUMTdCux+6QfP1gPZ0mK4sz9Xxo9eyg2uQ+bZy/NAudB6nCFesKMKTH091h4nJlH7qURGz9A5jbOu8Yqxgfd3jflx6Oo0lZ7SqQ8SLPEUZ6Ou6v7sIxQ5z8kabfwaum7mo3Un6yASFg6wPzJ+yF6s5z7ApjnqOSHByHSNfjVfYFhtKq9p9It2+mE6q9c1txKl97oJiEaC3H6nv5h1eq6B7Trsd9758738L5W/0kx0bxxe2FRAVR2cRhd3D1vDP8vfiukUKb0Z87bZSGbQ8uAOD4gRvo5jl724Uqz3E66iZ7g3GCimpv1ja48hy7vcxzXJyVwKwEHW1GK5dbJi7Img7vubXPSMfhUyAEmQ/cHbS1D79agcMhWbIql4zsxAnHD/dzDGNltXIcxyHS9XiVfYGhtKr9J9Ltm+mEcu9cmp3Id98xl8yEaK63m3h6dyVNo9r19Pb2cqapj+fOtyCAL2wrIF0fHVQbaqs6GOg3k5quJztvJPQ39nM3Z14GRXPTsZht3Jq3BghdS57pqJs8GdJuH86LGy/HcbK13QUyveeu4rBN3mZHI8RwT8fJimSmw3ve/uZRpMWKYd1yYjICk9Z001Dbwo3r7eiitWzcWTrp+KRFJWgT4hmsv8VQc3tQbJgMFapWKBQKxTD5hli+9865lKbH0dzvatfjOh0yWe1841A9EnhiZRYrcwJrPeIJt1LMortyJpUr3LprPhqNoCkqncHUTFUg4wOmhmYcZgsx2Rl+K53EZKQSX5iDfXCIfi+bUO90OY5HansmTIeYDgS76bfDIamr7gBg3dY56L0oNhNa7cjJb5hOHZXjqFAoFIrbSI3X8R8PlrI2L4l+s51/eLWaA9VdHKntoXfIxsqcRP58eVbQ1x00WbhxrQ0hYNGKyfMm02YlsGJ9PiBoXns/RuU4es3AsGJMYUDzDOc5nvYuzzEvJZZ5GfGYrA6O10/f6IVtwET7geMAZD64JShzXj7bhMloITEllpUbC72+brhAJkx5jspxVCgUCsUdxOm0PHPPHB5akI7VLvn6oXraB6ykx+v4/NYCtEHMa3RzrbwZu11SWJpOQpJ3koXrt5cQG6vFlF1AU1/kNvaPNEY0qn2vqB6NO1zdfdq7PEcYKZLZN417OrbvO45jyELK6iXEZnmuevaF/t4hjrxRBcCW++ah03n/WXY7jl1hqqxWjqNCoVAoPKLVCJ7ckMtHXVXTAvjH7YWkxPnWLNpbxuvdOBGxcTo2uXLBGopXYe4dCIltMw1jkE4c3WFSb1ryuNkyx0CURnD2Zh9dpuDppYeTkabfgYeprVY7L/7mHIMDFpINccxb6ttpfvKKhc6emtdrsPb0BWzPZCjJwXGIdD1eZV9gKK1q/4l0+2Y64d47hRC8d1km33vnXB5aXsCirISQrNPW3EfbrT5i43QUz7/zBGeiz93SdQXEG7uwJqRw/FXvHRhvmU66yd4yWUW1t2snzCsiKlHP0M1WBm+2erV2cmwUa/KScEg4cMOzBGEkv+d20xDt+91h6q0BrSWl5M0XrtB6s48kQxwr15VOmts7Fm1sDMnLF4CUdJ/yLmUgEJTjOA6Rrser7AsMpVXtP5Fu30xnqvbOBbP0LC0Mfl6jm8tnXb0bl2UT5SFMN9HnTqMRzBtyhl7PX+6mr2cwqLZNJ91kb5BSjvRwnFsY0NpCoyFl1WLA+zxHGCmS2T9OM/BIfs87Dp3EbhokecVC4nID+504e7SOq+W3iNJpedcTK8nMSvdrnpFG4KEvkFGhaoVCoVBMKXabg2vld/Zu9IXc/GSSaq9id8CR1yuDad6Mw9zWia3PiC4lkeh0Q8Dz+doIHGBNfhKJMVpudA5S0xlcRz/UtAQpTF1X1cHhVysA2PXYkkl7Nk5EahgVZJTjqFAoFIoppaainUGTlfSsBDJn+9fiR1+cT9bpN9FIB9cuNHOz3nMIVDFSUa0vLfQ5LOqJkUbg3juO0VoNW+Y4ndbpJEHoMFtoe6MMgMyHtvo9T3fHAC//rhwpYd22YuYuDuzkMmX1EhCC3gvXsQ+aA5prMpTjqFAoFIop5fLZJgAWr8z125HRlxYQbexldvM1AA7suYb0QnP77YixMjCpwbEkr1wIGg39V6qwDXh/eugOVx+40eWVPnok0HH4NHajiaQlc4kv8O903Dxk44Vfn8M8ZKN4wSw27igJ2C5dciKJi0qQVhs9564EPN9EKMdRoVAoFFPGQL+ZmsoONBrBguXZfs+jL3a2lUk5+gYJiTG03uzjyvmbwTJzRjFy4hhYKx43Ufp4khaVIO12es9f9fq6BbPimZ0UQ5fJxvlb/UGxJdQEqk0tHZK9z1+gq32AtFkJ7HpsKSJIra0MYQpXK8nBcYh0PV5lX2AorWr/iXT7Zjp2ux0pp+Z0JhT3/mr5LaRDMmdeBvqE8ZUyJls72pBEdFoK9Pezbq0z7PfW65WYhyaXwpuM6aCb7AvDFdUlEzuOvqztT56jEIKd4/R0jMT33GGx0vb6EcD//Maj+6u5cb2dmNgoHnn/CmJio7xa2xtSw6RbrRzHcYh0PV5lX2AorWr/iXT7Zjp2u52aivBo0o4l2PdeSjlcTT1ZUYw3a7tP0HI0fWTnJWMyWjh56EbAdk4H3WRf8Kai2te1U1Y7K6t9bQezo8SZ53i0vheTZWRfjsT3vLPsLLbefhLmz0FfnO/zvBWXWjhx8AZCwDseX44h7U6px0Bet2Gd88Sx5/Rlr7TD/UWFqhUKhWKaUfZG1YzI32u52Udnm5F4fTRF8wJX33CfoJluNLL9oQWAs91Jd6dqCu7G2mfE3NqBJjY64FYyozG4TxzPXkY6vNegzk6MYXGWHrPNQVldZEczAmn63dbcx6v/53Sqtzwwj8JS/9ruTETMrDTii3KxmwbpvxS6zgLKcVQoFIppRntLPxWXWqbajIBxF8UsWDEbrTbwP0dux3Ggup7svBQWrZyN3S45vLci4LlnCsP5jcUFiCD2BI3NySQmOwNbbz/Gyjqfrr3HVSQTydXVDpuN1tfeAnzPbzQNWHjx1+ewWe0sXDGbu3zQofaVcMgPKsdRoVAopiFl+6qw270/2Yk0bFY71y80A7B4pX/VqWNxhw8Hqp2h2M33zkUXraX6Whv11R1BWWO643bqglUY40YIMXLq6EOeI8DdcwzotIILt4y0GS1BtStYdB8vx9rVi760gIR5RV5fZ7c7ePm35fT1DJGVm8y9jywKSguk8QhHgYxyHBUKhWKaYUiLp6fTxJVz07dquPpqG+YhG5k5SWRk+d/4eDQJLmdo4EaD8+ekWNZtnQPAgT3XcUxjRztYDOc3BqkVz2jceY6+KMgA6KO1bMhPRuJszROJtLzsqqZ+cKtPjt+hV67TWNuFPjGGh/9ihUdVpGBiWOcukLkYsiI6JTk4DpGux6vsCwylVe0/kW7fTEer1bJxZykAx/ZXY7OGr9ArmPf+ssvp9fa00Zu14/KyEdE6hm61YTM68xrv2lhIsiGOzjYjF041+mVrJOsm+4qx2nvH0de1DatcjcB9dByBUdXV3UgpI+o9l3Y7rXsPAb7lN1483cj5Ew1otYKH/2I5icmxPq/tK/GFOcTMSsPa1TP8JSHYRE0+JDREuuMY6Xq8yr7ACIZWtVYDF0LSe0zLoMZMdtL4rUmmkki/tzMdrVbLvCVZnHyrhvbmfspPNrJqU2FY1g7Wve/vHaKuugOtVjB/mXe9G73STdZq0RflYqyoZeBGI8nL5hOl07J113xeeu48R/dVM39ZNnHx0T7ZG8m6yb7iSw9HX9dOXDwXTVwMpppGLB3dPskZ3pWbREpsFA09Q1R1DDI3I3Le8+5TF7F0dBNfmEPiolKv5rhZ382+3c6eljsfWcTsfO/ei0DvtxACw9pltLx8gO6T5ZNWzvvDlDmOCsV0p3fIzr/sqw3J3N/cVRKxjqNi6hEawaZ7SnnhV+c4eegGS1fnEh0zfbbzK+dvgoSShZk+O3GToS8pcDqO1fUkL5sPQMnCWeTPSaWhpotj+6rZ8c6FQV1zumAfMmOqvwUaDfo5eUGfX6OLInn5QrqPn6f7zCUy77/b62ujNIJtxQZeuNLOvuou5mbEB90+fxnd9NubMHVfzyAvPXceh12ycn0BS+7KDbWJt2FYt9zlOF4g7/2PBH1+leOoUCgU05A58zKYnZ/CoMnK2aN1U22O14zu3bgoSEUxo3GfpA1UNww/JoRg20MLEALKTzXS3jI9VEqCjam2CRwO4gtz0MQE12F3Y1jjDFf7mucII+Hqgze6sUVIuynpcND6yiHAuzC11WrnpefOYzJayJ+TypZd80Js4Z24+zl2nQhNgYxyHBUKhWIaIoRg871zATh9pI5BU2RWo47lZn0PPZ0mEpJiQtLLbmxltZuMrESWrclHOiSH9l6fMvWdqcRdUZ0Q5Irq0aQEkOdYkhZHgSGW3iEbpxv7gm2aX/ScvYK5pYPY3CySXCfY4yGl5I0XLtN6s49kQxzv+PPlQWkz5SuJ8+cQlZTAUFMLgzdbgz7/pK9ICPEzIUSbEOLyqMeeEULcFEKUu/7bNeq5LwghqoUQFUKI+4JusUKhUExDhBD3u/bFaiHE58cZ814hxFUhxBUhxG8nmzNvTiqFpWlYzDZOHQ5N2kSwcVeCL1wxG02QNHpHk+Dq5WisvrMwYMPOEmJio6iv7uTG9alR35lKRvIbC0O2httx7LtwHYfZty8zQojhno77I6SnY8ueAwBkeVFNfaasjmvlzeiitTzy/pVBT8PwFqHVYljtcuBD0JbHG1f4F8D9Hh7/jpRyueu/vQBCiIXA+4BFrmt+JITwWIUQ6ZKDka7Hq+wLjEjWqo5k2yDy720k4toHfwg8ACwEHnftl6PHlAJfADZKKRcBT3uaa+zeueke56nj+eP1GPuGgm77aAK99xaLjesXXb0bfcz78nbtYfWY2kbkmPcqXh/Nxp0lgLNNis3mXXueSNRN9ge3RrW3rXj8WTvakIS+tBCH2ULvJd8br28vMSCAm+2dmL28P8HG/bqllLTuOQRA5jsmDlPXVrbz1mvO1/vAo0v8bjEVrPvtDld3nwi+bvWkjqOU8i3AW9f/YeD3UkqzlLIWqAbWeBoY6Y5jpOvxKvsCI5K1qiPZNoj8exuhrAGqpZQ1UkoL8Huc++VoPgb8UErZDSClbPM00di9Mys3mdJFmdhsDo4fDFyXeSICvfdVl1uxWuzMzk8hNf1Ond5grB2VqCcmKx3HkIXBpjvDdMvW5pOaoaeny8S5Y3VBXTsUBHNtd3sWb5t/+7t2IHmO6fpo5qTFkRtr53rb1EhFul93X/k1hm62EpOdQcrKReOO7+oYYM/vLyAlrN9ezNzF/ks5But+G9a6+jmGIM8xkOD7p4UQF12hbHedeQ4wulFWk+sxhUKheDvjzd44F5grhDgqhDghhPAU6fHIxp2lCAGXTjfR02UKgrmhwV0Us/iu0P5ZGC/PEUCr1bDtQWeu2vEDNxjoN4fUlkhB2u3DjdHdp7Khwh2u9sdxBFicmQDApdap1RgfrqbetQWh8ewumYdsvPjrc5iHbJQsnMWG7SXhNHFckpfNRxMTjbGyFktXcL/4+Os4PgsUA8uBZuBbrsc9JQC8/TKQFQqF4na82RujgFJgK/A48D9CCK+auqVnJrBwxWwcDsmx/dUBGRoqerpMNNZ2EaXTMG+Jd70b/WVYs/pGg8fni+ZmUDw/A6vFzpE3KkNqS6Qw2NiMw2whJisdXVJCSNcyrHFKD3afvuRXEdKSbOdp9KVmY1Dt8gUp5bDjOF41tXRIXnn+Al3tA6TNSmDXY0sRIcjb9QdNTDTJK5zZMN2ngnvq6FfjLynl8Pm/EOInwB7Xj03A6OZQucAtT3OUl5fz0ksvDf+8atUqVq1aRXJysscGmD09PR6PcEM1vre3l/r6+oixZ7qNHxoaor7+zm/7440viLd7DNHWmbQem3UHOr4g3s6WdEvI5g9kvCci7f5G0viysjL27duH2ew8OSotLWXHjh13XDvFeLM3NgEnpJRWoFYIUYHTkTw9etB4e+eStZlcu9DM1fJbrN5cNJxjFcz33hPezu8uilmwIp2W1julEiezx70nezPetn4x0YNGOrQOhOuaseO37ppPbVUHDbUtXLkUQ8KYvqmR8tkP1t8iY6XzfYjfutqnvdkv+6MksR98B47BIW5cuoIuOdGn+TPtDpJ1Dk62DWBzSKJGOWPhev+rzpzHvnYRcdtW0Z9tQNPTc8f4o/uq6GjronBBLEtWZ9HcMvK5joTPj+69O4nOz6CprZUYD/b7u3f65TgKIbKllM2uH98FuCuudwO/FUJ8G5iNc9M75WmO5cuX84lPfMLrNVNSUnzqqB7o+Pr6egoKxj/OD7c90218bGzshO/fWOrHcbBCNX5LuoXDHeNXvIXbntF4cigj7f5G0vhNmzaxadOm4Z/PnTvn9Tph5DRQKoQoAm7iLCL88zFjXsR50vgLIUQ6ztB1zdiJJto7l67Oo/xEA0f3VfHIEyuB4L73nv6AeTO/dMgRx3FJAfkFaT7bM9mePHq8NdlA8/NvYm/soOAjj3scZ0jXc9eGQk4fqeXC0S4e//har5o7T9e/Re6K6sR4vU97s7/2d7Z00/Z6GXGb15Hz2AM+z/9GVSdDNgfVHSbmzxHjXLoAACAASURBVNJPOj6Y9vf29mL+3WtYnn+TvA++i4LCwjvGXb/YzIlDNQgB9z2ygoIS71pLhfPzE1/TTNvz/4Gl6iYpH3jsjrH+7p3etOP5HXAcmCeEaBJCfAT4dyHEJSHERWAb8DcAUsorwPPAVeA14FNSSo+Z/pEuORjperzKvsCIZK3qSLYNIv/eRiJSShvwaeB14BrwvJTyihDiX4UQ73QNex3oFEJcBQ4Cn5VSdo6da6K9c93WOUTpNFRfbaO5MfiVwP7e+8baLvp6hkhKiSWvKDXka7tb8njKcRzNum3FxOujudXQM1ztHejawSZYa49UVHvvNAay9kie4+VJRnomVp8EwOWW8Ierk5OTaXl5/DB1260+Xvuj83Vt3TXfa6fR27WDhWHVEtBo6LtUgW1gMGjzTnriKKX09HXtpxOM/yrw1cnmjXTHMdL1eMNtX3OfmTajLz25tNSbvFNnsNjD33IhGFrVoSKSbYPI/92IVFxty/aOeez/jfq3BP7W9d+4TLR3JiTFsnJDAacO11L2ZhWPfXh1YEaPwd97P1opxt8cMJ8iHjmZaOJisLR3Ye3tR5fsuTVKTGwUm++by+t/usxbr1VSvGAW0dF3/lmcCVrVRj96OAaydoq7j+Dpi35dX5idBpUDXGoZ4NGlfpvhF9rmTkw3GtClJmNYv/y250xGCy/+5hw2q51FK2ezckNwC42C+VmLStSTtHgufRev03vuCmmbVwVn3qDMopjxtBktfHZvaJLuv7SzKCTzKhRvR1ZvLuLCyUbqqztpuNFJfrH3YeFQYB6yUnmlBQiNxKAnhEaDfk4+/VeqGLjRMGErlUUrcyg/0UDrrT5Ov1XLxp2lYbExnEgphyUYE+YWhmXN5GULELoojNdrsPYZfS7IWZLlHH+51YhDSjRepBEEC7fEYOYDd6OJGnGT7HYHu397nr6eIbJyk7nn4UVepTdMJYZ1y+i7eJ2uE+VBcxyV5KBCoVDMIOLio1m92fll7MgblVMurVdxqQWb1UFeUSopqfFhW1df4mrJUzVxuFqjcepYA5x+q5be7uCF9CIFS3sXtt5+opITic7wL1XAV7RxMSQtmQdS0nPW93B1ZkI06Xod/WY79d2hbWw/luE2PGPC1Af3XKeprht9YgyPPLGCKF1kR4cADGtdjcCDqCCjHEeFQqGYYazcUECcPprmxt4pl9YLV+/GsUzWkmc0uYUG5i/NwmZzDKt/zCRGa1SH84TMLXvnT56jEGL41PFSGPMcjVV1GK/XoEtJJG3TyAndhVONlJ9sQKsVPPwXK0hIig2bTYHgbo3Uc/YyDos1KHMqx1GhUChmGNExUazbOgeAsjcqkY6pOXXsajdyq6EHXbSW0sWZYV3bXQQyWYGMm7vvn0eUTkPFpRYaayNDJzlYhEOj2hMpw46jf3mOw+HqMDqO7jB1xr2b0eicYeqmum72v3wVgJ2PLGJ2/vTJ847JSEVfko9j0EyfHxKQnpgyxzHSJQcjXY830u2LdL3lSLYvkm2DyP/szXS83TuXrc0nMTmWjlbjhBXDvuDrvb/sasEzb0mWx6KTUK7tVo8xThKqdpOUEseau53O9sE913CMcranu1a1+z3wVqM6WGsPO47nruKw2Xxee0mWqxF4y0DYUi5a9hxEu2jOcDV1X88gu587j8MuWbmhgCU+aqz7Sig+a8Ph6iDJDyrHcRwiXY830u2LdL3lSLYvkm2DyP/szXS83TujojRs2OGUPzu6rxp7ELoX+HLvHQ7J1fPOHueLg/DH1tfPXfwcp+Noqmvy2mlZvbmIxORY2pr7uXy2ye+1g0kw1h45cfStAjjQtWMz04nLn419wITxmm866r29veSnxJIUo6XTZKWl35euHv7RfvAE/Zer0N21gPQtq7Fa7Lz0m/OYBizkF6ex9YF5IbchFJ81t251V5DyHFWoWqFQKGYoi1bMxpAeT0+XaTjXMFzUV3dg7DNjSIsnpyD8ob0ofRyxOZlIq43BBu9OXHXRWrbc73QOjrxRhXkoODlhU81wD8cwVVSPxrDG3ZbHvzzHxWHKc5R2O5Vf/hEAhjXLENE63njhMq23+khOjeMdjy9Do52eLpP7xLHn1AWkI/AvkNPzXVAoFArFpGi0muH2MscPVGO1hu80e7h34105U9ayZLiy2ss8R4B5S7PIKUhhcMDC8QO+nZJFItY+I+aWDjQx0cTlZoV9/ZFG4P7lOYbLcbz5h9fov1pNbE4mySsWcvpIHdcuNKOL1vLIEyuJix9faSzSicvPJiY7A2tPP8aK2oDnU46jQqFQzGDmLc5iVnYixj4z5ScmrzAOBoMmC9VXW0HAohXhraYezXBldbX3r1sIV3seAeeO1dPVHn7lkmDidpr1xfmIKRDecFf1dp++5Nf1S4cdx4Gg2TQWu2mIqm/8NwBzv/BxenvNvPW6s5Bk12NLh3XfpytCiKC25VGOo0KhUMxghEaw6d65AJw6XIN5yLciBX+4fqEZu11SWJJGYvLUtS3xVnpwLFk5ySy5KxeHQ3Jo7/Ruz+NuxeNrfmOwSJhXhDYhnqGmFoaafW8NVZwW9//be+8wSa/6zvdzKnZXVec8nbunJydN1mgUYCQhZHmEQLYlY4MD2NiyF2y8WGu0+AGuudjYF+w1mHtXxgsLFkswICNACY3ySJqcQ+fcPZ27qmNVnftHhanp6VBd6T1dfT7P009XVb/v+/tW16lTvzrnF8i0mugem2ZwIjmhA61Pfo/pnmtkb1uP/fbbuHK+DyQcOLSWhs2prQaQLPLTwXFUveWg6v14Vdener9llfWprA3UH3vpTixzZ+26Qsqr85icmOX4660x2472tQ9lU2/ZmbgM1FjGXWjF0b1MxxHg4D0N2Oxmmi9fY2Js2acnjHjfb55wj+qalNsGEGYzubsCnXtGlrHqGLJtNgk2FQeyq5NRlmdmYJjmf/oWAA1P/DFPP3Wa4b5ZGjaVcOu76hNubymSNb/m7Q8kyAy/dTruDHXtOC6A6v14Vdener9llfWprA3UH3vpTixzpxCC2+8NxDoee62FCU9sGarRvPbXesfp6xrDnmFh7abimOzEansuzhhXHAGcWXb2vyuQlf7mC+03lOdJJfG+30KleGKp4Zio93renuB29bHoHcdI28ksBN745X/D556g8N230usoY7DfjQk77/21rTH3VY+HZM2vrvW1WHOzmOruZ7KjN65r6a1qjUajWQVU1OZTs66QmWkfb7/SnDQ7odXGDdvLDG/JZi8txOx0MDs0yszg8uvj7TxQTU5eJkPXPFw5G9+HrVF4DMyoDhGu5/h2fAkyiV5x9DR30PHNH4HJxNpP/xFvvhRIhjpw91ps9vjqjqqGMJnI3Rvarj4V17W046jRaDSrhIP3BFYdT73Zzvho4vv/+nx+LiawdmO8CCHChcCjaT04F4vFxN47An2/j77cZHjf7+Xim5pmoq0bTCacdZWG6cjduRlMJsbOXcE3sfxxt6HIgdUkaBmaYnw6cTG6V77wdaTXR/lv3E/7hJ2x4Unyi5xs2FaWMBsqkag4R+04ajQazSqhtDyHdVtK8Hr9HH0p8aVmWi5fY8IzQ0Gxi9Ly7IRfPxacDcsvyRPJ5l0VOLPsDPS6aTa47/dymWjpBL8fR/UaTHbjyslYspxkbaxHen2Mnrq47PNtFhPrixxI4HxfYrKrh4+dpe+nL2HKtFP3yd+/vtp4aC0mA7aoU0He/lAHGb3iqNFoNJooue3uBoSAs8c6GR5MbImTUO3GLQbWbpyLK4aSPJFYLCb23F4DwNEjK2vV0RNHfGOiyQtuVy8nzjGScJxjT/zb1VJKLn/2nwGo+cNHuNo1zfjIFAXFLtZvSX2ty1SRvXU9pkw7nsZ2pq/F3o9dtxxcANX78aquT/V+yyrrU1kbqD/20p14586CYhebd5bj90veeLFxWecu9tp73NM0X76GMAk27VgTl8bl2l6MeDKrQ9SszybTYaWnY5SO5tg/cGMhnvdbuGNMjKV4EvleX26c41zb4TjHvvgdx/6fv8LIO2exFeRS9Ye/yVtHAjG/Bw6tRZjEiu9NvhAmmzUQNgAMxxhvCtpxXBDV+/Gqrk/1fssq61NZG6g/9tKdRMydt757LSaz4OLpHq71jkd93mKv/cVTPfj9krp1hTiz7HFrXI7txYgnszqEZ8LNzgOB6xw9krzEovmI5/3mDveorkm57bnkBjOrR46fi6rt3Vzbm0qcmARcuTbBZBwdkPyzXi7/X4HWgmv/4ve5cGmI8dEpikqzWBes2bjSe5MvRqhvdTxxjnqrWqPRaFYZOXmZbN9bCRJef/5q3NeTUnLuRCegRlJMJI7aChCCybZu/DOxF5C+5dZqbHYz7U2D9HSsjFX30Fa1kRnVITIrS7GXFDI7PBZT2IDTZqYuPxOfhEvXJmLW0fntnzDR3IGjvoqS33iAt1++cbUx3bke56gdR41Go9Esg/131WOxmmm82E93e3yOUF/3GAO9bjIdVurWFyVIYWIwZ9jJrCpD+nxMtHbFfJ2MTCs79gUSbVK96hgL0ufD0xSMcVxrTNeYSIQQ17erY41zLIsvztE77qHx7/8VgPWf/iPOnezBPTZN8ZrshNYcVZncXZsRZjNj567gdccW46wdR41Go1mFOLPs7Apuv7723JW4rhVKitm4Yw1mi3ofK876+LerAXbdVoPFYqLpYv+ytviNYLKzF//UDPbSQqzZLqPlABEJMjH2rY63EHjL177DzOAIuXu3kXfoNt4KrjbedmitMslcycbidJC9dR34/YwcOxfTNdR7h2s0Go0mJey5oxZ7hoX25iHaGgdjuoZ31sel0z1AIJtaRUIleeJJkIGAs711d2Ar/i3FVx3DPaoVWG0MEV5xfCfGQuAlgdaDl/o9zPqWjpOMZKrnGi1ffwqA9Z95jDPvdDDhnqGkPJu6DWqtkiebyPaDsaBbDi6A6v14Vdener9llfWprA3UH3vpTiLnzoxMa7jA9avPXVmy1Mx8r33TpWtMTc5SvCab4rLk1W6MZ9zFW5In0vaeO2oxmQSXz/YkvJzRUraXQzi+MY5SPIl+r2dvWYcpw4ansX3JTj7z2c7NtFKVm8G0T3J1YHJZthu/9CT+yWlKfuUunNs28tbLLUCoPNWNq41GznGpsB2KcxyKMc5RO44LoHo/XtX1qd5vWWV9KmsD9cdeupPoufOWA9U4nDZ6O0dputi/6LHzvfbnjgeTYnYmd7UxnnEX71Z1pO3s3Ew23bIGKeHtoPORTGJ93vFmVMdjeyFMNis5OzYCgezqWGxvKQ2sOi6n/eD4xSY6v/sMwmJm3af/iFNH25n0zFBWmUPtusKobaeCVNjOC7YeHD15Hv/08vvW661qjUajWcXYbBb2v6segNeev4rfH32B6/HRKVqvDmAyCzZsV7dNm7PhuuOYiALee++sQwg4f7KLsZHlrXylius9qtXZqobrZXlSGed4+fNfA7+fyg89hLW8jHdeCTj8B1ZRbGMktvwcXOtq8U/NMHrm8rLP146jRqPRrHK27a0kKzeDgT53OF4xGi6c6kZKqN9QjMNpXEu7pbAV5mHJycI75mZmYDju6+UXOlm3pRS/T3Lstdb4BSYYKSVuhbrGRJIXZ5zj1nAhcA++KL7kDL56jIFfvokly8naP/9dTr7ZxuTELGuqcqlpuHm1cbVwvSzPyWWfqx1HjUajWeVYLCYOHFoLwOsvXsXnXTrxQEp5fZta0aSYEEIInGuDPauvxpcgE2LfXXUAnHmnA497OiHXTBQz14bwjo5jyXZhLy4wWs4N5O7aAsDoqYsx1dUsdtkocdnwzPhoHV58tVf6/Vz+XKC1YO2f/jbSlcU7r7YC88c2riby9sVez1E7jhqNRqNh84415Bc5GR2a5GzQIVyMno4RhgcmcGbZqV0BKzehOMd4M6tDFJcFsnG9s35OvJGYayaKcEZ1Q7VyzpGtIBfn2ir8UzOMnYutDNT1OMfFk5N6fvQ8Y2evYC8rouYjv86JN9qYmpyloiaPqvr8mGynC2HH8Z2zyGV2o9ItBxdA9X68qutTvd+yyvpU1gbqj710J1lzp8ls4ra7GwB485dNzM7T1i3ytQ/Vbtx0yxpM5uR/lMQ77lzBkjyhotiJsL0/uOp48s12piZj70oTi+3FCCUBxZNRHavtaAi3H1wkznEx29HEOfqmprnyha8D0PCXf8CsMHPstWBs492Lxzama6/qSDIrSskoL8E75mb80vJKS2nHcQFU78eruj7V+y2rrE9lbaD+2Et3kjl3rttcQsmabDzj05w6enPpmtBrPzvj49KZYO3GJGdTz7UdK+Ge1VeXX5JnIdtrqvKorMtnZtrLqbdiK/UTq+3FCGVUx+s4Juu9Hi4E/vbCcY6L2Q7HOfa6F0x2av/GD5nq6sO1sZ7yX7uP46+3Mj3lpbIun6q6xbfv07lXdSSxth/UW9UajUajAUCYBAfvDaw6vnWkmekp77zHXT3fx8y0j7LKHAqK1ehKshSJ6h4zl9Cq4/HXWpmZmf//lWo8iibGhLheCPxsTFnuFTl2cjMsDE166R67Ob50ZniMpn/8JhAo9j094+f464H/yW3BWF4N5O2LrRC4dhw1Go1GE6amoZCKmjymJmfDW3tzSVXtxkTiqClHmM1MdvTgm0xcMktVfQGlFTlMTsxy9p2lY0NTgVvRUjwhnPVVWPOyme4fZLKjd9nnCyHYElx1PDNPnGPTV/4N7+g4BXfsofCufRx7rZWZaS/VawuoqF3dsY2R5IfiHN86vSwHXjuOGo1GowkjhODgPYFVx2OvtTLhvrFA8OjwJO3NQ1gsJtZvU7d241xMNiuZNeUgJROtiXPwhBDhVcd3Xm3BG0VGejLxjnuY7rmGyW4js1LN10eYTOHs6tjL8sxfCHyirZv2b/wQhGD9Zx5janKW46+3AoQrB2gCONfVYM3PZbpvgMm2rqjP046jRqPRaG6gojaf2nWFzM74eOuVGwPnz58IfMCs3VRCRqbVCHkx46xPbEmeEPUbiiksceEem+bCyeg/gJNBuH5jfRVC4Q5tuXuXTpBZjIUSZK78319HznpZ8/B9ZG9Zx7FXW5md8VHTUEh5dV58otMMIQR5+wKvw3LaD+qWgwugej9e1fWp3m9ZZX0qawP1x166k6q58+C96wA4dbSd8dEpAHKyc8KOY6prNyZi3IV6Vi+3JM9StoVJsO/OwKrj2y+34PclbtVxuc871DEmlAyUStvLIW93MEFmAcdxKdu1+Zk4rCZ6x2e45gmsio+evEDvj1/AZLfR8JcfZcI9w4k3g7GNd0e/2pjuvaojyYvYro4W7TgugOr9eFXXp3q/ZZX1qawN1B976U6q5s6SNdms31qKz+vnzV82AjA27GN0eJKsnAyq6lNbWDoR4y6cWb3MkjzR2F6/tZTcfAcjQxNcPrf8uL14bEdyvUd1/I5jMt/rOTs2Iixmxi824R2/OU5xKdtmk2BzyY3Z1Zc+91UAqj/662RWlPLOqy3MzvioXV9EWWX0zyXde1VHkp8Mx1EI8Q0hRL8Q4lzEY/lCiOeFEFeDv/OCjwshxD8JIRqFEGeEEDuX/zQ0Go0m/RBC3CeEuBycHx9f5LiHhRBSCLE7lfrm47a71yIEnD3exfCAJ1y7cfPOckwmtQpLR0O4Z3UMJXmWwmQ2sffOWiCQkS6X0fM7kXgSVIon2ZgdGWRvWQd+PyMnzsd0jVAh8LO9Hq49/wbDb57Emp9D3Z/+Np7xaU4GS0rpTOqFydq6DrMjk4nmjqjPiWbF8X8B98157HHgRSllA/Bi8D7Ae4GG4M8fAP8StRKNRqNJU4QQZuCrBObITcCjQohN8xyXBfwX4K3UKpyf/CIXm3eWI/2SIz+7xJVzfcDKyqaOJBzj2NQeUxmYpdh0SzmubDsDfW6aLl9L+PWjIRTj6FpXY4j95RBvnOO2UD3HrlEufz6w2lj/Z7+DNSeLt19twTvro35jMaUVOrxmIUwWC7m7tyzvnKUOkFK+AgzNefhB4JvB298E3hfx+LdkgKNArhBCzbQujUajSR17gUYpZbOUcgb4LoH5ci6fB/4OmEqluMW49d1rMZsFTZeu4Z31UVGTR26Bw2hZMWHLz8Gan4vPM8F070DCr2+xmNhze2DV8ehLTUlxThfDPz3DRGsXmEw46ipTajsWrsc5xpZZ3VDkwGoWZL34Ep6rrWRWr6Hqw+/HPTbF6eBqo86kXppQnGO0xBrjWCKl7AEI/i4OPl4ORK53dgYf02g0mtXMknOjEOIWoFJK+dNUCluKnLxMtu+tCt/fnOKkmETjakhOIfAQW/dUkOmw0ts5SnvT3DWX5OJp7gC/H0dVGeYMe0ptx0Lu3mAh8OPnl90vGcBmNrEly8ytLz4DwLq/+iNMNitvvxIoi9SwKdAJSbM4qXIcF2K+oJd5v3Kp3nJQ9X68qutTvd+yyvpU1gbqjz1FWXRuFEKYgC8Dn1zqQkbMnfveVYfNbqGwzMb6LaUptw+JG3eh7Wr3MkryLMe2zWZh18EaAI4eaVqWtnhtJ7pjTLLf6xmlRWRUlOJzT9zULzla23ve/CUu9xjTDWspPfxuxkenOP124DtarKuNq6FXdSS5OzcjrJaoj4/+yBvpE0KUSSl7glvR/cHHO4HI9fEKoHu+Cxw/fpz/+I//CN/fvXs3u3fvJicnZ96sopGRkXl7OCbr+NHRUUZHR5XRM/f40dHRG85Lth7vpJs7C2duerx1wjxvFvD2nNl5ey4vdHy1w5fS46sdPtomzMroiTx+vseNHm+RhI5TRc9rr73GCy+8wPR0oBtIQ0MDhw4duulcg1lqbswCtgBHhBAApcDTQojDUspjkRcyau58/+9txeMZx2a3RHV8ovWEfuK9/tzM6mj0RM630Ry/Y18Vb7/cQkfzEE1XOrHYb35PJ+OzaGhiHNuv34PYs5WRkZEV8V7PeuBO/ENDtDY1k+OyhR+fmppa8vo+zyT5cgx+/R4ubtmPEIK3Xm7G5/WzbksJRWVZMY239vb2m85Jx8/2yLlz6t0NbD11Kqq5M1bH8Wngw8AXg79/EvH4nwghvgvsA0ZDW9pz2bFjBx/72MeiNpibm7usNPV4j29ra6O6euFyBqnWY/TxlkwXLw/Ylj4wyOisaVnHty3gYCXr+DsLZxbVl2o9kcznOKo2HlQ6/uDBgxw8eDB8/8SJE1HbSSHvAA1CiFqgC3gE+M3QH6WUo0Bh6L4Q4gjwF3OdRjB27mxruzn0MlVjYak5Odrrhx3H4FZ1MvRnZFq55dYq3jrSzOmjfbz/Q7tivv5yPotGvvgNZn70PMW37llQo0rvXYDCqgquff3/IH2C6sPvCT/e1jb/inDk9c9/6u+Y+fef07RxG89uL+WDAx7OvtMBIhCbG6v+0dHRqMZarNdX5fhY585oyvE8BbwJrBdCdAohfp+Aw3iPEOIqcE/wPsDPgGagEfifwB9HpUKj0WjSGCmlF/gT4FngIvA9KeV5IcTnhBCHjVW3unCuDWZWNya+JE8kuw7UYLGaaL50jf6esaTaCnG9R3VNSuwlgrw9odaD55Y48kbcV1rp/M5/IsxmOh55BL+EF569gs8n2bC1lKLSrGTI1RDFiqOU8tEF/nTTeqYMpJA9Fq8ojUajSTeklD8j8OU68rHPLHDsXanQtBrJrCpDWC1MdfXh9UxicWYmxY7DZWPbnkpOvNHGW0ea+dVHdyTFTgjp9+NpCjjDiYpxTAWujfWYnQ4m27uZ6hsgo6Rw6ZOAK3/zNaTPR+WHHqJuRwMXTvTQ3TJ4w2qjJjnoXtUajUajWTWYLBactYFw04nm5K467rm9FpNZcPlcL0MDN3dHSSSTHb34J6exlxRizXYl1VYiMVks5O4MlDSNtp7j0Jsn6X/2NcyOTNb+xe+xpdRJ3YgHpGTj9jIKilfO81+J6JaDC6B6P17V9aneb1llfSprA/XHXrpj5NyZLj18Q9vV0fasjtV2Vk4Gm28pBwlvv9y89Alx2PYksNXgcm3HS+6emwuBL2RbSsnlz/4zALWPfRB7cQFVNjNrxieRwO5gz/B4SJdxniy047gAqvfjVV2f6v2WVdansjZQf+ylO0bOnenSwzecIBNl68F4bO+9sxYh4MLJbsZGJpd9frS23UloNZiq1zs3GOc4HOE4LmS79ycvMnrqIvbiAmo+FoikO/dGKyagx5XBgIy/FWa6jPNkobeqNRqNRrOqmFuSJ5nkFThZv7UMv1/yzqstSbMTruG4NnErjqkid9cWEIKxs5fxTU4veJx/eoYrX/g6AGs/9REszkyGBz2cP9kNAprynJzpdadK9qpFO44ajUajWVVcL8mT3BjHEPvuCmyfnn2nE8/4wo5RPKzEjOoQ1mwXrg11yFkvo6cvLnhc+zd/xGR7N651tZQ/8isAvPnLJqRfUtBQxKTVwrne5MaSarTjqNFoNJpVRrgkT3M70u9Pur2i0izqNxbj9fo5/kZrwq8vpUxKjGMqyZsnzjGS2dFxmr78bwCse+KPMVksDA14uHiqG5NJcNc9gUzq831ufP7U9ghfbWjHUaPRaDSrCmu2C3txAf7Jaaa6+lJic39w1fHU0XamJmcTeu2ZgWFmR8axZDmxR1nORjXmi3OMpPmfvsXs8Bj5B3ZSdM8BAN78ZSNSwpZd5dSW51CWZWNi1k/z0PJjSTXRY5jjqHtVx4fq+lTvt6yyPpW1gfpjL90xcu5Mpx6+oe3qaDKrE2G7rDKXqvoCZqZ9nHwz+i3yaGy7r7QCgfqNwZaVCSGVr3fe3uCK47GzSClvsD3Z0UPbk98HYP1nHkMIwWC/m4unezCZBfvuqgdgS2mgDM+5OOMc02mcR8u/vNkZ9bGxthyMG9Udx7n9IlVDdX01wV7QqqKyvhqHD7MJTnePJ+X6xS4bVOd0wAAAIABJREFUZdn2mM9XfeylO0bOnUa+9om27VxbxdAbJ/A0tlH0rv0psb3/rjramwY58UYru26rvqnvd6y2PeGM6sRuU6fy9c6sWoOtKJ+Za0N4mtoZtV7PML76t/8T//QMZQ/dQ86OjUBgtREJW3dVkJMXKOK+tdTF81eHONvr5qEtxTFrSadxHg2949P8+Pw19u2M7njDHEeNRrMwo1M+PvtCcjIwv3T/2rgcR40mHVhuSZ5EUFmXT1llDj0do5x5p5PdB2sScl13OL4xMdczAiEEeXu30ffMkUCc44GtAIydvUz3D59F2Kw0PP6HAFzrHefS2V7MZhFOPALYWuoE4GyvByllQldf05mfXhxgOVGhOsZRo9FoNKuOVJbkCSGEYH9wW/XYay14vYlJzAmV4lmJGdWR5O4O9q0+FohzlFJy+XNfBSmp/t0P4KheA0SsNu6pJDv3esvINdl28jMtjE556RhNTvZ6ujHt9fPzy4PLOkc7jhqNRqNZdTjrg5nVKSrJE6JuQxFFpVm4x6Y5f6IrIdf0BOM0V/KKI0DunsAq4/DbAcdx4KW3GHz1GJacLOo+8TsAXOsZ58q5PswWE/vmdIkRQiQsznG18FLTMOPTPtYVOqI+RzuOGo1Go1l1ZFaUYMqwMd03gHc8dbX/hLi+vfr2K834ffGtOnrdHqa6+zHZbTiqyhIh0TBytq7HZLfhudqKb3KKy5//KgD1H/8wtrxsAN54sRGA7XsrycrJuOkaW4OO41ntOC6JlJKfXLgGwIObo8/G1y0HF0D1fpGq61O937LK+lTWBuqPvXRH96pODMJsxlkXWnVcfLs60bbXbSklr8DB6NAkl872xmU7tE3tqKtEJHhspPr1NtltZG/fAMDQt3+K+2ITGRWlVP3eBwDo6x7j6oU+LBYTe++onfcaW4JxjvEUAk+ncb4YF/o8NA1OkpNh4c7avKjP047jAqieNaq6PlUzlkOorE9lbaD+2Et3dK/qxBFtSZ5E2zaZBHuD26xvHWlGLlKweinb7lB8YxK2qY14vfOC29UDT/4QgHX/7Q8xZwSS+cKrjfurcGXfvNoIUJOXictmps89Q9/4TEwa0m2cL8SPg6uN968vwGaJ3h3UW9UajUajWZVcj3NMXYJMiE071pCVk8Fgv5vGS/0xX8e9wjvGzCUU5wiQvW09ZQ/dA0Bv5yhNF/uxWM3svX3+1UYAs0mwuSSUXa23qxdi0DPLay0jmAT8ysblFY3XjqNGo9FoViUhZyvVCTIAZouJPUEH6OhLTUgZW5u86zUcaxKkzFjydl93HNd/5jGEKeCmvB5cbbxlfxXOrMXLiYXiHM/1acdxIZ65NIBPwoHqXIpdtmWdq+s4ajQajWZVEi7JY8CKI8DW3RW8+VITfV1jtDUOUtOw/HaBoa3qdFlxtBXmseHzH0fO+ig4uBuAno4RWi5fw2ozh53txdhaFkyQ6dGO43zM+vw8c2kAgAc3LX/MacdRo9Fo0oTBwUGmp1d2/brCwkJstuWtgMSKs74SAE9LJ9LnS3hyyVJYbWZ2H6zh1WevcPRI07IdR//MLJOtXSBEONEnHaj56G/ccP/1FwKrjTtvrcYRxerY2oJM7GZBx+g0w5Oz5GVak6JzpfJa6wjDk15q8jLYFnSyl4NuObgAIyMjSicBqK6vWuGWfqC2vpXQq1rlsZfuLDR3ut2B1ZU1a9akUk5C8fv9dHV1UVJScpPzmIxxZ3E6yFhTzFR3P5MdPThqKuY9Lpljfse+St5+uZnOlmG62oYpr74xu3Ux257mDqTPR2b1GsyZie8GZeR7PWS7q22Y1qsD2Oxmdt9eE9W5VrOJjSVOTnW7Od/r4WDt8p6DCs87mfzkfGC18fCmopi66xgW46i64zg6Omq0hEVRXV+N4s6PyvpU1gbqj710Z6G5c3R0lPz8/BSrSSwmk4ny8nIGBgZu+luyxl04s/rqwtvVyRzz9gwrt9wa0HD0SPOybCc7vtHI93rIdiiTeueBGjId0a9EbykJblfHEOeowvNOFlcGJrjQ78FpM3NobfQleCLRyTEajUaTBggh0qI3r8mU2o8lIzOrQ+w8UI3Faqbl8jX6u8eiPu96fGNNkpQZS0fLEG2Ng9jslmX39dZxjvPz9PlACZ73rMsn0xrbrpuOcUwTesam6XfHVrMqGmbi7G6g0Wg0KmJ0ggyAw2lj+94Kjr/extEjzRz+zR1RnZduGdVzeSMY27jrtmoylhmnuLHYiVlA89AknhkfTpuaoUmpZHTKy0vNwwjgVzcWxXwd7TimCf3uGf7rzxqTdv2/vnvpTDaNRqNZaYRL8jSlviRPJLsP1nLqaDtXzvcydM1NftHSSQvhGo7rEpNRLf2SgT43Ha1DdLUOY3VOcvHYGE6XHWeWDWdWBk6XDWe2HafLjs2ePBdidHiSjpYh7BkWdt1Ws+zzMywm1hU5uNg/wYU+D3sqsxMvcoXx88sDzPokeyuzKc+JPSZWO44ajUajWbW4QiuOi8Q4poKsnAw27yznzDudvPVyC+99eOuix0u/P+zsxrri6Pf56esZp7NliM7WYbpah5manA3/vaLBRufVhWPurDYzzix70LEMOJeuLDuO4GOurMDjmU4bJlP0YRRSSjpbhoCAQ73c1cYQW0tdXOyf4Fyve9U7jj6/5KcXQyV4Yl9tBAMdR9VbDqrej1d1far3W1ZZn8raQP2xl+6oPncmi2SNO3tZEWZHJjODI8wMj2HLu9nBSNWY33tHHWePdXLxVDcHDq0lJy9zQduTnX34J6exFxdgzcmK6vper5/ezlE6W4fCWdyzMzcmW2XlZFBRm0dlbT4Wu49NW8x4xqfxjM8Efrung/enmZ3xMTI4wcjgxKJ2hQCHyx5YrcyyX/9xRdzOCvzNZrPQ3jRIZ5OHjEwrOw/Evpq6pdTF9870L7uDTDr2qn6zfZR+9yxrsu3sqohuvCyEdhwXQPVyI6rrU7XUTQiV9amsDdQfe+mO6nNnskjWuBNC4FxbxdiZy3ia2rDtvnmlL1VjPrfAwYbtZVw81cM7r7Zw9+FNC5fiiaLV4MyMl572645iT8cIXu+N8eq5BQ4qagKOYkVtHtm5mVElWUkpmZn24h4LOJMT4zO45ziWHvc0nrFpJidmw4/RM77oda3BWMTZGR+331uHPSN2N2VziRMBXL42wYzXH3U/5nTsVf10sC/14U2FmOJMotNb1RqNRqNJOl/5ylf41re+xcDAAGvWrOGJJ57ggQceMFoWEEiQGTtzGc/Vthta3hnBvjvruHiqh7PHOrn1XfULttdzz5MYMz01S1fbSHjrubdzFL//xlaGBcWu8IpiRU0eruyMmHQKIbBnWLFnWCkoXjwe0+fzM+G+ecUychXTHbGKCeDKtofLFMVKlt1CbX4GzUNTXLo2EVOx63SgdXiSU91uMiwm7m2Iv2SXdhw1Go0mzbn3yZMJu9ZzH7klpvNqamp45plnKCkp4cc//jEf+9jHOHbsGKWlpQnTFisqlOQJUViSxdpNxTRe6OfY663ced/6eY/zXG3Fa89kpKyel565SGfLMP09Y0S2vBYCStZkU1GbR0VtPuXVeTicqenKE4nZbCIrJ4OsnMWd1MhVTGdWYpJvtpa6aB6a4myve9U6jk9fCMQ23r02H1cC/qfacdRoNBpN0nnf+94Xvv3+97+fr3zlK5w4cYL777/fQFUBwiV5DM6sDrHvrnoaL/Rz6mg7++6sCyeHuMem6GwZpqN1iKuynokP3gJ9QF/A4TWZBGWVOVTUhBzFXOwZK6fdXuQqZqLYUuriJxcGOLfMOMd0wTPj44WrgUSjw5uX35d6PrTjqNFoNGlOrKuEieS73/0uX/va12hvDzhnHo+HwcFBg1UFcDUYX8sxkrKKHKrXFtDWOMjzPz6P1Wams3X4xiSUjGyEd5Y11XlUrS+hoiafsqocbDb9sR7JltLAKuOFfg8+v8S8jOzudOC5K4NMef1sL3NRk5eZkGvqXtULoHo/XtX1qdwLGtTWp3tVaxZD9blzPjo6OvjEJz7Bj3/8Y/bs2YPZbOaOO+5ASrn0yUGSOe4ctZUgBBOtXfhnvZisN340GjHm999VT1vjID1d1xgbCrzmVpuZ8uo8Sosz6Purz+OaHOHey79IWsegdOjZXOCwsibbTvfYNE2Dk6wrcqTMdiwk0rZfyvA29YOb4yvBE4nuVb0AqvfjVV2f6v2WVdansjZQf+ylO6rPnfPh8XgQQlBQUADAd77zHS5evLisayRz3Jkz7WRWlCK9PiZaO1NqeyEqavPYe0ctNRuyuPO96/ngH9/Kn/73Qzz8u7vZlDeLs6+D7PrKpLaZTJeezVtLnQCciXK7Ol2e9/HOcbrGpilyWrm1KnFlfnSvao1Go9EklQ0bNvDYY4/xnve8h/Xr13PhwgX27dtntKwbUC3OUQjBHfetZ/3WMvbcXktZRQ4mc+AjO9wxJk1bDSaarcHt6tUW5xgqwfOrmwoTukWvgyE0Go1Gk3SeeOIJnnjiCaNlLIizoZqBl44GOsjcZ7SaxbneozoxrQbTnUjH0S9l3HUMVwLdY9O83TGG1Sy4b11BQq+tVxw1Go1Gs+pRqSTPUoRrOK6rMVTHSqE0y0ahw8rYtI/2kSmj5aSE/7xwDQncVZdHbowtGxciLsdRCNEqhDgrhDglhDgWfCxfCPG8EOJq8HdeYqRqNBrNykUIcZ8Q4rIQolEI8fg8f/9zIcQFIcQZIcSLQgi9nJRCVNuqXoxQX229VR0dQgi2BOMcz/V6DFaTfCZnfTx7JVCCJ5FJMSESseL4LinlDinl7uD9x4EXpZQNwIvB+zehetss1fvxqq5P9X7LKutTWRuoP/ZURAhhBr4KvBfYBDwqhNg057CTwG4p5TbgB8DfzXct1efOZJHscRdZkmdutrdKvYu9bg9T3f0Im5XMqrKU2k4libYd2q6Opm/1Sn/ev2waxj3jY2Oxg3WFS2eRL5dkbFU/CHwzePubwPvmO0j1yU/1ciOq61O11E0IlfWprA3UH3uKshdolFI2SylngO8SmCvDSClfklKGCvUdBSrmu5Dqc2eySPa4sxXlY8lyMjsyzszAcEptL8Zc2+HVxrpKTJbkpimo9LzjJVTP8WyPe8kyUCv5eUspefp8ICnmwU2JX22E+B1HCTwnhDguhPiD4GMlUsoegODv4jhtaDQazUqnHOiIuN8ZfGwhfh/4eVIVaW5ACLEitqvdwRhMl96mXhbVeRlk2c0MTMzS654xWk7SONvrpmV4irxMC7fXJscBjvfrym1Sym4hRDHwvBDiUrQnnjhxgu9///vh+7t372b37t3k5OTM63GPjIzMW99IHx/AO+nmzsKb3wytE+Z5V7CqHb556wUudLycSu719fGpO34+VBvPyzn+tdde44UXXmB6ehqAhoYGDh06dNO5BjNfGue8yx5CiN8CdgN3zvf3hebOZNbzM5JUjjXzg3diayina6Af0wKFmI0e+3PjG43Ws5KOP1zhp3N0hkuNLWTWlhquJxnHv3yxizsLZ9hWaqO7s2PR42OdO+NyHKWU3cHf/UKIHxHYjukTQpRJKXuEEGVA/3zn7ty5k4985CNR28rNzV3WEu5qO96S6eLlgeib17ct4HAshMhI7vX18cYer9p4Xs7xBw8e5ODBg+H7J06ciNpOCukEKiPuVwDdcw8SQtwNfBq4U0o5Pd+FFpo7u7tvulxakMqx5p32M/S957HmFZD7wL2G65mP6xnV1UroWUnHO0czeLmpm8x8B+9a4Boq61+KfvcMz7RMIrDxsXvWUeBcPJs61rkz5q1qIYRTCJEVug3cC5wDngY+HDzsw8BPYrWh0Wg0acI7QIMQolYIYQMeITBXhhFC3AL8v8BhKeW8X7g1ySW8Va1wSR6PLv4dM6E4x3N96VkI/JlLA/glHKzNXdJpjId4YhxLgNeEEKeBt4FnpJS/AL4I3COEuArcE7x/E6q3zRoZGTFawqKork/1fssq61NZG6g/9lRESukF/gR4FrgIfE9KeV4I8TkhxOHgYV8CXMD3gyXOnp7vWqrPnQuxfft2jhw5EvP5qRh3rgViHI0c85G2/TOzTLR0gRA466pSajvVJMP22kIHGRYTnaPTDE3MptR2tMRqe8br52eXBoHkJcWEiNlxDGYHbg/+bJZS/k3w8UEp5SEpZUPw99B856s++anej1d1far3W1ZZn8raQP2xpypSyp9JKddJKesj5svPSCmfDt6+W0pZEixvtkNKeXi+66g+dyaLVIw7R005mExMtPfgm7oeKaBK7+KJlk6kz0dmZRnmTHtKbaeaZNi2mASbSoL1HBdZdVyJz/uVlhFGp7zUF2SyOfgck4XuHKPRaDQaDWCy23BUrwG/n4mWTqPl3IRbtxqMm+tledKrEPhPgn2pD28qSnqinHYcNRqNRpMSTp48yf79+6mtreWxxx5jakq99m8ql+TR8Y3xsy3YQSaaQuArhUv9Hi5fmyDLbuZd9clv1pfc6qEajUajMZxflB5I2LXu630j5nO///3v84Mf/ACn08mjjz7KP/zDP/DpT386YdoSgXNtNdeef13JBBl3sBSP7lEdO+uLnFhMgpahSdzTXlz2le8GPR1cbbxvXQEZluSvB+oVR41Go9GkhI9+9KNUVFSQl5fHJz/5SX74wx8aLekmnGsDSScqOo56xTF+7BYT64scSOB838rfrh6enOXl5hEE8MCmwpTYNMzVVr1tlur9eFXXp3q/ZZX1qawN1B976U4sc2c8q4SJpLz8erOciooKent7oz43VeMunFndeH2rWoXexdLvj+gak5oYRxWedzLYUurifJ+Hc71u9lXdbGclPe+fXxpk1i+5tSqHsqzkJ0yBgSuOqjuOqvfjVV2f6v2WVdansjZQf+ylO6rPnYvR1dUVvt3Z2UlpaWnU56Zq3IViHN2NbeGexir0Lp7s7MM/OY2tKB9rbnZKbRtBMm1vDcc5zr/iuFKet9cv+enFAQAOp2i1EXSMo0az6jCb4HT3eFKuXeyyUZadmm+9mpXHk08+yb333ovD4eDLX/4yDz30kNGSbsJWkIs1L5vZ4TGm+wbIKE1uTbxo8YQzqmsM1ZEObC5xIYArAxNMef0piQtMBm+0jTAwMUtFjp2d5Vkps6sdR41mlTE65eOzL7Qk5dpfun+tdhw1C/Lwww/zgQ98gN7eXu6//34++clPGi1pXpxrqxl55yyexnZlHEd3OL5Rl+KJF6fNTH1BJo2Dk1zq97BjTeqcrkTyk/OB1cYHU1CCJxLtOGo0Go0m6Zw+fRqAP/uzPzNYydJcdxzbKDi4y2g5wPVkHb3imBi2lLpoHJzkXK97RTqOzYOTnO1147CauKchP6W2V+b6rEaj0Wg0ScJZr15mtSdYisepS/EkhK2hQuArtJ5jqOD3PQ35OGypjXs2zHFUvW2W6v14Vdener9llfWprA3U15fuqD53JotUznmhrOVQFrMKvYvdBsQ4qvC8k8WWYILMhf4JvH6ZUtuLEY3t8Wkvv2wMdHP+1ST3pZ4P7TgugOr9eFXXp3q/ZZX1qawN1NeX7qg+dyaLVM55zjkleYzuXTwzMMzs0ChmlwN7aeqyZ41+3skkL9NKRY6daa+fqwMTKbW9GNHYfvbyINM+yc7yLKpyM1Kg6kb0VrVGo9FoNBFkVq1BWC1MdfbimzC+LWJ4tXFtdUqTINKdlbhd7fNL/vPi9aQYI9COo0aj0Wg0EZisFhw1gWLlnmbje1aHWg3qjjGJJeQ4nltBjuOxzjF6xmcocdnYW5maep5z0Y6jRqPRaDRzmLtdbSThGo7rdCmeRBJyHM/3efBLucTRahBKivnVTYWYTcasPmvHUaPRaDSaOVx3HI3PrHbrHtVJoSTLRpHTyvi0j7Zh40MSlqJzdIpjnePYzIL71hUYpkO3HFwA1fvxqq5P9X7LKutTWRuory/dUX3uTBapnvNCJXncjW2G9y4OleJJdQ1Ho593KpgvzlHV5/30hUBs47vr88nOMK4Mt3YcF0D1fryq61O937LK+lTWBurrS3dUnzuTRarnvFBJnommdkPnW5fVxlRXH8JmJbN6TUptr5SezfGwZR7HUcXnPTHj47krgwA8uDl1mfXzobeqNRqNRqOZw/Ui4O1Iv98wHeHC37UVmCy62Vui2RbhOEqF4xxfaBxiYtbPlhIn9QUOQ7Vox1Gj0Wg0mjlYc7OxFebhm5xiqrvfMB06vjG5VObaycmwMDThpWd8xmg58yKlDG9TP7jZ+N7p2nHUaDQaTdLp7OzkQx/6EA0NDdTX1/OpT33KaElLokKCjFHxjasFIQRbSgJdZFSt53iq2037yBT5Dgu31RgfpqbXvTUajSbN+fu/+kXCrvUXX7hv2ef4fD4effRRbr/9dk6dOoXZbObUqVMJ05QsnA3VDB89haexncK79hmiIbziqEvxJI2tZS5ebxvlbI+b9xiYrbwQoRI8D2woxGJQCZ5IDHMcVW+bNTIykvAA2Z6xafrdiVkK9066sWS6wvdnfMbF4MxHtcOndBKFyvpU7wWt8v9uNaD63Dkfx48fp7e3l8997nNYgnF6+/fvX9Y1kjEnL4UruOI4MjyMUW6bxzcb0GLAiqMR/3MjbIcSZM71uVNuey5zbfeNz3C0fRSLSXD/BmOTYkJox3EBRkdHEz5w+t0z/NefNSbkWncWzvDygC18/6/vrk3IdRNFjeLOhcr6VO8FrfL/bjUQy9wZyyphIunq6qKysjLsNMZCMubkpQgnyAhjvpj7Z73M5meBEDjrU++6GvE/N8J2fX4mDquJ7rEZBj2zuBV63j+9eA2/hDvrcsl3WA3RNBcd46jRaDSapFJeXk5nZyder9doKcvCGSzJM9M7wOW/+Rc6n/opw2+fYWZgOCUZuBMtneCXZFaWYc60J93easVsEmxSMM5x2uvn55cDJXjep0BSTAgd46jRaDSapLJr1y5KSkr47Gc/y+OPPx6OcVzudnWqyawoxVaUj39mlpb/8b9v+JslJwtnXSXO+koctcHfdVU46yqwuJwJsR+KbwzVlNQkj62lLo51jnO2101thdFqAhxpHmZs2kdDYSYbiowtwROJdhw1Gk3CMJvgdPd40q5f7LJRlq1XXlYaZrOZp556iscff5xt27YhhODhhx9W3nEUZjMHnvs3Gs+cI6OqCk9zB56mdiaaO/COjjN68gKjJy/cdJ69pBBH0Kl01lWFnUtH9RpMdts8luYn1KM6lN2tSR7hOMdeN4crjHfSpJT85HwgKebBTUUIYXxSTAjtOGo0moQxOuXjsy+0JO36X7p/rXYcVygVFRV8+9vfNlrGsskoKyJrpo7q97wr/JiUkpmBYSaaO/A0deBpbg/ebmeitYvpvgGm+wYYfvPkjRczmcisLL3uTAZ/O+sqySgvQZhujB5zX20FMzjX1ST/ia5y1hc6sJoFLcNTTHszjJbDhX4PjYOT5GRYuKsuz2g5N2CY46h62yzdCzo+tL7YUVkbqK8v3VF97kwWKvUPFkJgL8rHXpRP3r7tN/xN+nxMdvUz0RJwKiea28PO5WRHL5Nt3Uy2dTPw0tEbzjPZbThqK3DWVQZWK+uqGDt9CZ/dguu3PpD05zgfKv3Pk43NYmJ9kYNzvR4GvDbWpdT6dULPO1Tw+73rC7BZ1EpH0Y7jAuhe0PGh9cWOytpAfX3pjupzZ7JQsX/wfAizGUdVGY6qMgrv3HvD3/zTM0y0dYedSk/QqZxo7mC6bwD3pWbcl5pvuqZRXWNWyv88UWwtdXGu18O5ETiQcusBcnNzGZyY5ZXmYUwCHtioRgmeSPRWtUaj0Wg0KcBkt+FaV4Nrnq1nr9uDp7kzsEIZ+t3UQe7uLdjyslMvdhWytdTFU/TxdscYeyqzqc7NIC/TkvL4wp9dGsAn4bbqHIpd0cfEpgrtOGo0Go1GYzAWl5OcbevJ2bbeaCmrlk3FTqwmQfvIFH8ZrLmcZTdTnZtBVV5G4HduBjV5meQ7kuNQzvr8PHNRnb7U86EdxzkksrvLXFTr7qLRaNIHKSVSSqWyL2PB79fzpMYYHDYz//3uWt5oHaV9ZIq2kSnGp32c6/Nwrs9zw7FOmznsSIacyuq8DIqc1rjeg6+1jjI06aU6L4PtZa6lTzAA7TjOIZHdXeaiWncXjUaTPuTk5DA0NERBgXq9dqPF7/fT1dVFSUmJ0VI0q5T9VTnsrwokqEgpGZrw0jYySdtwwJFsH77uUF7o93Ch/0aHMtNqoio344ZVyuq8DIpdNkxROJRPX1CzBE8kuuXgAqjej1friw+V9ele1ZrFWGjudLlcTE9P093dnTTbXq83rraB0VBSUoLNdnNcl0r9g7Xt1WFbCEGB00qB08rO8utxplJKRia9AUdyZIrW4esO5eiUl8vXJrh8beKGa9otJqpy7REOZSbVeRmUuGyYTQEHsXFgAvf4GE6bjUNr1SrBE0nSZgAhxH3APwJm4Ekp5Rcj/66646h6P16tLz5U1qd7VacnS82JQgg78C1gFzAI/IaUsnXudRabO5O92tjW1saaNWuSamMhVkvfZG1bfdtCCPIcVvIcVnasybrhbyOTs7SPTAe2uocnw6uUQ5Nerg5McnVg8objbWZBZXDLu989Q43Dx87SfDKt6s6xSSkOJIQwA18F3gtsAh4VQmyKPObMmTPJMJ0wOi5pffGg9cWOytpAfX2nTp0yWsJNRDMnAr8PDEsp1wJfBv52vmsZOXceO3ZM29a2te1FyM20sq3MxQMbC3nsQCV/d38D3/3gVn7wW1v58gMNfOJgJQ9tLmJneRaFDiszPknT4CQvNQ1zvs9Dx6UzHDaoBE+0c2eyqkruBRqllM1Syhngu8CDkQdoxzE+tL74UFmfytpAfX2nT582WsJ8LDknBu9/M3j7B8AhMU+Qk3YgjV8TAAAHjUlEQVQctW1te+XZzs6wsLnUxf0bCvmjWyv44nvX8u+/uYUffWgb/3h4HX9+exUPby2GnsuU5xjTuSbauTNZjmM50BFxvzP4mEaj0axGopkTw8dIKb3AKLByM100Gs2SOG1mNhY7uW99AX+wr5w8h9VoSUuSLMdxvlQgmSRbGo1GozrRzIl63tRoNMqTrOSYTqAy4n4FcEOqX3Z2Nh//+MfD97dv386OHTuSJGd5fHEnnDLdwo4dCZ6zh5r54s7EXOomfQm89rws8/rL+v8lU/sC107I65sk3adMt5BpwP8kWhb93yV5HPp6r3Kid46eU6du2GJxOp3JExA7S86JEcd0CiEsQA4wNPdCRs6dDQ0NnDhxIiW2tG1tW9tOLrHOnULKxH+hDU56V4BDQBfwDvCbUsrzCTem0Wg0ihPNnCiEeAzYKqX8mBDiEeD9UspfN0SwRqPRLEBSVhyllF4hxJ8AzxIoPfEN7TRqNJrVykJzohDic8AxKeXTwL8C/1sI0UhgpfER4xRrNBrN/CRlxVGj0Wg0Go1Gk34kKzlmWQgh/kIIIYUQxhQvWgAhxOeFEGeEEKeEEM8JIYypfLsAQogvCSEuBTX+SAhhTLXUBRBC/JoQ4rwQwi+E2G20HggUYRZCXBZCNAohHjdaTyRCiG8IIfqFEOeM1jIfQohKIcRLQoiLwdf140uflTqEEBlCiLeFEKeD+j5rtKZEYuTYNXJsGjnujB5TQgizEOKkEOKnqbQbtN0qhDgb/PxLaW0cIUSuEOIHwc+3i0KIW1Nkd33w+YZ+xoQQn0iR7T8LjrFzQoinhBApq8kjhPh40O75qJ6vlNLQHwLB4M8CbUCh0XrmaMuOuP1fgK8brWmOvnsBS/D23wJ/a7SmOfo2AuuBI8BuBfSYgSagDrABp4FNRuuK0HcHsBM4Z7SWBfSVATuDt7MIxOyp9P8TgCt42wq8Bew3WleCnpuhY9fIsWnkuDN6TAF/Dvw78FMD/u+tRn0mE6hn+pHgbRuQa4AGM9ALVKfAVjnQAmQG738P+J0UPc8twDnAQSB88QWgYbFzVFhx/DLwKRQsOyGlHIu460QxjVLK52Sg3hvAUQKZmsogpbwopbxstI4IoinCbBhSyleYJ4tWFaSUPVLKE8Hb48BFFKrPKgO4g3etwR+l3rNxYOjYNXJsGjnujBxTQogK4FeAJ1NhTxWEENkEvqj8K4CUckZKOWKAlENAk5SyLUX2LEBmMJHOwc1VF5LFRuColHIi6E+8DDy02AmGOo5CiMNAl5RSyVYPAEKIvxFCdAAfBD5jtJ5F+D3g50aLUBxdmD5BCCFqgFsIrMAoQ3Br7xTQDzwvpVRKXxzosYsx487AMfUVAosq/hTZm4sEnhNCHBdC/EEK7dYB14B/C27TPymEMKLG1iPAU6kwJKXsAv4eaAd6gFEp5XOpsE1gtfEOIUSBEMIB3M+NpcNuIumOoxDiheDe+dyfB4FPY7AztoQ+pJSfllJWAt8B/kQ1fcFjPg14gxqV06cQusByAhBCuIAfAp+YsypvOFJKn5RyB4HV971CiC1Ga0oQq37sGjXujBhTQogHgH4p5fFk21qE26SUOwn0V39MCHFHiuxaCIRF/IuU8hbAA6Q6ptcGHAa+nyJ7eQR2EGqBNYBTCPFbqbAtpbxIINTteeAXBMJgvIudk6wC4JGi7p7vcSHEVgL/pNMi0I61AjghhNgrpeyd75xU6puHfweeAf46iXJuYil9QogPAw8Ah2QwYCGVLOP/pwLRFGHWLIIQwkrgw/s7Usr/MFrPQkgpR4QQR4D7CHyjXums6rGrwrhL8Zi6DTgshLgfyACyhRDfllKmxJkAkFJ2B3/3CyF+RCBc4pUUmO4EOiNWdn9Aih1HAs7yCSllX4rs3Q20SCmvAQgh/gM4AHw7FcallP9KMDRACPEFAq/Bghi2VS2lPCulLJZS1kgpawgI3ZlKp3EphBANEXcPA5eM0jIfQoj7gL8EDkspJ4zWswJ4B2gQQtQGv1E+AjxtsKYVgwh8w/tX4KKU8v8xWs9chBBFIlhZQAiRSWAyVuo9GwerduwaOe6MGlNSyv8mpawIfjY+AvwylU6jEMIphMgK3SaQiJmSL2BBH6BDCLE++NAh4EIqbEfwKCnapg7SDuwXQjiC4/0QgVjelCCEKA7+rgLezxLPPekrjiucLwYHr59A1vfHDNYzl38G7MDzwVXbo1JKZTQKIR4C/gdQBDwjhDglpXyPUXqk4oXphRBPAXcBhUKITuCvg98EVeE24LeBs8GYL4C/klL+zEBNkZQB3xRCmAl8Kf6elDLlZUySgdFj1+CxaeS4S9sxtQQlwI+CnysW4N+llL9Iof0/Bb4T/JLUDPxuqgwH4/zuAf4wVTallG8JIX4AnCCwTXwS+P9SZR/4oRCiAJgFHpNSDi92sC4ArtFoNBqNRqOJChXK8Wg0Go1Go9FoVgDacdRoNBqNRqPRRIV2HDUajUaj0Wg0UaEdR41Go9FoNBpNVGjHUaPRaDQajUYTFdpx1Gg0Go1Go9FEhXYcNRqNRqPRaDRRoR1HjUaj0Wg0Gk1U/P8o0KpnUYXSfwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "with plt.style.context('bmh'):\n", + " hist_and_lines()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Dark background\n", + "For figures used within presentations, it is often useful to have a dark rather than light background. The dark_background style provides this:" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with plt.style.context('dark_background'):\n", + " hist_and_lines()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Grayscale\n", + "Sometimes you might find yourself preparing figures for a print publication that does not accept color figures. For this, the grayscale style, can be very useful:" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "with plt.style.context('grayscale'):\n", + " hist_and_lines()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Seaborn style\n", + "Matplotlib also has stylesheets inspired by the Seaborn library. As we will see, these styles are loaded automatically when Seaborn is imported into a notebook. I’ve found these settings to be very nice, and tend to use them as defaults in my own data exploration." + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn\n", + "hist_and_lines()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With all of these built-in options for various plot styles, Matplotlib becomes much more useful for both interactive visualization and creation of figures for publication.\n", + "### Three-Dimensional Plotting in Matplotlib\n", + "Matplotlib was initially designed with only two-dimensional plotting in mind. Around the time of the 1.0 release, some three-dimensional plotting utilities were built on top of Matplotlib’s two-dimensional display, and the result is a convenient (if somewhat limited) set of tools for three-dimensional data visualization. We enable three-dimensional plots by importing the mplot3d toolkit, included with the main Matplotlib installation " + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "metadata": {}, + "outputs": [], + "source": [ + "from mpl_toolkits import mplot3d" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once this submodule is imported, we can create a three-dimensional axes by passing the keyword projection='3d' to any of the normal axes creation routines:" + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 156, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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w4YNaG1txf333w8A+O///m+0t7dj1apVynsOHTqE2bNn4+OPP0YikcDmzZsxdepUW9ZnkMFh6epBEATU1tbizDPPxJlnngmg/0Z55513sHXrVvzpT3/CsmXLIMsyJk2ahGnTpmHmzJn4zGc+ozRKJ7dEoYm7hJsb07DoLd81WqhgdiMbSgNjc7DdBH1OURSVzm+BQEC5PlpNkOx4UGnBBvRqamoAAPfddx82bNiAe+65B5MmTbJ1PXrKdNetW4dFixbhmmuuwdatW7FgwQLs3r3ble6afAw60dXC5/NhzJgxGDNmDL797W8rQrlr1y60tbXhZz/7Gd555x0MGzYMTU1NmDFjBiZPnqzcXPmKFNjmOW5sTAOU7xMtpWtWKfmxXuiXAORvLq4nNcustL5iaKWrHThwAD/84Q8xffp0PPvsszlNm+xCT5numjVr0NraCgCYNWsWkskkOjs7MWLECFvXWg6Dzr1QKrIs4/3330dbWxva2tqwY8cO9PX14fOf/7zilhgzZgxkWUY8HlfEi/yAdgXpjMD6l60O7rAVUWq3RKFttxuDjlqU21y8WKDOrEIOdTGGIAj44x//iLVr12LlypWYMWNGyccuF1EUMW7cODzzzDMYNWoUmpqa8PDDD2PixInKe84++2xccMEFWLRoEd5880185StfwcGDB934m8i7IC66ZSCKIt544w1s3boVbW1tePPNN9HV1YUPP/wQP//5zzFnzhzU1tYWvImcsH6dKt9lUZemauXHCoKgTGJ2az4rkOvyICEzg2IPKiOBTDaHmazb999/H0uXLsXxxx+P2267DZFIxJR1l0NLSwuuuuoqSJKESy65BD/96U+xbNkyTJs2DXPnzsWePXvwve99Txmf9Ytf/AKzZ892etlacNG1mn/84x847bTTcPrpp+O8887Dm2++ifb2dnz00UcYM2aMkrI2fvx4pWBDHWSx2rfndquR7T3MVkOx18ZI72GrYZu/2PHwUjezIUHWyq9mrw9b/k47msceewx33XUXfvGLX+BLX/qSK65nhcFF12qy2SxeffXVAUP2stks3n77bcUafv311+H3+3HyyScr/uFhw4bl+Pis8O25ffouwfpEqaJMXS0GFO89bDVsa0M9lW9WUayHAq01GAwiEong448/xjXXXIO6ujqsWLECQ4YMcWTdgwAuum5BlmX09vbi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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "ax = plt.axes(projection='3d')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "With this 3D axes enabled, we can now plot a variety of three-dimensional plot types. Three-dimensional plotting is one of the functionalities that benefits immensely from viewing figures interactively rather than statically in the notebook; recall that to use interactive figures, you can use %matplotlib notebook rather than %matplotlib inline when running this code.\n", + "### Three-Dimensional Points and Lines\n", + "The most basic three-dimensional plot is a line or scatter plot created from sets of (x, y, z) triples. In analogy with the more common two-dimensional plots discussed earlier, we can create these using the ax.plot3D and ax.scatter3D functions. The call\n", + "signature for these is nearly identical to that of their two-dimensional counterparts. We’ll plot a trigonometric spiral, along with some points drawn randomly near the line:" + ] + }, + { + "cell_type": "code", + "execution_count": 157, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.axes(projection='3d')\n", + "\n", + "# Data for a three-dimensional line\n", + "zline = np.linspace(0, 15, 1000)\n", + "xline = np.sin(zline)\n", + "yline = np.cos(zline)\n", + "ax.plot3D(xline, yline, zline, 'gray')\n", + "\n", + "# Data for three-dimensional scattered points\n", + "zdata = 15 * np.random.random(100)\n", + "xdata = np.sin(zdata) + 0.1 * np.random.randn(100)\n", + "ydata = np.cos(zdata) + 0.1 * np.random.randn(100)\n", + "ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap='Greens');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice that by default, the scatter points have their transparency adjusted to give a sense of depth on the page. While the three-dimensional effect is sometimes difficult to see within a static image, an interactive view can lead to some nice intuition about the layout of the points.\n", + "### Three-Dimensional Contour Plots\n", + "Analogous to the contour plots, mplot3d contains tools to create three-dimensional relief plots using the same inputs. Like two-dimensional ax.contour plots, ax.contour3D requires all the input data to be in the form of two-dimensional regular grids, with the Z data evaluated at each point. Here we’ll show a three dimensional contour diagram of a threedimensional sinusoidal function :" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [], + "source": [ + "def f(x, y):\n", + " return np.sin(np.sqrt(x ** 2 + y ** 2))\n", + "\n", + "x = np.linspace(-6, 6, 30)\n", + "y = np.linspace(-6, 6, 30)\n", + "\n", + "X, Y = np.meshgrid(x, y)\n", + "Z = f(X, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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b948MX8PBAIAcFIDhwZQPYbd4XAgEAjgoYceQmVlJbZs2YIZM2ZE6+WOKibyXtTh8/lw3nnnwe/34/Dhw1FtBR/niIHuVI9XXnkF69evxx//+MdxL6bELPhOP0KhEI4cOSIgvG/fPsTFxWHJkiVhvhKROunIFdvtdiQmJuLAgQO49dZbceWVV+KWW26Z8sAykfdipLj55puRlpaGBx98cMKPNYkRA92pHjNnzoTX6xVOa9WqVdiyZcu4PPeOHTtw33334dVXXwUAPPDAAwCAjRs3jsvznwth9pXYuXMnGhoakJeXJ1aXwWAQLS0t+NSnPoXu7m4sX74cs2bNQnt7OzZs2ICrrrrqrPAmmMh70RyhUAhLly7FCy+8MOkG7BMcsULaVI8jR45M2HPHLPjGHnRCu+iii3DRRRcBOOErsX37dnzjG99AVVUVLrroIuzYsQMlJSVYsWIF5s+fj+zsbLz22mt44IEHUF1djcTExCi/mpFjIu9FHR9++CEuvfRSfO5zn5tugDtixED3HIiYBd/EBH0ljhw5gvPOOw/btm1DUlIS9u7di5/+9Ke47bbb8NnPflYerydQxAKYP38+qquro30akx4x0D0HImbBN7Fx7733hvG0pBvMEQ3APZc9oKdqxEaGngNRUVGBw4cP4+jRo/D5fHj++edx2WWXjftx6urq8IlPfALz5s3DggUL8Pjjj4/7MaZiTNXCWMwDempGDHTPgdAWfPPmzcPVV189IRZ8NpsNDz/8MA4cOIDKyko89dRT+PDDD8f9OLEYXdx2223YvHlzjNKYYhGjF86R+PSnPz3hwvP8/Hzk5+cDAFJSUjBv3jw0NDTEpGlRiJgH9NSNGOjGYkKipqYG7777LlauXBntU5m2MRoP6FhMvYjpdGMx7tHf34+LL74Yd911F6688spon845FzEP6CkRseaIWExO+P1+XHrppVizZg3Wr18f7dOJBSbOjjQWI8awoBsrpMVi3MIwDNx4442YN2/epAFuMBjE+eefj0svvXRSjheLWIw1YqAbi3GLt99+Gz/96U+xbds2LFmyBEuWLMH//u//TugxH3/8ccybN29Cj3G2R01NTSzLnUIRA92zON555x0sWrQIHo8HAwMDWLBgAfbv3x+187nwwgthGAb27duH9957D++9996EKibq6+uxdetWrF27dsKOEYtYjHfEQPcsjoqKClx22WW4++67cccdd+ArX/kKFi5cGO3TmrS49dZbsXnz5qgOmJzoePLJJzFnzhwsWLAAd9xxR7RPJxbjEDHJ2Fke9957LyoqKuBwOPDEE09E+3QmLX73u98hJycHy5Ytw/bt26N9OhMSf/jDH/DSSy9h3759SEhIQGtra7RPKRbjENM3RThHorOzE/39/ejr64PH44n26UxavP3223j55ZdRWlqKL3zhC9i2bRu+8pWvRPu0xjWeeeYZ3HnnnUhISAAA5OTkRPmMYjEecSrJWCymeFgslpcBPA+gDEC+YRj/HOVTmvSwWCwfB/B1wzAmTMJgsVjSADwLYCGOSylvMAxjx0Qd76/HfA/ASwA+BcCD46/xnYk8ZiwmPmL0wlkcFovlGgABwzD+y2KxxAH4s8ViWW0YxrZon9s0jMcBvGIYxlUWi8UOYFxm2Fgslt8DiNSxcBeOfz7TAawCUAHgvy0WS7kRy5TO6ohlurGIxSnCYrGkAtgLYFIBz2KxvALgQcMwtv/1+yoAqwzDaJusc4jF+EeM041FLE4d5QDaAPzIYrG8a7FYnrVYLEmTcNzfAlgNABaLZTYAO4D2SThuLCYwYqAbi1icOmwAlgJ4xjCM8wEMAJiMcco/BFBusVj24zhvf22MWjj7I0YvxCIWpwiLxZIHoNIwjNK/fv8xAHcahvGZqJ5YLM7KiGW6sYjFKcIwjGYAdRaLZc5ff/Q3AGLu7LE4o/h/9P5sh33lFVcAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "ax = plt.axes(projection='3d')\n", + "ax.contour3D(X, Y, Z, 50, cmap='binary')\n", + "ax.set_xlabel('x')\n", + "ax.set_ylabel('y')\n", + "ax.set_zlabel('z');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Sometimes the default viewing angle is not optimal, in which case we can use the view_init method to set the elevation and azimuthal angles. We’ll use an elevation of 60 degrees (that is, 60 degrees above the x-y plane) and an azimuth of 35 degrees (that is, rotated 35 degrees counter-clockwise about the z-axis):" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADtCAYAAAAcNaZ2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsnXl0m+eZ3X9YCAIgdhAkuO+LSErUHm+RF8WKnTiOM5lkbE+WsdNJXc+kTWd60jiTdrLVTTJ23Z7WbRrPZDyxx+M46jhOmji2Y8eSY2vfRVEUKe4gQRLEvhB7/3DfNyBNiqQoydt3z8EhtZAAPgD3e7773Oc+qnw+jwIFChQouDJQv90PQIECBQreT1BIV4ECBQquIBTSVaBAgYIrCIV0FShQoOAKQiFdBQoUKLiC0L7dD0DB+wOTk5MqjUZTaTAYtMCo2WxWbDMK3pdQLWMZUz4YCtaMfD5PIpEglUqh0+lQq9VotVo0Gg0qlertfngKFFwOLPnGVipdBZcVuVyOUChEPp+nqKgItfpNRSsSiaDRaNDr9Wg0GtRqtULACt4XUEhXwWVDOp0mHo8zNzeH0WhEpVJJYs3n8+TzebLZLNlsFpVKhUajkQSsQMF7FQrpKrjkyOfzJJNJEonEshWsINh8Pk8mkyGTyUj5Qal+FbwXoZCugkuKXC5HPB4nnU5fULNVqVQU9hNEFSwq4FQqBTBP+1UIWMF7AQrpKrhkyGazxGIxstnsPMItJNPlsPBnRPWrUqmU5puC9wQU0lWwZojKNJFISHJcDgsr3aX+T+H/S6fTsoJWmm8K3q1QSFfBmiDsYMlk8oJV6HIEm81mSaVSGAyGt/zbwupXab4peDdD8ekquGhks1ni8TjZbHbJqnNubo7h4WE8Hg/nz59nZGSE0dFRJiYmmJmZIRwOo9Vq8fv9/Pmf/znf/e53V3z/hZKF0nxT8A7Dkm9ChXQVXBRSqRTxeBwAjUaz6P+Zmpqio6MDq9WK3+9Hq9VSVFQkybGmpobbbruNu+++m7q6OoqKii7qsYj3sPiqNN8UvAOgkK6CSwNhB5ubm0OlUl3wsl5UonNzc0QiEX74wx/yD//wD6TTaR599FG6u7tpamq65I+vkIQF0Svkq+AKQyFdBWuHsIMJL+1KiWxubg6NRkNRURHRaBS73U4qlSKdTmMymS74s8lkEr/fTyAQIBgMks1mqaqqorGx8YI/l8/niUajFBUVodPp0Gg0aLVapfpVcKWgjAErWBsymQyxWIx8Pr8m3dRsNjMxMSF13WAwiNfrxev14vP5CAQCBAIBZmdnCQQCpFIpHA4Hdrsdq9WKRqPhzjvv5Itf/OIF70c8PvFYFzbfBAErUHCloVS6Ci6IhXaw5VwC4XCY0dFRxsbGGBkZYWxsjKGhIcbGxpiYmCAQCFBaWkp5eTkul4uqqircbjcVFRWUlpbicDgkyTocDkwm00WTYyQSobi4GJ1ON+/5KM03BVcAirygYPVYiR3M4/Hw/e9/nxMnTjA4OEg6naampoba2lpqamqoq6vD7XZTV1dHQ0MDlZWVaLVaUqkUoVCIeDyO1+vF7/cTDAYJBoNSSggEAlJaiEajkjALb7t3715SF16MdAufm/haaD1T5AcFlwgK6SpYHbLZLKFQCOCCl+J+v5+f/vSndHd309LSgsPhkH7amZkZxsbGOH/+vJQTxsbG8Hg8eL1eEokE5eXllJeXy+rWZrPJm/g7u92O2WyWhFjo262vr6e4uHjRx3Yh0i3Ewuq3kIAVKLhIKKSrYOUQdrBUKiW7/0shn88zPj7OiRMnOHHiBKdOnWJ4eJjx8XEMBgM1NTVUV1dTU1NDY2MjjY2N1NTU4HQ60ev1WK1W4M0mXSQSkdVu4S0ajcoAnWQyOe/7ubk58vk8DzzwAOvWrZv32FZKuoXPpfCr0nxTsAYojTQFy0PYu+bm5pbVOTOZDH/0R3/EiRMn0Ol0dHd3093dzWc/+1mampqorq6WzoRIJCKrW4/Hw/79++XAhGiYRSIRjEbjvErXarVis9kwmUzo9Xr0ej1msxm9Xk9xcbH8qlarcblca37+y02+Kc03BZcCSqWrAFg8HSyZTKJSqZasFPfs2UNbWxtut5tsNsvo6Cjnzp2Tt7GxMUZHR/H5fJSXl1NbW0t1dTX19fXU19fjcDhobGzEbrdjsVhQq9UEg0H8fj9+v5/Z2VnC4TCJRIJYLEY8HicWi837Pp1Oy4aY0+nkoYceko9vtZXuUlCabwouAoq8oGBpiLDxhXawVCpFPp9/i2YaCAQ4ePAgZ86ckQQ7ODhIaWkpra2ttLa20tLSQm1tLbW1tTidTvx+PxMTE/j9fqnrTk5OSoIVjTSTyYTT6ZQuBqvVitFopKSk5C1fS0pK0Gq1ZLNZcrkcWq2WD3/4w/JxXirSFVCabwpWAYV0FbwVy9nBliLd5557jn/6p3+iq6tLkmxTUxPhcJjz588zODjI4OAg58+fZ2xsjMnJSfR6PVVVVVRXV1NVVUVFRQU2m0020RwOBzqdjlgsJl0LwWCQeDxOPB4nkUjI72OxGIlEQsog4tJfkOAtt9zCJz7xiUtOuguPnYieVKlUcu2QQr4K/j8U0lUwH/l8XjbLliKLdDpNNptFr9fP+/twOMyJEyc4evQoZ8+eZXBwkKGhIcxmM01NTTQ1NdHQ0EBDQwNut1tmLwQCAaamppiYmJA3v9/P9PQ00WgUi8UiCbi0tBSbzYbRaMRgMGAwGGR1K74vLi4ml8uRy+Vk7m42m6WxsZGOjg7C4TB6vf6ykK6AyJ8Qx0hpvin4/1BIV8HvIcLGc7ncBbXJTCZDOp2eF7f4gx/8gEceeYSuri42bdpEZ2enbJwFAgFJwP39/QwODjI8PEwqlaKiooLKykqqq6uprKykoqICs9lMY2MjNpuNTCZDIBBgZmaGqakpOY2WSqWkW0HcRKVb+PjFTfxZo9HwX/7Lf8Fms110kM5KEI/HUalUGAyGedqv0nx730MhXQVvVrdCv4Wl08EEFiPdSCQCQF9fH8ePH+f48eOcOXOGyclJKioqaGhooKamhoaGBtra2mhsbCQWizE0NITf75cjv+Lm9/uJRCI4HA6cTqecRLPZbFIaMBgMmM1mzGYzRqNRVr9qtZp8Pk8ul5s3MJHL5chms6xfv56SkpLLSrqxWExuNS6E0nx730Mh3fc7Vho2XohsNksymcRoNALw1FNP8ZOf/ISBgQFaWlrYuHEjGzdupLOzk9LSUkZGRujv72d0dJTR0VGGhoYYHR3FbrdTVVVFTU0NlZWVVFVVUV5ejl6vp6GhgVwux+zsLDMzM9JCJhwKorIV1a3w6QrpQ9yEtCCaakVFRRQXF/PAAw+wa9euy3ZclyJdAaX59r6FQrrvZ6x0WeRiP5dIJCgpKQHg2LFj5HI56uvrGRwc5NSpU5w+fZpTp07h8/nkAITQdBsbGykvL8fr9XLu3DmmpqaYmppienqa6elppqamiEQi2O12XC4XLpcLp9OJzWaTVa1er8dgMGA0GikuLpargERqmU6nm7fWHZArgyKRCLW1tZSVlV2Go/omRJLZUlNxhVAm395XUEj3/Yql7GArQSHpvvrqq7z44oucOnWK8fFxWltb6erqoquri/b2dkpKSvB4PIyMjDA0NMTQ0BDDw8P4/X6ZxdDY2EhVVRWVlZWUlpaiVquxWq0Eg0F8Ph8zMzPMzMzIKbRYLEY0Gp13i8VislrXarXStSAm54RkMjc3JyvjnTt38vDDD1+W43sxDgll8u19AYV0328QYeOJRAK1Wn1RO8Ty+TyxWAyTycSvf/1rgsEgnZ2d6HQ6hoaG6O3tpbe3l4GBAebm5mhpaaGxsZH6+noaGhqorq4ml8vh8XgYHBxkZmYGj8cjCTYYDGKz2XC5XJSWlsqvIl3MZDJRUlLylmpWpVLNcywI+5gYlBBe3mw2i8VikW6H6urqS32Y12xLU5pv71kopPt+wsXKCQshSHdsbIyXXnqJI0eO0Nvbi8PhkE2y9vZ26uvriUaj0rEwNjbG2NgYs7OzuN1uqqurcbvdMnfBarWiUqmkQ2F2dhafz4fP52N2dpZQKEQkEpGVrUajkQQsrGLi0ryw0hUnFqH7Cu03mUySzWZ59tlnL+VhBt60zxkMhkvSrFOab+8pKKT7fkE2myUYDEpdc60f2Gg0yoEDB+jp6WHLli04nU6Ghobo6+tjeHiY/v5+wuEwTU1NtLS00NzcTE1NDSUlJaRSKbxeL2NjYwwPD+P1epmcnCSdTksfrtvtlhWuqHJF4044EZLJpCTgRCKxaANNVL1qtVpuihAjzMLxYDQa2bp1qwzZuRQIhUJyMu5SQWm+vSegkO57HYXTZStJB1spRkZGOHToEMeOHePo0aPkcjnWrVtHe3s7ra2tuN1uYrEYg4OD9Pf309/fz/DwsLycFzeXy0V1dTVFRUUkEgmmp6cZHx8nEong9/tlpRsMBlGr1VgsFiwWi6xuxc1oNM6bPhMVobgJWSWVShGJRKQDQwT5/Omf/imtra2XbGV7KBTCZDIta7+7WIgTTzwex2QyzVu6qeAdDYV038tYaAdLpVIXDKpZDfbu3ctLL73Eli1baGxsJBgMysyFgYEBotEozc3NNDc309LSQkNDA2q1munpaTweD+Pj4zJHNxaL4Xa7qayspLy8nJKSEiorK3G5XJhMJnkpnUwmCYfDhMPheQ01IZkstIiJP+fz+XkNNoDi4mKKioqkw8BgMLB9+3bWr18v3RBrIbBgMIjZbL5spAtvykWhUAibzaZsPH73QCHd9ypyuRyxWIxMJiM/hEtlJqwWiUSCffv2cerUKY4fP87w8DBtbW1s3LiRjo4OXC4XkUiE8+fPMzAwwMDAAOPj41RWVlJXVyerXLfbLS/9fT4fU1NTUmoQqWIADodDVrgWi2XeQITJZMJoNErpoFDThd/vQiscjggGg7L6TafTJBIJIpEIGzdupKmpiWQyCbxJzCIicrUIBAJYrdZLVjkvhmw2SyQSwWazAUrz7V0ChXTfi1jKDrZUZsJqce7cOR555BHWr1/Pli1bKCkp4ezZsxw/fpzTp0+TTCZpbm6mqamJ5uZmamtrARgbG5MNtYmJCXw+nxyQcLvd84YjSkpK0Gg0xGIxQqEQ4XCYSCRCJBKRla6odufm5uZVtwsrXPj95bgYCS70w5pMJsxmMyaTiauvvpo//MM/JJPJyIabVquVlfFKCczv92O32y8r4YnXeTEtWmm+vWOhkO57CcvZwRYb310tMpkMx48f58SJE/T09NDb24vT6WTDhg1s2LCBhoYGmbUgksW8Xu+8AYmamhqMRiPpdBqPx4Pf72dqampevoLNZsPpdM4bijCbzbLaFRouMK+SFaO/wjomwsYLCSeRSMj0L0FG4mfsdjvNzc1vOabJZJJcLier3wvJBvl8nkAgcNlJV+RPmM3mCz6WhdWv0LwVvC1QSPe9gpXYwRaO764W2WwWv9/PV7/6Vbq6utiwYQMul4uxsTHOnDlDT08Pfr+ftrY2mSpWUVFBJpNhdHRURjuOjIxI3dbpdM5zKojllNFolFAoJLdHLLzF43GZn6vT6WSDUNwWNtEKCVmEsIuNGIVDFlqtlvb2dr7//e+/5fmL6lcksAkf7sJjLUjX4XBc1HFeKUQlLjZxLAdl8u0dAYV03wvIZDIyHexCH6KF47urgfC1Tk9Pc/ToUQ4fPkxvby8Wi4XOzk46OztpaGggmUzS398vA8yDwSB1dXU0NjbK0ButVsvMzIyMcRRDEaFQCLvdjtPplEMRLpdLruYRl/dCixU5DCJ1LJ1Oz/sqNGxR6YoKL5PJyFFhQdxCGxaEXVFRQVlZ2aIVobh/IWvodLp5o8iiwWW321d9nFcDcf+rfT0XTr4pzbcrCoV0381YLmx8sf8vJslWcx9iiMBgMPD1r3+d0tJS1q9fj8Viwefz0dfXx9mzZ5menqapqYn29naam5uxWCwkEgnpxx0ZGWFmZobKykpqampwuVyUlZXhcrkwGAzkcjm5QcLv90siFtqt2IVWeBNDEYJEdTqd/L6oqAi1Wi2rXBF6E4vF0Ol08uqg0AUhQnSi0Sg//OEPl3UfiKsH4QwR5CuyIy4nCuMjLxZK8+2KQyHddyuEHSyVSq24QSJIt6SkZEX/P5fLyS0MxcXF+P1+jhw5wpEjRzh69CgWi4WOjg7a29txu90kEgkGBgakbcxsNlNfX09dXR21tbVYLBbS6bTckSYCbmKxGKWlpZSVlVFeXo7VasXtdsuufDabZW5uTsoKImEsGo1KS1w6nX5LpSu2NxQ2z8SJScgDYhRYhOeIeEiTyYTdbmfz5s0X1EwLj21hhQ1gNpsvK4Etl2S2WijNtysChXTfjchms8TjcbLZ7Ko/FNFodEWkK/RLoZGqVCoee+wxZmZm2Lx5M2VlZQwNDcldaMlkkra2NlpbW2loaECn0+HxeBgdHZXjv0ajkaqqKqqqqqivr8dms5FMJslkMtIiJlLG/H4/Go0Gu90+r7IVCWPCcSAaYoUQ5FF4uSy+F5sxDAaD1HtFBSzC0OPxuFz7ftddd+F2u1f1+qRSKWKxmGzQrcV6diGsJslsNVCab5cVCum+25BKpVYcNr4YYrGYDPpeDKJiS6fT8wgtFotx/PhxOYGWz+fZsGED3d3d2O12/H4/AwMD9Pf3MzExQXV1NS0tLdTV1Unz/uTkJBMTE0xOTuLxeNBoNFK3LSsrw+12y2pYrVaTSqUIBALSLhaNRuc10zKZjCQ0cRMnCZ1ON09aKHQ1iEpUTKSJYBytVoter8doNGKxWOSq9+uvv57W1tYVH2OhsVsslnnyw8VYzy6EK7F2SEhYmUxG2viU5tuaoJDuuwVCW52bm1uRfrsU4vH4kpYn0c3P5/Po9fp59/HKK6+wZ88eNm3aRGNjI5OTk3I7hNFopKWlhdbWViorK0mn0wwPDzMwMMDg4CBqtVqu5KmtrcXhcKBWqwmFQlK/FeE26XRaNtJEDoPVap3XSCtMExNVZTwel7auwsWQhdKC+D6VSlFSUoJer6e4uFgSlzgm4nlnMhnC4TDt7e3U1dWt+BiLgQuLxTLv2AqLVzabXZH1bDlcjnyHxSAadkajUWm+rR0K6b4bIBo+YnprLW/yRCIhO/SFELqpVqt9iw0qlUpx+vRp6c8Nh8OsX7+ejo4OKioq8Hg8cvIsGo3KoYi6ujrUajUzMzNy/Nfj8QDIfWgioFwQUCKRwOv1SqtYMBiU23/FBJq4GQyGeVVuoQYpnqO4xC+0jQktVDgyxMlMfB+Px2WimcFgwGq1smPHDj7ykY+s6Bgv558V1a8Yz17KerYcrsSoMby1Yac039YEhXTf6Uin04TDYWl5Wusbe25uTm5XKLyPZDIpL30XYmRkhMcee4xNmzbR0NBAKBSS2yGMRiOdnZ00Nzdjt9vl+O/58+eZmJjA7XZLq5jT6USlUhEOh+UutMnJSWmvEtWtxWLB6XTOG6MVFa3w04rKduFNSCNiKAJ+PwosKt18Pi9tXuJW+Gez2YzVasVsNsvq2m63U19fv6IrjJUMLcDvpRyhay+0ni2HKzFqDBfWjpXm26qhkO47FYV2sLm5uQvqsKuBGAzQ6XTz9LrFGlLwZpXd19fHoUOHOH78OJFIRPpyLRYLgUCAnp4e+vv7MRgMNDU10djYKKexJicnGRwcZHx8nHQ6TWVlpaxynU6nfAzBYJBAICBlBpEqZrPZpMQgLGLCU1v4ARdNMvGYxYc+l8tJIhaxlkJeKAxAF5VwOp0mEonI0eNwOCy/d7vd/NVf/dWKjvFqhhbgzepXkLWwngldejFcqak3WFk2sNJ8WzEU0n0nQnTYxeRTIpFYs/4nIAYGioqKpD6s1+svuG7929/+NuvXr5dV7pkzZ+jt7UWn09HV1cW6desoKSlhampKjv4mEgkaGhpklavRaIhEIvM2/kajUUpLSykvL8ftdlNWVobBYCCbzcr7DoVC8laYLiYq9oVVaqE/VxxL8bVwPFjcCte5i+O9cOS48M8ul4va2toLvhYXO7QgHmdh7oOoMBdevl+pAQxYvYyhTL5dEArpvtOQzWbldJmo4pbSYS8G6XSaTCYjN+Mu10kfGRnh8OHDHDlyhGAwSFdXFx0dHVgsFsbHxxkcHGRgYACHw0FjYyPV1dXY7XZisRgjIyMMDw8zPT1NRUUF1dXVssLVaDTMzc0xOTkpd6DNzs5SVFSE1WrFarXicDjk96JzDsxrlgmyLPyaTqfnffAXIpfLyUZhUVHRvAWXYp+asJIlk0kZshMMBpmdneUv//IvL+iNXQvpLnyc4jkttJ4tTBi7XFhLRa1Mvi0KhXTfSVjKDiYGFNZqDRIOCCEnrITE//f//t+YzWba29sJhUKcPn2ac+fOYbVa5fRZUVERIyMjDAwMMDExIfXPuro67Ha7DLYZHx/H6/WSSCTkIITYCiEIKhqN4vP5iEQi8xLG0um0rDwNBoN0HBRWuoWa6GLv30KfrkajIZPJzLOMCX21UDvOZDKycWe323E4HDgcDtavX4/L5Vr0mCUSCfL5/EVnXCxE4QlAWM+0Wi3JZPKyk+6lqqgXyg/v49B1hXTfCRBWLUGuC3WwS5GDWzjOC6yoCpuZmeHIkSMcO3aMiYkJueVXr9fj8Xjo7e3F4/FQWVlJa2srtbW15PN5pqamGB0dZXR0lKKiImpra6mtrcXlcqFWq0kkEvh8PjkIIYK4BQmLbRBms1kSZWHFubCJlkqlpPtAjOMuPIaFGm82m503Kiy+FhUVvcWnazAYJDmI6jIQCLBt2zYZWbkQl2I8dykUav2iYr9U0tNiyGQyRKPRS0buC6vfQu33fULACum+3VhJOthac3DFtJVwLczNza2IdF944QWmpqZYt24d6XSaU6dO0dvbS0VFBa2trbhcLnK5HBMTE5w/f55QKCQr3PLycjQaDYFAgLGxMcbHx+WGCDEMIT7IIlVsdnZWLqAUWQuF4eXiJi6xF0v3yuVy8jmL7wvfyxqNhmQySUlJyaJNODHtJyxjYkotFosRCATQaDSy2u3q6mLbtm1vOW6Xejx3MRRq0Gu1nl0I4oRW6Dm+VHifNt8U0n07sVTY+EKsJQdXXEILvXKloTfhcJijR4/KzRCtra1s2LABo9HI4OAgZ8+eJRgM0tTURGtrK6WlpUSjUYaGhhgdHSUajVJVVSU3RBQXFxOPx/F6vczMzODz+Zibm5OZuS6XC6vVKlekC1eFqG4LQ8yBRe1eIvBGfHALP7zi2GazWaLRKCqVSroaRGbC3NwcsVgMlUol08eElFFSUoLD4ZANpWw2i91up6mp6S3H7kqQbqFuvFbr2YVwMU6Mi4G4msnlchiNxvdy800h3bcDy4WNL4QYXFhNY2YpO9hKQ296eno4ePAgHR0d5PN5zp49S29vLy6Xi7a2NsrLy4nFYoyOjjI0NIRWq5XxjUajkVgsJochZmdnKSsro7KyErfbjdFoRKVSEY/HJQH7/X5isZi0hpnNZpxO57x8hcJYRxH2s7CRJpqEQkZY+D4WtiehCRfm8BoMBjlwUXhsBPn7fD45lhwKhSgqKqKsrIz77rtv3v+/XJkIhVhKwlit9Ww5XGp9+kIQ/QyDwfBebr4ppHulsdAOtpp0sJVWG2I9ObCoHWy5/IVkMsnx48c5cuQIQ0NDNDY20tnZSUlJiVyzns1maWhooLGxEZPJhN/vZ3BwkNHRUex2OzU1NVRWVmI0Gkkmk3L/mdfrRa/Xy0EIs9ksiS6fz0uHgJAYRHCMIGIxiWYwGOZVdIWjvoXPd+H7WKVSEY1G5QdbNKkymcw8KSEej8ubkDqEX1hsrtDpdOj1erq6uuYRbCQSkWR3ubBcNb1S69la7+dSYuHJ6j3afFNI90piMTvYSrCaSMYLjfMKXCh/AWBycpJf/OIXbNiwAbVaTX9/P729vdjtdjo7O6mursbn83Hu3DnGx8dxuVw0NDRQVVUlByLGxsaYmprCYrFQVVVFRUUFZrNZEquocAOBAMXFxZSWluJ0OnE4HDJbt7i4eN4kmmiWFToOCjccC7tXobxQeJyFR1dcxgr7nGisCTJfGPMotlOIAPRYLDZvmCMUCvHhD3+YTZs2UVxcTDQaveyku5pq+kLWs+VwJU4gAktlSbzHmm8K6V4JiEticUl4MZd6K0kHE2b/5fS8C/l+s9ksfX19HDlyhLNnz1JXV0draytGo5GpqSnOnj1LJpNh3bp1kmSnp6cZGhrC7/dTU1NDfX09DoeDbDaLz+djcnISr9eLTqejvLxcrlbX6/Vks1mp1waDQUKhEMlkEpPJJKWGwgm0fD4vG4KFckOh/1hENRYmi4mf02q1MjFLHIOFDRzxs+I1E6uDxE2j0Uj/sDhRmM1m7Ha7PKZ6vf6CQydrxcUkjC1mPVsu9exKheqIk/FyY83vgeabQrqXG/l8XgZtr+XSKB6PSw1ysfsQ1dvCdLDFsFj+QuG//f3f/z3r16/HaDRy5swZBgYGKC0tpb29nfLycvx+P+fOncPr9VJdXU1jYyMOh4NkMsnY2BgjIyPk83lZ4VqtVlQqFaFQSDbSYrEYdrsdu90uyUtcwiYSCfx+P8lkUsY5xmIx8vm8lCKEtCAaXcJ3XFjhLtTLxYkpEomg1WqlrCBOVqJ6FpW0aF6KLAYxnWYwGOZZyMToMsC9995LKBSSr/PlytJdKxmuNPXsSuU7XIwf+F06+aaQ7uWESLTKZDJrfjMsRZQLtzus5D4K8xcKkc/nGRkZ4fjx45w6dQq73c6GDRvk9FlfXx8AbW1t1NbWEo/HpR1MrVZTV1dHdXU1BoOBYDCIx+NhcnIStVpNWVkZDocDu92OwWAgmUzi9/vlLZlMSm+s0Eztdvu8cV6xl0zcxBaJhQ00UdmKRlphxoIg5sLFlSJHV8Q8iu8FCYkJMBFuLhppwWAQjUYjHRjiZjKZ5FLKtWqqS+FSJowtlXoGXLF8hwutk18O77LJN4V0LxcKp8suhfa0GFEutt1hpb8LeIsemM/nefzxx6mqqsJutzMxMcGZM2dwOp20t7fjcDiYmZkwYdLUAAAgAElEQVRhYGCAYDBIQ0MD1dXVlJSUEAgEGB8fZ3JyEqfTSU1NDWVlZTJVbGpqitnZWWKxGE6nk7KyMhnpKFYOxeNxOW4bCoXI5/NyGqzQvqXX69+SryAq1lwuJ4lUyA+Fl6PCNWE0GuXPi/8npAmhGwsLmSDafD4vMxjMZjM2m0129efm5mQu8KZNm2hpaZk3tnyxmupSuBwV6ELrWVFREel0GpvNdtnJazlrmiD/5fAuaL4ppHupUTg9BVyyrm/hVFqhjrlUOthKf1chpqenOXLkCD09Peh0OjZs2EBpaSkjIyP09fVhMBhoaWnB7XYTi8UYHBxkYmJChsCUlpbKibTx8XEikQjl5eU4HA5KS0spLi6WFa7P52N2dlYOQDgcDkliKpVKhvEURjkWNtJERSaqUkHChVWt0HDFJbiofuPxuKxehQda/N50Oi2lC+HPLVwNJKIhRTKaqNTj8Tg2m02ONNfU1NDQ0PCWy//CvIiL3SRxJRLGxNDOwnXzl0tmEAVKLBZjZmaG8vJy7r33Xp566ikCgQDXXXcd+/bto6KiYkW/7x3cfFNI91KicLpMVF+XahRUkINer19yu8NKsdiEWzab5emnn8Zms1FXV8fk5CRnzpxBr9fT2dmJzWZjenqagYEBkskkTU1NVFVVkclkmJmZwePxMDc3R3V1NVVVVZSUlBCNRmUgeSwWw+FwzAstF80TQVqRSIR8Pi/zFYSlTLgSCh+rGPoQZLlQXhBVq2iqFa5gFyccUQUtHLQQWrCofoWDonBVkJjSKtSlBZF7vV5CoRAf//jHl4xDXKmmuhiuVMKYkByEHHQ5ZBJ48yrh2LFj7Nu3j/b2dr7+9a/zxhtv8Od//ufYbDYeeughvvrVr5JOp3n44YdX/fvfYc03hXQvFYQdLJvNotFopFf2UpnKhRUMuKAdbCVYOOGWTqcJBoOcO3eOkydPkk6n6ezspKKiAq/XS29vr6xynU4noVCIoaEhZmdnqaiokAMR0WiUyclJJicnMRqNlJeXU1FRgU6nY25uTlqsAoEARqNRht1otVp5nFKpFOFwmEAgIDcACzuXIKZC3VU0F4VEII7JQq+ucDeIBphohgliFXpxYaaD0I3F2HDh1grhfsjlckSjUQKBgLwVFxdTXl4uQ32WymgofG1Xs0niSiWMiXwHMZRzqWWSQ4cOYTKZ+LM/+zP++3//73zmM5/h+9//Pj/+8Y/ZtGkT9957L1dffTWPPvoo7e3tbNmyhZ6eHqmXXwwKXT6iEXmFq1+FdNeKwgCSQjvYary1K4HIfV1qu8NqID7kBoNBNqGeffZZTCYTzc3NBAIBent7yeVyrFu3jrKyMrxeL+fOnZOTZ263m7m5OUZHR/F6vVitViorK3E4HDIHd2ZmhmAwKOUFu92OTqcjl8sRDoflpXk2m5U6qYhxFCOuolFYWNUWEqPw8Pp8PrxeL9PT07Kyjsfj5HI5afESu9fKysooKyubtxmiMLWskNzF9uHCMeK5uTlCoRCBQGBe2Lrdbsdms8mriEAgQDqd5sYbb1zR61LYLMxms0uO866l6bQaLDX1djHWs0IcOnSIVCrFt7/9bb7whS9w8OBBwuEwn//85/niF7/I008/zR133MGePXvo6+vjS1/6EseOHeP++++npaWFf//v//2Sv1ustLrQiUCcOEwmkzxRr7QJfQmgkO5asJwdbKXrzpe7D0GM+Xz+kpC4kEEK94n19/dz4sQJpqen6ejooLKyktnZWfr6+lCr1bS1teF0OvH5fIyMjBCPx6mpqcHlcskA84mJCeLxOG63m4qKCkwmE5lMRuq3oVAIs9ksXQxCvw2FQqTTaUmgsVgMnU4nF1IKT6+oSk6dOsUTTzzBwYMHCQQCsmIVH7QLheGIS81CqxGAzWZj69at7Nq1ix07dlBcXPyWKTXx+NRqNRaLRU6oCVJKpVL4/X6ZnFZSUkJpaSkul0sek5WikNQEKQhiWOk6oLViJQMYK5VJRFrZt771LW6//Xa+9rWv8eCDD/Lv/t2/44knnuDP/uzP+Bf/4l+wf/9+KisryWazjIyM8MMf/pDbbruNz3zmM3R1dXHbbbfR19e35GO6/fbb+fKXv8xNN9205GMW+rFYtCmkOoV03+FYiR1sucmvldxH4XaHeDx+Sdb2CD1UxBo+88wzZLNZOjs7yWQy9PT0kEgkaGtrw+124/P5GBgYoKioSHpyY7EYY2NjzMzM4Ha7ZahNJpNhenqa6elp9Ho9ZWVlsokmKmBRIRYVFUkLmd1ul5eqmUyGQCAgP6h+v58DBw7wm9/8hrGxMXnMtVqtPB4i91bo1Atlhnw+LysxsXwyFotJiUD4csWH0Gg00tbWxh/90R/R0tIyb0pNfECF51fYx8TadbPZTEVFBcXFxaTTaZlOdtVVV636tVoszEZIJJebdFeypqcQS8kkHo+H3bt3U1RUJMPqN23axG9/+1t27tzJs88+y9e//nXuvfdeHn/8cf74j/+Y559/no997GP83d/9HcFgkG9+85u8/vrr3H777fzBH/wB99xzz6KP4X/9r//FG2+8wRNPPLHk4yycshM8dyXGnP8/FNK9GAg5QXTIl8KFhhCWw2J2sLWSOPx+CSX8PlN3bGxMDkHU19fT2NhIOBymv7+fXC4ntVyfz8fg4CAajUZWuYlEgpmZGbxeL2azGbfbjcPhkFYxEWZTWOEWFxfLk5awiIk9cGIP2sTEBK+88grPP/8809PTUibQarWYzWaMRqPUaUtKSmQVWOjsEJUtMM+TW7hiXfh8BZGKZp5oHGUyGRwOB5/97Gf54z/+Y9LptJxQi0Qi6PV6OZ1mNptRq9Wy0Sb065KSEsrKynC73ZSXl2OxWC6qqhJ9AqHti/yJy9UQulgvsHgNhoeHmZmZ4Tvf+Q5/8Rd/wX/9r/+V++67j2effZbu7m5ef/11PvnJT/LrX/+a5uZm1Go1gUAAg8FAIpGgs7OTX/7ylzz99NNcddVV/Of//J9Jp9M8+OCD7N27d9H79vv9rFu3jp/85CecP3+eL3zhCxd8XsJiuFbJbhVQSHc1EB9GUX0u92ZfaghhufsQpLFQz1vL2p6FU2uJRAKDwcCvfvUrpqam6OrqwmQyMTAwwPT0NK2trbjdbgKBAIODg6hUKpqamrDb7QQCATweD9FoVDbL9Ho9s7OzTE1NMTc3h8vlwuVyYTQaZbfd7/cTCoUwGAxy4aQgT7VazdzcHF6vl4cffphDhw7JxpcgY61Wi8VikbquIF9R6YpJMp1OJxtlIrZRVGAi00H4frVarSTSubk5Wf1Eo1G0Wq20qmUyGQA2bdrEv/k3/0YG/Yi4zGQySSgUYnZ2lkgkIm1wQsdOJpMytP32229fU4NVTOcBl81RsBZbWjab5R//8R8pLy/nBz/4Affeey+PPvoof/EXf8F3v/tdvvnNb/L1r3+dr33ta3zjG9/gf/7P/8mf/umfyq8/+tGP+OxnP8tPf/pTPvWpT/HTn/6UkydP8uSTT/Lcc8/R3NzMiy++SGtr66L3f/fdd9PZ2cmPfvQj+vr65n1eFj4vsbbqco85F0Ah3ZVC6KBCqF/JG3G14eP5fP6CdrCLrZwXyhSFVfPMzAyDg4P09vZis9loa2sjm81y7tw5aQ1zOp34/X6GhobQ6XTU1dVhNpuJRqNMT08TDAYpLS2lsrJSEroIJNdqtdKlICpccUkuxmWNRiMmk4l/+Id/4OmnnyaTycyraEXzzWKxyDhMs9ks4zFjsZjstItQG9HgEe4GcRNDK6lUat6mCOFIEL9Tp9PJqwK1Wk00GpXErVarufXWW7n//vuBNy9Xk8kkVqsVm82GXq/HZDJJaUGsHxJDIWVlZbhcrosOkSlM/rocgxfiPbNaW1o6naa/v58XXngBrVZLf38/11xzDc8//zy7du3il7/8JXfeeSf/43/8D+68805efPFFPvCBD3Du3Dk2b97Mvn372L59O4cOHWLdunVMTU1RU1PD6dOnefTRR1m/fj27d+/miSeeoLi4mG9961uLPo7nn3+e733ve/J98swzz0gNeGETUpyEr6B9TCHdlUAkS4lmzUrP/KsJHy/c7rBUJ/Vi1vYsNbUWi8XYu3cv4+PjUrv1eDwMDQ1RU1NDXV2dtIapVCoaGxux2Wz4/X5GR0cBqKqqkhXozMwMU1NTmEwmysrK5Js6Fovh9/sJBoNSuxXbH8QQxP79+3nggQdk40Y0zzQaDQaDgXQ6jdPplLJOOp1mYmKCXC4ng8vFip/CTFy1Wi23Ryw81kIvFjKBqJ4rKiooLS0lkUjgcDik1a2kpEQGr0ciEZlM9ulPf5r77rtPjiyLE04kEiEajWI2m6VzQ0gu09PTzM7O0tzczPbt21f8Wgos1uBaq6NgsfeNyDdeCSYnJ3nyySepr69n3759NDc3y/12QncXJ38RVN/f3891113H7t27+cpXvsKDDz7IN7/5Tb761a/yjW98gy996Uu88sor3HDDDbz88ss8/vjjJJNJ7rrrLj7xiU9w7ty5Rckyk8nQ2NjI/fffzw9/+EMeeeQRPv7xjwPIqxbhXLjCTTRQSPfCWMoOtlIIIl0ufHzhdoelsJrK+UIyBbz55hsaGiKbzdLb20s6naa9vR2j0SgTw5qamigtLSUQCMh9Z5WVlZjNZuLxOFNTU3IFj1jP4/f7mZ6eJp1Oy7U24lJaJIkJLdRsNvPYY4/xzDPPyBFbkSgmwm3S6TRWq5V4PM7ExAThcJjS0lLpBBDNLXHcxEmmMP5RVPmiahaEJcaJxXSZRqPB5/Ph8XjQ6XQ4nU4qKyuJRqPAmwHooikmVsgLj/HXvvY1Ojo6ZO6x0+nEYrHIrcc+n4+ZmRk0Gg0ul0sS8VLLLS+E5RLG1jJ4IbBSh8To6CiRSISHHnqIu+66i6effpo//MM/5Be/+AVXX301hw4d4gMf+AAvvvgid9xxB8899xy33norP/rRj/jX//pf873vfY97772X3bt387nPfY4nn3yST3/607z66qsUFRWxceNGpqenicfj3HPPPXz0ox/l7NmzXH311TzyyCNcd911iz6ur3zlK7S2tvL444+Tz+d54IEHuO222+ZdJQiOu4J2MVBId2kIO5jIBbiYF2U5r26hHWwl47wrrZyXSx1LpVKcOHGC3t5eHA4Hra2tBINBBgYG5JbfTCbD+fPnyefzUk6YnZ3F6/Wi1Wqprq7GYrHI3WahUEhePoupOZE5q1arpYe1uLiYbDZLKBTirrvuwuPxoFarKS0tlUSczWYxmUzMzc1hMpk4d+4c4XCYqqoqGhsb5eU+IHXgSCQyT98UFbDQ64RrQWQ0ZLNZqffmcjm5LqisrAytVovX6+X8+fOo1Wq6urokmYr1SslkknA4zMTEhDyh/dt/+2+5++67gTfHToWOLapmp9MpNWwReanT6aioqKCiokKeuJbDahLGCseOV7NHbbk18plMht27d+NyuXjmmWf4zGc+w9/93d/x2c9+lscff5x77rmHH//4x9x+++384z/+I1/60pd46KGH+PKXv8xDDz3EF7/4Rf7pn/6Jq666Cp/Px9DQEJ/4xCd48skn+dSnPsXf/M3f8OCDD/Kd73yHn/zkJ3zoQx/i7Nmz7Nixg4cffphf//rX5HI5vv3tby/6+IT/Nh6P8/zzz6PT6fjYxz42z5FR6NG9glBIdzGI+fxsNrvmaZWlcnCX2+6w1ONabsptJaljiUSCN954g8rKSrxeLx6Ph+bmZlwuFxMTE3g8Hqqrq6msrCQYDMoqt6amBovFQigUYmJiApVKNe/SWfhxxT4x0aUXix5DoRB6vZ5UKsXdd98tZY/q6mo5wCCuDMQlck9PD1arldbWVux2O5FIhLGxMWZnZ4nH41JLtlqt8xqdwj8tGmCiMiwqKpIVtdB7RY7EyMgIRUVFNDQ0UFNTQyKR4OzZs3i9Xtra2qQGHIlEMBqNMpRncHBQVk233XYbX/jCF2SVKOQUQLo5wuEwdrudsrIyjEYjkUgEr9fL1q1bVzRldjGugoXV73J71Aq9rIUIh8NMTk7ywgsvUFZWxvHjx9m1axdPP/00n/70p3nyySe55557eOyxx/jc5z7H3/7t33L33Xeze/duPvWpT/Hss8+yefNmpqenCYfDtLS08PTTT/PXf/3XPPjggzzwwAM8+uijdHd3A/C73/2Or33ta3zrW9/i4Ycf5uc//zlGo5EbbriBL3/5yxw8eHBVx6Aws/dtcC6AQrpvRWE62KWIzVvMcbCS7Q6LQVTOSyUxiaqmcDR2sd8xPj7OyZMnCYfDdHR0oNPp6O/vJ5/P09TUhE6nk8sla2trMRqNxONxWZkJiUHok+l0WkY3qtVqWeElk0k5QCA+vAcOHOC+++6T2QgNDQ1S483lcrIBFQwG6evro6mpSaaVnTx5klQqhcPhoLq6mpqaGnK5HCMjI/LxFk6VCX1Xq9WSSCRkeE4ikZAeX5vNRn19PTabjWQyyeDgIFNTU4TDYbZs2YJarSYcDnPmzBlcLhf19fWyalar1TLz1+PxSE1+27Zt/OAHP5DPUaxtLyoqwul0YrPZpD1qamqKTCZDeXk55eXluN3uZUnA7/fL33ExWMnYsZBOCjOOx8bG+OUvf4nb7cbv9zM3N0d9fT379+/nQx/6EM899xy33347/+f//B/uvvtuHn/8cW655RbeeOMN6urqSKVS+Hw+uru7ee655/j85z/Pf/tv/42dO3fKwPvOzk6eeuopvvKVr/BXf/VXfP7zn5cnQ5vNxvbt2/nud7/LCy+8QE1NDUeOHKGysnLFz1uc8ADZE7hc6+uXgEK6Avl8Xu7EupTex0LHQeHc98Vsa11KrliNTNHT08O5c+dobW2Vuq7dbqe+vp5gMMjIyIgktVgsxvj4OMXFxVRXV8vqzuv1UlRUhNvtlnYoMRxgt9txOBzo9Xp5CR4KhQA4fvy47DgL+1d1dbUcA04mk9jtdll1bt++Xdq2Tp48SUdHh5xki0ajcgRZjPa6XC45Li2qOiGxiOaaILRYLCZzHsbHx9FqtTQ0NFBWViabZSdPnuSaa64hm82i1Wo5ePAgdrud5uZmmQkhmloiWzgcDqPVauns7OQ73/mOHGIo1KrFuiIxPCKeu9frlUs8RQD8QgK+lAljiw1eCO1XrBzSaDS88sorlJaWsnv3bm666SaOHj1KaWkpqVSKUChES0sL+/fvZ8uWLRw5coQPfOAD7Nmzhw0bNjA6Okoul6OqqorXXnuNz3zmMzz66KPcf//9PPbYY7S3t1NaWsqzzz7Lgw8+yH/4D/+BT3/604yPj3P27Fn+4A/+gL/5m7/hoYce4pFHHuHv//7v2bRpE8eOHeMv//Ivufnmm/mTP/mTFT3fhTr12+BcAIV034SwgwlD/Gq27i4H4TgQ5LTS7Q5LYaFcsZzNbCGi0Si9vb0MDg7idrupra1lYmKC6elpGhsbsVgsTE5O4vP5qKiooKysTF5SFhcXU1FRgdFolBm5IsTbarWSzWYJBAKEQiGKi4ux2WxyYOBnP/sZf/3Xf00ul6O8vByv10tHRwcWi0USi9B79+7dy9VXX41er2d4eJjJyUmuvvpq6ZLo6+vDZDJRV1cnq66ZmRmmp6fRaDQypUxod2ICLZFIyBOrWq3GaDTidrupr6+X6+MnJyepqqqSJ6HTp09zzTXXyON8+PBhtm/fjsFgIBqNSrkhlUoBcPLkSRmW3tjYyM9//nPy+TyRSERuPDaZTJSWlsqtydPT00SjUVwuF2VlZWSzWfkalJWVUVtbS0VFhbwkvhwJY0LuEt5ycbL95S9/ydatW/n1r3/NRz/6UV566SW6uroYGhrCZrPJKM+Kigqmpqaw2WwEAgFMJhO5XI6xsTG2bNnCL37xC9lI27VrFydOnCCdTrNu3Tp2797NLbfcQjqd5ujRo3zuc5/jG9/4Bv/qX/0r+vr6OHDgAN/73ve488476enp4Z577uGTn/wks7OzHD58mL/9279dkUe5cLPx2+RcgAuQruYb3/jGhX7wgv/4boKY+RcTT6IZc6leCHGJmU6npU92LWdWMQIrYgTFJe1yvzedTnPixAn279+PzWajqakJn8/HxMQENTU1lJeXMzY2RigUkh9+4TG12+1UVVWh1WqZnJwkGo1itVpxu91oNBpJtEVFRTLcpqioSK6yOXToEP/xP/5H0uk01dXVBINBOaEl8iSy2SxWq5X+/n40Gg0bNmzg5MmTxONxdu7ciUqlor+/H4/Hww033EBFRQUzMzOcPn2aQCCAy+Viy5YtbNiwgZKSElnt63Q6aduqqamhsbGR1tZWmpubsVqteL1eenp65OTd+vXrGR4exufzUVdXR0lJCceOHaOiogK73c7o6KgkzMIISJ1OJ9efazQaUqkUkUiEs2fP0tbWRiqVwm63U11djclkIhKJ4PF4CIfDOJ1O6urq0Ov1eL1exsbGsFqtNDc3YzAYGBoa4syZMzKkCC792KoIeO/r6yMajbJ371753jhw4AAf+chH+NWvfsWOHTs4fvw4LS0tTE1NUVRUhNFolFYs4d8uLS2lp6eHnTt38s///M98/OMf57e//S1NTU0y6+ODH/wgv/jFL+ju7sbhcPDcc89x5513cvjwYQwGA+3t7Tz11FPcdtttjI2Nkc1mqaqqIp/P4/f7+eAHP0gwGGTz5s2y8LhQ2E0ymZyXryxyR64wvrnUP7znSVdckoskJZGfkE6nL2nWpsh+FTkHayXzbDYrJ2mEzWwlvzefzzM5OUlLSwsejwe/3091dTVOp1O6FGpra1GpVLIjX1NTg8FgYHJyUkYJig671+slkUhgMpnmXfL7fD4ZB2i320kkEtx3331yGMHtdjMxMUFbWxtms1le3hkMBrLZLIcOHWLHjh2oVCpOnDjBrl270Gg07Nu3D4APf/jD9PX1cfbsWex2O+3t7TQ0NJBOpxkYGOD48ePE43HpUxV+00AgwPT0NOPj44yMjHD+/HnC4TB1dXWsW7eOubk5ent7GR8f57rrriMYDNLf3y93xQ0PD1NZWUk+n5dEKRwWZrNZvm90Oh1er1fa3TweD62trVx77bUUFRURDAaZmpoCkLkU2WyW6elpvF4vFouFhoYG9Ho9k5OTeDweXC4XjY2NUmaZnZ2VJ5O1vJ+EG+b06dPk83meeuop6urqePnll+VJYGRkhM2bN/Pyyy9z880389prr7F161ZOnz5Nc3MzPp8Po9HI7OwsDQ0N9PT0sGXLFl599VU+9rGP8dOf/pQ77riD119/HaPRSEdHh6x6X331VUwmE+vXr+fnP/85dXV1dHd388QTT3DXXXdx9OhREokE1157Lf/3//5fNm7cKH2+k5OT3HvvvVx//fVSNspkMnKASVg8C49PPB6fF0Qv8pSvMN6fpCv0W6G3FhKscCyslXQLdVZAjqWuFcLuJDJhV6oLz8zMMDo6ytTUFK2treh0OoaGhjAYDDQ0NMgOusvlorKyUv7ZZDJJd8Hk5CSJRAKLxSLJ1+fzkUql5F4wq9VKJpNhdnaWcDjM5z73OakPGgwG4vE4drud2tpaOWWWzWax2WyMjo6SSqXYtGmT1Je3bt3Kr371K8rLy7nqqqvkzH13dzc+n4/z588zMzODxWKhvb2dbdu2YbFYZPaCyOK1Wq04HA7cbjdVVVV0dnZSWVmJx+PhzJkzlJSU0NbWhs1mY9++fVxzzTWoVCoOHjxIe3s7p06dor29HbPZzPHjx+no6JD6eeF2Yo1Gw/j4uNSGs9ks+/fv59prr5XpaW63G6fTKZtH4XAYi8WC2+1GpVJJArZarTQ0NABw/vx5UqkU9fX1mEwmhoeH6e/vl4lnarWaVCols4oB2exTqVRSQ04kEpw5c4bi4mKeeeYZTCYTPT09jIyMsH79evbs2cPVV18tX4uWlhaOHDnChz70IV566SW2b9/OwYMHZbZtY2Mjg4ODdHV1ceDAAW666SZ+9atfcccdd/Dss8+ya9cujhw5AsCWLVt49tln+eQnP8nx48cJBoNs27aNPXv2YDQa6e7u5sSJE1JSefrpp7n11luZm5vjhRde4I477uD06dO0tbXR29vL7bffDiAJVqfTySsAMVlYONCUSCRksp0g3bchyHxJ0r1ig8hXGiJsXMgJC4lwqSmm1WChzipe/EsRyZjNZgHkm2clj+V3v/sdoVCI9vZ2+aGrqamhvb2dqakp+vv7qauro6ysjLGxMUpKSmS8ntfrxe/343a7aW1tJRKJMDU1hV6vx+l0Ul9fTzgcZmZmRjbHhGPhnnvukQEyQmMdHR3luuuuk5fJhXGVTqeT06dPy1HhqqoqgsEguVyOtrY2nn/+edra2igpKeHAgQN0dHSwZcsWUqkUU1NTnDx5UjaZXC6XXPEuLvvF99lsFr/fj1qtprW1lS1btjA8PMypU6ew2WxcddVVvPTSS9x8881otVqOHz9OZWUloVBInmzS6bQcjBBZCyLA3ul0yjFis9nM3Nwc999/P3v27JEe46mpKXK5HA6Hg5qaGhmBGQqFsNlsuFwuGRqTTqeli2RiYgKfz0d1dbWUO3p7e2Uuxv79+7Hb7XR3dzM6Osr58+f5wAc+wNmzZ2W61+joKIODg1x11VXs27ePuro6iouLOXToEDt37uSNN96QfmvhjX3llVe49dZbefHFF7nuuuvYu3cvW7du5ejRo2zZsoU9e/bw4Q9/mJ///Od89KMf5YUXXuCaa67h/PnzqFQqNm/ezPPPP88NN9zA2NgYQ0ND3HLLLRw9epRsNsvWrVvx+XwcPHiQL33pS7z++utS0jl27Bi1tbXo9XrOnTvH/fffLz8HC1EYgylcGuFweFHr5ztobxrwHq10xdoVkQ62lKVK+PcuBovprIU67MVC2MwKM3BXAqEjizes0aqh62oAACAASURBVGikoaGBqakpIpEIFRUVlJSU4PF4KCoqora2llQqNc+4bzAY8Pl8MrpQTFH5fD7ZeBROhng8TiAQ4J//+Z956aWX5GW3RqORWuaWLVukhpvNZrHb7dIKduTIERobG6UW2tfXR11dHYcPH+b6668nkUjQ29vLjTfeSCQSYd++fdKa1tzcTGNjo2xaCouYIFxAWsU6Ozupra1lfHycI0eOYDQa2bx5MyMjI6jVajZu3MhvfvMburq66OnpobW1lYmJCTkerdFosNvtmEwmOSUoRrRPnTpFZWUl09PTOJ1O6Y09evQomzZtksll5eXlqFQqZmdnmZmZwWw2U11dTXFxMX6/X55AnE4n8Xhc+qVra2vJ5/MMDAxgsVhobm5mdnaWc+fO0dbWhsFg4NChQxQXF9PQ0MDhw4cpKSmhublZOg/cbjeHDx9m48aNUl/etm0bv/vd7+jo6CAcDhOJRGhtbeXAgQPs3LmT3/zmN9x4443s2bOHnTt38vrrr7Nt2zZee+01rr/+el544QVuvvlmfve739HS0iIn8bq7u/nNb35DZ2cner2e1157jV27djExMUFfXx/XXnst0WiU1157jW3btmGz2Xj++efZvHkzNpuNl19+mU2bNmG32/nZz37Gf/pP/0n6eC8EtVotvdXiZCuuPkRl/DYQ75KV7tuyPOhyQcgJsVhM7spaCmupdNPptAxLKRxMEJczF/vYxTaBhRmgK/nZ8fFxjh49SiQSobu7m0QiweDgINXV1VitVpmj0N7eTjqdZmhoSDZxRKWVy+VoaGjA4XDIrFyDwUBdXR1Go1EGd+dyOTl19eMf/1judBMnH3FJLSadxOivuDw3m83U1tbK5p1IM3O5XFgsFs6fP8/ExAQ333yz7H7ffffd1NfXMzs7y969ezly5AjRaBSLxUJdXR0dHR20tLRIp4PD4UCn03H48GEOHDiA2+3mU5/6FG63m71797Jp0ybGx8eJRqPcdNNN7N+/n5qaGgBGRkbkdotAIIDZbJb6tZjnn5mZQaVSUV9fDyAbTfl8nlOnTnH69GnZlJyampKukKamJiwWCzMzM4yPj8s8XxEQn0gkqKmpwWaz4fF48Pl8rFu3DqvVypkzZ8hkMnR3dzM7O8vw8DDr16/HYDBw4sQJKYscO3aMjo4ONBqNJLvBwUFSqRSdnZ3s27ePa6+9ltHRUTQaDW63m97eXj74wQ/yyiuvcNNNN7Fnzx5uvvlmXnnlFXbu3Mm+ffu45ZZb2Lt3LzfccIMcutFqtYyMjLBt2zZ++9vf0tXVhdls5tVXX2XHjh3SCXL99dczNzfHG2+8QVdXF06nk7Nnz5LNZuV7IRgM0tzcLIdQxNLXlUI0CUUMp9B032mV7ntGXihcFrmSVcyCdFfzoohJqGw2O2+198LfuVoUjvMWhoashHQjkQjHjh0jmUzS2dnJ5OQk/f39NDQ0EIvFGBoaory8nJaWFtkoq6qqIpVKMTExId0JQncUrob6+noikYgkXjH4IAJkotEoX/7yl6VbQ+QmiCWdVVVVeDweNm/eLBtxyWRS6pINDQ0MDg7KeX1RldfV1dHf38+OHTvYs2cPmzdvpqSkREb9tba2sn79ekKhkMxcCAQCcvMD/H4jrNVqZevWrWi1WgYHB+Xl644dO3jttde46aabePHFF7nxxhtJp9NUVlbS39+P2WzGYDBw5swZPvKRj0hpwWQyEQwGZTRmR0eH1AzFYIxYkPm9732P7u5uqcWWl5eTy+Xw+/1Eo1HZrMxkMkxOTpJKpaiqqpKJcH6/X/qgJyYmSCQSNDQ0oFar6e3txW63s379ekmmW7ZsYWhoiEQiwfbt2zl37hz5fJ7Nmzdz5MgR6urqUKlUnDp1ig9+8IMcOHCAqqoq5ubmmJmZobOzk/3793PTTTfxyiuvcOONN/Lb3/6WXbt2ycpWVMAHDhygpqZGVvs7duzgxRdfpKurS1a427dvp7i4mJdeeonrrruOTCbD/v37aWxspLq6mqmpKamf6/V6zpw5Q2dnJ/l8nrGxMU6cOLHkcNCFIDzsomn7Ni2lvCDeE/LCQjvYUiT6J3/yJ1x77bXcf//9FBcX8y//5b+kvLyckZERAoEAFRUVS/6scBEAS76YgihXI1ksjGMs/L3CCXChk4L4WUEEIhFsZGRErgj3+XwkEglqa2tRq9V4vV6MRiOVlZWkUimmp6fRarVSHxXLIsV4qzD6ZzIZiouLcTgcHDt2jJ/97Gfy74QrAcDpdOJwOBgeHpYVl0icEg04h8PByy+/zI033sgbb7xBPp/H5/PR3NxMMpmkr6+PW2+9lXA4TE9PD7fccguhUIgzZ85I14WQQOrq6mhvb2fjxv/H3puHV12e+f+vnOw5WU5ysidk34EQICEhYZNVA0ELWlTcRafj2NbOtNNxOtOZ6bTTa6bLON1s1amCIiqLKCAkICAICQkkQIAshOz7vpyc7Dm/P5z7ngMFa639Vuf6PdeVKwohOTmfz+d+7ud9v5c04uLi1KDd2dmZK1eu0NTURFhYGDk5OVitVqqqqkhKSqKyspLs7GyOHTtGcHAwbW1tavZjtVoZHBxk4cKFSnWTayFwx2233aYpx+KOJpuQg4MDdXV13HvvvTg6OmpWnNFoJCgoCGdnZ7XF9PX1JSgoCKvVSktLi4opbDabmsYHBgbqSSM6OhpXV1eqq6vx8/MjLCyMyspKvL291SLRbDZjNpspLy/XTUoggDNnzpCamqqnloCAAGpqahRCWLx4sXa0x44dY8mSJZw4cYLMzEyFVFxdXbly5YoO3hITE3F0dKS4uJjMzEwtsrNnz8bLy0vx4+joaAYHB6moqGB0dFQLdX5+PrNnz8bJyYnOzk4efPDBT9WhWq3W64ZosgH/Gdb/zUGadIjivfr73lzBBYeGhnB3d6erq4vCwkLMZjNbt25l3bp1ZGVlMWfOnOuSXW9lm3jjMhgMTExMfOLX/3Hf95PecMPDwzQ0NGA2m5k5cybXrl3D09OTxMRE9VsICwvDYrHQ0NCgIoGuri41J5cjfnNzs6rUrFYrvb296hlrNBoZHR3VDLEf/OAHusmJ36vBYCAsLIyuri4WLlzIyZMn1T1MhmxCbg8MDCQ+Pp6qqiqio6Npbm7Gzc2NwcFBPD09tYuy2WzccccdvP/++/j7+3P77bczMjLC0NAQIyMjtLW16WsSlaHwZ6XQOjs7c+nSJfbt20dMTAxms5mRkRFcXV3p7OxkdHSUhoYGJiYmNOPs6NGjWjAdHBwwGo1YrVY8PT05ceKEFovx8XEdrrm7uzM4OKhS5/LycqqqqvD29sZoNBIeHo7NZmNgYEA50IGBgYyNjalaTuCKlpYWAIV/BIqIjY2lo6MDq9WqeGpVVRUxMTGMj49TUVFBYmKi2nWmp6dTWVmJi4uLYr2ZmZlcunRJec4dHR3MnDmTkpIScnJyOHXqlJ4GlixZwunTp5k3bx7V1dWEhISoD7MU5dTUVOCjIMqFCxfS29vLpUuXiIqKIjw8nIKCAnx9fYmJiWFsbIzKykpGRkZISUnB2dmZhoYGZf+EhoayYsWKT/wM2S85Zdo/O5/HTvcLW3QFvxWS+icpUjExMdTU1KjE1mg00t7ernr4yspKBgcHuXjxIkajkUWLFpGamnpL28Qbl/BqP8lr/zg7RlkCM9xsMxkbG+PSpUsMDg6SnJxMe3s7dXV1OgBqamoiIiKC0dFRxUtnzJihjITQ0FBNOXB3d9f0g/7+fqV7BQcHK/fV3d0dT09PvLy8+I//+A9VZsnrl8FkXFwc+/btIyMjg6SkJI4ePcp9992nTmLT09Nq0Ziens7evXtZsmSJZqK1tLQQExNDb28vTk5OOg3PyMjAwcGBw4cPExYWpom/RqNR4QAx+h4eHsbLy4uuri7Onz+PxWLRTviDDz4gKiqKK1eukJqaSlFREc7OzkxMTDBr1izOnz+vBTsmJkYHMjJIky78iSee0PBILy8vtb5saWlRuGFqaorvfOc77N69WzFKi8WCp6cnERERTE1N0dPTw/j4OIGBgTpYk2BPk8mkg80ZM2bg4OBAY2Mj3t7ehISE0NzczMTEBAkJCZrkMWfOHOrq6rDZbMycOZPy8nLCw8MBqK6uJiMjg9LSUqKjo+ns7GR8fJzw8HAqKytZsGABRUVFZGdnK/2tqKiIWbNm0djYqJLkpqYmFi5cyOnTp0lJSWFqaoqysjKys7PVSyMpKQlvb2+Kiopwd3cnJiaG6elpqqur9XoIZt7V1YW7u7ti/zk5Ob/3GbrZElbJp2le/l+uLyS8MDU1hcViuemb/HHr3Llz2Gw2Ll68qN2T+LVOTEzQ09OjfM/x8XHy8/M5efIkycnJavLycUsewo/rhoVmJvjtx3Xnt4qZ7ujooLi4GJPJhJ+fH7W1tVqAWltbVeff0tKivNre3l6mp6cJCQlhenpa+ZxBQUHYbDZ6enrUmtHV1VUlr0ajEZPJhIODAxaLhcHBQX76059qZ+Lh4aE8yL6+PiIiIvD09KSqqorc3FwqKio4f/48ycnJeHt7q5rJxcVFwx3z8/OJjo6mra2NsbExlch6eHhw8eJFVq1aRXt7O83NzeTl5eHi4qJWk42NjVy+fJnz589TW1tLe3s7g4ODlJWVMTw8zLx585g7dy4dHR2cPn2auXPncvbsWTIyMtRfWAp1V1eXSlbvvPNOHWjK5ujo6EhBQQHh4eEkJCRgs9k4cuSIduyhoaGMjIxc51o3NTVFTEyMevwKzUwy40RFJxugSLAFazUajYSEhChdb8aMGTg7O2sRDAwMpK6uDldXVwICArh27ZreF1L8RJqclJTEhQsXmDlzJu3t7QCq1ktKSqKsrIx58+Yp+6KsrIzExETtst3d3WlublaIIj4+nqmpKS5dusSCBQsYGBigoqKCWbNmYTQauXLlClNTU0RFRWGz2ZRrHR8fj8lk0tlAW1sbNpuNNWvWkJycTFhY2Cd6nm9ckqhsP4T+LFWnf+D6vyGOkA5xeHgY4A8quPCREfOVK1dwd3cnMDCQ8vJyQkJCtJO7du2adnc+Pj44OTnR29vL22+/zdDQ0O8NGxSl26304WJ2bjAYPpFMWFRpUpinpqYoLy+nvr6epKQkTTgICwtTqaZ0sw4ODoSFhSk+GxAQwPT0tNKT/Pz81IpR1GZiDOPi4qKJDoKVCwXr7/7u7+jp6VH1nSjNOjo61Mx69erVlJSU4OPjw9q1a2lqauL48eMkJyerGbkMMJOSkkhOTubYsWOq529vb1frw9mzZ1NRUYGbmxs5OTnqmRoaGkpQUJD6J0RERGhOmaOjI/PnzyckJIQrV65w9uxZgoODNSpGHMSqqqquK7YTExPcfffd5OXl6VBMNPvT09O0tbVx6NAhHnzwQaanp9m9e7eq5EwmE83NzWoVKfeAwWCgtLSUv/iLv8DFxYXh4WH1rPD391erTHEgc3Nzo7u7m7GxMWUHtLa24ujoqHzm3t5eVRU2NzcTERGBi4sLTU1NhISEMDExoYW0qakJBwcHQkNDqaioIDU1latXr+Lj46OhoWFhYVRXV2tnPHPmTK5cuUJCQoIWXE9PT5qbm0lJSeHMmTMkJyczNjZGdXU18+fPV2XfnDlzmJqa4sKFC3h4eBASEqLKRjnFeHp6alZdf38/TU1NeHl58Y1vfINZs2Z94uf5xnWj/NdgMPy/zES7cX3xi66YjQs39tNgNVarld27d5OZmUlHRwe9vb0EBAQoxib4p+B93t7eTE9PYzKZOH/+PBcuXGBgYEA9ZG+2bsXVlURaIXR/Ul9dGcyNjIxQVFSkD19NTY126T09PcTGxjI6OqoPpDiCydf09fXp6+7t7VW+rJjaCDYpCa1jY2MYjUbl2Erqwvbt2zXC3MvLSwdCIpSQOJzs7Gz27t3LnDlzSE1NxdnZmR07dpCSkkJgYKCatDs7O2M0GsnKyuLq1asMDg4qI0Hkt3FxcYSHh/P++++zcuVKenp6OH/+PJ2dnfT19TE8PKzdqMlkwtvbm8rKSqqqqoiLiyM7O1sTjsfHx0lMTKS8vFwHqFJcn3rqKdLS0lTKLdfSxcWFwsJC3nrrLe6//36Cg4N59913cXZ2JiUlhaKiIlJSUujs7FS2gmxUsrk4OTnpAMrX1xdnZ2cGBwd1g/fx8dHII4FLZFMUP15JuggLC6O7uxuLxUJ0dDR9fX0MDg4SFxdHb2+vel9I1+vh4UFTU5MW0xkzZuh7ZjabaW1tJT4+nsrKSuLj47l27RrR0dEqoPHw8NCCW1JSwuzZsxkcHKSlpYVZs2YpfS09PZ2+vj4uX75MWFgYQUFByuFtaGggMTFR75HR0VEGBgbU8jItLY0lS5Z8Ip/hW62RkZHr5L9/xiEafEzR/UK4jE1PT2th+Di3oPz8fI4ePcq///u/3/Tve3p6SEtL47/+67/Yu3cvQUFBKhDo6+ujra2NuXPnqsVfVFSUTqQNBoMalMyYMUNVUpGRkdf9jBtDJf/Q1Aj7JbE9FouF0tJSoqKiNJwxLCyMpqYmfH198fLy0g0DoLOzU01menp6MJvNOnX38PDAZDLpTW80GjV5V9y0BHuVE4W7uzseHh488sgj6ifr7OyMt7e3dmnz58/n1KlT3HPPPbz22ms88cQT1NfXc+rUKb72ta+pocwbb7zB+vXrWbRokf6c8fFxhVoKCwvZvn27wh0+Pj5kZ2czOjrKypUrOXLkCAkJCYSEhNDd3a287OHhYRVIiPY/KCiI+vp6KioqCAgIoL6+Hh8fHyoqKnRy7+LiwqZNm1izZo1KSAWTFdjh3XffpaysjCeffJKQkBB27dpFU1MT69ev57XXXmPdunWcOnWK5ORkzp07R0REhKoThdHh5eXFgQMH9KQmUlV3d3e9FgK5jI2NqUm8j4+PQhHCaGhra8Pb2xtvb28aGxsVAmpoaNDcudraWqKiotSkKDg4mLq6OmJjY2lra8PR0VEbmYCAABoaGggPD6exsZGgoCDa2trw8PDA0dGRlpYWkpOTOXPmDLNmzaKlpYW+vj7i4+M18iktLY36+nrq6uqIiorSQXVzczMDAwNER0erSc7IyIgW3I6ODoxGIy+88IIKRj4NJHCjFeafyUPXfn1xrR2FoiJ46cfZMV6+fJkHHniAsrKyW35Neno6zz77LD/5yU94+OGHKSoqUsmlwWAgPj5e8TiJ1xZfXLHim5qaIjY2lqCgIAICApg3b57yICUlwtXVVfFb+f8/tDufnJykvr6e2tpakpOTaWhowNvbGycnJ7q7u4mNjaW3t5epqSn1F5AHUG5mKYxOTk4EBgYyPDzM0NCQ8m6lABiNRvXGlc3N0dERJycnxRufeeYZjTaS4ZHwRwWGCA4OVi7p008/zfbt2wF44IEH8PDwoKuri//6r/8iOjqaLVu2AKjIBFAvhatXr/L9739fKVhy8liyZIlmzc2ZM0cn8NLdABiNRs6ePcuFCxf0765evYrFYlGrPycnJxISEvinf/onhUqE9SAR7ZWVlezcuRODwcBXv/pVRkZGePXVVxkdHeX+++/nt7/9LQsWLFCXNj8/P6ampqirq1MOrEBi7u7urFu3js2bN+Ph4aHMh8HBQaanp9Uac2BgQN9/ibt3cnLC19dXwzUDAwOZnJykvb2dwMBA4CO2Q3BwMJOTk3R0dBAVFaUMCH9/f2pqaoiOjlarxpGRERV6COWtra0Ns9ms5jZTU1OKwZ49e1atHiU9+vz58zg4OBAfH09jYyOtra3ExMTg4OBAS0sLDQ0NSkWUyCeR63Z1ddHa2qqG79u3b1eF4afJexMTeemU/0weuvbri1t0H3vsMbZs2aL5VbfKIZMuLjo6muLiYoKDg2/6/b7xjW8QERHBT37yE1588UVeeOEFLl++jM1mIyoqSrmrMhwKCgrSSO+AgAClK4mtnf3unJKSwqxZs7DZbDg7O3+q1Aj7VV1dTUNDA0lJSeqb0NfXB0BISIhieILVhoeH60MbHBzMwMAAU1NTmM1mHYxJdPjAwIA+7NLhCd9XDNgBNQXfsmUL7e3tOgQUX1ZRf124cIFVq1axf/9+vv71r7N7926MRiMbN27kueeeIzo6mvvuuw8XFxdGR0fZunUrTU1NfO1rXyMuLg4HBwc1+RFGxIULF/jpT3/K8PCwikfs71fZHO0tMCcnJ/Vr5O/tj/gCHYSFhfHDH/4QQE8iLi4ujI+Pc+TIEQ4ePMj09DRr1qwhOzuboaEhnnvuOeLi4li3bh0vvfQSwcHBxMTEUFBQwMaNG9m5cycLFiygtbWV3t5epZLJ7+Th4cHevXuVemcwGDAajWqPOTw8rMwOOdn5+Pio4ZCkKoiRfFBQkBbisLAwenp6GBkZITQ0VLt6wXrj4+OpqKggIiKC9vZ2HB0d1X1MNmbpql1dXZVaGR4ezsWLF0lNTaWiogJHR0dmzJhBaWkpJpMJf39/6uvrsVqthIeHMz4+TkNDA729vYqxC5YtsFVPTw+tra2qwCwpKblO7v5JEi9uXNIseHl5/Tk9dO3XF9dPt6mpia6uLlJTU2+Jl1osFmbNmsXTTz/N2bNn8fLyIiUl5abfb3h4mIKCAjw8PJg1axb79+/HbDbj6OiIv7+/dgHycwQWkA5MImd8fHywWCz09/frkbyhoYGTJ08yOTmp5P0/JIFU1DheXl5UVlbS1tZGeHg49fX1xMbG0traqhhdV1cX0dHRmjzr7+9PW1sbfn5+6qHg6+uLk5OTZpbJ8Gx0dBQfHx9NQgA00VYsMH18fFTLXl9fr0djOXE4OTlhMplUzrlgwQKuXLlCbGwsx48f57777qOsrIzS0lIefPBB6uvr2bZtG05OTsyePZucnBymp6d5/vnnKS0tVVcuo9GoHYoMNTs6OhTikFBLESDIB6BR7oJNCx7r7u6uOKmbmxu+vr788Ic/xM3NTQtxR0cHb731Fj/72c+Ympri7rvv5pFHHiE5OZni4mJ+8YtfkJeXR1paGr/4xS9ITU1lyZIlvPbaazz44IMcOnSIzMxMrl69Snh4uBYYua5iL9jV1UVaWpq+npGRES10IkQZGBjQDlGwdJPJpEd2Z2dn/P396e7uxsHBQeEAJycn/P39aWxsJDw8XOOQoqKiqK6uJj4+nubmZoWXJF+vv78fDw8PnTmIYCckJITKykrS0tK4fPkynp6ehISEcOHCBQ0xraqqwtHRkaj/MYivqakBICwsTEUlgtMLtNDZ2akpFgEBATz88MPXPQf2Xgriqma1WpULfrPuVaijUrz/TB669uuLO0ibnJxUJyjBx248cri4uLBv3z5mzpypHdLtt99+0+9nNpv5x3/8R3JzcxkcHKSwsJCMjAwdfIhiSjLIxDJOuih7g5vAwEClX01NTV3n2CSSW/kMKE4o31NwvJqaGv13LS0tWCwW+vr6CAsLo7m5mejoaBoaGoiMjMRisaiKSHBcuSlDQ0Pp7e3F0dERPz8/+vv7VUEmxdZkMmn8jBRXg8Gg+K3geIJJurq68s///M8axePg4KCcXVdXV5W0Ojs7Xychfuutt9i0aROTk5Ps3buX3NxcVq1axfHjx9mzZw9+fn7ccccdbNy4ETc3Nw4ePMhrr72G1WolODgYT09PHBwcmD9/PleuXGFoaEjhDkAN1KXASsy6FGEpuBKfI5Nso9HIv/3bv2m8/AcffMDzzz/P7t27iYuL46tf/Spf+tKXCAsLo7Gxkeeee45Lly7x1FNP4eLiwq9//Wu+/OUvEx0dza9//Wvuuusu5cUKd9bFxUXZIAJVODs7YzAY6OrqYtOmTToUdnNz06GsBGBKtzY0NITBYNATlry/zs7OdHZ26gYrMIP4PIikWpzQGhoadEAmIaTSOYo/hiRJCMbu5+dHXV0ds2bNory8XFOUL1++TGJiIhMTE1RXV2t8UldXFw0NDZhMJkJDQ5WpI9JyYW1IRy+nqsOHD9/y2ZfrKJ2umEzJZmbPXhodHVWICPhEYqk/8friDtKGh4dZu3Yt+/bt08GSvZv+xMQEt99+OxkZGQQGBrJ8+XK2bNnC2bNnb/r9pqenyc7OZtOmTRw6dAgvLy+Cg4NpbGzEyckJs9msx3VJkrWfhkqxldRZb29vhoeH6e/vV08B6S5FLCD5YSkpKUrnSkxM5OLFi8yePZvq6mpiYmI0Qqarq4uQkBDa29sJCQmhra2NuLg49W8Vwx2RrprNZi3iQUFBymE2m81YLBYmJycxGo0YDAasVquas9jnuAF6LBdWwdTUFE1NTTz77LOK2Up3JPCCxWJh/vz5FBYWsmzZMk6cOEFiYiIJCQm8+uqr3HXXXYSEhLB161Z8fHx44okn6O7uZuvWrUxNTZGbm8vSpUvx8/OjtbWVd999l/fff5/h4WGio6OJjY0lMjKS/Px8pdBJBp3RaNQTiDx88juIbFcEJtL5PPbYY5hMJvbt28f777/PrFmzyMvLIzs7G0dHR1U4vvHGG+Tn5/PlL3+ZJUuWsH37ds6fP8+3vvUtrl27xttvv82jjz7K2NgYe/bs4dFHH+W3v/0t99xzjxZw6WzhfyOKPDw8WL9+Pffee69GDMnwTnBU2eBMJpN2qx4eHhiNRh1cBgQEaChoUFAQnZ2d2Gw2zGYz9fX1qnTr7+9XtktUVJTye8Ug3WAw6NzBweGjRGd3d3daWlqIjIykurqa8PBwJicnqa2tJSEhQQdkERERODo6Kl4um6UElko8kcA3k5OTDA0N6bUxm8289dZbf1A9uDHvTWiLYn7k6Oj450r/vXF9cTFdm81GdnY2Bw8eBLhpNPmaNWu4/fbbOXXqFG+++SYxMTGcPn36d0jW0sH+4he/oL29nQMHDvDkk09SWFioR3dRXfX39+Pk5KTuWMPDw7pzuru7K8ld8sHkpurv7yc0NBSz2azFOC4uXr8KvAAAIABJREFUTnmewq8FCA8Pp66ujuTkZGpra4mLi1MlWVtbG8HBwbS3txMTE0NzczORkZF0d3drAGNvby9hYWH09vZqVydYms1mw2KxXAcxiPBDsDyj0cj09LSyMwQvHx8fV2Pw73znOzQ0NGgIpHgsyAAoKytLPVb379/Pww8/zOHDh3FwcODOO+/khRdeICIignvvvZfy8nJ27NhBVlYWjz76KPX19ezbt4+SkhIWL15MXl4eycnJODs7q1lPTU0N165d49KlS2riIp2jHCftXdmcnJz0d5LP9kbnIyMjmM1m1q1bR15eHr6+viqMKSsro6SkhDNnzpCRkcFjjz3GiRMn2LlzJ8uXLycvL4933nmH8+fP87WvfY0LFy5w9OhRnnrqKXbu3ElKSgoNDQ34+vpSUVGhQobe3l5NPJCB4K9+9SsV98hrl9OGdPPiq+Ht7a0whAxSOzs79bQhRuhiYi68bQcHB7y8vGhubiYqKora2lqCgoLUE1mwecG8rVarqjQjIyO5cuWKCjNkcNvW1sbAwIAGmtbW1irkI4q6pqYmLBaLQgGCa1ssFrq6upicnMRkMrF3794/qjbY572J2EgaiD8zcwG+yEUX4P777+dv//ZviYmJuW6YZrPZ+Na3vqU4XUpKCnfccYcanNiHOtrTturq6rjjjjvIy8vDz8+PrVu3avcmah5A8UUJJRQuqBzB5YEPDg7GZDIpFtnW1oaXl5eaVnd0dBAREaHm3mISLhLMhoYGEhISaGhoICYmhsbGRkJDQ+nq6iI8PJy2tjaio6N1Qi34lp+fH11dXQQGBmK1WpmamlJYQSAAgTbk95NiK+m74isgHYQUAYPBQHd3N9/85jf158nwZ3R0FG9vbyIiIjh//rxq8G+//Xb27t3LfffdR1VVFVeuXOFv/uZvOHHiBIcOHeJLX/oSt912G3v27CE/P5+FCxeyfv16ZsyYwYEDB5T7umjRIrKzs5kzZ44ONB0cHPjHf/xHmpqaFB8UFoMMUaQTli5Hpt9iJ/n0008zc+ZMfHx81J2tpKSE4uJizeBKT09Xs/MXXniBkJAQpb9t27aN8PBwvvKVr/Dqq6/S3t7OV77yFfLz82lvbycqKkptIQ0Gg+Knrq6u+vqko33ggQcUMpNNQe6foaEhjal3cHBQjFeu5+joKL6+vlgsFoaHhwkICKC/v5+JiQn8/f1pbm5WrrBwtYVR0dbWho+PDz09Pbi5uanqUShscsoST4zOzk4GBwcJCwujvr4e+AiiE/OdoKAgxV3lz+SEIWIhuXeE5TE5OUl4eDjbtm37TOqDwGtOTk7X8bX/zBLgL3bR/dGPfkRAQAAbN27EarVeRyX5l3/5Fx566CFVGd24bkXbWrRoEQ888AA7duxQ+WZ7e7sKEqSYuri4qNnL5OQkPj4+mo4A/xsh4ubmhr+/vw6oRIAQHx+vXMfAwEBNAYiMjGRiYkKnvjJhFv+EtrY2pf3MmDGD9vZ2JcXLMcpisRAYGKiTZwcHB4aHh1VWKjHUMhiR7lC6G3vzdSlSUpjlfa+qqlImw/DwsA4InZycaGxsJD09nfLychITE6murmb9+vX89re/Zf369dhsNnbu3Mm9997L3LlzefHFF2lubuYv//IvSUhI4P333+fdd9/FycmJu+66SzfMU6dOcerUKTVsWbRoEenp6YyOjvLjH/8YQLthUc4JU0Sut2C4gsOvWrUK+CjFt7y8nO7ublJTU1mwYAELFy5UGGj//v28/fbbuLm5sWXLFkwmE7/5zW+wWCxs2bIFPz8/fv7znxMSEsKmTZt46aWXcHR0ZPbs2Rw/fpzZs2fT1NSEm5ubFjF7u1GJmjGZTPzoRz+6buBjv3FIaoX4PkxOTjI4OKjdnBRNd3d3Ojs7lfXQ2dlJYGCgJnF4e3urUk7CNoUJIXJlKbg9PT0EBQVx9epVoqKiaGtrY3p6WilnwgEW2pjItQcHB2lvb8dmsyljA1AIQDZJcTozGAzs27fvM+tExR9DBneSBPz/F90/Yh09epT9+/fzL//yL78jPvi4JQ7yN6Nt/fjHP6alpYX8/Hy+8pWv8O677ypfVWhNNptNKWMGg4HBwUFmzJiheK74DgjFRsL0QkND8fDw0MlzaGgoXl5edHR04OnpSVBQkHazcqwMDQ2lublZoQT5HB4eTnt7u8p7hWvr6OiI0Wikv7+fgIAAhoaGcHZ2VkxNfg+LxYKjoyNeXl4aPS/HPukKXVxcNCJIpuwTExM888wz2pHLZmUymRgeHqatrY3U1FTtquAjHf+lS5d49NFHef7551m4cCELFy7kpZdeYnx8nK9//ev09fXx/PPPY7PZuPPOO1mzZg21tbXs2bNHDa6zsrLIyckhMDCQwsJCTpw4wYULF5QtIt2ZYOzymuW4LEVLIBGDwUBcXBypqanMmTOH2bNnExcXx9TUFBUVFRQVFXHmzBmuXLnCkiVL2LBhAwaDgV27dlFaWsqjjz5Keno627Zt4+zZs9x7772kpKTwox/9iLlz52I0GtWf9+TJk8ydO5fa2lrlLYvCzsXFReXBRqORv/qrvyIxMVGxcqFxSeGQI7LVasVms+Hp6anx8j4+Pkrr8vX1ZXh4mNHRUcxms7I9xA8jODhYHebkHhTGhBTc7u5ugoODuXbtGpGRkTQ2NuLq6orRaFRvD7GT9PDwUPZOS0uLbu7iUzE9Pa2+y+Pj44pbS3GOiYnhN7/5zWdWH+R5kFQP4XX/mdcXu+j29fVxzz338Pbbb+v0//e9qQK2Cy3oxtXY2MiSJUvYuHEj09PTHDhwQHfq4OBgzamSqa2jo6P6L0g3KxQm8SUQzHhiYkLNSGRi7eXlRVBQEP39/dhsNsLDw9X9Cz6ivYWGhl6H4UZERNDa2qrqK/GJkKOjxH2LEmdiYoLJyUl8fX0ZHR29TkwiunT76b6jo6N2JfaxJtPT07z00kucO3dOJZuOjo7K55yYmCAyMlJx3ZCQEKqrq0lISMDT05Njx47xjW98g61btzIxMcHTTz9NbW0tL774IrfddhsPPfQQjY2N7N27lw8//FCvQ1xcHOfOnaOwsJBTp05hsVjIzs4mJyeH5ORkYmJimJyc5JlnntH3DFAe7MjIiB7TxfzE19eXn/3sZ7i7u1NTU0N5eTkXLlygvLycmpoaZsyYQWZmJllZWaSkpPDhhx+yc+dOBgcH+dKXvsTq1avZvXs3Bw4cIC8vj7y8PI4dO8bu3bu57777uHLlCp2dnaxYsYJdu3axZs0aTpw4wfz586mtrWVwcJDQ0FAA3QAEG/f39+cHP/iBHsOlyxXKlEBiwsqQI7TwrA0Gg+L4clLp6urC19dXHfhMJhOtra0EBQXR2tqK2WxWYycRbXR1dREcHExtbS2RkZE0NDSoQU9DQ4Ny1xsbG3WW0dPTow51gvMLLCLNjohR5P/FK2TPnj2fqWhBTgDOzs6flyEafNGLrs1mIysri4KCAi02Nw7T7L9WVC2/zzn+0KFDJCUlsXr1apYtW0ZlZaXSdoKCggAUd5VJs4Q5SoGSY510vvLzZJAgJjni8hUeHq7k+MjISDo6OrRLkI63vb1dC65kcAn53c/Pj+HhYR0eDQ8P4+vry9DQkKrKxLRGwjLtDXjELF0YAC4uLgDXMQMMBgPf/va3ddIszlkCr3h5eTE4OMjExARxcXEUFRWxYcMGDh8+zIwZM4iNjeWNN97g2Wefpb6+nldeeYX169eTl5fHq6++yuHDh8nMzOTuu+9WK8hdu3YxNDREVlYWWVlZLFy4EEdHR06ePElhYSFVVVXU1dUREBCAh4eHdo7ymgF94ISFYDAYSEpKwmKxcOnSJQICApgzZ476QcycOROAqqoq9u3bxzvvvMPcuXPZtGkT/v7+7N27l/z8fG677TYeeeQRTp8+zWuvvUZSUhJ5eXm88sorhIaGqi/Ehg0b2LNnD6tXr1bPXenu7I21Adzc3DAajXz3u9/FZDJdJ/oQgYecRKQgix+EnKiEVibR8BaLBT8/P1WxSXEMDAyktbUVf39/tVGU2YhACnV1dQpByMlF7r++vj56e3sJCgpiYmJChQ2i/hodHVUfCWl2hJIoMIb4OScnJ/PTn/700xWCWzzvfX19mEwmZap8DoZo8EUvugAbN27k+9//PmFhYbdUpt2YwvBJMZ1f/vKXHDx4kKqqKqWBCQ7n7e2Ni4uLprY6OztrIRXli5hzi0hCputCkZFIHDlizZgxQ4ccEoPu4eGhloqhoaF0dHRcF3o4NDSk5jzykMkxVR42GSjZD8YE5gAUwxUnNJlgS6GVSXN+fj4FBQU6QJMIGhlOtLa2YjQaiYyM5MyZM6xfv57du3fz0EMPceTIEby9vVm4cCHPP/88y5cvZ926dbz44ovU19fz9a9/ndTUVPLz89m1axcTExNs2rSJdevWMT4+zunTpyksLOT06dO4urqyaNEi5syZQ0JCArGxsVitVqqrq9mxY4f6yUo3JVCP1WrFYDCwYsUKIiMjiY6OZs6cOZo8ceXKFSoqKqioqFAoZ/ny5axfv56ysjJ27txJZ2cnd911F7m5uZSXl/PSSy8RGhrKY489xuXLl9mxYwcbNmygpaWFxsZG1q5dy44dO8jNzSU/P5+VK1dq0q2bmxv9/f0MDQ0pNCVzgPDwcL71rW9dxweX+1aO6oBCD4CyMMSbWAqc4LKenp46L/D19aW9vR1/f3/l9nZ0dGgjEBAQQGNjIzNmzKCurk5l71Jk29ramJiYIDAwUB3gPDw8lCopvhACJUh3Ljx3ed3Cpnj99dc/U6z1cyj/lfXFL7r/+q//qhLM4eHh3+liP2m6w83W+Pg4mzdvxtvbW4/UJpNJOynhFHp4eDA6OqoYrQxw4H/NvOWGlOhyiRl3cHDQ5ICenh7FyES+OzQ0pLE3g4ODBAcH67Gvu7tboQlRzMmmIvQb6azFQEXwQ1GPubq66kMrGK4999j+/fqHf/gHBgcH9cGWDcVqteprDwsL4+zZs5qptXnzZl566SXWrVtHXV0dDQ0NPPLIIxQWFnLy5EkeeeQR/P392bZtm8JFGzdupLm5mR07dvD+++8TEBCgnW5GRgaDg4N8+OGHXL58matXr1JTU4PNZiMuLo74+HgCAwOpr69XKpkU3+npaWbPnq22iR0dHbS0tGAymUhKSiI2NpaZM2cye/ZsTCYTxcXFnDhxgiNHjpCZmcm9996Lv78/b7/9NgcOHCAuLo4nnngCm83GT37yEwICAvjSl77E9u3bCQgIIDExkX379vHggw+ya9culi1bpgGPsnkEBwdrURK8WTDT733ve8o9FzN4Kb72DAD5M7kmBsNHMe8CtUmKs8AuMnDz9/eno6MDf39/2tvbFSYKCgpSpk9DQ4OKaGRAW19frxS39vZ2xY/to4bsB5gCbw0NDSm10cXFhaGhIVpbW5k1axbf/e53P9NOVDDjz5H8V9YXv+geOHCADz/8kL//+79Xlyv7i/1J0x1utUZGRqipqWHjxo2KmQKqLgK0Ww0MDMTT01P9FQTblSO9TIUl20qOhdKtyo0oJt5dXV2ayyUDMvlawXCtVquKHSSVVuLOZSgiTAT5e3s/WPuML0mjuLHYwkcGQ9u3b9eQT3vTFjHhdnd35/Llyyxbtozjx4+zePFiCgoKuP/++zl48CD+/v5kZmaybds2EhMTWb9+PW+99Rb19fU8+OCDWqTee+89srOz2bhxI/PmzaOxsZEzZ85QVFRESUkJvr6+zJ07l9jYWKKiooiKilJz9qtXr1JbW6uSa6EreXl5MX/+fOWNms1mAgICVFhQVVWl3N+qqipGRkbIzMxk8eLFZGVlUVRUxO7duxkYGGDjxo3ceeed1NTUsH37dlpaWviLv/gLKioqOHz4MA899BB1dXVUVlayYcMGtm3bxp133sn777/PokWLOHbsGDk5OVy9epWBgQH8/f112CfXxs3NjeTkZB5//PHrrsPHFV/ZPKXAyPTe3d2doaEh5f2OjIzg6+tLW1ubFtzAwEAV2bS0tBAaGkpTUxN+fn7qcSv5djK7aG5uVstKMdoRkY0UT2EqiB1lV1eXDjn7+/sB+O///m89jUkj8MeajItyUuAW4Drx1J9xffGLbnt7O48//jhvvPGGygDtWQafxBT845bIIP/yL/+SEydO6A4/NjamcTYiQBDtu/B/zWazihDsJYuA8mm9vLxwcnLSSG8/Pz8GBwdxcnLSZIeAgAD93cQGz8/Pj4GBAeVlmkwm7ehFiSNRMjabDaPRqOY1Hh4eylYQbE1wwpvd6AaDgX/7t3+jr69PNwCBbEwmk4osenp6WLx4McePHyczM5OSkhI2bNjA9u3bWb58ORaLhVOnTvH4448zMDDAq6++Sm5uLgsWLODAgQOcOHGCFStWkJeXR21tLfv37+fy5cvExsYyf/580tPTmTt3Lr29vVy8eJG6ujr9kI4sKiqKoKAg9XsVLFEe6rGxsevsA52cnAgODiYxMZH4+HhiY2OJiYlhYGCA4uJiTp06xdWrV1m+fDkbN27E1dWV/fv3k5+fT2JiInfddRcuLi4899xzLFq0iKysLH79618TGxtLSkoKu3bt4rHHHmPXrl3MmzePsrIycnJy+OCDD0hOTmZ8fFzNycVXQCSunp6efO9739N7xn7ZF1+xYxS4SEQHwnwQcYPwqYVWKK5z4s/h5eVFX1+fFl6z2Ux/fz9TU1NqF2k2m7XAyr07PDxMZ2envnY5WUgKtDB4LBaLDlydnZ2V6fLd735Xfye5Rp/GUcx+ySYjdEfhmX8O1he/6NpsNhYuXEhBQYGaaosC6dO6eNkvGVY4Ojqybds2fvzjH2MwGFQIIRp+k8nE9PS02k2KJFPcu4S6Isc/ESEYDAb8/PzUyUm0+sPDw+rbICyEyclJ5VgKfi2EeOHbOjk5ae6YRATJsE+mtzIou/FIeuMSPLejo4Nf/epXSsCXCbB06kJ8T09P5/jx4yxdupRTp06Rm5vLm2++yf3338+pU6dwcHBgw4YNbN26ldHRUbZs2cKZM2c4ePAgt912G6tXr6aqqoq33noLDw8P1q5dS2ZmJmNjY5w7d46zZ89SWlqKj48PMTExREREMGPGDCIiIggLC8PZ2ZmWlhbND5OuSx5ecbYSQ57x8XHliba3t1NdXU1VVRVXr15V9kJ2djZGo5Hi4mL279+Ps7Mz69evZ9myZZSXl/Pmm29iMBh48sknOXjwIDU1NXzlK1+hpKSEiooKNm/ezAsvvMDdd99NcXEx4eHhXLp0iZycHE6cOEFgYKAalQsjYWxsTCGlnJwccnNzr/PgvfH+lw7XnsNrj+/a25+KkZGTkxMWiwUvLy+6u7vVwjEgIICOjg5N65BNWuKeJL3Yz89P/UVGRkYwmUz6/IkoQew+7YupxAHJgE8sPm9cwmwQ2OWTOIrZr/7+fjw9PXU+Ic/G52B98YsuQG5uLr/85S91kCTHk89iycWHj4rQPffcQ01NjQ7JhBju7OysE3xPT0/VvksMjRzbhdUgO7j4HNh79EqYoTAEAgMDGRgY0CGddB5SeGWCbTAYFMcSeMPeQlCWYLfATbtboY7Jz3r++efp7OzUjUCGIvDRQy8ubOfPn1csd9myZRw+fJiHH36YHTt2MGvWLEwmE3v27CEvL4+YmBheeOEFoqOj2bhxIzU1NezevRt3d3c2btxIQEAAp0+f5uTJk4yPj7No0SIWLlxIWloaVquVhoYGGhsb9aOpqYmWlhaFZiSpWLwl5KEfGhrSZAmJOA8MDCQoKIiEhAQSEhLw9vbm4sWLnD59mqKiIsWUV69ezcDAAIcOHaKoqIisrCxWrVpFQ0ODGvmYTCZefvllVq1aRVhYGDt27OCpp57i9ddfJy0tjebmZsLCwrh48SILFy7k7NmzytsVmbVcTxnefvOb39QNUGAI+2WPWUuckGDD9tdKMH375BGBpfr6+nB1dVX8t7+/X3nvXV1d6ukgEnIx+ReR0Pj4uG7KQ0NDSk2T+0nEKS0tLbi7u9PT00NKSgrPPvvsxz5/n6b7/Rwal9uv/xtF9+///u+p/598sCeeeOI6itYfu2TnlkI+PT3Nf/zHf7B161bl5Pr4+GjxdXJyIiQkRIulFFwpbo6OjpoMYDQaVcEmaqmAgABNcxDDmqGhIUJCQpShIN2LvWes8Del+5VJtUyyBesVaOBm2K1wQQEdqIknhdjviZ2l/AyRQre3t3Pbbbdx+PBhVqxYwfHjx9m0aRMvv/wya9as4dq1azQ3N7N582ZKSkooKiri4YcfZnx8nF27duHm5sZdd91FQEAABw4coKioiLS0NHJycoiKiqKmpobi4mJKS0vVnD0sLEw/JBtNXvv09LSmR4igQLB16XoGBwfp7Oyks7OTrq4u2tvbqaiowGq1snDhwut+tgglYmJiuOOOO0hMTOS9997jyJEjLFu2jCVLlrBt2zZcXV257777eOedd+jv72fTpk28+OKLbNq0ibKyMoW+IiIiKC0tZebMmfT19WkixvT0tL5GoRvecccdGmcuCjYpnPZLcF17uEE6PemehdEwOTmpw2A5cYkgQhSGDg4OOnDr6elRj92BgQG9F8WJrre3VyXn0kwIXUw2DAkNFZ/gl19++Q86iX5SP93JyUmNO5L35XMyRIP/C0W3ra2NFStW4O3tzZtvvqlk6D/2KGHP6xVAXgrS2NgYubm5tLe3azdiDzPYiyQk6E8oK9IhC84rBVtI6ePj49cxGPz8/LQjCQoK0h18dHRUUwZEkeTl5cXIyIh22mK3KMMu6Thu1t3aU8OEpuTi4sLLL79Mc3OzWkAKRiaQRHt7O25ubqSmpvLBBx+wevVqCgoKyM3NZefOndx3333k5+fj5+dHZmYmr732GlFRUaxatYo9e/bQ29vLhg0bCAoK4uDBgxQXF7NixQqWLFmCxWJRmpi7uzuLFi0iMzNTQxZbW1tpaWmhpaVF/1vsAsUD1mg06uZgtVrp7u5menpau1uxIAwMDCQwMJCQkBC6urp0YxgeHmbBggVkZWURHx/PpUuXOHjwIK2treTl5ZGQkMDhw4eprq5my5YtNDc3k5+fz/3338/ExATvvPMOTz75JDt37mTu3LmqRhwZGSE+Pp7i4mJCQkI0lFE2eME9xU/3mWeeURbAjSeRG+9b6Wzl5CMd3ujoqA7VhCkh/16gDRGPCNdXnMdE+dbd3a2m4OPj42rLaL+BT09Pq//D0NCQcsIHBweVBTFv3jy+9rWvfepn095RTLBbeeZFiOTp6akb0x/iX/0nXl/soltaWsr69ev58pe/TH19PVu3btVi88eA5jfyeu3xUvuvufvuu6murtYoHKGFGY1G/Pz8sNlsqkMXZzLRxcv3ki5M/r10aL6+vri7u9Pf34+vr6962fr7+9PX16ccXeHb+vj4YLVateDK4ECOZLeCE272AAtUYbVaeeGFFzStQDYF+wczIiICm81GVVUVK1eu5ODBg6xYsYKCggLuuece3nrrLdLT0wH44IMPuP/++xkaGlIK1ezZs/nggw8oKSlh6dKlLFu2jIqKCo4dO0ZraysZGRlkZmYSHBxMRUUFJSUl11kGhoSEEBISQmhoqAok5CQh1ptytBX+svi5dnV1aZcrHe/AwADz5s1TJVpvby/nzp2jpKSEgYEBsrKyWLlyJf39/ezatYvp6WnWrVuHs7Mzb7zxBunp6SxYsIDXXnuN8PBwbrvtNl566SXuuecezp8/r3i+k5MTzc3NZGZmcuHCBcbHxzX2XgQnQu/z8vJi7dq1JCQkKG4rkuebQQ72cIN8vWy2VqsVNzc37UDHxsZ0KCefJaFCBmvyHEi8k4eHB/39/fT19amlp8wbpMu0H1qKP3RXV5dCDr/61a8+kyIo3a/ck/JaxLj+cyT/lfXFLrpdXV2UlZWxcuVKsrOzKSgouI4S9WmWYLj2vN5bFfLa2lo2bdrExMQEXl5e+Pr6auEVLq6/v7/CC2azWYdpgjXa09ukeDs4OOiQQ6hfYlwzMTGh+nbpcAU+EFqaDMyk4MqR70Y44cajqnS34nD13nvvUVdXp/icYMGS1eXj40NdXR0TExNkZWVx5MgRVqxYweHDh1m/fj07d+4kNzeXy5cvY7Vaueuuu9i7dy8DAwNs3ryZc+fOcfToURYsWEBOTg6NjY0cOHAALy8vli5dSmJiIr29vRQWFnLmzBn8/f2ZM2cOcXFxzJgxQxOL29raaGtr00DKGz+E8iS86oCAgN/5MJlMTE5OMjAwQFVVFSUlJbS2tjJ37lzS09NJTk5mcHCQ8+fPawhmbm4ujY2N7Nu3j9jYWFasWMGpU6dobGzkoYce4tKlS5SUlPDoo4+yZ88eUlNT1ehmcnKS+Ph4SktLSUlJYWJiQlkM9gY4Akf5+fmxefNm/Tt7ibBcR+lwZUkRtLdRFDhBCrBgwAIvODk5qYpRWDTOzs50d3crnioJD/L6pLMULwV5BsfHxzUqCD5iGo2NjbFo0SIeffTRT/V83mrZd79ySnB3d1cI5XMg/5X1pym6hw4d4utf/zpTU1Ns2bKFv/u7v7vu71955RW+9a1vqa/t008/rWGEn3atXLmSV155ReO5Py6o8mbr43i9NzNJl3XlyhXN+JLIbB8fHw1/FIMZFxcXdfQX1ZFgd3L0kQfObDarW5aHh8d1hVeui7AQ5Pe1N3qRzlYK6M3YCVLspbu1D2CUzmn79u2arSYuboAamHR2dhIaGoq3tzcXLlxg2bJlKo/Nz8/n7rvv5siRI4SGhhIdHc3OnTtZsmSJGpnPmDGDO+64g+bmZrVvXLNmDf7+/ly+fFmtFTMyMsjIyMBkMikX99q1a1y7dg13d3dCQkI00kfctuSz+BBIztnIyAi9vb10dXVptytsh/DwcGJjY0lISCAlJYXR0VEuXLgPMG4QAAAgAElEQVRAaWmpxorPnTuXqKgoTp8+zalTp1i+fDnp6emcOXOGwsJC7rzzTlxcXNi7dy9Lly4lNjaW119/nbVr13L69GliY2OxWCx4eHhQX1/PwoULKS4uVkMkOdbL9RXao7e3N3l5eZjNZuB/PTHkvhVBy41dr33hlf+Wf+Pq6qoiBhnKikm/cGhlpiAFVmKg5HQk0l5JvBAqovxdV1eXmjdJEX/uuef+oGfzD1kyRBPoTdhBn5MhGvwpiu7U1JTiXOHh4WRkZLBjx47rssleeeUVzp49yy9+8YtP9apvtv76r/+aVatWkZOT87FBlTdbcoMI4H5jgRKGwa18HX784x/z+uuvK4br6+urTAYxcpbwQAH0BW91c3NT7FGGHgIXCLQhE2JxwRf8TQon8DudrP0x1v73EThBulv7Dl64wAAnT56ktrZW/WlleCYUID8/PzVNsVgsZGRkKOn/+PHjbNy4kbfffpuMjAyGhoa4fPkymzZtoqKigg8//JAvf/nLALz33nuaFBEUFMSRI0coLi4mNjaWuXPnEhcXR19fH8XFxZw7dw5XV1diY2OJi4sjOjoaf39/nJyc6OnpUZrSyMiIRq8LJCJdvygCAwICMJvNuuENDQ1R/z8Jy7W1tXR0dDBz5kzmzZtHYmIio6OjlJeXc+bMGSYmJsjLyyM4OJhDhw7R0tLCunXrNIbdZDKRm5vLvn37GB0dZfny5ezbt48VK1ZQVlZGbGwsLS0tJCQkcO7cOdLT02lvb6enp0fFG/YMAzkZ+fv7c+edd1537wmMJL/jzbpee5zX3hhK0iAGBwfx8PBgYGBAB2lyD0mEj4h45P4Vut3Q0JBCCzdmlknRlWI9Ojqq1ql/qjU9Pc3AwIDKfycnJz/TwfpnsG5ZlD71FKq4uJi4uDhiYmIAuPfee3nnnXduGQj5Wa158+ZRXl7OokWLdFf/JLub4Lcilb2VOOBGmo79+uY3v0l3dzdHjhxRgru7u7uaqwhtBdBBiPyZDOump6fx8fHRLm1kZETVa+LoJYMyHx8f3cVlSCYMBhlyyUMgBda+E7aHE2RoY/+QCv9S3kMx9BFFm1CErl69ip+fH9HR0Zw+fZpFixbx4YcfasFdsWIFFRUVTE1NsXnzZi1IX/3qV9m/fz+tra3cfvvtREZG8sEHH/Daa6+RnZ3Ns88+i81m4/z587z44osMDQ0xb948nnrqKfz8/JiYmKCpqYnCwkKuXbumxH45/srkXzY12VQk4ru6upre3l56enq0mEmCb3Z2NqtXr2Z8fJyKigpOnDjBm2++ycyZM0lLS+Pxxx+nqamJgoICfHx8WLt2LcPDwxw4cABvb282bNjA1atXefHFF7n77rs1auiOO+7gyJEjLF26lIsXLxIXF8f58+fJycmhtLSUoKAg4uLiGB0dpaen5zpqlODSgpHKVB7+Fw5zc3PTe0mELvYbq9Dm7Iuy3GcinJD5gNxL/f39eq+JR7FgqENDQzpcEyhBWAsib5f7WjptDw8PNm/e/Imf6U+zBM+VmYN9XtrnfX3qoivm2rLCw8M5c+bM73zd7t27OXHiBAkJCfznf/7ndf/m06x58+ZpdM8nLbr2Bhy3UmMB+udyA99sff/736e+vp76+nq9gaUzlkIrD48ULum8ZCAi9Caj0ai+qPbDMaHsCI4rVoACJUjsi2B3gsHaG5XLkE2wOunw7de5c+eugx0EH5b3qLOzE4PBQHJyMn19fVRWVjJ//nzOnDnD6tWreffdd8nLy+PkyZMEBwcTEBDAyy+/zO23346bmxu/+c1vyM7O5q677uL06dPs2bOHuXPn8rd/+7e0tLSwb98+qqqqSExMZN26dUT9j2n7hQsXqK+vp6WlBX9/f2JjY1m1ahXh4eFaXOX3sT96S0GQDVCGLNPT00oba2hooKysjL179+Lr60t0dDQzZ87kySefZGRkhPLycp0Z5OTk8Pjjj1NRUcFvf/tb5s2bx6OPPkplZSVbt25l8eLFPPDAA+zcuZOZM2dqwV27di2HDx8mOzubixcvkpaWRnFxMfPnz6epqYmGhgYCAwOJjIxUSbt0pvBRgS0pKWHlypXXXS8pyAIXCGwkRVCurxRf+wGjXFt5v4SpIwVXTg8igR8cHNRoLHu4Qtg39hQu6XhF+JGZmfknL4Dye8uSBueLsD41vLBz507y8/N56aWXAHj11VcpLi7m5z//uX6NOB65urry61//mrfeeoujR4/+US94cnKSxYsXk5+fr/zUWw3T7PFbwap+37oxmeJm33N4eJjc3Fymp6d1QGPP4ZW4bLFCFAxSoALB8QBNs5UjvzicSfEUR3zpWGTafTOFmRQbq9XK2NiYUtpkknzj75Gfn8/AwIByIm02m3IwAU07rqurU/N1iVv/4IMPWLt2LQUFBSQlJWG1Wrl27Rq5ublcuHCBq1evcuedd9La2srx48dJSkpiyZIl9Pb2cujQIcbHx8nIyNCT0cWLFzl79ixWq5X4+HgiIyMJDQ3Vh7y1tZWGhgZ6e3sVf5YP2WCksxNsXTY7Pz8/hRoiIiJUVdja2kp9fT3Xrl2js7OTmTNnMmfOHDWCKSwsZGBggJUrVxITE8PJkyeprq5mxYoVxMbGUlBQgMViYeXKlZw4cQJvb29mz55NQUGBFt5FixZRVFTE3LlzqaqqIjQ0VP0IZEgF6CBNGATe3t5kZWXh7+//O9dOxAxyzeS6S4CldM3ilCcqRfkszAaBGywWixZzcb+TAg0fGekIbUvYLWNjY/T09ODg4KDmSGLa9O1vfxsvL6/f+6z9MctisVyXdvI58dC1X589pltYWMg///M/k5+fD8APf/hDgFsqTyS/S5JO/5i1ZMkSdu/erTfezTBYoQ/9ob4MH5dMYY8JNzU1sWXLFnWQCggIwNvbW4uoJLn6+fmpIbQM7gSaEFWS5K5Jp+Lt7a2DD7mpJM/KPoDxxoIrhjeAfl1fX592hAJPuLq6cvr0aXWOApTuI0M5BwcH+vr6GBkZUVvLvr4+EhISKC4uZtn/5KLNmTNHDa2XLFnCkSNH8PDwUMzXarWyfPlyDAYDx44do7+/n1WrVhEVFUV9fT2lpaVcvXqV+Ph45s2bR3h4OOPj4zQ3N6vfQkdHh9LGJMNOcFohzsuxWhgZUozFD6Cnp4fm5mYaGhpwd3dXA53IyEg9bVy+fJnS0lIAFi5cSHx8PF1dXZw8eRKA22+/HQcHBw4fPsz09DRLly6lp6eH0tJS8vLyuHTpktLNjh49ypo1azh69Cg5OTkUFxeTnJxMd3e3JjkLR1tc3GSzE+w/ICCApUuXanyS/RKMV5gE8v83G65J4RVGg/gwy4YmxVggA3uKmnChBZqSoitpGAaDQc3Jh4eHWb58ObfddpsOuP9U3aeko3wO5b+yPvuiOzk5qTlXYWFhZGRk8Prrr6sxNHwkaAgJCQHg7bff5t///d8pKir6w1/+Deupp55i06ZNzJ0796bDtI+L6fl961bJFPaYsAxl3nnnHX7yk5/g5eVFeHg4vr6+eHt7K/XHZrNpwrB0rlJ45ZgsmK/BYFCBhThGidBCOhc59gtuK0uO0lJwXV1df8cYRQqSaO8vX76s5H1Aj4YCxYinhKOjo0bymEwmampqSE1N5cyZM8ybN4/29nb6+/tJS0ujoKCAtLQ0QkJCeO+994iNjSU1NZWysjIuXbpEdnY2SUlJlJeXU1xcjNFoJC0tjeTkZAAuX77MpUuXaGlpUVObyMhIwsPDdQg2Ojqq/q1yirGnD0kRtvdgkOBS6b66urqor6+noaGBpqYmvL29iYmJYdasWZjNZpqamigqKsJqtZKZmUlycjINDQ0cO3aMhIQEMjMzaWhooLCwkPT0dMxmM0ePHmXlypX09PRQW1tLVlYWH374IStWrNAkierqak1eEB8Lf39/hYnEQ0PuDy8vL/URth9+2l93e9Mn2YjtcXvBW2UoJgVY1vDwsOLEFovlOrjGYrGo25wUW9kYxsbG6O7uVoNyGWo99dRTOjORj5u52f0x62by38+Jh679+tNQxt577z2eeeYZpqameOyxx/jOd77Dd7/7XdLT01m/fj3PPvusBg/6+fnx/PPPk5SU9Gl/CV0vvvgiw8PDPP7443rTSBGSh/DT+jLIBF9ku/Jnt/Lq/fa3v825c+cwm82Ehobi5+enyjUnJyeFF6Rg2juRSQcsr1OKvRRZkfhKERUWw424tP0wRTqmm3VHbm5uWCwWKisr6erqUmWUvVm24ITu7u709fWp0fr4+Lj6/FZXVzN79mxaWlqwWq0kJSVx7NgxdRj78MMPWbp0KQaDQTflzMxM+vr6OHr0KL6+vmRmZqpJ9vnz56muriYmJoaEhATNoRsbG6O5uZna2loaGxvp7e3FwcEBk8l03anCftJuDznYfxZ1lhTyiIgIfHx8mJqaoqOjg6amJioqKnB2diYzM5OoqCg6OjooLi6mr6+PRYsWER8fz5kzZ6isrGTRokWEhYVx7NgxzGYzM2fOpKCggPnz52Oz2aipqWH+/PkUFxezePFiTp8+TWJiohayoKAgJicnNb5Jiq2Xl5cWUxHfzJkzB6PRqHCCXCdJcxbOtwx07QuvXE/BcYXHKw5kMmCVzleaC4vFov9OulzJZxP8dnBwUH+f4eFh1qxZQ0ZGxnXwnLxeKbyfBfYq+WuSuCH3/ecM0/1iiyNuXKWlpfzyl7/kueeeUzhADLtFPPBp+XrT09M66f0kmLDNZmPt2rXqPBYSEqLiCcF4JcBS8Dox5ZAHS+AP6XiMRqMOCAX/tRdE2O/o9gX3xjRf+yUPl0hppcuVB04eFBFISOKFj4/PdZHe9j6/ExMTinWuWrWKqqoqmpqaWLlyJbW1tRr06OPjQ1FRES0tLSxevFgDEEtLS3FwcCAtLY2UlBQcHD5KpWhsbKShoYH29nbMZjPh4eFERETo+yrXQcj54qlq/97KeySDzYmJCQYHB9U4p7m5GU9PTyIiItS9TDLBSkpKdCAUExNDT08PZ86cYWxsjKVLl2I0Gjl69Chubm7k5ORQVlbG6OioQioRERG4u7vT1NTE7NmzKSsrIy0tTRN1zWYzdXV1+Pj4YDabVUUnR3y5T9zd3fHy8iIkJISoqCjthuXYLx2xvZDiVoVXvq90u3Jqs9lsWnxFZSY8cvuCK++fFHrBpAcHBxkY+P/Ye/PoqMqse3gnqcypyjxPlZnIIIOooCKCii0qTi+IIiCj2m1j+y5abfTn9IpD2720GzS2It2OoK1tiyCiqDgAMg+ROWROVZJKzUkllVTu9wfffnhyqYSMBDBnrazMdW9V3buf8+yzzz42JCUlYf78+YKCACASCj4W34+eZr9nefsv4/wC3aamJkycOBHr1q0TWRqfR09XPBbKQkJCRGZxOk7YarVi+vTp0Gg0yMrKEuN8ZP0ubySO5aEuk500FPmTtw0ODm6jWvD39xdZLoMZMbdX7QEuuT6bzYbKykpYLBbRvcV2ZFnSBgCxsbFwOp0wGAzIzMyE0Whso64AgNTUVGzduhXjx4/H1q1bERwcjIsuugg//fQTPB4PLr/8cpSVlWHbtm0YNGgQhg4dirKyMmzevBlarRbDhw9HSkoKbDYb9u3bh0OHDkGn0yE1NRWpqamiyURRFNTU1MBqtcJms7X5zK45ZuyklEgrkGqIiIhAXFwcUlJShPyptrYW5eXlKC8vFyPuyStXVVWJwt6oUaOQmpqK2tpa0fgwfPhwHDlyBIcOHcLEiRNRXV2NkpISTJw4ETt37hTuZyaTCVlZWTh48KAY02Q2m6HX62GxWIREi/ItLp6yEU5ERARSUlKE3zILVmoKjNcPpYOUcwEn+V0WG/k3zHAVRYHdbhd8PukpUk4slHFentVqRWNjI2w2G1wuF6ZOnYohQ4aIe4iUFmkf2f2rp9kvgf8sbf9lnF+gqygKLr/8cqxZs0ZcHHxje2O1o2icHGxnHvPLL7/E3/72N4SFhSEnJwexsbEICwtDcHCwaO3VarVtGiV4EcrbSfbQU+hNzwYCr9wUwZuqI8AFIATy7MrilpBAy9eUj6EoipgwGxcXh+PHjyMzMxOlpaViBDvH9Vx55ZX44YcfoNfrkZSUhI0bN0Kv1yM7OxubNm1Ca2srxo4dCx8fH/z0009oamrCJZdcgtjYWBiNRuzZswe1tbUYOnQo8vPzhT9wZWUlDAYDKisrBeCTVqDZEKkbZrbULHMbTG6aPDCnS0RERAhgT0xMFK9PcXExCgsL4efnh9GjRyMtLQ0GgwG7d++G0+nEJZdcgoyMDGzbtg2VlZW48soroSgKfvjhB1x88cUAgD179uCqq67CwYMHBcVE97jq6mr4+fkhKSkJRUVFiImJEQsZC1zMXrnL4dw9mvVQQujtmuTCTp6emTODsi/qaWUrUxZUmcDIPG5zc7NoROHrygkRDocDOTk5uOOOO7xee7ymOsp+eQ6dzX656MgqnrNMuQCcb6ALAPfccw/S09MxdOhQYUDdG4DLm5QXf1fiiSeewK5duxAbG4vc3FwBDsxu6YQlr/y80ZjFEmypWCDYAhBZrlw4o6zHmyyM/+PxeGC322EymcQWkb3zsgF2Y2OjuGGjo6PR0NCAmpoa5Ofn48CBA8jJyUFRUREyMjKwf/9+jB07Fj/99BNycnIQGBiIrVu34uKLL4ZGo8GmTZswdOhQZGZm4uDBgygsLBR+CgaDAXv37oXT6cTQoUORnZ2N5uZmMRnCYDAgNDRUAGN8fDz8/f0FBdPc3AyHwyFMVkgxyQU0ZotsZZW/r62tRUVFBSoqKsSsML1ej4yMDGHkvWvXLiiKIp6DxWLBzp070draiiuuuAJ2ux0///wzBg8eDL1ej02bNiErKwvR0dHYunUrxo4di2PHjiEqKqqNT4i/vz+MRiMGDRokBmtGRUWJTI1AqSgnBp7y2iEVERERIfxzvd278vWgLrASTGWlByklPpbclUjAJWjK/C1Bt7GxEfPnz0dCQkKH90Zns1+ZemjvfuYIK7ZDn0UeunKcX6Db2NiIa665BlVVVVi9ejVSUlJOO279dCHzt9R8dmfLMn36dLjdbmRlZSE1NRWRkZGCYqBvA6kFZrwEA67a3Dax716d5RJIye96q2wDJ41uXC4XrFYrrFarAFxu0diFRE4ROHHjVlVVCbvBY8eOITc3FwcPHkReXh5++eUXXHLJJdiyZQtycnLgcrlQVFSEyy+/HAaDQXC5zc3N2LJlC7RaLUaPHg2Xy4XNmzejubkZQ4cORXp6OhoaGlBYWIijR48iNjYWKSkpyMzMFG3QJpMJVVVVsNlsgj90OBwIDg4WxTS5A08upBE8mpqaxAIYERGB5ORkJCYmisp/VVUVioqKUFlZiZSUFAwePBjR0dGorKzEgQMH0NLSghEjRiA1NVXI3EaPHo34+Hhs27YNvr6+YmxReHg4srOz8dNPP2HkyJE4fvw4kpKShK7U6XRCr9ejqKgISUlJwuVNntBMzS5pkoCAAGi1WjHmieqA+vp6IZeTQ9758LqSGy/4O3Y6sjuNXWjk9blYkNclj1tfXy/eh9GjR5/SxHG64O60O9mv3P57FisXgPMJdMvLy3HbbbchNDQU2dnZ+Otf/9pmUGV3Qq3ppeWerGDobDQ1NWHGjBnw9fXFyJEjER0dLfwZNBoNdDpdG043ODhY3Fiy5lDW48qASB6XXDC3iOogZUEpkMPhgN1uF63GLKLxbwnABGSObLFYLBg0aBD27NmD/Px87Nu3DyNHjsSuXbuQk5MjMujRo0eL7HXMmDE4dOgQiouLMWrUKMTFxYlZZyNGjEBaWhrsdjsOHDiAkpIS5OTkIDMzU2T2LPZVVFQgKCgIcXFxAmDJlRNsmBVSAaC++bg15qJjsVhQW1sLh8OBhIQEpKSkIDk5WbRhl5aW4vDhwwgJCcHIkSORkJAgMnOPx4PRo0cjNDQUW7ZsQUREBEaMGIHi4mKUlJTgyiuvxIEDB6AoCoYNG4YtW7aIpgi9Xo+amhrExsaioqICubm5MBqN8Hg8iImJEWN3uFWWTetJPYWFhUGr1UKn0yEgIEBs+cljy6oWmtBzcVZnuwBEezrBi+8/1Toyf0/+lhMjCMAPPvhgt+4TnktXs1/uzjhd5SxVLgDnE+ju27cPGzZswL333osbbrgBa9as6ZG3LtUKsqaXOt+uOpgxvv32WxQUFCAkJASjR48WGlHyc7R95LaXW2JyeQReFjjUWS4XBC4U3oJFFRl0ycfxxuJNBkBMlA0JCUFoaCjKysqEBWVxcTFyc3Oxb98+obvNyMgQ2Sd1u9HR0cjNzcWWLVsQHByMCy+8EGazWRh4Dxs2DA6HAwcPHkRlZSXy8vKQnZ2NlpYWAbJGo1F0jqWmpkKr1YrsrLGxEXa7XVAL8ph4ctIylUB/CxoTyfxvU1MTKisrUVFRIYYzZmZmIi4uDsHBwaiursbevXsREhKCYcOGiSGOe/bsQXp6Oi644AIcOnQIVVVVuPTSS9Hc3Ixdu3bhsssuQ1VVFSwWi2iZHjFiBA4cOIBBgwahqKgI2dnZKCkpERMwnE6n0GnzvZNN9bkrYnGOtQEuupRJkv8ncFF2J1/rwElul5kmgZgDTfmYXJxZXGYxjTrp66+/vo0uvyfR2eyXNQeqi87SIhrQEegCKAZQoijKVV5+3yXQPZ3VY1NTE2bOnCl0ratXr4Zer+/KIU6emKJg7Nix+OKLL0RltqsrLvlbtaaXF1l3eGI2N/zpT38Sc7KGDh0qMjR6NRB0yfMRLGRTbmZzXPllSRH7770Ft5dy5soPZjDMEnlT8ZjUaMbGxqKurg5utxtxcXEoLS1FRkYGDh48iOzsbJE5ZmVlYceOHcjOzkZERAR+/vln5OTkIDExEfv374fJZBIj0ffs2SPANisrCx6PR4xE12q1QrpF5YbRaITBYIDVaoXD4RBz4Zjxkh/nNlTOhggadrtdnCt105GRkYiJiUFSUpIAprKyMpSUlMButyM9PR15eXmIjIxEeXk59u/fL8BXq9Vi//79sNlsGDNmDJxOJ3bv3o38/HxER0cLjwWn04ny8nIxGXjkyJEoLCxEfn4+jh49Cr1eL9QCkZGR8PX1hd1uFzsY+kZwtDgN2ykjI+gyW+T1LKs4+PpwnA+zXd4v/D9Zdsfsl0BOvS75XJvNBovFAkVR8OCDD/Z6hqnOfuUsntcr7xlZ6XMWRoeg+wOAFxVFWePl950G3c5YPb766qvYt28fCgoKsGrVKvznP//B6tWru/JE2sT06dPx8MMPIyMjQ2hrOxOyHKY9/W19fX2XeWK57VKj0WDOnDlwu90YNGgQcnNzBejqdDoBurx55Go1M3ZuL3lh04uBxSFvxTPyvOTnXC6XyFjq6+tFRgNA0Cj0a6DpTlBQkNDmcvxKeHg4DAYDkpOTRZaZnZ2NHTt2YMSIEXA6nSgsLBSyod27dyM9PR25ublCAaDX65Gbm4vW1lYcPXoUR48eRXx8PPLz88WwUaPRiLKyMlRVVSEyMhLJycmCnpH1zuQlZfUFP7hF52ICnACkhoYGAcBWqxW1tbXQarVIT09HQkICtFqtsH4sLy9HbGysGLRZXFyMAwcOICUlBRdccAFMJhP279+PYcOGITo6Grt27YJOpxNt0mwCKi4uxrBhw/DLL7/gwgsvRGFhIXJycoRjWkhICEwmE4KDgxEVFdXGqIjvPwBRUCMQh4aGit2QmtPn9d3c3IyYmBjY7XYhPeRrRNpABjhSTORwKSukRpdZbkNDA6ZPny4y9b4KOftlls77w2q1Yu7cuXj00Udx5ZVX9ul5dDM6BN2nFEV5op3fdxp0O+PFMGnSJDz55JMYM2YMWlpakJCQgNra2m6vln/+858RFxeHW265pdOZKbM5AB0S8F3lidnpQzD18fFBaWkpnnjiCfj6+mLs2LFCRhYeHi6yWN5MsiOY7I8rAzCANppd9QQBAMI8hxkLvU9ZIFEURYzMlkfy8LzlTLe2tlZsdeksxf78zMxM7Ny5EyNGjEB1dTUqKysxatQoYSIzZMgQBAYG4sCBA3C5XBg5ciQCAgJw/PhxUTS74IILoNVqBdBWVlaKlurk5GSEhoa2qZw7HA7xQRUGzbwJJuSnWf2XC2gEb2bHiqKgvLwcJSUlMJvNSE5Ohl6vF625paWlOHLkCGJiYnDBBRcgMDAQR44cgcFgwKhRoxAaGopdu3YhOjoagwYNwpEjR+ByuTBs2DDs2rULaWlpCAoKQllZGXJzc3H06FGR6SYkJIjGBHpbuFyuNhpjPg8a9/DnsqqB16c3uSAXIGqxg4ODhT5XLqjJUjJ5l8AslzPQbDYbzGYzwsPDMXPmzE7dFz0NRVHEdezn54f58+fD7XajqqoKzzzzDG688cYzch7diA79dJ/qjSN0xupR/htu9TiFtDsxcuRIrF27Frfeequ4kDoCya54MpzOW1cOXvAETF6o8fHxGDduHH766Sdhh0gAk3ko2YqP0dLS0mbECrM74MRr541akLvTZJ5TLkjIEht2v3F7abPZEBYWhpiYGFRVVSE+Ph5ms1lkocCJxSg7Oxt79+7FqFGjUFRUBI/Hg7Fjx+LAgQNobGzEuHHjYDQasXfvXsHNGgwGHDx4ELGxsbjiiitE5rx9+3a0traKDJLnU1NTg4MHD4ppD6zek4aQi2nqDid+T08Am80Gg8GAQ4cOobGxsU1BLjk5GVdeeSVcLhfKy8uxd+9e+Pj4QP//twvn5OTgyJEj2Lx5M/R6PfLy8pCWloZ9+/YhOTkZl112GY4cOYLt27djxIgRqKmpwd69e3HRRRehsLAQcXFxSE5ORnl5OTIzM1FcXAy9Xi8mNiQnJ6OqqgohISGIjIwUizdBhpy//NxIYXHBkadPyMH6BLNcjebkKHbuELxd63x8BrNfetzKUnkAACAASURBVD9ff/31nbovehpMEDwej2ggWbRoEZ577jk0NTXhgQcewN69e/GnP/3pbFQvtBsaRVE6hyynCW8FHTWodeZvuhIjRozA888/DwCiANVedNWTgSDeUcgXJwGAFyczE/qxWq1W7Ny5E1dccYXIKJjFyl05BAxZk8s+czZCEFjVQfs+2cBcBmq1WJ4CebpUxcfHiwwyLS0NlZWVAjDi4uJgNBqRmZmJ/fv3i7bWkJAQMWY8PDwcgwYNwt69e9Hc3IzLLrsMALB37160trbikksuQUhICMxmM/bu3QsAGDx4MGJjYwEAZrNZjHAPDg4W438IsMzaSBXI3YhyxsvnHBYWhtTUVOj1egEsbF01m82wWCz48ccfERMTIxo6cnNzUVdXh7KysjaNHunp6Th48CC2bt2K3NxcXHrppThy5Ah27dqFESNGwGKxYMeOHRg6dCiCgoKEj+7hw4dFlm21WsWkZzrLcXEj/8xJIrISQ+armf3KC6psmOMt+HtFUURhkrsCXmNAW58GuWPN4/EIGdmFF17Y7SSpK6EoJ7wl+D76+Pjgm2++wdKlS/Hee+8hIyMDO3fuxFdffXVOAS4AaHx8fPYA2KEoSo+Gl6WkpKC8vFx8X1FRgaSkJK9/k5KSIoYDRkVFdfuYkZGRsNvtwqXLG0jK/G1wcHCnRdQE0PZCzd+y6stxP3LGvXTpUixevBhmsxnHjx/HkCFDxHZdPmcCLm8I3mxhYWGi357+p2qnfPlr3jTy5AhFOemuzy0ksyAqISg6DwoKgtFoREZGBo4fPy50pVlZWThw4ACGDh2KkpIShIeHIyYmRvC3Op0O27dvR1JSEtLS0lBRUYFjx44hMzNT+DXs3LkTiqIgJycHCQkJcLlcOHr0KCoqKgCcuEbGjRsnwKGpqakND+t0OsXzpxJBBiXZlpCyOK1Wi/DwcFF8CwoKQkZGBnJzc+HxeGAwGHDs2DEUFhaKzPyiiy5CU1MTjh8/jp9++gmDBg3CqFGjYDabceDAAdTV1SE7Oxtmsxk///wzhg0bJrLbrKwsZGZmYt++fbjwwgtx7NgxMcCUTS9+fn6wWCxITEyE2WwWtJOsLiHfz10Pr0tmu/IC01EFnztA6nFJWZDHZRLAJhn5samA4TipsWPHdur+6UmovSWAE37dH3/8MT7//HOBGaNGjcKoUaP6/Hx6O3pNMtYZq8fly5dj//79opD2ySef4MMPP+zB6QO33norli5dioSEhFO8dWX+tqtavo4UDN74W/Kl7c1p2rp1K95//320tLRgzJgxyM7OFsMs5UyOGY6s1aQ2lzeMzWYTonA5IyKfK3Nz/F4umMh9+HQPUxQFkZGRMJvNIiOqqKiAXq/H0aNHkZmZKaY8lJSUiIaPw4cPIz8/Hx6PR8iiyOUCQE5Ojhj509zcjOzsbOHrcPToUdERRoc2egBUVlaiurpaeBOw7TciIkK4tgFok63JmSAXM3avsbHCbreLpgIa0LPjzW63o6KiQhTxUlNTERsbC5fLhYMHD0JRFEGB0JBnyJAhUJQTo+nZdPHLL78gOTkZQUFBKC4uxpAhQ1BUVITk5GTU1tYiNjYWVqsVERERsFgsYvFhE4fsaQxA6FfJ6fLakL/WaDRt3OLUwZE98m6HmTGbSWQZocyj19TUoL6+HrfeemufZ7mk5iijVBQFzz33HMrKyvDmm2+erfIwb3FmdLqns3psbGzE3Xffjd27dyMqKgqrVq0SM9a6G08//bQYky2DZE88dRneFAzMfrld59aLSoSOjvOXv/wFZWVlUBQFN954o9DvsirNm0uuXLPIRaUFK7myPEie18bMhBVqyn8IxOSU+TsAYpSL2WwW5utWqxUJCQkoLS1FWloajh07hpycHJSVlSEwMBBhYWEoKirC4MGDYTabUVZWhiFDhsBut+Po0aNIT09HVFQUqqqqUF5ejuzsbAEuHAhJr1zghFa1trYW1dXVcLvdSEpKQnR0tFiQmIE1NjaKwiAzR5nf5Adbgen2xvdQNv8xmUzCi4LZuWz3WFZWBo/Hg7y8PMTGxqK6uhpHjx5FYmKiUMwcOHAAer0esbGxOHToEPz8/JCZmSm8FXQ6HYqLi4VGNyMjAxUVFYiPj4fJZEJqamobuoHPS7b9pHyQizw5eQKTrOhojxKjNE5uC5aNyVlIo8rF7XaLwpnJZEJERARuu+22Lt9DXQk1Ned2u/HAAw8gLS0NzzzzzLlGI5w/zRHq+Pzzz7F582Y8+uijYtQOuTs2IXQ3ZAVDR/ytN8en9uLJJ5+E3W6Hn58fbrrpJtHWyZZg3miycoFSMd448nvGCrT6bwmucmcRs19uJXlD22w2oRflVNfQ0FDU1NQgJiZGcLtGo1EA7vHjx5Gfn4+Kigo4HA7hJWA2m5GXl4empiYUFRVBo9EgLy9PqAGMRiNSUlKQmpoKX19fGI1G0eYbExMjus/4mtO3lQUxZr7yToAf/F6ueFO1wRE4LMbRwwA40RhiNBpFB1xqaioSEhLg6+srTMmDg4ORm5sLf39/FBcXiyka4eHhOHjwIIKCgpCdnY2KigpYrVbk5eWhtLRUGPSUlpYiJycHxcXFSEtLg9FoRGpqKmpqahAeHi7agdmxyKKVDKzyLog/o/KFz9ubooXXrKzLlWVl/BkXNFp72mw2GI1GtLS04OabbxbNJX3R/eV2u9HY2CioOZvNhtmzZ+O2227D/Pnzz8aOs9PF+Qu6BoMB8+fPxwcffCD0pzJv1pNgpxszTTn75E2t5m9PF6WlpVixYgXq6+uRkJCAa665BjqdTmSrshdDZ0AXgLCApAie2bDs8ESgZQbM5gkCEgGGAzH53Ox2O0JDQ2GxWBAUFITQ0FCUlJQgNzcXx48fh0ajQVpaGo4ePQoAyMjIEACWnp6OuLg4VFRUoKysDPHx8UhNTYWfnx+qqqpQXFyMkJAQMe6IHVYGgwHV1dWw2+0ICAiATqcT1AKdu2RDFHXXkmxnyMIiJyHI3WwRERGIjo4WY+YV5YS7WmVlJaxWK1JSUpCSkoLAwEAYjUaUlJSIBg6HwyEMbTIyMlBeXg673Y4LLrgATqcTlZWVyM/PR0lJifCJINBWV1dDr9ejoqICsbGx4v2KjIwUPhjh4eFtnhPVJuoPgi5fj/bqEOpsWKbeuHOqr68XbeJUfNjtdlx++eVITU1t0y3WW45+8gJJUK+oqMDs2bOxZMkSTJ48ucfH6Kc4f0FXURSMGTMGH3/8sQBZDvjrachOTHLBjK2n7fG3p4vVq1cL/WpycjImTZokwIRbK9IiQFvQlYXi8gXLQg1vPNkLlZkvi30UvPNGdjgcaG4+MYGY2lwAbbah1BSXlpYiOzsbRUVFCA8PR1RUFA4fPixcsI4dOyYaZVpbW3Ho0CH4+/sjMzMTAQEBqKmpEUCUkZEh5Et1dXUwGAwwm82IiopCXFyc8KuQq/V0ueJ7o6YVZKs/8p5sJpDN4t1uNywWixjRHhAQIDjZwMBA1NfXCxeyxMREpKWlAQCKiorQ2NiInJwchISEoLy8HE6nE/n5+aILLTs7W2iA8/LyUFFRIbxx7Xa74HRjY2PhcDjg7+8PrVYLm82GyMhIABBt6KSxeB3IOm5eIyyutdcwA5wEXdIJTCS4GDPLbWlpgcViQV1dHaqrqxEaGopbbrlFXG/teSV0536jJEy+l/bt24cHHngABQUF52SRTIrzF3QBYMqUKdixYwfeffdd5Ofnd9szQR3clrOAweJaZ/jb08WyZctgMpnQ1NSE0aNH46KLLhJ0CDMJZtUEXRZDgJOSGhbvaNQjV6P54Q2A+ZgOh0OAFIXvBAKK9bntraysREZGhph6EBoaKjjOgIAAHDt2DLGxscI7tqysDOnp6YiOjobVakVxcTF8fX2h1+vFcYxGI6qrqxEUFIT4+HiR8bJFWy6AOZ1OobaQPQZkioHvG70k1BODw8LCEBkZiaioKJFZ8XWoqamByWQSLcIcEFpVVYW6ujro9Xoh+SopKRGm6DabTYCtRqNBUVEREhMTRWdfWloa6urqxPHcbrdQD3Cn1NjYKFqvQ0NDERISIrwQ2AgBnKwlcNfFa4Qyw/Yc59jY0tjYKCSTVLAwy+UUEavVKvjsqVOnet0xevPJ7Ur2y3uJz8/Hxwdff/01nn/+ebz//vvdtgc4i+L8Bd0VK1Zg0aJFeOSRR/D73/++254JcshbMJqKM+uTu4V6Ek6nEytWrBDTDyZPniyyQQIuL2Lym7QiZPFOHtdCfhZAG3CVPVGZGco/pxtVQ0MDtFqt4BhtNht0Oh1MJhMiIyNhNBqRnp6O0tJS0dVFUKV3gV6vR3BwMI4fP46Wlhbhr1BUVAS32y2mQTQ0NKC0tBQ2m02Yc3OaA3lEm80m5F6y1wKLl1RfEIT43LllllUdzJSp1LBYLLBYLAgICBAAzIJdc3MzqqurUVVVBZ1OJyZNNDY2oqSkBACQlZWFwMBAQSkQbI8dO4aEhARERUWhuLhYeCTU1tYiKytLmLHzdQdOUiFarRb19fWIjo4WC2t4eHibwi2pBLnAyudJwyf+rzoCAgJgt9vFoi5fA1yUXC4X7HY7SktL4XA4cMUVV4gMv70gj8yFXeab24v2JGH/+c9/sGrVKpHtn+NxfoJuQUEBXnnlFSxcuBB2ux1/+MMfuuWZIAf5LZm/lTMlZolqK73uxI4dO/Djjz8KydZvfvMbZGVlCdBlJ5Isj6IfruzRAOAU0JUVDnIzBXlcPh7ncwUGBopMl1t8On6xk7C8vFwAn8FgQFpamvAwyMzMFNaIlGFxHE5ycjJiYmLgdp8YrV5XV4fk5GTEx8eLc6ipqUF1dTV8fX1FMU3my5mNkQohWMjPT3YZk71oCQSyxIrZLQG4paUFkZGRiIuLE1OZa2pqYDAYoNPpkJSUBK1WK0a5JyYmIiEhAU6nE2VlZUhISBCzz2hHaTAYhB2jwWCAXq+HwWBAXFwcHA6HWGjYfq3T6cTix6m9YWFhbTJNOcPnYstrnQU4dbjdboSFhQnJGNU9pAlYxLLb7TAajWLhnTRpUpeuZ9YJ2FrO+oR8j3iThC1duhTl5eV9Lgn7+9//jmXLlkGj0WDy5Ml48cUX++xYOF9B12q1wtfXFyaTCX/84x+xcuXKNp6kXQ15690ef8tCFLlVtVa2q/HRRx+hsrISTqcTPj4+mDFjhqisk68j8DAT9Fa84/ky85ALZszSGxsbRTbCqr5c7Q8NDRVt2UajUdgZJiUlobKyUgAuFQi1tbWor6+HXq9HXV0d6urqkJaWBn9/f5SWlqKlpQV6vR4+Pj6orq5GdXU1YmNjkZCQAB8fH5jNZtTU1MDhcCA6OlpIrOTCjt1uF2YrGs2JyRpyIYmZrmxbyP9Xg3Nzc7OweqRcT/YmoIzM19cXycnJQjdcW1sLo9EInU6HtLQ0+Pr6ory8HE1NTdDr9QgMDERZWRn8/f3FfLXm5makp6fDaDQKTrmmpkYAb3x8PKxWK7RarQBXdh5yFDolgFyA+V4x65U9M3gtqicGk/OPiYkRuwNy33xd6LNgNptRXFwMHx8f3Hrrrd1OKNTZLxcKNqxQHslWXr1ej6effrpPJWHffvstnn32WaxduxaBgYGoqalBXFxcnx0P/Qm6ZrMZ06ZNQ0lJCfR6PT788EOv2wc/Pz8MHToUAJCWlobPPvus08dobT0xh2vDhg3Cb7OrK6Zaf8stUEf8rVore7ptVXvn/t5776Gurk604952221ISEgQCgxyfuTlvF2cLPZx4eD5yb387NyjEJ6Py5ZPh8MhlAqcYRYTE4Pa2lqhda2urhacLQAkJibCaDSiqakJqampopgUHR2NuLg41NXVCSObxMRE+Pv7w2QyobKyEv7+/oiNjUVERITgI00mkxicSeUCZV7eOEOCKnlOZrwy9SA3TDQ0NIjR8mxG4AdH3bNy39p6YsJzZGQkFEWByWRCTU2NyNw56JMUSU1NDZxOJ1JTU4Vxenp6uihIhYWFoaamRigY4uLiYLVaRYYbFRUlpiKQm+V17Ovr26ajkomFrK5Rc/70LWARUeb8CbpsA7fb7Th48CCam5sxadIk6HS6Ll3HHV3f3CkCEA1MLS0tmD17Nv7nf/4H8+bN63NJ2NSpU7FgwYIuT7noQfQf6P7xj39EVFQUHnnkETz//POwWCx44YUXTvk7rvTdjYkTJ+Kdd95BcHCwyGg6E7L+lltP9vYz2zzdBcGiAuVJchGsM2GxWLBmzRphmxcREYGpU6cKPSpvFHKL3oKgK09SIIdL8TszH+DkMEJuU+krbLFYoNVqxWe73S6y/NraWsTExKC6ulpYEVZUVECj0QjQsdlsSE1NhUajQXl5OZqbm5GUlITg4GDRacbhjPSKtdvtqK2tFYATHh6OsLAwkc2xHdjhcIjsiWBLrpoKC7VTGzlQ0gtsOgDQxm/X4XAI05nY2FhhacnpDomJiaJxgi3LaWlpQv7W3NyMxMRENDc3w2w2Iy0tDc3NzTCZTEhLS0NtbS1CQkLaWGSyO42eCw6HA1FRUWLx4/vJxUBWL8i2jwRiFum8FankLje5W5Gv67Fjx2C1WpGbm4thw4Z16rrtTPCaY0F65cqVeOaZZxAfH48HHngAv/3tb3vtWB3F8OHDMWXKFKxfvx5BQUF46aWXMHr06L48ZP+Bbl5eHr777jskJibCYDBg/PjxOHz48Cl/11PQ/cMf/oBJkyZhzJgxcLlcnZKNdcTfdlV/C7TdVnk8HrGt6sy2affu3di3bx8cDgcaGxsRFBSEO++8U8wAI1fZXqGEz0Ged0WKgdkfAZfcMDMk3owNDQ0IDQ2FzWZDcHCwoDz8/Pxgt9sRFRUFk8kkurwqKioQFhYGnU6H8vJyBAQEIC4uDi6XCxUVFYiIiEBMTIzQ3jY2NiIxMRERERFobGwU3U6+vr6IiYlBZGSk6I6TJ16Qx5WpBTZDyBI7tT2hrN6gXSEdq+ShoQR2FtkcDodo1GABSs7suSjV1tYiISEBOp1OeEPQRc9gMCAxMVEMwkxLS4PZbIaPjw+io6PFjoF0DuViDodDeDCw0ERXOl5HfE/k0Tb8WWNjY5siFe8BtogDEK8vC6jFxcUwGo3QarWYOHFil675jsKbJIyuYHl5eVi7di1SUlKwevXq0xbsOhNXX301jEbjKT9/9tlnsWTJEkyYMAGvvPIKtm/fjmnTpuH48eN9mWH3H+hGREQIGzvghEmNxWI55e80Gg2GDx8OjUaDRx55BDfffHOXjvPOO+/AYDDg3nvvFcYwHYFde/wtt2M95ZfkQkVnC28bNmyAwWCA0+kUfOHkyZNF1Zrqhfbc2jhNQu6vl0ez0L+B477J6TJTp+uYv7+/yCD9/f1hsVgQHh4uGiRCQkJgMBgQFRUFf39/VFRUCI7UZDLBZrMJGVltba2gKyIjI9HS0gKj0SjMdaKiohAWFgZFUeBwOGA2m+F0OtHc3NxmLphM8VCmxExP3q3wNZZdufg37CDkNA3yxOpx7m63G3V1dTCbzYiOjhYyNpvNhtraWuGABpywK1UURQyZJN0QHBwMo9EoOg6rq6uRlJQkOr6io6NhNpsRFxcnjsOGDS5+bGYJCQlpU8Dl+8jXqKmpSeyuTCbTKR2SzIxl31zK6ioqKnD8+HH4+/v3aiOCt2z7q6++wgsvvIAPPvgA6enpaGlpwfr163Httdd2a9RWV+K6667DI488gvHjxwM4oUDZunWrcLjrg+hb0O1ohZk1a1anQLeqqgpJSUk4fvw4JkyYgI0bNyIrK6szhwcA/PLLL3juuefw2muvndaAvDv8bXdD9kAAOtYztra24osvvhCcJgssd911l+BUZc5WHWyekJ2i5GwXgOCGCTgyHUHgpSQrICAANpsNWq1WOGF5PB5YLBbExMRAURRUV1cjPj4evr6+MBgM8PPzQ1xcnNC3hoSEICYmBr6+vjCbzaitrUVERIQA7ObmZiHGByAMbWT+knQPGzvIScpyOL7WrOjLDQSUSbHdmpQKs18CcGtrKyIiIhAZGSmAjrQHC310B6OeNzQ0VGTtsbGxQqlAk56amhpRvCNHzsId9cvR0dGCWuH0Do6q8ff3Fx2WpBjktl8uBjQ0p31pe9eFbFJeXV2NX375BRqNBldddVWv6du9ScLefvttfPrpp/0mCSsoKEBVVRWefvppHDlyBBMnTkRZWdn5mel2ll6QY/bs2bjhhhtw++23d/o4LS0tGDduHNavXy8uMPXq2Rv8bXfDWzcPM1j5/EwmE7Zt2yZ8BtxuN/R6PX7zm9+IbLmjketsA5aNTeRsl00PlCRxa83iE29Kf39/0YxAQGBPPrMz6kqbmppgNpsFCJlMJuEdGxQUBKfTiZqaGkE/8BzMZrMwTo+MjBQ3PUX8TqcT9fX14gaWG0eY2fF9lFuBuTDJDSIcW0SNLGeNcUfE98bpdMJutyMoKAixsbFtRsGTc+VYHZPJBD8/PyQmJgIAqqurBS/+zjvvoKioCDabDQDQ0NCA/Px8DBs2DGPGjEFeXh6AE1pcWbWg1WpF8wQzWnoosxhGKoyUQn19PXQ6naCm5LqCvEOi5tztdqO6uhq7d++Gn58fhg0bhvT09F65zuX7iT4o//d//4fKykqsWLGizzPa9sLtdmPOnDnYs2cPAgIC8NJLL2HChAl9ecj+A93FixcjOjpaFNLMZvMp+jiLxSK6bkwmE8aMGYP//ve/beardSbGjRsn2oFZzWX0Nn/bk5DlOrxB5G2/yWTC3r174XA4BPAGBgZixowZCA8P73AKMLMabieBk9k2szsqGAiyfCxmxH5+fnA6nQgMDBRA43Q64Xa7ERkZiZqaGvj5+SEqKgo1NTVwu93Cu4Db25iYGDQ1NaG2thZutxuxsbEICQlBQ0MDamtrhXKAo4uam5ths9nEAEQfHx+EhoYiNDRUZG7y7kVuDebzlO0dZT8C+e8J6OQ+GxsbT6Ew6Etgs9ng6+srxiyRdrDZbHC5XCguLsbWrVtx5MgR1NXVCe4ZwClFPYKnr6+vAPQbb7wRkyZNEjsDFko56YGgJWe3ANq0BbN+QOmZuq4QEREhnj9wQj1gNBqxa9cu+Pn5ITU1FcOHD++V65r0jSwJ+93vfofMzEw89dRT55pLWE+j/0C3rq4OU6dORVlZGdLS0vDRRx8hKioKO3bsQEFBAd58801s3rwZCxcuFPzigw8+iLlz53b5WPfddx/uuOMODB8+vM2gyr7mb7sbMgjQM4CNHQcPHkRxcbEYne52u5GYmIgbbrhBSMe8RXvZrmxqLk9ZoHaThRu6Tfn7+6O+vh5RUVGCDgoLC0N1dbVwwjIajQgODhYNFfLkA5vNJgA7LCxMZIuURpEuobSKKgm2wHLXwRtZ1t5yt8BiGYGS17LcFsuKv+zkJhvmeDweMdaHz7uhoUEY3Bw7dgzFxcUCVPle8Tgyfyw3tPB9UBRFvKcej+cUfjYwMBBTpkzB5MmTBfC3tLQgJCREGBmx8k9nOC4kcoGTBVE5CNwOh0M8bnFxMQoLC6HRaBAbG4tLLrmkV65lKiGYwFitVsyePRtTp07F3Llzz0WXsJ7G+dkcoY5//OMfcLlcuOeee0Q7MEFH5m9ZQOpt/rarIYvXuXVk4S0wMBD79+8XRt70kNVoNLjjjjsEV+YtvHG7wEmaoaWlRdALzHrp8EUxvsvlgk6ng9lsFkDFTrWWlhbU1dWJ0eH0TqAqoaamRpicU5pGPWp4eDgAiB7/xsZGRERECDtHAKKqzqzX4/GIJhT1B/9HnnoAAIcOHYLZbIbL5cKuXbtQX18Pl8slJk+QuuC0D7UBuJwly74OlJ5pNJo2vCtBn7QAAFGYY/bK15wmP35+fiL7z8jIwNVXX42rr75a7GZCQ0PhdrsF4DJjZvZLUObjdnQteDweFBYWoqioSLQ/X3zxxT124uOuoKWlRSQw5eXlmD17Np544glcd911PXr8czh+HaC7c+dOvPrqq3j55ZeFsbg8heFM8bedCbVhjewTQOoBAA4fPiwq+qw4R0ZG4pprrmm38NFetisXy2R+V6PRiGySnHFISAisVqsACIfDgYiICAFeUVFRaGxshNVqFVIvs9mMxsZGUXCy2WywWq0ICgpCeHi4cDTj5AsWzZhpEwhZjSfv6m0wo0wtKIqCH3/8EdXV1XjzzTdFoUh2XWPIFIQswSJ4MpPkboC0AAtapGl4/dBcPigoSMjyqK+mJy5pA1ImBOHAwEA4nU5hrBMaGorY2FhMnz4dI0eOFIUy+RxZlyC4U7HSXgQFBaGhoQE//vijWEAjIyORnZ0tjIO6287uTRK2Z88eLFq0CP/4xz8wYsSILj/meRS/DtBtamrCxIkTsXbtWsF78oahgoB8U39GZ6ZNsPBWX1+PY8eOwWKxCN8Fyr9GjhyJIUOGeD2GnO0SoIC2s93oJyFrf6kv5tRYbhvDwsJE2zVtCMnxut1umM1mhISEQKvVoqGhAXV1dSL7lQHYz88PWq0WoaGhYuGx2WwC6Jm5UYNKukNWKpBi+P7773H48GHs2LFDFAMZ6n5/ectPvleep8bCm+zeBZzs6pMNiLgbobsbW5Y5/YGZMykUSsCY9YaHhwtdNP2LtVqteJ+Cg4ORmZmJW2+9VdhEkqqg76w3q091UEL2ww8/CJc6nU6HwYMHC4UE/78rmnJeR+od44YNG/Diiy9i1apVvaK7Pcfj1wG6iqLg0ksvxWeffSaqpLyoqBc8kwUzbyFPm+hsts0ZXexYIxACwOWXX+71AifAyFyturpPakG+aQkS3PYqiiI4Wi5gVqsVGo1GNFKwkObr6yvMY9jaSxqBelieEykTAKJJQe6eozcEeVZmolarFXv37sWmTZtQXV3dJiuVP2SOF4D4OXlPuTglO5WRJ2amzUyQtoc+Pj7Cs8HpdIq/gTPFCgAAIABJREFU5SLCxpygoCBhzajT6QQQR0RECJ2sbHDDRZYgzlbZvLw8XHvttcjOzkZLSwt0Op1YGLlQeIva2lrRbMMFQqfTISsr65RhsF3VlKtd7gDgX//6Fz777DOsWrVKFO9+5fHrAF0AuPHGG1FdXY05c+bgsssuw9NPP40XX3wRWq22V4yXuxvMUrqrlnC5XDh8+LAYkU4u0uPxID4+HmPGjDml9ZndTB6Pp03DBNDWlwGA0H2SQ2QmTiUDK+r82s/PD1arVZhzs6WWGtumpiYhl6JCweVyweFwCJc0mooDJ8e1cJEMDg4W4OXj4wOTyYQNGzZg06ZNMJvNbUzMmc3L2av8NRUizHL5fsiyMvo3MGujzIx0imyVyc62gIAADB06FJGRkQKEdDodFEVp4/1LmkGr1YodGP1y+ffsuJMbHgi81DoPHToUWVlZSEhIEJkqgx11ZWVlQrJHpQRpGr1e3+FgSW+acrWZkzdJ2DPPPAODwYA333zzjEjCXnrpJSxevFi0pZ+l8esBXeCEYuLxxx/HO++8g8mTJ+P//b//J3SIsvVcVz0Suhtq85HuqiXq6+tRVFQEu90uZE9s54yOjsb48ePbUCc+Pj5tCikEXrVygfIycrpsLpFdoeQFgxX/kJAQ+Pn5weFwiCyMhjFst+WIIbvdLoot5P+YPdLakttzgnFrayuKi4vxzTffYMeOHYIXlYPPRd2Bpg5mxARayuNkzW99fT127Ngh9MDM5GgYw2uFvCiLWfT9DQgIEIsHs2ECFDNfOoSRZpApg6amJgHMLKLx9ebWn+BN2oavIxdNZu4ERVI+SUlJnXbV8qYpZzGPfDQlYb/97W+Rk5ODJ5544oyogMrLyzFv3jwcOnQIO3fuHADdsyVWrlyJhx9+GG+++SYURUFBQQECAwOxYMECjBs3TmQy3fFI6GqQ+5LbIXsS1Icy4+UiQm3ukCFDkJ2d3aZIFBQUJIotvr6+qK+vF8VFgi+DBTZ5m82iFB+HINHS0iL0vAQVcsGBgYFoaWkR2lWtViu6qmSNLP+XvyO4O51OrF27FocOHYLFYmkzUFMGWTXYklYgP8qv+bey6oH+DUBbPwLylHyNuDjw8VtaWgRgEthIyyiKIgqclC1yISNdQQ6XhTlOAWZBjRmv/JkZPTN/Jg2kRmRFB6VoISEhCAkJEa5o3Qn5PSEHz8LmrFmzMH36dMyZM+eM7Rpvv/12PP7442JazADoniXx9ddfIy0tDbm5uQBOXDiHDh3C8uXLsWPHDtxxxx2YPn06tFrtKXyWPOivp8GtGG+C3rowXS4XysrKRMarnvgbFBSEiy66CLGxsUKnCkBklOyyYjCzIZhxJ8AiG8GJBTdmaszEgBOTMAg4vDkJINSINjQ0iG04qRDKrdxuN1wuFwwGA44cOYJvv/1WyKpkZQc/y6BKTloGV1mlICsfSEXIfrsslBGwAgICxDBNl8slrDCp9Q0ICBADKvnc6uvrxVaenC0lc+TIaaVJrwk+Jv+WhV5v3C7Pjc0rMl0igy4XMU5tprl6d0OWhAUGBuK9997DkiVLEBcXh/vvvx+LFi06Y4D72WefYePGjXjllVeg1+sHQPdcCbvdjrfffhvvvvsuRo4cifnz5wtwlqVaXZ35pA5uM/tKLeFyucTocgIgNb8tLS3QarW44IILBJ+q1WrhdDoFiMlSMqAt8DK74y6AVW6+HiyABQYGCrDkwkIvA978iqK0yWoJtk1NTUKZwON8//33OHbsGCoqKsRzIS1CgJFdteTPDLlRwhs4s1jHLTjBi9tz8ra1tbVimgSpAyotwsPDodPphNSNmTwbK7iw8flptVr4+PgIwKWChEoH7hrIkXIhonZbphYIsLIcks9B3jWEhoYiMTGxR764sqyR0r49e/bgkUcewciRI7FmzRrodDp89NFHyM7O7vZx5OjIx2Xp0qXYsGEDwsPDB0D3XIzW1lZs3LgRr776KlwuF+bNm4dJkyaJziGCglx460zImQE5z74KtnTKHK/craUoCqKjo5GRkSEm97KAxptYDbzkPUk9UOtLiZns7+pyuQQ4kEYBILbANMgmGAAQHgh8nObmZpSXl+Ptt99uI+ciAMrFLj6nzmSyLLLJcjF+ELj4OHzeXLj8/f0Fh/vDDz/AbrcLJUJwcDAmTJiA0NBQwX2z+MbFhtmu2+0WPDfBl8+JlAI5W7WfAv0WuNDJ7eJyp52aUmABkn7F3Q1vkrAvv/wSf/7zn7F69WqkpqaitbUVX3/9NcaNG9dhs05vxP79+zFx4kTxnCoqKpCUlIRt27YhISGhT4/dzRgA3fZCURSUlJTgtddew7fffotbbrkFM2fORFRUVBuPhM5IaVh4AtCjOW1diZaWFtTU1AiOl5mXen5YdHQ0cnJykJycLCgVeV6YfB3IPC+zXm5xCaYsQrGVl5kw5VU01eHNyMGHbIsFgL1792Lfvn0oLy8XgEegUZsBMWslAMtUg/x7fk9wZVavBmg5q6VMjcUnAp3H40FlZSV8fHyE8xglb+RamY2Ss5VH5tCekTpnvs5skOBrwxZiZrk8Xypc5KYN2chcnv9GiRsBtycqAkrCSFcAJ+okn3/++VkjCRvIdM+TaGhowKpVq7By5UpkZ2dj4cKFYoTQ6eaiqbWLZ1KO1traKrwP2NHlzaNAURRERkYiPz8f8fHxcDgcoq2VIMSQs15mhGyVJRjIhUh2wMmAzOq+PKG3sbERBw4cwIYNG4QNoTxSh14UbFGW9bTqDJfnqQ5yu/xaBmZmwMz4ZYqB2b3M9QYFBcFiseD7779Hc3MzbrnlFuEpTP9hyrzkLjRZd8xmBuCkmbgacHkuwMkFA0AbeaNsoKPOcAMDA6HT6cTUi+4GuXdy162trXj66adRXV2NN954o99cwtQxALrnWSiKgs2bN2PZsmWorq7G7NmzcdNNNwmjGbU9IzNc9YTeMx30OGgPeAkkwAkAzMvLQ1JSUhuJk+zVALQFKm/gS8kSdwNqBzc+VkVFBQ4dOoSSkhLRkMGMWK7Ey+BLaoGfyTerXbfkc1V/z+08Fw+CKwGd5ysDvtz6y4XD4XAgKCiozRh4dvRxy0uvYhbBKJGjIoLyORlw+ZqTspFpBi7eMperBl1SN9HR0cLXorvhzSXs/vvvR25u7hmThJ1HMQC63Q2DwYDXX38da9euxaRJkzBnzhwkJCQIzSIF6sw2+tPPgc0LDQ0NAnhJM8hNAJReEWBTU1ORmJgoLA75WHLI4Cubi7OlmEBE7tXPzw/l5eWoqKhARUUFTCaT4J1Z9JF9bHleMrCos1W5oUPuLgNOLajxZ3KFX50pe9OjyrsYWS5FcCPdQvAk90p+lmAFQBTKmJHyf2Q9rRpwAQgqqz2ZG+kEZtzR0dE94lTl58l2ZYvFglmzZuHOO+/EPffc06/X9TkaA6Db03C73fjkk0/wxhtvICYmBrNmzUJBQQGmTZuG66+/XmR/fan57Sjo08DtaH19vQBgAppMNfB8yWty+56cnIykpCTEx8e30fMy2st8CagcTlleXo66ujpR3KMzFwGK7b3yayX7KpDfJNAAbQtlPBf+3FsQ3OTv26MYCLZsouB5kC4i58oGDXbl8VxJN7DtmsoOGXDlyb4EXMrACPSy37O66CdzuHRxY5NEd0Mu/LJxp6ysDLNnz8ZTTz2FSZMmdfuxf+UxALq9FYqiYN26dZg1axZycnIwY8YM3HHHHUJfyaztTLYbe5On8WZi2y2zcgIus1S5vRWAKKCxKYJAHBkZiaqqKiQmJsLpdMLlciE8PBwHDx6ETqfDkSNHBIBQN8zMkDpWuQJP8OVrJXcGcjFgBkpaQW7rlTle9fuj/ixnxlQzyKN8+NjyCCAWAenJwNdNppBIJzBTJbAy2+XX8iQIUiNyZsvnTsCVuWwuemqFAmVo6oJjV8KbJGz37t148MEH8cYbb/SaufmvNAZAt7di3759uPbaa/Hoo4/irrvuwsqVK/HRRx/hiiuuwLx584T5jKz5lbOo3gze6CzWeLv5CHiyX4MswSLVIKsCmAXLJjHUpMrbZyoXSAXI6gPy3ORr5S0s+VueH8FVBkFZyiWDpho81cCr1ugCJwtT3opyANqALbNUPieeH6kHLiLNzc0IDg4Wag36RZDPpnqFX1MWxsybjy+fjwy4sh5Xzm5p9M7H7qxJjTq8ScLWr1+Pl156SUjCBqJHMQC6vRUNDQ3YtWsXLr/8cvEzj8eDtWvXoqCgAP7+/liwYAGuvPLKU9qNu6r57SjkLOV0k48JeLSGlBsP1MBLWRMXDGa+9JGVPXpbWlqEhEpRFOHtQGDl3xO05N/z9VCDGzNbOQNVeyp4a3gA2nrl8ns1jyv/HzloKggIXMyOZapAtlYEIICKz5WuX2yX5mNQw6zW4QJos8DIiwJfF1kWRvMc2SSIr0VXLRplKoqUx1tvvYV169Zh1apVPS7IDQSA8x10//73v2PZsmXQaDSYPHnyKTPYzlQoioLDhw9j+fLl2LZtG+644w7ceeedos+eioLuZCZytLZ2b3oxz0Gd9VLVwIyPwEvKQf4sAy8lUdyaU6tLaoPcJQGMoMCmDB6fAMOQGyLkQp03SkHmeOX3gb+Tv5fVEMwsZeDj3/A5qekFNnSQ32XLNbldvq98fKpdZPqAz1OWhTGj5c9kwx0W8JhVdxQyvcX/VdNb3iRhTz31FEwmE15//fU+Vd8sXrwYa9asQUBAALKysrBy5cqzQvPbR3H+gu63336LZ599FmvXrkVgYCBqamo67abUl2G32/HOO+/g3XffxfDhw7FgwQLRbqy2z+tKu3FvTL9geyo/vHG8MgizWEbA5WPQhIXSKQBi4CWlZJzvxe/5twQQAoUaXIGTGa0sG+Mx1Rmw3P7L/5U/5MKUGmiZLTPrZWbL15vGP7KxOSVdfD+5g+HfkreWC2U8X7lYpm7pJa3ALFR2N+tsMCNXt7Sz4Cn7QNx///3Iz8/H448/3ufF3w0bNmDChAnQaDR4+OGHAQAvvPBCnx6zH+P8Bd2pU6diwYIFuPrqq/v7VLxGa2srvv32WyxfvhwNDQ2YO3cuJk2aJDrBuKXmjdER9dCbfg4ENHX7sBrg+DWAUzJfAhUBFYD4mp4JsjG5bG5D/pTgR4DncWX+Vc5Y5QkYstENP8vAJoOyt8fh+QNow6ECbSdGkGvluTEL5WOwSMamEIacybKIRqCVuVu1aQ35W3UDTnfeY+4y5Hbv8PBwWCwWzJw5EzNmzMDs2bPPuCTsP//5D/7973/jvffeO6PHPYNx/oLu8OHDMWXKFKxfvx5BQUF46aWXMHr06P4+rVNCURSUlpbitddewzfffINbbrkFd999N6Kjo9u0G1OYr9ap9qWfA8FfDb4y1yt78PJm5rVDVzL+rZp6YEstt+DUwJLakAtKANpkt3LBzFtDhLdQUw7eOGBu9fk6kyJhBi/L1fj8+TMA4nmSaiBwyh17Mp0gF874PGTAlTvL5Gy/pyFfOxqNBr///e+xf/9+tLa2YunSpbjpppt65ThdjRtvvBHTpk3DjBkz+uX4ZyDObdDtyHloyZIlmDBhAl555RVs374d06ZNw/Hjx89qMbfL5cKqVavw1ltvISsrCwsXLsSwYcMA4JSiCFtnAfSKH29HwayWhTYZfOWGCrkxgVtteYoBv+bPmfXKfgdyQYn8MblQNQDLigUeV6YV1J/lzJcAK/PBagrDm5SMICxzziz4yfSIzFMTmAGIrFbufpOzXG+Fst7e3rPYCpy8drZv347nnnsOLpcLhYWFmDFjBp5//vlTpo50Nzq6V6dMmSK+3rFjBz755JOz+j7tYZzboNtRXHfddXjkkUcwfvx4AEBWVha2bt2K2NjY/j2xToSiKNiyZQuWLVsGo9GIWbNmYcqUKaIYw2kTLOr0hUVke+clqwna43yZ7crdbQRFAimBRC5gyXQCcBKg5K4zZo9qWkDmbfkzb59lisFbu7Ccrcs8r6xskNuE5TZiAAJgmbXLC4VaDqZ2OGPBraf2oR2Ft2LrF198gb/+9a9YvXo1UlJSUFpain//+9946KGHzhj4/etf/0JBQQE2btzYIxe0cyDOX9AtKChAVVUVnn76aRw5cgQTJ05EWVnZObeCGo1GvP766/j8888xadIk5Obm4u9//zvWrl0rtLFyV9KZeH4EIDXwyuBLoJSBV823MhsGTmbTMt+qphFYhCL48nHVkjAAp3yvPn9e37KnBI+hpnDUmTYXBxa5+Dj8X56TDO5qoPVGIzAz7qv30JskbMWKFVi/fj0++OCDfpOErV+/Hg899BA2bdp0TiRFPYzzF3TdbjfmzJmDPXv2ICAgAC+99BImTJjQ36fV7XC73Zg/fz4+/vhj3HzzzbjnnntwySWXnKL5PVPtxuQECSCkAdoDXzmDlAFXbrKQM11+r26EkEFJVibI/CzPj59lYAZOFs+8Zbv8Hx6LIClreWVglv+O58SvZbBVUxiyIkGdufdFtCcJq6urQ0FBQb8aMmVnZ6OpqUlMsrj00ktRUFDQb+fTx3H+gu75Fg899BA2btyITz/9FDabDcuWLcOhQ4cwY8YM3H777cL0uq9GDMnBriUfn7bz3WRuVk03EDjVxSvSDurMlcAMoA0gq2kL/l7+u86GmuNVZ6Uy6BNM5cWgPbBV87YyeHsz2unrYDFUloTdd999GDx4MB577LE+X6AHok0MgO65Ejt27MCgQYMQFhYmfmY2m7FixQp8+OGHot1YPd0Y6PmIITk8ns75A8uFKHWbbkecL48hgyq/VoOsfCxv2a46vBXX1B/q43hrvFB3s/F7tQ+EzNkyo2VBtLc7Eb2FopzaDm42mzFr1izcfffdmDVr1jlHt50HMQC6PY2XXnoJixcvRm1tbb8ZJ3s8Hqxbtw6vvfYaNBoNFixYgPHjx4tCT3dHDKlDvUXtbMiAKGt9vX2omxcAdEgbyK2+6uPx56cDFjUvzMxPzmjV4Czztd4+ZNrA2710OjlgT0NRFFFwpSdDcXEx5s6di2eeeQbXXHNNrxxnILocA6DbkygvL8e8efNw6NAh7Ny5s9/d6hVFwZEjR0S78bRp0zB9+nTodLo2N3l32o3pEMYtak9D5nPlz3LWK4OwXIBTfy8//+6ch/qz+ms1B+wNcGXqoasUR1c9EjrzmGpJ2M6dO/HQQw9hxYoVQoY4EP0SA6Dbk7j99tvx+OOPY8qUKWfdiBCHwyHajS+88ELMnz8feXl5AE4/YkiOvm7AAE5u12XJlpp6UGfA3jLiroCuN3CVv5aLbvI5qjviWltPGMSr+e3uRGc8Ek4XlITJ9M+6devw8ssvY/Xq1UhOTu72+Q1Er8QA6HY3PvvsM2zcuBGvvPIK9GfxXKbW1lZ89913WL58OZxOJ+bOnYvrrrtOOHuppyOojcnVGdOZCoIwP/N85CyXz08+X2+fvT22/Jlfe6MO5CKh+jG9AVxvhKJ490g43eNTEkb/DeCEJOzLL7/EBx980KOx6wPRazEAuh1FR100S5cuxYYNGxAeHn5Wgy5DUU60G1OAfvPNN2PmzJle243J+/bXQE1vodaYqjNTGaDlgpp62+8NxBldyZRlgyFqXns7mOV3xoeDc8zIt3s8Hjz55JOwWq3CWrS3Y/369Vi0aBE8Hg/mzZuHRx55pNePcR7GAOh2J/bv34+JEyeKzpmKigokJSVh27ZtSEhI6OezO300NjaKduOMjAwsXLgQF154IYATYMKR6BqN5oyNjO8o1IDS2WARkZl8b03sUA9qPBPhbWGUh32qJWH33nsvhg4diiVLlvTJ++fxeJCbm4uvvvoKKSkpGD16ND744ANccMEFvX6s8ywGQLc34lzIdL2FopxoN16+fDmqqqowa9YsWCwW7NmzBy+//LK40c/kiCH1+XGqRE8KeGy46OnEDvl82pvI0ddB/bJse9na2tpGEjZz5kzMnj0bd999d5+9X1u2bMGTTz6JL7/8EgDw3HPPAQAeffTRPjneeRTtviE9L08PxFkfPj4+GDt2LMaOHYvKykrcfvvtKCoqwuzZs2GxWJCQkICgoCC43W64XC4AfTdiSB1yAS8sLKxH2RolWTQPZ2ZIHrszjy1LsHp6Pj0JHx8f0c3W0NAgdNP33Xcfrr/+erz55pt49tln+9zStLKyss3onpSUFPz88899eszzPQZAtwtRUlLS36fQo2hpacGCBQsQGhqKwsJCfPfdd1iwYAEiIyOxcOFCXHrppT0CrK6GXMALCwvrNYAnYNF2sampCU6n87QSur46n+6Goiior6+Hj48PtFotAgICMGzYMDzxxBPw8/PD7t27MXz48D7deXnbCff363Kux0Bf4K8oNBoNFi5ciC+++AJxcXGYOnUqvvrqKzz22GNYvXo1Jk2ahLfffhvNzc0IDQ1FaGgoAMDpdKK+vl7ML+uNoATL19e3TxUTvr6+YnoujYOcTqcYH3Smz6ezwfPx8/MTNYWvv/4aGzduxLZt2/Dvf/8bv/zyC55//vk+PY+UlBSUl5eL71nXGIjuxwCn249xts2MMpvNeOutt/Dhhx/i8ssvb9Nu3JMRQ+rojZFD3Q21UoBb+MbGxn45H2/hTRL25ptv4quvvsL7779/RiVhLS0tyM3NxcaNG5GcnIzRo0fj/fffx+DBg8/YOZyjMVBIOxvjbJ0Z5fF48MUXX6CgoAC+vr6YP38+rrrqKtFuzOJOd9qNe3PkUE+jtfXEmHiOHDpTPHZHoVZMeDwePPHEE7Db7Xjttdf65TVbt24dHnzwQXg8HsyZMwdLliw54+dwDsYA6J7tcTbOjGK78auvvoqtW7di2rRpuPPOO09pN+6Mp4A3U5b+DLVigt+fSdtMdXiThFHm96c//anfJX2dje3bt2Pu3LnYtm0bPB4PLr74YqxevRpDhgzp71M7kzEAumd7nO0zo+R242HDhmHBggVe2429ARYVAa2trQgJCel38JAVEzSJYahtM7vqXdHd86HOmC3YdXV1mDVrVp9LwvoqHnvsMTQ2NsLlciElJeXXKDEbAN3+ivNtZlRrays2bdqEZcuWweFwYO7cufjNb34DjUbjtUnB19cXDQ0NoqDV38+vsy3PNKjpLR67o/NRL0jHjx/H3LlzsXTpUkycOLFXj3emwu12Y/To0QgKCsLmzZv7fWfTDzEAumdrnKszoxRFQVlZGQoKCvD1119jypQpmDlzJmJiYkSTAgdqni0db97mhp0uutKi29WQJWFcAHbs2IH//d//xcqVK8/p7bjRaMRll12GwMBAbN++XShhfkUxALpnY5wvM6MaGxuxevVqrFixAnq9HgsXLkRtbS02b96Mhx9+WFg69hdXCpyqCOhOxtpRi253Hks20QGAtWvX4m9/+xs+/PDDc16WddNNN+GOO+5AcXExDAYDli1b1t+ndKZjAHTPxjjfZkYpioKtW7di0aJFOHLkCBYvXoz7778fgYGBZ2zEkLfobQ8FtuhS69vVxURtoqMoCv7xj39g48aNZ1wS1hfx9ttv49NPP8Unn3wCj8eDsWPH4rnnnjunZxd2IwZAdyD6PjweDxYvXox169bhn//8J7766it89tlnuOaaazB37lwkJiZ2286wu9Hbpuzq6Opi4k0S9vjjj6O+vh6vvvpqv8voBqLXot0L+tzQoAzEORG+vr6Ii4vDli1bcOmll+Lxxx/H5s2bMWLECNx7772YNWsWtmzZAn9/f4SFhSE4OBgtLS1wOBzC76C3ggUqt9uNsLCwPgFcAIIf1mq10Gg0cLlcouNNndA0NTXB5XIhJCQE/v7+cLlcuOeeexAXF4fXX3+91wG3vLwcV111FfLz8zF48GC88sorvfr4A9G9GMh0z7M4W71PFUXB/v37sWzZMvzyyy+46667MHXqVISEhPR4xJC3YzU0NEBRFISGhvZLx5s8r87f3x/Nzc1tpnJQEjZnzhzcddddfXKOBoMBBoMBI0eOhMPhwKhRo/Dpp58O2DKemRigF34Nca54n5rNZqxcuRKrV6/GZZddhnnz5kGv1wPoebsxx8afDRI1mu2QSrFYLEhOTkZZWRnmzZt3xnnOKVOm4He/+93AsMozEwOg+2uIc8371OPxYP369Xjttdfg4+ODBQsWnNJu3N6IofYez9vUif4KLgA+Pj7QaDR46KGHsH79egQHB+Ott97C+PHjz9i5lJSUYNy4cSgsLDznC3XnSAxwur+G8OZ9WllZ2Y9n1HH4+flh8uTJWLNmDf7yl79g48aNmDhxIgoKClBfX4+QkBBotVr4+vqivr4eTqezXaez5uZm1NfXIygo6KwYOyRrgkNCQhAQEIDrrrsOQ4YMwdixY3HLLbdg+vTpQsvcl+F0OnHbbbfh5ZdfHgDcsyAG/HTPozhXvU99fHyQm5uLl19+GU6nE++88w5uu+02DBs2DPPnz8egQYMQGBgoZFoul6uNTEvtWdDf4U0S9vrrr+O7777DJ598Aq1WC6vVirVr1wqNbl9Fc3MzbrvtNtx111249dZb+/RYA9G56P8rdCB6Lc4H79OwsDDcd999WLhwIb7//ns8//zzsFqtmDt3Lq6//nqEhYUJ6sHhcMDX1xeKopw1gOtNEvbYY4/B5XLh448/FgqFiIgI3HXXXX16LoqiYO7cucjPz8dDDz3Up8caiM7HAL1wHsXo0aNx9OhRFBcXw+12Y9WqVbjpppv6+7S6Fb6+vhg/fjw+/PBDrFixAvv27cPEiRPxl7/8BRaLBYqi4OOPPxbZPeVhvWWy3p3wJgmbPXs24uPj+2xSb0fx008/4Z133sE333yD4cOHY/jw4Vi3bt0ZPYeBODUGCmnnWZzP3qdsNy4oKIDJZMKgQYPw7rvvQqPRiBFD/dFu7M21zGQyYdasWZg3bx7uvPPOc4LmGYhejQH1wkCcH3HgwAHccMNEXsnVAAAFd0lEQVQNmDBhAlwuFyorKzFz5kzccsst/dJu7E0TXFRUhLlz5+KFF17AVVdd1SfHHYizPgZAdyDOj1i0aBFGjRqFmTNnAgCqq6vxxhtv4L///S+uvvpqzJ07F0lJSWfEmtGbJnjbtm1YvHgx/vnPfw6MtPl1xwDoDkTPo7y8HDNnzoTRaISvry8WLFiARYsW9fdpAThRwPr000/xxhtvQKfTYeHChRgzZozQ/ModYr1hzciR6NQQA8CaNWuwfPlyfPjhh0hMTOyNpzUQ524MgO65HI8//jhiYmIEwC1ZsgTx8fH4/e9/f0bP41xoK1UUBYWFhVi2bBkKCwtx5513YurUqQgNDe21dmNKwoKCghAQEABFUVBQUIBNmzbhvffeg1ar7aNnNxDnUAyA7rkcJSUluPXWW7Fr1y60trYiJycH27ZtE5aQ/RVne1upxWLBypUrsWrVKowdOxbz5s1DRkYGgLYjhjiQsjOFN2+SsCVLlqCpqQnLly8/K2RrA3FWxEBH2rkcer0e0dHR2L17NzZs2IARI0b0O+CWlJRg9+7duOSSS/r1PDqKyMhIPPTQQ9iyZQuuvfZaPProo5g2bRo2btwIjUaDsLAwhISEwOPxwOFwoKGhoV2nM84xc7lcCP3/2rt7kObOKIDj/wc1Q9Xq5BAhyru0YkOxEaRLJSoIksWgKChEavzAyc1KFh0VDXTR5S31Iw7CO0kEpyBq0lQDtSh9C2aRZlDqUGIKEk2eDq9K7TfFm+Sa89vM4DlDcnjuuefcW17+ZCTMarWyvLxsWMHNZDI0NTXhcrkM+f8it+SkaxKbm5tEIhEuLi7weDx0dXXlLZdUKkVrays+n89UW05aa+LxOEtLS0QiEXp7exkYGKCqquof3wqR75Ewv99PLBYjmUwSDAYNiyOelbQXzC6dTmO327m9veXs7CxvL/q7vb3F5XLR2dlp6i2nVCpFIBBgbW0Nu93OyMgIDQ0NAE/eClFWVkY2m30yEhaPx/F6vTkZCUskEng8Hnw+H36/X4quefxt0ZUGlElYLBacTifV1dV5K7gvaa20oqKC8fFxRkdH2dvbY25u7k/rxpeXl9zd3VFSUsLx8TFKKSwWC1NTU6yurubkBuLk5CTz8/NcX18bHkvkhvR0TSKbzRKNRhkeHs5bDi9xrfSP68YnJye0t7czMzOD0+nk4OCAyspKrq6umJiYoKenh76+vsfn/xopGAxSU1ODw+EwPJbIHWkvmMDDFlZ3dzeLi4v5TufFC4VCuN1uHA4HVquVsbExotEo+/v7DA0NsbKyQjgc5ujo6HEawgjT09Osr69TWlrKzc0NyWQSt9tNIBAwLKZ4NtLTFeK/OD09pa2tjY2NDTo6Ojg8PGR2dpZ0Os3Ozs7jhML5+Tk2my1nz1TY3d1lYWFBerrmIT1dYR6ZTIbm5mZqa2tzXmQaGxuJxWLYbDYAWlpa/rKFUldXl9O8xMshJ11RcGRESrwAshwhzCGRSLC9vY3X6813KkIYQoquKCgPI1K5ehauELkm32xRMGREShQDKbqiYITDYba2tqivr6e/v59QKMTg4GC+0xLiWcmNNFGQZERKmJzcSBNCiELwbyddIcT/pJSqBl4DH/HuqvFzrfU3+c1K5JssRwhhnC+BHa11j1LKAryX74RE/slJVwgDKKXeB74HXmn5kYnfkZ6uKDpKqWql1Bul1I9KqbdKqU8NCPMK+Bn4Win1nVLqtVKq3IA4wmSk6Ipi9HDZ/yHwMfDWgBilwCfAsta6CfgV+MKAOMJkpOiKonJ/2f8Z8BWA1jqttf7FgFAJIKG1/vb+7ze8K8KiyEnRFcUmJ5f9WusL4Cel1Af3H7UDPzx3HGE+vwGSLLrTsLE0PgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "execution_count": 160, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ax.view_init(60, 35)\n", + "fig" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Again, note that we can accomplish this type of rotation interactively by clicking and dragging when using one of Matplotlib’s interactive backends.\n", + "### Wireframes and Surface Plots\n", + "Two other types of three-dimensional plots that work on gridded data are wireframes and surface plots. These take a grid of values and project it onto the specified threedimensional surface, and can make the resulting three-dimensional forms quite easy to visualize. " + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "ax = plt.axes(projection='3d')\n", + "ax.plot_wireframe(X, Y, Z, color='black')\n", + "ax.set_title('wireframe');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "A surface plot is like a wireframe plot, but each face of the wireframe is a filled polygon. Adding a colormap to the filled polygons can aid perception of the topology of the surface being visualized:" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAADtCAYAAAAcNaZ2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsvXmUJFd95/u5NyJyrcysqu6qXqvVq6SmtbTA7AMPGA1g3rPm+RwPCDzYGMMzPsbbPGz8PH4YM/PAzDNGxmI5xgwyDxuGsQ0CJCFAGxJaWlurpW71vlVXd9eee2Zs974/onKPrK7qrl5Kyu85fboyb8SNeyMjvvGL7/0tQmtNDz300EMPlwbycg+ghx566OHlhB7p9tBDDz1cQvRIt4ceeujhEqJHuj300EMPlxA90u2hhx56uITokW4PPfTQwyWEeY72nj9ZDz300MPiIbo19CzdHnrooYdLiB7p9tBDDz1cQvRIt4dlhQMHDnDTTTeRSqX4whe+cLmH00MPi4Y4RxhwT9Pt4YrCb/7mb5JOp/n85z9/uYfSQw/zoafp9rC84XkeACdOnGDHjh2XeTQ99HD+6JFuD5cEn/3sZ1m3bh2pVIprrrmG++67jw984AP82Z/9WX2bBx98kPXr19c/b9y4kc9+9rPccMMNJJNJ3va2t/HAAw/w0Y9+lL6+Pg4ePMhdd93FTTfdRDqdZmRkhE9+8pMtx33kkUd4wxveQH9/PyMjI9xxxx0A2LbNxz72MTZs2MCqVav4yEc+QqVSuRSnooeXOXqk28NFx4EDB7j99tt58sknKRQK3HvvvWzcuHFB+37rW9/irrvuIpvNcv/99/OmN72J22+/nWKxyNVXX00ymeQb3/gG2WyWu+66iy9/+ct873vfA+DkyZP84i/+Ir/7u7/L5OQku3fvZufOnQB8/OMf5+DBg+zevZvDhw8zNjbGpz71qYt1CnrooY4e6fZw0WEYBrZts2/fPlzXZePGjWzZsmVB+/7e7/0eIyMjxOPx0Pa3vOUtXH/99UgpueGGG3jve9/LQw89BMA//uM/cvPNN/Pe974Xy7JYsWIFO3fuRGvNV7/6VT7/+c8zODhIKpXiT//0T/n2t7+9ZHPuoYdu6JFuDxcdW7du5bbbbuOTn/wkw8PD3HrrrZw+fXpB+46MjMzb/sQTT/DWt76VoaEhMpkMX/nKV5iamgJgdHQ0lNwnJycpl8u86lWvor+/n/7+ft75zncyOTm5+Mn10MMi0SPdHi4J3ve+9/HII49w4sQJhBB8/OMfJ5lMUi6X69ucPXu2Yz8hui4C1/u95ZZbGB0dJZfL8ZGPfISaR87IyAhHjhzp2GflypXE43H27t1LNpslm82Sy+UoFosXOMseejg3eqTbw0XHgQMHuP/++7Ftm1gsRjwexzAMdu7cyd13383MzAxnz57ltttuW3TfhUKBwcFBYrEYu3bt4p/+6Z/qbb/6q7/KT3/6U77zne/geR7T09Ps3r0bKSUf/vCH+cM//EMmJiYAGBsb4957712yOffQQzf0SLeHiw7btvmTP/kTVq5cyerVq5mYmODTn/4073//+7nxxhvZuHEjb3/723nPe96z6L6/9KUv8YlPfIJUKsWnPvUp3v3ud9fbNmzYwN13383nPvc5BgcH2blzJ8899xwQeFNs3bqV173udaTTaW6++WYOHDiwZHPuoYdu6AVH9HDBUEqhlMIwjHPKAT308DJB1xvhXFnGeughFFprtNa4rovjOHieVydcwzCwLAvDMJBSIqXskXEPPcyhR7o9LArNZFsqlZBSYpomQgiklNi2jed5+L7fsp+UEsMw6v96ZNzDyxU9eaGHBaGZbJVSAJTLZZRS+L6P1rpOoEIILMuqE2t7H83okXEPL1F0vYB7pNvDvNBao5TC8zyUUgghUEph2zbVahXDMIjH43XL1nGcOgErpep/18i0RqzNpNq8XQ09Mu5hmaNHuj0sDt3Itlqt4jgOkUgECMjRsiw8z6vLC0KIenutn/Z/Wus6kTb/q5FqzSoOI+MaIZum2SPjHq5U9BbSelgYtNb4vo/neS0Wq23bOI5DNBolk8kgpaRSqXSQYq2PGoQQdWs1aPRBHUCLrSht1Em4JluEkbEQooWMq9Uqvu8TjUbrx6lpyzWruOZJ0SPjHq409Ei3ByCcbLXWlMtlXNdtIduufajTWO7nEJxAy48hrNfV24SawPS+h/b3ov2fAUm0+W/R5tvRkdeCiNbH0WwRh5FxjdTbybhZ2qihXaLokXEPlxs9eeFljm6WbaVSwXVdYrEY0Wg0IFuVg9Ifg3Yg9qtU3NehhSQiH0JWbkfq4/jamyNsUGIVOvJ7RNUDGP4juOI6lHoa0XZZaQZwrXcjIh9CiGjXcdaIuCZ51L5fjExR+7+ZjJt15h4Z97BE6Gm6PbSiRralUqmuj/q+T6VSwfM8YrEYsVisQULePij+PqhT9T6U2ICvPWKcxUfjaz+UtLTYipJrMPyHu44nyzU4JOlPfgkpEvOO3XVdfN8nFostuWbcI+Melgg90u0hgNa67kertaZYLBKJRHBdN5xsAcfZhVX8HQThCWGU1jgoIiJcetCYnFL9rDX6MPTxzv3FKk57pwCFZbySgeRXkaKv6xyaSXe+eV4IGQfzduqLdTUSbl+865FxD13QI92XO2pkWyt7I4TA87x6Zq14PE40Gg1ZFFOcnf1fico0g2pPaN8lnWDcz7LBMJEhJOTI6znpPENEDDFiGgg93dJelq9kxn2s/tk0rmMw8TWk7A893kJItxtqFn47GUPDTa1GqtVqlVgsVteRw+6VHhn30AU974WXK9rJFqjLCEoppJR13TYMZftOXH8/rg8R67X0qeda+0cyrUw8YNz3WR2SfyGnqgA4epKzagurRQlBdW5/i7y3v2V7z3+BmdL7GUjegSFXXOgpaIEQAtNsvexrhFojYN/3cV0XrTWVSqWFiJuJtbaP7/s4jtNyjG5ubT0y7qFn6b5EEUa2nudRrVZRShGPx4lEIhSLRaLRaN2vtrUPh9Mz/xZ/TscVRFllbiLSJBHY7OCE92z980q5gX55pv5ZibUcdU/SfCkNmjsZYB8CjStvYNx9MnQOpnwFmeQ3sGSq5fsLsXQXg1KpVH8YtVvGzQEfYWQcZhn3yPhlhZ6l+3JBN7KtFV2MxWJEIpGWkN1uD95C5R/rhAugsZlUs6wWGQxyAMyocss+U+okMflKYjwPQInVwImWbWa83YHVrJ+hoLonDveweCF/Gzf1/9+h87zYqJFh3ce46dhhlvFCyDjMMvZ9H8uyQpME9cj4pYce6b5EULuZu5FtPB7HsqwF38RKFcmXv9jxva/GmTavY0gVUPIqCqozB+1pbx8brRGEHme6TTqo4az7BGusN1P2Huw6hpJOc8Z+gOHK61gX/3f17y8VEYUFftSOXyPX9u3Ph4yr1SpSyrq23HycsFDo+Xyle7jy0SPdZY6a32pzVi/XdalWA830XGTbzdIdr9yL0tnQfareC+Ss16OUF9quqHLad1hpXo/nPd517KMepMRKtJ4KbZ9ySwDsLXyBwcj1xI3VXfu6EnC+ZFx7O2km1hraH6S147RLFL1cxssHPdJdpqiRbS0XQjKZxHVdKpUKUspFW7btOFT8LhutXwD/idD2gvcCjl7fdf+qOsWYd828x5jwFGV5HcPywY42IQaY9sYB8HSJ53J/yWsH/hrRxS3tSsa5yLhcLiOEWJBlXEM7Gddc4ZrJOCy5UA+XHz3SXWZoDo2twfd98vk8UkqSyWQ9v+1CEGbp5p1DFNzDnNRDbDAMwO/Yz5fbOePEGJbdStxY7CpO8trkKpQeD2mPcMqZwtMub+u7GvTB1nmKLUBjQW7G3cPR8rfZknzfgua1HNCs2Tbr7DUyrrm21SLwFpKxLSyUu5mMexnbLj96pLsMEJbLFgLn/Zpm29fXh2VZS3K8U+W7AMh5kxB5Ffi7OraZ9pMcs0+yKr4ZzdGOdiG3UdZVZtQr6BedpCvlVjxtA3DIGWKbdYhmD4eiinfsc7B4BysjryYpNp3v1JYF5rOMz5WXIizgAwIyrlnUteuktl2PjC8tlt+72ssItZvMcRxs264Trm3b5HI5XNclHo/X0ysuBZT2OF3+cf3zqFOh8zIxOVadBGDCXxvaT0kPAbCnfAYpOrcp65VNx5jAE69uaZ9wO/VkjcdzuU/jz5H1yw01LdeyLKLRKPF4nGQySTKZJBqNYhhG/eFcqVQolUpUKpV6NY92coaAjKvVKqVSiUKhQC6XI5/PUyqVqFardfe8S+Et8nJBz9K9AtGey7aGWuJw0zRJpVKYponnedj2+ZNQu7wwWX0CW83UP2e9CTZEXoX2G760wriWigos7KPOGKuTm/DVsZZ+zziB3qhRTPnXMChPt7RPuq2LQ7vLLr8QjwMVhFhNzp8hDEX/BE8XfspN8bcvfrJXIJaCzDrSZzb13R4C7TgOjuOc0zL2PA/XdVv66yWWXxr0SPcKQljicK01tm1j2zaWZZFOp1turvn8bM8HY+W7O7476VQZMSQQPADyagg4WW+fVhvop0G6gjRjTsMj4YXKad7SN4LSo3PtMU47rR4LeVWkyGvo4yF8cRVwijBYop8fz/6YTdariNN9IW+54WIQVzsZK6XqvsDnK1P0yPjC0ZMXrgDUXIZqicJrGm6lUiGfz6OUIp1O09fX12HNXCiaSdtVBcYrj3Rsk/UmEMar6p+P24WW9oOVUaQYqX/22YJu0mc1mnF/c2MHuRU/ZHHumdIEQqwhr7pLJZZci6ddfpr73rkn10MolkKmaF7Qg0a0Y02mmJ6eJpfL9WSKEPQs3cuI2oXtum5L1FK1WsW2bSKRSIdl246ltHRPlp9CES5VjDo26w2JlCPMeLOt80AzozbRLwJLNuulgVLLNvsqZ3hrahNKHaOsVxBmyXp4jHnXUPDPdh2jo1PANAeqezhSfpEtie2LmuNi0C044qWKhcoUC7GMXdetl3FyHKdX/64JPUv3MqDZsq1Wq5TLQShtuVwmn8+jtSaTyZBMJpfcsu02HoDHs88S7RKAMOuNI4xXUuaq0PaD1VP1BbNTXil0m9PuBgAmXCe0HeCE4+Czsmt71mtcsndN/Q983WkxLydcSmI/32OdyzKuRdM5jkO5XKZUCn5/x3HqvsTNLm7tVvTLbQGvZ+leQoRVaYBgBTmXyy2oJE47LtTSrY3BUTZHSi+wIr0FCLc0Rx0XpwvJaTRZvY1+AbN+PnSbA9UzrE1dz2lnsut4DLGKk3acYetYaPspu5HrYcI5za7cQ7y+/21d++vh4iHMMm4O+KiRcfMaxbmSBLmuG2oZtwd8LGfLuEe6lwDnqj8GLJpsw45xIRfhkdILuNphf6nEtlhj0awZBb9IRa+jGykfrIxxXXw7MNr1OAftzWhe6NpeVUkey2V5z/B6qqpVgrBEPzNtVvT9M9/nhtSrSRqtmch66MSlsKqb+2/OXHchSYK61b9r9zFeLvXvevLCRUTtyW3bdp1ctdaUSiXy+TyGYZBKpUId4ReKC73Aahf2/uIzAEx7RRLmtaHbmsYWpv3u+W19fI47w/Meb9JNEZerurc7QYjEGWdLR5slO/19K6rMT6fvnPeYPVxahJF77Ro3TZNIJEIsFiORSJBMJltC1n3fx7ZtSqVSi9TQTM7NMoXjOMzOzlIoFMjn8/zsZz/ja1/72mWa+cLQs3QvAsKqNNSKPdZK4iSTyfpFdrmhteJAsZETd8YbJCxTbdYb4Nlsln8zkMTV4brtrqxgU9JEEZ4MZ8IxWGFtRoZEqQEcqwbywcPZAv9heDW2aljVtUW0djyVf5jXZP4X1kRHOtqudLzcFutqcLznsPxHAYFAYCAxAGmsRkfficZcsGXcHOo8NjbG9HTnNXIloUe6S4gwsm0v9tjX19dyky2F90Fzldvz2feUfZRSkw67tzTJa/tSeLrVNexIBaraJ2Jcg+s909FXVAxwsFJme3IbZV4MPd6RcpX9yuctK2L4utrSFpMryHvBIptCM+VeQ8pokG7zIlozNJr7ph7lP657z8Im/TLFpSL4+Y7jqtNMlf+aPiax9FMtbYaxk5h3COX9T+zop9Fy/YIytgFUKhXe/e53I6UkkUiwdu1aduzYwY4dO0IT9Ifhgx/8ID/84Q8ZHh7mhRc6JTCtNb//+7/P3XffTSKR4I477uCVr3zlgvpuRk9eWALUZIRqtYrneXWyLRaLFItFLMuiv7+feDwe+tp1uVdoj9ittc9c7WMYra5YpkhxqBSQ8OFiuEeFIYJghZPVcH01KgaYcW0KvoehOjOQmaJVdngoWyAiG54MzYto7Xgye4ans4e7tvdweaF0manK33Ai979RdO8h2ZTMCMCQ1xHTRxH4GGov8cr7MLwfd/TTLlPUKnskEgluu+02du7cSTqd5gc/+AHvf//72bt374LH+IEPfIAf/ehHXdvvueceDh06xKFDh/i7v/s7fvu3f3vBfTejZ+leAJRS9ZwIzbHstfpjYZZtN1yIFXKhxH242llw8ngF1jTFKEixuR7ucLCSZ0tyDWW/9cYp+imgxO5ikV9KrKCiWl/zInJN/e/ny3GuSbYes+zGoanisKc1WXc7CePh0EW0+tiQjJaLfP3UfdyU2RJaHHOxuNwPwqXGpZxP+7Wcs3/AdOWv8fUEAP3mdoRuvAkpsR0pUpS5Bo2L1lUEJjH3m+AfxY98AMT8pZmklFx99dUkEgk++MEP8o53vGPR437zm9/M8ePHu7bfeeed/Nqv/RpCCF73uteRzWY5c+YMa9as6bpP6FgXPbIe6g7iNcG/Vr68WCzW62plMpmOUuZhWIrXvQsh3Rl3nBmvU189Yc8QNxo+uTNOuqXd1Rs79jlVmUtNCPi6cyGsohoW8JFyiaSxtaV9NiQS7aFsGZMMku4JzFPmILZWHCuP8+D08123Ox9c7NfxS63pXmr9eF/hm0yWP1EnXIB+2fidy+LVuCKC5z+K7+9C+c+CPktClDHVXqLeNzHsT6JVuJth+/krFAr094dXkb5QjI2NMTLSWDdYv349Y2Nji+6nZ+kuAmFVGmq5EYQQHfXHFooL0WQvFHvynWkZayh4azBFUN/smNP6fH6uUGVHUqLnXMsEJvtLjdf/p3MeN6Qb7QDjduv8TldXk7EaksCJaqVjDLZWlPX1xIVL8yJaSjq8Nj7JhkiBIUPyG2mPiFBE5T2YxRhKpBHGtSjz7Wj5FpAXP8ikhwC1a3lP/utUvMcYFI1gmKhYian2ouljii1k3eNsMZuTGyVIyNVIfRylJVpEMdR+hPP/4UY+iJD9oceqIZ/Pk8lkLtq82nE+92yPdBeAMLKt1R+rJRGpeSOcD5YiwOF8939g6iCDkVXkVKe1u79S5PqEhSkSHCm3FpCcdMr0Za6mMFcDLS7XYesGwZ51qrzB2EbBbyQ5P1puJdXHsnn+91UrqKpponKAGbfKm5IneW1ymmGzQlz6RIXGFMGN9YtxjUJQUg4rpIEhO8+30gqbAuhJtHcE4d01tz4+iC+vQ8stYLwKYbwGZGfO3pcqLnXk297yP3DYvpObEmtbXL5XmhtR9HHC8ympvVwVuQnmrGBNBiGvo6JOgraAImgHYr8Lxjsx7D/Ht96LMHd2PXYul2NgYOCizGv9+vWMjjZ80E+dOsXateGpTedDj3S7oFvi8Pb6Y82eCssNVd/hhcJx3jw4BHSSblFViZuvwNeCMEqfcgeJzk3b08NAa3jvWXuQ5NwVFpdDZL3W7FQKjaO2AdMMywj/be1DrLQclNZEhIXRck41CHC0iyFtpjVkVJSobL2EvZBEOqDx9RRV72cg7gMXtJYoYQHDmGI9wtiMYVyLkDsQ8hpYhmWBrhTsKX2NI/YPADD1iaZfxEBjsd+ZQOEAgsRcpWgt1jCuVrJW7YK6u2EC4n+NMN8EgB/9Ayi/D528EyECuSvM0r1Y8sItt9zC7bffzq233soTTzxBJpNZtJ4LPdLtwHxkG1Z/rFZS5UJwuSzd53JH8LTP4aLHUDJ8m3E3iSmiQGdo7zO5LG/qT+BRZsqJ0k66u3IF3rkyja3zmGIYOqhbM105xS8PnGXEOlG/eaQQlLVLFIOIaMgCvtbklI0UYAjI6ypRZZGWwQq20go/JJIOoKoViMbtL4TCwEbpUUzGwHsCvGCEGkFcDCK5Hu3/Phjz13q7EFwJblxLiadzX+ZINSDcAWMAX++utxnGGzjqPFb/PGRdi9B7UGIbR91Z1ltx0AHheqxAxm/DMBsuWUKuQUc+BO53IfLrofOqJdo5H7z3ve/lwQcfZGpqivXr1/MXf/EX9aCmj3zkI7zrXe/i7rvvZuvWrSQSCb7+9a+f13F6pDuHbonDHcepl8gOqz92uRfCzhe+7/PYZOCLeNIusS2zimzIgtqLpUliYmNoH472MdiGx3McLrsd7Z5WCHE16Kco+ykiTPPW9Cg7E9NcFS1g4REzbCQaPScC1BARAlf7+FoTl4Gj/Izv0uy2KYXA0S5Tvs+giGPjQZefw0OHXuxGyA6+BkMWMXgMXXkMXwziGb+Msj6EMOZfRX8545n81zhc/kH98+pIqv6cFfIGSn7ruR6QGo8bOWwfRiCJ60CqstlIXt7EsBniA2vdCtX/C619hOjMhgbnf09+61vfmrddCMEXv/jF8+q7GS/7d6haXoRaRv3aD+c4Dvl8Htd1SSaTpNPp0Oq6V4Kf7WLGUPMfzufz7C40FtFMEe4dEJEJbNU9tPdoxSIq+xmzq6Hte/ICgWK79QRf2vgA71uxn23xSaBK0rQxxNz40ai2OZhCAIqichlzTaTsJPYg1l4zrso4XU6BqyFsGU1pa+4YDWgNiabVdSHA0LNY3leJVN6EU7yjnlv2pZwJa7F4ZPZnjFYeavmuT+QAMMQaHi2amKKR+D4uh3F1nIP2iygc1kSuRVCgxHWMeZNkYr8eehwhDIh8CPxHge4hx1cyXrakG5Y4HKBardbrj/X19ZFKpeZ9XVnKiLKLiWayNQyDQtRhwmnUITtaCg/b7TPWMdYlGALgcLWAFDu6to+Ye/kPfaPcEAukDEto0hLSUmCr1jeGouq8WaQQaATTuns6SICSluxxopRD+iiogDzboekkcSkk1lzY9ozvMOXbVDHw6cPAJS3+FlPcW5eWaom7a3kCaukMa/lmrxRcTHnhSPkwD83eQ1U1qoEYmCh1EEGc5+0tRGUErymBkSG3csx5lpopnOEMs/wCZ7x9JCNvIWps63o8YVwNRDrmdSWd7/nwsiPdZrItFov1XLY1svU8j1QqVa9Bdi5cCaQ73/6+79cT7EgpyWQyxONxns4eatnuUDFP2uxMZlN20+yeyZE0uoi+wLFyuCX8xr4TfGR4LxoXgyhpo7EgF5EaH5PmYSelj6M7NdkjToSCFvjzSOdn3QQIzYuOxYzffll37qg1WHRauSaSCd9k1K9QVC790iIuPCKiDEi09ol5f4UhHq/n0Egmk8RisdCKC+VyuYWM23+n5Z57Ydad5Y7T/52RaKvsstYaQlNlXL2e084sV0Ub148pX0G1KafGSvMVTOrVTHtPAZLB2O+c+8DGTnRbgdJqtUosduXLPy8bTTcsvWItw73jOKH1xxaCK0FegM6nfC3BjuM4oXl6n5o90N4FUbGO9oQyxwoSX8OguZ6S37kPwJlC54X+6sQp3rNiX0BcRpyo0IDE1YK8L0gbHmmpmPYtMkZgcQohQGuUVsg574EZ36AqHEzguJ9gi+wMBbaVRAmFQKCF4IhnUtE+aw2fioaY7CRdRaAb1+BoKCkfLTygihCQERHMuXHYyqSobKIyhimKUP0orv4HrMhN56y4UFtsDcsr21wL72KS78Xo31EO/33sqxT9AgOWQbnJcWTQFDi8mT3lYJ0gLXP4CiRJDlZXsDny8NyWAhcL23s62C7y74k0BeV0gxDRuXlV69d1Lpe7aD66S4mXPOl2SxxeqVSoVqsIIc6LbJcSS5WIHM5NtjDnKpY/3tHP8bIi2aSkmMJiz0xAcmfLVqgwKhA8dqbAq0eGOesE/pY74mP8x+FnkAoi0iTvG1jCIVBoJREJOd8kY3gMSMWMF6XftOeOKagqTUKA0nDSo7445mqFrQRR2XquJv3WyD+B4IxvUtGCjHRJhnBNbdGupGDM62NSGVxrTddt3whx0lJQVT62ViSlwaAhySobS/hYAorVDyHktzHN8Ffh+ZJ8N1forV2f7akLazllr1RL+Dvj3+aUXSs22p7Zy+LhQvCdgUSrgwDMqNewsukaM+Rrsf3H5/pIMhD7rUWNofmevpiBEUuJl6y80CwjNFcvrVQq5HI5tNb1cjgXQrhXiryglKJcLpPLBYsXmUyGRCIRmqf3+exJXN2p4R4o5OgzGo7lGXMdzty4np3KE5OdFm3G6Cfn+hj+4Nw3Ph8afgZfQ9SAmNT0GRWi0scQPr42iQpBVWsm/MB3wBICVzeIJSYFFaU44Vpo0bBSDaE54SU6xlBU4b9fVhnsrg6wq7KS/U6aKX8FZSVwFJSVwR47wTPOAOPKYlBWWnTfpIyTUw6O1mQMC1P4CCEYMCSVueMlRZVi6VY8dTr0+GFoT9himmY9uCYWi2Ga5jkligt1UVwKPDhzP0/nnwQgIgwqfkOvjbGSXcVSXUraEF2BooyUr+TZ8jgDRrCWYIhhyipGzS/XMP89EWPdosbRTLrZbPai+eguJV5ylm6NbGuryjVCq1l/kUikbv2FaWyLxeWWF2p5IDzPW3C5nx+PHSNjJsm1JZDRQMJYT9EPCk+6/iDMFap0tGLI2sCofbBln5gOSHrflENmAG4Z2EdEeEz7FqvNxnlxlCAqLFaaAWGsMwXjvuaIa7DCgGkvwWorGI/WmlnfYkp5mG1T0XjkfYO0EbzL+lrgo0I9xbSGMhHQkpwXY9QDWEdaVjo8hk0RBwKrPkaCCGViMrCgK8pHCE1kTmroNyRZH2LCJyUrZIu/yor0A/Oe825olroWUhTScZxzVluY7zhLgYOlA/xgspE4fmM83ZI/2VavoKQbqT9XW2CwgseLGhMDpQKZ6ox3LVdFptDqzCJoAAAgAElEQVQqyDImzTde0LiWi6X7kiHdsFy2zWQbRkhXgpV6vn0opepVgw3DIBKJkEx2X+xqxsMTx7h25SpyXmfehdGyIDp3VYyVTGiqDjxdiXa8G1XdOFBhtFTlulX9vDV1nJNelM1WQxfI+hqNT1ZJpPIQgEBjEWGNYVDVLp6GU24MEJz1BSUMhFZkaHVFkwLG/BhpIyDoGT8a6pkAtXXxzgeQIo1oC/aIizwmgqSIkxAaU1j1fuMyWCAr6yQmRSwREG9epYkwS5wJCs79pCJLX6ttIRJFtwTfNZliKeWJaafIPZM/QTUtTg5bEm/u8o3LnWS9Vk+TqDjNqHsdRTXJNfEhNM8j5Ws4WZ7lKnMfgiRHnRRvTb9h0eNpfpj0NN1LhG5VGmr1x+az/pbSSr3Q1IwLfWWspZOsVqv1xb+av+hCcLQwzalyjnV2eNmdfflZ3jiUpuIXeG6mdXX46akcN66O4KjGTXW6yVh+R3oX01qQkD59AjwNZ30AzaChiTYReFVZDBga8EgCK3DRGqoa+qRBXvuM+yYBdbaeVwOPUSfJSKRETlmEeScAeF3Us6Jvk2oyKAe1wyZTEhON/BkFZVDyU6w2g1dhIQRJynhaMO0rJCCEx4TKMCSzzNhfhItAumGoWcZhCb67lUqHIP2h4zjnrRcrrfl/DnyfTKI141dcFin4EBEZfjRp8vr+mXpQREomcHWc/ZVgn9WWh6EHebJU5Zr4ABqHsngd/ZEdGGJhycbb59xMuj154SLiXGRbq8EkpQT/FFQfBW83eLvxrLcg4x9BiNSSWKmXavW5Wq22kG3N+lmMTPLIRFBl94XpHKsGDLy26r4K6DM2EBUz5NxW3beiFKusDYzaQWYwieRQLiDSlZEC/ZHjIGDY0BSUwRlf4wtYa7SSotaQFAZhYcFJKekTmlVotlkOWks8NEVf4SOoaqhoGHMsRiJg63AfXABHmyRwiQnFjI7Wv49JF9CMGB4bLQdLeGhNPS4OICV9UjLLuBdFoBk2HTytmVSSqipS0RIpAiv8uDfAGvMEefth0tE3Leh3uBiYT6Ko5Qup1RWrPeSbF+3OJVF8c/TnHCmdZktktuV7WwXpDSecG7BVhZJuRDaujgzzaLHhHhbRRxn3r6eszjJk5jC4jv3lE9y84g8WPd/2az6fz3PVVef2fLjcWHakWyPbYrFYf61uL4nTkvFLTSALt4IcQakiqGMY9ikK3vNEYh8Btl92X8n5LO75yPZ88LPxQFIoeR4jsdUcq3TmAz1TkQxFhiCkzlnWbmTmGrRWUvKCm/c3Nv+cmOlg6CBfgy0qGAJsP0rEbA1CsHWUjNHurwouoiNCTAiB1JqU0RomvNmqoLTF9ZEyWd/ktDKalF3NsFS8wqqQFEUMIakqmFYR9laTbI1U2WT5SHzcuXQsQkBW+cSFQbzJO2KVaaM1PFuJkzKn5xbUoNmBoqRsDjuKlP+lRZNurb7XxUTNKhZC1EvXLFSiqMkUe/KjfOPkI1zfn0Y3PSzXRPpw9BGSxg7uHC9wQyqDbkpxM+v34ejg919tZdAixouVs0SEidTHOeCsJW1exYrI+ee3aPZeuFgZxpYSy450a+41tdem2opuaJUGrZGl/4zQs+DPYgDauAZFlJQ6xlTxP6H1O9H6zy+IdC9GcEMtT2+lUsE0zXmDNRZ6/LLn8PRMY5VZqHAN+Pl8lu2JdYQluXl6qsArhkw87REVA4BL3KhwQ3/Q7yk3zZpIvu5dJnTrmJWGtBC0W7mnvQQbIp2hxL5WLRZoMzwUhtCsMF0GtYutDSpasNYMrGildd3fNyZhnXRYm3TqIce+aB1DXCpmfYWPQV+Tb+9RN0rUmKaiDFJzC3hRoahogRSCPlkmq/qY8feTqD7OytjrQs/r5UQ7uc8nUTT7F3uex2Q5x389cCcKzWAEZppO2/poDFMkuH+qD7BZFQ0kIoCMcS15b6Jp2z6eKQW/8dWxFRTJkPdPcGPq3ec9p0uVS3cpsexcxqSU9YuhFtTQtf6Y/U8IL4jR9sRqfOP1KDIgLISxkQHzGnz9LWbL37mgMS2FNlzbv2bZZrNZXNddVHTcufDE1Elc1bBCjmQ7k4ZDkM1rtpIObSt6HqsiQfb8ihO4kN0ysgdLKibcFEmjofcqrVlrtXpI2Cp4zR/3Ihx3Y+x34jxVjVPSmjHXrLuoBePoTrhBRrHGtkJATPoMGB5FVZ0j3M79hAhCiyd8j3KIjj5gOJSUR3Yuqm3UTWAzixSanIq19FMblxTBeACOl/8m9LwtFzS7tEWjUWKxGH976n5m3OB3jBqti2RJUSHn3MhZJ5CZojJ4UEsMDhYylJpKNs16EQoq8BBJmzH2V04gMdkYf+t5jbWjLNAy0XSXHek6jkOpVKpLC11L4vhHofx5qnI7s2ILjhjG8B9D6lEEEry9GHqSlHw9rv0Ncs75l3lZKku3Oe/DxQhFfni81VthtFRiVXSwY7uVVoZSsftxS05fsH9BAZpXDZxAaTjl9pM2GtZqxU/SNxdtVlUGT5TWcMQ12OtpTimHaV2lRIWSVriiwLQus991ed5xOOy6nHR9fB3+BuJ2WTwDqGrNGd/tSKBTQ0GBjWLc19gh3aQNFw+XQ3aEgp5GzlnE/UaZapNPcFQ0FqnShh2QgDrCRPXprmNrx6VyNzxfCe1/ju3iidkj9c82uZZ2KWPcNxM8vAWaypzPclTvINEkIaXlWk7ZxwEwhMWoHWy3JvpviBlLIwlczFy6S4llR7qWZZHJZOZNQqO1plz+W2YwybtPo9UkcRVcOEKPI/2nkTKOlMOYQhETA0wUv4ircl37nA8XQro1R/iaplZLsrNYy3Yhx68tojUjIzu9GAbkCvafzdZDYNvx7HSRiIiwf6bMjYMnGYoUOVRZRUS0MlhsLqpsb2Ulj1ZWkdOCqNHpZRERrd9poKg0M1rwgqM55or6KysEpOp31cChoKGKZtx3Q89LVgVatSUUJ7uUdY8Jn2M+yKY5mUIx5TckGSmC3Lu1OSgMDOFyoLS49H9XasTZi/nT/P2JB+ufE4bJrNewXKMiyqOzZv19YyTWh6NLWMR5YFowFG1o+Vqtq/vyrjK2UlKzCAzS5hsv6N5pPnfFYpFUKrwS9ZWEZUe6za4u3X4sz3uKiv09lBoHBBljLYISGgtl/SJ+7A9Rxo1oNU2EMUwiZKiwb/bPL+gCWOz2tm3XLVshxHnLCAu5aY/mpzld6dRoJ8udpp5diVJyPLYkwxPZzDouayPXYivNDStOgYBplaTfaORF8LQgIhQPFtcxiYmUCi8kcszXkJR2x/dzMwMBOa140dEccQVlJSgo3dVjoaQbDmRlNBPKRbUseoHftEAYlzZHnc5IuyNuAku4FP2+lu9TsoqrG7dNRFj1pD3xudST2t/P1AW8OV0JyDs23zj+BF5TAqLNfcmWRbSV5rWcqDZ+842JYJHO93cw67kIGRB0xtgAci7qDKvubpIQr2A121qi7haTLrOddLXWlzWcf6FYdqRbw3yka9uNRMpp6/VIqqj4x1CZB9B9fwXxD0Hqy5D8L3jy35AQ45jYWGqCk8VvntdYFopmsrVtm2QyueAy7fMd/1wX6X3Hj5Myox3f753JEpet35+YCsgj6nevIXamkCJlldnaN8mBymqQkhVmo47aEXuYw14CaTasWFOEELy2METn2P02HVcIKGjFi27gjtYN5bauiloz5vt1YpxVnR4ZPlVKTZnJbC2ZUQox9zBpRlR6ZP2hpjnZaILFm5R0UNqkT3o8k7ut6xgvBxYrL/z5sw8w6xVavhuONc57xhhgqtzqV5s2qyTkCn4yVaHPMCj4ZwAYLa8iIoO0j33GK5DiDAJJSW9hOD1MMpkkEonU12tqVbZLpdKCcxdfCUmnFoplR7q1C6cb0Wjt49j3AGAYWzETf4DK3IWO/QbINu3IugnH/GOc2HdIJT7EgExxonQHeXeio99zjelcP3rN0yKfz1OtVkkmk/VcvZcilPi+E0fZlOiUEjytWWM1LNq0meDoXJKbE5Olju1rqOQk1w+fos9wKBHFwqtbemedNFNe54MkZXR6JyjdLYAhPEWfqw0Oe0lOuJ3tvg6S4rTDweO0rygrQnNOxKXLEbdBIIedBGLuQWCICq5qHaMpSvhNP5ejGq/RhvCQwkX5RymEVOJox5VIFv905Hl+evpoB+lGjcYbyUzhKqTR+obiM8lUdSuO1mxPJdAo+s2NPJ8vUfRHkRgcLRuU1ShJ4zrWxa4Fgvunloui5l+fTCY7ymLVchfXrOKaf3q5XK77HV+pUk0zlh3pQmOFNSyKy3MfR+sphOgjlfoKwnr1OfvSGFixm0nF/h0rjVUcLvyPRY9nvidwjWwrlQrxeLyjCsXFzKcLMFUp89zkOMILly7sJsIZMhtW3Ol8mXWx8IWJsxMltmcmOe32B9KIDAi16EfZXR0hIVtXuX0tGDA7Sbxdz4VABzZCS2GCO+eMdtKPM+q16vrFLsnKAaq4HHf9ru2DZoEjdpySMig0EbMpFBNqqGXbuCxz2m24JvWbRSoqeKBnZBWlDTKGy8HSwrxiLgVRLNTS3Zed5HMvPErCNJlyWuUoWwdrHqusTfzsTImiaiTBT5sRJDEemgmIek0suDePFldyfTqBwidl7GBtNEjxub9scEOqe1Xf9sRAzbmLo9FoPXexUoovfvGLjIyMcPToUX7rt36L22+/neefX5y886Mf/YhrrrmGrVu38pd/+Zcd7XfccQdDQ0Ps3LmTnTt38vd///eL6r8Zy5J0oTvR2PYPAUj2/b8Y5pZF9dOX/BUyxhCu9yDHynsuaCzdyDYSicyblORi4IGTx1Bac2KqU9MF2J8tIude57XdKikMmZ2kG5Mmyf4DmMLHFQGR9xtlXCV5srwRH5NkmxVk+0aHjOBrEarnznhJ4kZnVQcAp8kyPu71ccyN1qWD6jnO31F3sKs3BIAWZQ45mQ5iViEPALNtLjVr2BAaKZJERYUJe9e847nSUHQdPrbrXhzlsyGVaJl1TEpmvSlMYfLEWJI+y2DabZDu1kSS/fnGG1PEyNJvbuKZXIH1cQ+BwbM5WBnJ0WfsICKHSJvhbonzoRZ1Z1lW/f8/+qM/4uc//znbtm3j+uuv54UXXuCJJ55YcJ++7/M7v/M73HPPPezbt49vfetb7Nu3r2O797znPezevZvdu3fzoQ99aNFjr+ElRbpauzjOvcTi/wfR6DsX3E8zBlIfY4U4w8HsHSi9sHwGzWM5H7K9UEvnXJbufScDr4XJUpUNiU73nFnHZW00uGHGZlvfHqaynWVy1sUG2bR+HFnzRNCaFWaRp0sbKesYEp+IbD13YTOcqvaF6rmFLtKC0uC3XbKn/ASHvSi2DopPdoOrJUXinPa63+imUJzxO1e/LVFmwmtdUBswi5x1G9/1GznG3TUoLUiKPFIoIpwh6yxOqrqc+ItnH2S0FDyYBxOtbxGb+/pQKPr1do4VbLamEy2LapIMzxUCTd8SgqJ/isOFQM6y5BRpczun7TK+Psb+ssmN81i5C0Wz9S6lZO3atXz0ox/lK1/5yqJIcdeuXWzdupXNmzcTiUS49dZbufPOO8+943liWZJu+4plDa77cwzzWhKJP15UX819JKwRkK9hs/kzds9+fcH91Fy/CoUC5XKZWCx2TrKdbxzng7D9K57LY2Oj9c9DZrhLTVSniMkIB8dbJYDDk3lSZisJDloFDOljzcXCxoTLcXsl0zroOyo6ddNESFHJsg5PcCK7kKeHQdgle9ZPsN+JdZUOAEoqMrdtGq+LtXvGTTPVhfDzqnMR0tYGSgv2VlZzV3EH9+Q2cWd+J/vsISacFCnp8GLpX7sPiiunBPt3ju3lR2OH658ts/WhuSpukjYGuOt48BAeSjQW1Qwko00FPbYlE/QZI+zOF0hISck/zZ6cwXV9fUSNqxizC9zQt7SkeyGBEWNjY4yMjNQ/r1+/nrGxzvD4f/mXf+GGG27gV37lVxgdHe1oXyiWJelCa6KZGjz3SVKpL9Bemvlc/bST1UjmT/G1SdL5a3LVc7+m1DI6lUqlelazaDR6yUT9+Y7z81MnqfoNEswXwwtQniw4rI4M4el2CQA2xls1zVT8QMsCmKMNDtqNasIx0UqwWmsGjE49t8/otKKVhgGrsyRP7TjdMOoOUlLdfbdn5zwxfAxOe+Ghoi8WV2FrxalK582bkA5Fv7X/tFHle/kdvOCuwQFM6eFicNgZZp+9BXSVgnvlSwyHZqf5b3seafmuolujFWOGQ754FeW5QnWW2ZCFRqxNnHVm6p83xCX788E5vD6dJGVezclqiS0JnwOlCFfFNtJvXXgQw1KldQwzVtrvqV/6pV/i+PHj7Nmzh5tvvplf//VfP69jwTIl3bAFKK0VkegvI+XKRffVftKj5jDKfBsV3c94/v/EVYXQfV3XJZ/PY9t2vejj+ZLtxfJgqEkLNRyanCVhdJLTkUIRUQ63gr1Kg+wkir5YjpgVEKbWMO72t6xgxdsW0WxldWi0jpKsjnQGo8y4yboXRDvceUg35yfYVd4USsxaw0yT69cZL0NVtS4qVnwL1wr2Pet03rxSaKZVq/fHY6VNzDT58SZNG69WjVjAw4UtRJgg57amQrzUmO+6mqlU+Jtnn8BWrZbthNP62wgd44GmPJ6luUAiUxiMzUYp+Q3PFEtEeWFOalgX93ghH1xvUcPkpJ3jxtSrLmxCIbgQ0l2/fn2L5Xrq1CnWrl3bss2KFSuIRoO3nQ9/+MM8/fTCow7bsSxJt4ZmohJCYppbL6iPZmzN/DFKxrH9HIezn221qD2PQqFAqVSqJw9fbG7ShY7jQvZXWvPg6PGW71yl2ZwMfzCVSp2lcAAOjOcw5qLTNqULzFbjZKzgJpv1Ei1RW0BL/gUAFVIWfcpJYYUUjCyo7npuN0tXoCnpGCUdY191TUd7RZuopgJvWgj25FvLwrxYWoUxdzcYpsYN8QV2fA9/bsHsmDPEuN+PbpIqpAgKWAL4uIy7GcbdBM/mvxs67kuN9uvTU4o//ul9lHXrQ251IkbJb1iyljB49HTj2kqaBlNukN5xvbmZuNXa74uFRn+miHCsUqTfNDlWDapxXJO4fknm02zpXkgI8Ktf/WoOHTrEsWPHcByHb3/729xyyy0t25w5c6b+9/e//322b99+3uN+yZDuUvcRMfsxzJuZVhl85xFOl79bJ9tisVgPR47FYkgpL7u/Zdg8dp8+y2y1M6mN5XdqqRFp4GTDHxoF22VzIpAY1icLzDhx4jJIOn6stALZtFuwiNYqYdTcwnwtOFZZwf2z1/Bg7mr+dfyV3Duxgz25ESbcFL4WoQtrEJBxt4dac8TZqDvAlNca0DDhdVrwVVNScBs67XjTNqahOVrufDClrCrPl1aT91I8Vd4ABN4KzaXhRZMeHTF8nioOcra6P3TccHlLsH/uscd56swZ3LaH5tpUqwfL9uhmjhYaluzWTBCZFhEWu076JGON/TdFV3O4EljBfYbBwWKw38b4Sk5Us1wV3c6aWGe+j/PBUpGuaZrcfvvtvOMd72D79u28+93vZseOHXziE5/g+9//PgBf+MIX2LFjBzfeeCNf+MIXuOOOO8573MsutSOcO0BisX1162N75nd53H6UgsqSz/09IrqZweS1HRFkl6tkz7lw176DbM4McCTXmnT65FQe2oLNNsYGOfziNJEhA0d1em0kVGAFW0aZmBmUyMm6cVyv1SKMtuXg1RpybpJ7y6uY9NOoOb3dRRKLQJUo0yrNC8X1CK0YEAUGjDKxNjmi6MewQvI2AGSb8iEIIdhTXc9bkgfriWqm/L4O94mIqdmdX8+bVhyh5Ftoq3WTvAqPxvMR/Di7Fc805o4XRNUlCMabMBy0Dt564tLHVhbHqj45d5KMNRTa58VGGLF/78ABvrV3LwCzXuuDuS8iqFVJWmmlKORbf+OhhOS0D2uMTTxdLmM3LZzGVRoIkpZviA9zuHICAMuQ4MGwFV45+Xzm1IxcLsd111133v29613v4l3velfLd5/61Kfqf3/mM5/hM5/5zHn334xlbel2C5BYDOYjO0PE8fSNTHoCVzmc9D+NFb04zuxLLS94SvGTg0dYaXVKBmeLFdbGW12n+twYtuuzLRNuhZycKpO2yhS9KCujxSCx9/QIui2izHEbn30teDS3mWerI4yrgTrhAlghWcJcbXDGX8H3Zm9iX6FVJqj43e2D2bYKwWUd5YAduMBVlNWlbCUQ1RS9CPtLq5GydZuI5ZELiXrL+gmyutWSbs4pETX8ul4clUHY6oyneSL7w67jv9R4fmKCTz/ycyCQRM5UWtcsVJOmniwOg9V6XUZMh6iM8PhJF0PAuBvkWFgfHaaqG9JSYq569EprkKw3ziprhO19m5d0Ls2W7nLIpQvLlHQvhqXb3I/v+xSLRfL5PNuSvwYiTUmD409wKPf5rn1cSXjs+CizlSrFQqeHAMDqSOurWGEqsFb6VLgb16lcia2ZEhPVJCnD5kR+kIqIdARBxOc8Fxxl8MDMtZyyB0NduaJmpxeFN6fZesLkGWcTd09eT2XOY8CS3X2mHd25MHjUGaLgR5kMCUeuwTIVu4vrGQ/xzZVCcLzSKTEcrq5i2m4l+fbufVWzgn1ModB4PJ87geM4C07mspRotnQny2X+049/gjNXU291OtnxZpPzg0WwbfG1PHMsR1G3/sZllWOV2MRUxWVjJok9FwbtlvqpiIDAV0UGKPiBz+9KY4i8n0X7w1zb17pAtRRzguWT1hGWKenWsFSkW0Mz2RqGQX9/PyP9V+OzjorWzDoxxsr/zETl/osyjqW0dO/efwiAoxOzJMxOUiqXGjda3DA5MRbcLGcnwj01ACzDxUGSMByOzhFSymq9IYdiRWarCe6ZuI4JN4MR8iLi+gIrpMFvW3CbkSm+O/1Knpy9ingISQOU/Ag6JAWlFpLnqus7rOB2OIbE7VIux5Wt1vXZapqSiOO0VcMwhMZpSpjTrGnHjYCUJ1ybrDPZkcwFguuuuYDkxULV9fjP9z/AZLnhkjeYarXmo1IyYeewhMHo8eDhcabaiGSMG5KSKvPz48HvvjYdXFvDkQGeO1tkYm6BLeEPMe5OEhEW4NNnpEmI1Uv2lhhWH61HupcAS2lhlkqlOtlmMpmWShTrErdg6xhVXUUQ48Xsp6h4Zzv6uJj5ExYKrTXZYpH7DwUJy32lQyWDQ5NZojK4qTZGB/HnVqPGZ0usS3ZafqbhUlGCpHCZKKWoighaa9LRxgKL40qydpwfz+ygVBONQ+bkd8kSpkK8E5Rh8GhxC8eK4dWL8/NkQsuqJGPu/K+c03aaM9XwmzVq+i0+uwfmFs+ipt+yeAagaEgOgetY8HdsTrbwheaRwsMtyVxqaTxd16VSqZx3isNzQWuN6/t8/Ls/4bnx1iQ8kWjrOd+QTqLQbDM2MjZbYWVfjLzXeLBuzSQZ5CqyTvBgiUeDh3fMGWLrYBwfRcKIUqz6eNpjbWQDUStPkvW8fsXS6Lk1LMeqEbBMSXep5AWlFKVSqd5XjWzb60a9evBd+GRAmkw4K/B0gUOFf2gZz5UgMbiuSy6X46HDxyg3VfKNhpBc1fPZkgwWdhJt+WTXxTpDZdcNTTPrxIjhcqQc7BfBRzZVaMxWEzyUvwZfNvn1ys5zorokDve6fO8oi8eKW0M11nIXOQQCr4aD5dVd2wGm7D6mnb6u7eNOcC4qvsXpOZ9cUypmnFZdN1dtvE1IAfacLCJFKajVJys8ng18ppuTuQDE4/GWZC7dUhzW6gEu1ir2leK/3vsoR2ez2H6rlGC3RQ+uSEQYiqTZtX9OJuhvfagNxy0ePtZUHYQCGTPJoycKDPUFv986Yz0r+4LxHc8KCmqcA3nFTZmNCx7zudAuL9i2TSwW7m54pWFZkm4N50t0NbLN5XL1G6B2sXc7Tsr8Baqqn4qqonScvPM4h4pPtWx3OSzd5soTjuOQTCZ54MSplm3OzhRD943NlSXPTrV6ClQLncEJiT4HLQSOL6nIgOiaw30d3+BQYQ267Rya85TVaYfoEv6rEChhcN/UdR0Ja5x5cutWfItpL0U+hKxryLpxqljYfng/cs5n94XCOnTTTV5o6zMeqdR9eIPJBHORQpMwTDQu43aZKXuGbqglcwlLcWiaZv23braKz5VrVmvNZ378c352ZJTBdOdbwYzb6rkQtRTx/ErsOVM9Hms9L5VygsLcA92SgrPONCv0WhylEJaNQLD3rAtmibWRVZjSJ2OuYlNiHZZceKTouRDmkbEc0jrCMiXd87V028k2k8mQSCQW5Gf7xsFbsVWEhOlwvDKC7Z/kudw/46hqy5jOF+dDus1BGoZhEIvFqPqKR46dbNnubLbE2hDJ4PRMiaQZ4eRYa/axo2MzxFsqWChqMmbOb2ikzekb90ytxQsZfiREizVDXL88XxCLhEei1ZwPyjLC49lG5jilQXUpKQSQ9wKSORqyIAaBhlyWQW6MsXL4q6lpwNHySo67bX20/dymVExWmiSGpgAROfegiEjNj6cerX+/EB/dmlFgWRbRaLTFKq7l9ZjPKv6rnzzKPXuDUlXtUoIpBWcrrQ/kqB/l2eON68E1Gr/fYCTOyVyDpLf0J7GEwZMnA414xp/hKmstZ4pVprwJXGeArRk4U4ryxiWWFppxud8wF4tlSbqwuFd6pRTlcplcLnDabibbWl/n6mcovpaYMULOW0VZSTyVYIVZ4ucz/7zgPs6Fhe7fHKQRiUTIZDL1Mkb3PHeQWEjJn3XxTslgNFdkR2JNS3ABgOdrtqUbGmqyr4KWEtuViKau++ZCgc8U05yqDnT40fquwDI7Ld241UmuJTca6uWgNRhNkWvHnGFenJMMCn4stOJvDXkvsORPVQeoup3nZLySRsxprjNueDl6gNHA5esAACAASURBVOP2SlzRuhgZMz0qbT7KdlNuhqjhU52zngUBsSVMh9351rDs80W3xN+xWKxuFX/5Z0/yz8++WN/HacuatybT11KOJ2aY7DvWmmh+2muE/m7RQ4yVGwutq1Mm64wN5ByP1ckoWa/IdD7K1YMJpJA8djZPIuJzsFDmNf1L6yrWs3QvE4QQ8/rpNpOt1ppMJkMymeyQERZKmNv63kHJT5K2pnkqtxapj7Nr9odM2ieXxPvgXKh5VxQKBUzTrEfENT+A/nnXXjb1d6ZvdKvhLldGPlwTjTURSn8msGTK1UgLMWaiFVxfsns2CKmNRtoCI7zOOfm+IG51Wr+2He6HW/GsDh/apwsbGbUHulaXqKHsB6SrhMH+6c7w4Ilqw/q3sah0SfI+VulH6fYbHKbtVi24/WHizckNyYiDhUHEqDBWbQ1UWUo055r9190H+eaTe1va826r+2D6/2fvzWMtOc/zzt/31XL2c+6+dN/eu7mIokiZlCU7iSNLVpzJJAyC2I4xgaxMYgww4z/GAQYTYYIxMkkGo0GAIB4kRhLIQZR45EysiUUlsWVLsiVZokYkTVLi1s1ebt+++71nX2v/5o86556qOnUueyPpVvQCDfKcW1Wn1qfe7/me93kT9o1PmavstMcgm9G1Iw3vUqZAs+bGQDpjenx/O9zm+bksK+Yc3z/scnpWY0GeQhdgeZKnZy5QMqZPeN5NREHXcRxMczq3/yctHmjQnUYLJMG2XC6ngu0obhcwPzz7UYQo0vNzdFWJvtfmhDnDlw8+C6h3jNMd0SLtdvvIWCeqrhit/9LNXa4f1Ekr3Lq530BPOX6tlX5OdvbHGY0cZqvR6jOpArKGx/erJ7EDA4IAPSEDS2mJhp2ScQIEXjrfZ6UCoeTbrUtU3ekTYL4SRz4IADvBzERG34xQJUIIdqZQDPtOia4z+VBbCVezounQtselxVFtsesLED4Cl8ud67xT4Xg+/+Dff51vXtlI/EWx2487vZkRvvZCfpbOXlz+d3I2f2TgvubOUSzFz4FUGfZ64TrFvI/hhKMj07R4rebw+FyeF+ptPlR5+2YC9xL3YnbzXsQDC7ppnrpKKQaDAa1WiyAIjsD27TqE3i7oSilZNJ+g6iyybFo831xlyYAt6zKXrefuO+iO+j9No0WS8cWXwhr/rf1J966+43ExIR1bzRe5/NouZsr5qbb6nC1V0HQXKWFgGegRJYKpfPZ7JW4NJVV6aneFFC3ulJ5oYsq5SzOeAfCUzpvdyex1FF0v7vbmGRrrzTEvGyjoEweRujdJMTTsHLYy6bqToGtoPsmBVjNSOFHUnaOJP8HQlQ2HP6y9FP7/ffZdaHQH/I+f/c/8/ivX6PnxrHu+nMfy4iMMe+iJYUoNsSHIl+KeweVC+FJZNYu8drmGH/HYzUjJ5b0xFaGkw/NDrbcuNTa7FrPZHFmZ5amZs/ftGI9+L2HrWC7feReK9yoeWNCFMa8bBAGDwYBms4nv+5TLZYrF4m23Y74TauATS8/gqhwKi7rK03V2AMW327/FwJ9eWHAnMXp5NJvN2MtjGtgCNHoW3xhmN43OgDMzk2/+SqLr7xmzguX4XJyfpCMAlo0iZsbBMD3a/WysiiwjAl6unTy68bUUgE3zSpgGMYaZTn9MA2mAm915Gk76sLXnTZqORyvMalYREufTQaef6Lu2PXypDFK8ek0toOnGfz+KoVKoo0x9LtNHKagYLq92Jg2y7zVu7NX5737tWV67FXaqOOzGPYnTlAs1J1zmg8YKe/tdvIS8T8uEB7Nsh6OEdqQy7WJxjhutcH1dCISfwfIDzpQyHPTC5+7A6fK+whlW8umWofcS98vA/L2IBxZ0o0DZbrfvCmzTtvV2sZRdJCPnOXDLZIXgSr/CvFbBUl3+qHlnDS2T+xAEwVF7ds/zKJVKt308//F7b+FF0q6lXErW1opPkni1EEQLpJt/91oOSIGUKgTdCGe72a1gRTo/pFWYZTOTE2Z6ip2j70M2m16uPPWqKIUb6LzSWEurv6CX4qTWM7JUhwqD/cFkZpSmYti3w+V8peGkyMpaCdCvZC38YXXawClwvTNPfTCPJgMcVyNv2FSdJq7vgWoggq/iuC9PO8rbiucu3+K//xf/kb3mcMIua1DvJ0zIM3GaJqNJ9gZdzuVnePPl0O+34cbphU5gcSY3w2tv1RACtq1xUjEnx/fXhdkcr+6G654qZXlhv8WZfJlbgxrnsyfeEXVBdJsPGr3wQLqMQSiG7nQ6KKWOROV3G3c6CfZo6YP8Ya3KWmbAvmuS7TuQgdd63+CJ/p/ndP7OOCylFJ7nHUl/CoUChjG9C0Iy/CDgSy9fiX3X7002fLx52GB2JUvDtshqOptvhZrR/b1O6uv32k4V81Gf/iA8t7oRAqbnS7q+iabHbQyjEQSKTG4SSLP6JBAPLBMjmz4hKqdYPY4aQdbsIvt2iZVsfJTRn9JF4kpnhYXc9bA8OOWYG14BCEHIcnUabu4oe+04JvO5OJgFiY3oMqBtz7HTMgCNx3M9KsGAVd/iY3NXWcgM6FUMnN7PUdQC6v4+fr9DOfe/kTf/auo+T4t2z+LX/9ML/M4b17EixTBLs0Wa/fiEnZs4j6uzJTZEHXNLIwjCgo6d3vgcChQ7Vpvz9iLbOKzOFVn3w/vloeI8HW98beczJd5q7Q3Ph0kAnCsUaYsFniiu0Ov1jqRvyX/36kEND1YJMDzAoCulpFQq0e/3jx12307cKej+pdVP8NXDb9Hy+iCgFWTIMgAE32l8lbXcOeQx+tFRjMC23++jlDo6pju9Ef/ge9epd+NgsL5TJzerM3CjPJ7gXGmWhr3LQ6U5Np3QHeqw1uXE+QI7nfhEi1sIqGRdWr04tdBsFJCZpPNUHHSVI5EJ24MgUBRT5GK2ncHITvr+2p6GNuUO7Vnjl+zL9ZP89OrlI1/fQAks30zlMmqqwMAz6Kn0l7SLhmNrlLMO2/V5stLHVZIAyaBvslY65IzZZV7vs6LbFKVLRXPISR9TBAwCh7yU5NbSRydKKdyMx01b0lX7qKGHYnvwv+D5Vyhl/2eEOP6xDALFf3ruTf7Vf34R09RigAtQKJqQ6HgULeWFkK99Sq3y+k74glmaK3IjQo8tlQuUMvDmGyF4z85mWR/ibKFtcJAb3yv2UKWiC8lGv4MuJIF0WdYW+cDyySNDqSAICIIgVlWXBGFN027r/r9frXrei3hgQdc0TTzPe0/MZrJalnlziQO3S1F6NIVHoZ+jlLdouTf5Zu0lPrrw9LHbGIFtEATkcjk0TaPb7d4x4PpBwL/88vOcn5vlSrU23r6veGh2ltcO4q1iNDfcfsGKX/rlbH4CdIMcZDM+B50ilSEo+oGg0c5RXhqDpFIKMykDS+kW4fYN5Mwk6Lp++gvKso2pd6htG4yaQfS8HJe3T/C+tR0AGp3CpPXXKKTkpdppghTKJitcPjpzhQ9mdzifEWTKYwWAr0AgMMX07MwJPKR0GShouwaLmjaREPgEvDaoUDI2JqiTgfs7VP01zhd/IX3fgTfW9/m/vvAcb21WAbi0tMDuYfyFJfXk/in2evFrW9BMXnt+7B8yM5ODiAZ3sZJF1RUQblvLCnDgdL7CrSttaifC788WKuwM13usvMBr9g6Pl1aoBXUuZs8C47mX5LmIAnEQBDiOQxAEE1nxCIiTk+fRTDfZXudPcjywoDuK98rh6+NLP85vbh7iCwcp2xwMSpTyFk13g/93+8t8ePZxctpkNuX7Pv1+H8/zyOVyRz3V7tZl6ndeuMLmYYsPXJj0GMilZEy3DlsIEw434sPxtNJflfFxXQ2lJNkhqLa6OZJJvEShJSZhZJrRjZN+u017zTjHgK4XaEQ68HDFXeS8fUg249Ie5OAYtun6YIGF4hioJAFPFzb4eOXKUSXZhlvgocjknibACiQv9bM8lOsyn+gzFwQB/aFCQQgwNZeqcpkNshhDsAmU4huNOc6W0yfSDvyLbA8+z0ruz5HXxtfTsj2ef/UWr97Y4z98+/UYh53JpjjI+Qk/hVKOnYhRuSElzq6H5483pGe1WHZckVme3xi3qBnZOy7ZBaxln+oQjE+KEs8Nwv5iZS3k0YvKRGhFfnz5TOpxjmKkK47OWaRlxY7jTGTFo2WFEA8cvfBAT6SN/vtOGplPi48tfAShcgxUgB8IjIygY2Xw8VjJanxxN27/GLWN1HWdmZmZo8KGuw3X8/n13w/9H2rNyQ66B9VJz4VGz+KphVVqh/HlN7dbFMzxA+xLn2zWpdUPCxDMjIdSUK+VkGb8fGtpcrHEhJnnSlrtHK1mfqJnmm6kKxe8KX4IAF7ivPma5PXdsEij7x7P7/edDH07PNYLmUP+h+Vv8Mzcq7HS3azW4497Y4ndnpPj+5ZOOdNgL3C55dmxzskD3ImzYAhoKYtuELY2eqFbmAq4Sj7FpnOLAIc3O7+G7Xj80R/f4H//l1/l5/6nf8M//Jdf5fpObWLS0E8599Ve/NrOJtrvPJVd4qAaz3wHER8NAQxqceDestosZQtcfqtKvhSeu7KRwbGHvry5IgPlMGtkEdIFN8cH5483G0qLqBmQaZoTZkCaph0979Vqlccff5yvf/3rfP7zn+cLX/gCV69evaNn+ctf/jIPP/wwFy9e5DOf+czE323b5q/9tb/GxYsX+fCHP8zNmzfv+JiS8cCC7ijuR3+yuwFdIQQnsycIFHSdMqZhca0Rum/NGR5f2v0G+3bttgob7nYfnv3um+w1wox1u9ZmIR+v0Nqtd1guTqoYKoOUDDxQXJwbg4xfUhi6T29YKWZmPNq9LJ6noyVKe40UuZhpDEG6VeC1Gyf5+lsP8Xp9lT/YvcSXLr+fr11/iJdunOL69hIyzXQXmKYWCwJBGh6vU6HTzWK9jbFK3zVoN7P8WPEa/+3Sd1gx06V+s+Yet+wir/dnOFR9ZiLLdZTPDc+iH/h0A4WtplT8CXCUy/O9DNemyNscN8/LzbERzr79Lf6Pz/8z/sG/+CrfePEGlh0CYNIhDKBjx7narKlRTcjFstnxcOHJ2SW2Xq1NLHNo9SPLLLPfGX9emMnRcR3OMkMQgD0c9TySW0Dmw/v4tFahSo9z5jxGzudkZuGomen9iGi13chzYn5+nt/+7d/mxIkT5HI5fuM3foOf/dmfve1t+r7PL/3SL/G7v/u7vPHGG/zmb/4mb7zxRmyZX//1X2d2dpZr167xt//23+bv/J2/c8/H8sCC7rvVJ+24+KtrH8V1yqDCGaOeZ2K7WaqDm7jK41+vf+m2CxtGcbv7Ybsen/tKvA30ydKkHnKtNCmN0mrpAGG44xdBkFO4vgZCYggfKRT1g3D7uhvfx2RXX98X7NYrfPOti7ywc4Ztu4Iv5REdoISk7eTYsOf4XmOV5zbOUW9MVpeJFN8GANvS00cIUvK9/TU88/jRg2NrfHT1Mmu52kQr9mjoMuClQRbDPCCjpXDRKNZ9m003mEohQ0g33PALtMhMVMUBvHjzBJhxpcdDP/p1ZEIR0urGJX8A+614xro4V5zIfUf62xOFIgcv1FlaTJQvmzr7Q843o2lY6wMOuuPtLs3lKRsZrl0Zql2cHhLB/kaHtrDRheTwoM+21eagZqPQ+KkT71wV2ugZ0TSNixcv4jgOf+/v/T2++MUv8sorr9z26PH555/n4sWLnD9/HtM0+fmf/3meffbZ2DLPPvssn/rUpwD4mZ/5Gb72ta/dM948sKA7ivvpY3un23m8cgmDEkK4NK0siwWXy/VFdLNDRRq80H6dLVF928IGuHOzjv/791+i3olnK74zCVJewnNhtVTk9ee3qeQns92t7SYCCIauYqP2ORnpMWhksYfaV5nMdCPKBt+TXL+xxM3eHFbC61bpKefXE1gYPLd7hmuby0fDZ9+VyEw66Dr2dDndtlfGTinZPfo5W/JXzr7CEwtbSAEb9vTOtJvWDC2ZYc+ZLu4fBAZ/1D/J4BgqpOGZdMlg6IrXE1V0GwerZE9NUkPl2TYrj44nQTVNcNCMA+xsOUffjr8MSsXJ69pxHTKaxsyOxLI8conKs+WFMVB/sLhENhM/v0ZO8oi5gOX4FHMmu4Mu7y8vUW8OuNVv8b7SIpWyyencDLmMoD2Apxfe2Ymt6PPS7XbvSr2wvb3NqVOnjj6vra2xvb09dZmR30mtVuNe4oegy725Ez1SPovtK6q9CqVcly27iOOaqGErls9t/Ud8dXuc8+0ey6vXd/nXv/si55filWSbh220xLFs7MY9F87qJVSgOLswWYXW6licmSkTDOVg3vD2yAYe1fowO1IKkdDUZocZmedKrt5YpmenGNEoRWoNhj/cXyG43F3k+WvncCwdq2NOVwkcA3CBrVOrTvNkUHy4eIOnF8aqhJ5Kz3Q7boa3nAWkgE07vWIP4LXBCTyh81xneknypj/enx1vPPKwfY09M0PaVOLGrWXmP1xlVB6yOF/ES7SrmJudbEUkjclHeq/f40ltgb3N0LIxeciFIQjPZ3Osv3xIrhx/aTnSZ+NqOGJbWQ6PRTQUq0sl+r4LHYFZllT8PCuVLI8UV9DuUcZ5XCTLp33fPzKEv9PtJCN5z93OMncaDyzo3k964V6289+c/glspwgqS6AkGXy22ycpmWFWcrO/wx8evnDf9mFgu/zDf/M1/EBRzsYzlr7tciFR0tu3XS7Mjb9rrw8n1wbpFMNitoBfCGKlYIGn0R/qWqVSiCjmBQrD8HBcjavXVxi4GdLqyIQn0mUKiUUPvQLfvHbhGOCc7scA4HsaB1aBwE/+mOJHS+s8Mrcb+9bQPBreJNf6nfZZ9GFm7kzRzd605478Gw5kjqo7+VZRCjbdcaZsmD4b/fB6PF8/g5FN9xDel0Vy8xaVcyFQllPKeHO5yd+zE00m50o5HsrPcPWlcZueTsJtbNTX80JQxrF9vMSIpBCYdHrhOtmyzqlCmWsbDWYXsixlC7x1q05PWlzbaWOj+OjKudRjul8RBd17efbX1tbY3Nw8+ry1tTUhPYsu43kerVaLubnpo6PbiQcWdOH+tsm5m+24rkvJy2KoCnndZbNTYi7jcrmfo5QbMCLwPr/1O3TdSfH/3cQ/+w/PsXUYZh21Rm/i7xVzMsus6CFgni6X2d8I1721XsPQJ8GrXR8QZOKSr05k4i1pbGO4Cm+gc+2tlbAgASYkZQBiAgSnh6UZXD5YwW6l0wjJ/mTR8HyJLzXa1egEouLp0jqX8vspawi2nPjQ9Dv1s2RyY8pE1xQ3rfiDNvANbrlzjN8kgq/XT+EnbqGqn2UQSy0FV60FNnqz5IqTHC1AvbpCMHxPLj8V7rNppPSPSznPtUT572qpwN6L8W4Vu+24qqUTOJwvz3D1++Fv1Z3xflXyJpvrYwOlgeZxYtg92csEnNVnMHRJTpp4QUDb9Xhq6d3XzN5N9vmhD32Iq1evsr6+juM4/Lt/9+945plnYss888wzfO5zYWuuL3zhC3zsYx/7LzfTHcV7Abqe59Fut+n1emSzWT60cIGBp9jrzLBQsPGQ7HaWMZyhN4TX49mdt892324fvvPqTX77j147+rx50GK+GM+A6q1JfrA5/O6kGAORZXmcXZicZLt+2ABNjGkKG5xIWZiWaIWuLI231lewo9xB2j05DSin3L8+Glc3lwm85HAPPGP6TT/ysN3rjDPlE5kGD6cC7nCdyEN0y57BzqQM0d34uXqlc2qiC/FAN6gnjnPDm+SDlQFXrMWpBuyb9lhzOnO+TXZ+gJMii+wm+FxDlxxGClyWiwXmmwZOhOufm83TS6y31+9RqmqgBJom2G6PVRrnyzNUG2Mgb3kW166FnGbV77O52eHMiTKDTsCFhRl+ZPbkkS75nYpkpnu3IKjrOv/0n/5Tfvqnf5pHH32Un/u5n+Oxxx7jV37lV/jSl74EwN/6W3+LWq3GxYsX+cf/+B+nysruNB5o0I26jN2Pbb0d6Pq+T6fTodPpHHVsyGQy/PypH8PxipR1geWZ6IHPDadEjvHN/Z9vvsjN7vT+WG+3D8997yb/8LNfxdDjl+zUXDxL2zxsMpuLZ7sb+01mslnqV+OWjyU5OeniVhTCAzWc8dbbMnaXRP0WVACd/cLk8DulGeW0x0JpUzyEBXRFhs0bS7HvfVuHiYqryP4PgbBHhkHHJK/ZZDUP7xi3Ml0GbDkVOn6GG+586kOspDjye7jSX8JJyTx1Q/FKZ5Xe8Hb0lWA7pSPF9mCG7Sk88cHeDL1yHBRXntqn1Z/Mig/b8ZHO0lwRf3j/zOdzlG942HZcbzs3H+eBZ8pZzuYr3Loe3pvLy6Uj4yRNCgoRP+NKKcOyVjiaUKvoWeodi5myyeXdJmZW8KcWT/FORxRou90uhcL0rh9vF3/hL/wF3nrrLa5fv87f/bt/F4C///f//lHGm81m+a3f+i2uXbvG888/z/nz994B44EGXeC+cDuj7UzbxtsVNpwszVGQs2SkYqNdpqQ52ErSjnTZbdo1fvlbv42XorV8u/jWK+v8r//8d+n0bS6uxFuRewnFglJwZnZm4rvHKnPUduPDyr2t5sRvueUAvS/wjeG5sOK3iIwUMgTbWfw08/EU0E1DXeUTqyqL/W34rO+6RQ72xlmm054+YRI4AhXpMtGtZ1jKdBBCUDvG8BzgwC3yyuBkKjUCoQvkDWuBnm+w41fSDwjYc0t8vXkKK9DY9fK4KQe4Zc2x56YrIrZ6CxPbXnisRi1hYFMuZmgPEn4KpfB+q2QzLG0LGns9moM4WJsJHnhxpkD/6nh0VJ4dj5yemFui445fAEuLBQ43w2VPrBaR3VG7K42ymUFI+NGVk6nH9U7Fg+alCz8goPtOaXVvt7AB4CPzZ+m4iqplUDJDYKiSQw3nLLIlh5veIT/767/BrcNJsJu2D3/44jV+5Z9/GXfYnTVrxEFnY7eOnmhnI1I6RGYnfc1p1PucWRwDtCL0W5A2IEF2Rajuj8RIxqW6GoNWDpXEFKXS76oUuZi0p0yu+RBEKIT12gK9TpiVu1Pa+gAEVqSzhQh46Mwe2tBdq+FNzvRHY92Zw3+bYWrVL/BS7/RE+6Bo2EKnRp6X7AVueZNAvz8o4kidgZah5cRHJM1aEWsp7T4W+KfiWe387GR2pxuSgmlwqmpwuNlGapL9RCdoN1HIMu9nqB6Ot62GHrq6lLTearPXG68/Y2Q5qIXLFkomb23UkBLW6y0emp3lodIcxh3aqt5NJH0XHqQSYHjAQfedKpC4044NAL9w4cPYXoa8UAy8DCiFI3VanfBhl5qiqGB95oBP/pP/h2e/+waDBLcW3YdXr+3yS5/5D/yrZ5+PSYV2D+Ode/u2y4Xl+CTPrf1m7MLmTYO9lw4mqAmAhdw4s/FMBSocVgLoLRnX1ioFmQAVgL1ZAMSE9lZ4pN5VaRpdmW6hG4JxdF0Eb20t49vyWOWC547/9uSJTeYK4wyud0w/tZaT5c3eibftuVbzirhvU+12tbnCrlVhxyuyk9KJYuMokxXc6C7G/rZeXyTtLdSvzyMvWUSlHvnCpBbZR3Gpm2fvRvhSX1ou4iZmHRvWOPM9WSnhteP0Q8cPL8oTc4t4jk+1N+Zz+xF/Dt2XBArOLc6y0+qRyUiemrnzst+7iQfZYQx+AAxv4P6BbhAEWJbFYDDAMAzK5fJtG6KvFissG7M0/DYbXUXZdPE0jY6TYSYYgFQYgY0qZOkuDvjs77/AP/nNb/L0w2v8mQ+cZ6VS5NZelXrbot1z+NI3Xh/uV1g73+iEN/9ho8fJ1TLb1TH4Foz4A9ju25xZK7PeCJd5/+w86y/c4vwTq1y5GXcdax2MgcktK/SeIDADCEBYkiA/Pq+aUggJ/k4Wzw9vnaRtrebBBIESKEirV/AEqfIyl4nl7cBg/eoS+Ur6jD+EhRkIODNb4+JC/DhdodF3DfIp1pIvtM4RCI26k6ekT9/+5d4q5/JVljKTnhYQ9nM7pIjvSC5QIwmgLSdLT5pH3+5HKIb2IEt/UaYm/tUgi6z4yEWX4HB4YhIvtqyhk9n1uH55LNwvzeZhb5zFappgtxXuuxSCuaqgasYnXrc7HUxNo365ycJqiS0r3N6Z2Qpb9fB+EgKu74bAPl/Mc1K6aFLwoeV3R7WQNDD/Yab7Lsb9ynSVUvi+j2VZoQzsDjo2ROPD5VO0XZ8ASTBseiiyAc1aOMzMDU29vbM2+/0Oi3NFnnttg//z83/Ir/32t/nVf/8d/u2XX+b6zvjBUQrWluNv8qVyfNh6WJ8Egflh5wghoP1mmLFnUy739laDhXK4r15ZofUFXiZAa0uEkihjfF51AlRfMqgPs+NATXKyKXOawp0yHJ92yVK6CANURYFee3o26gWSSrbPU2vJpowA4qj1TjSudRbpiPB46vZ03ndrMEPbz1N1pi/zVmsZpKQ1JWO+0V+MUVOWZtK0c8N1VxBaSpbbyNAYUjrapTFAdu3xMGGlUuRi22D9tYPYujITvzhLi+NJsh9ZWKK20WI/UuU2P5+n57h8YHaBZm2AURq/UdeMPC0r5JDft7rIYbdPwTRouBanMkVOVypk7qJA4W4jSi88aJnuAw26o7hb0FVK4TgOrVYL3/cxDINSqXRX1S0AP3/+cTQ0NF/i+kZIbxqKw3YBVMjrimFllnfOYX5uPPwsFsYP6sZuI9a+y/PiSNZLdIXYqbZZSEjH2p0wY3t0cYHaZgi62+u1VD7y1EwlxEoFQkmCrAqpBVSsekmTwRGtMC1EWuaa4q0L3Pnd50OnmUdNdnAHIBCKHz97PbUlEEDTjw/33UDyhnWC0fF0VLo3glJwpbscbsOdYlrjaxwMK898oXNgxcF54Bm0giQYC673Fum7BnY2/Z6r1cpH+6edHsCwe0d1aFr/6OIs+ktNsAOCxM4PEhaP5Zlw309Uimw9t8viWoUg8tzMgqWJFwAAIABJREFUzRcwNY3qG2EW2x86jy0VCzj98bZmhl1aHpmZZ73TRKD4QGXpvjbZPC6S9MLs7PSKwT+J8V8s6LquS7vdZjAYkM/n79lmEWC5UOK0OUdOZRngwqi7gVS4nVmkpsgOAdQ/4bKvxnrI/eY4W+30bc6dHKsU1rfrMT725k6DQjY+/l5LSMc29puUMyb52hiAOm2L8yfj6gcAt+PiZ0cc6/A8OiKcJIucEr9l4EWqrkRaK500udiUSzPNa2baldRsCISOtzkJfMoTzM73yRtTiGImK8tebJzBj3ynhORwMKkquNpaoq9CwOz6WewUxcbV1hIqwvfuDuLX41pvMbVqZN8tcaWzHK/yG0bgC+rFyPnWQTs3IJ8zaPdtPrS4xOHXtrG6DuWUkuCDZnwEJE2JFIKFmsR1fPIz8ZeAXtB4YmaB1lCXuzs0vTlrFFH5cAdPVkp0nPAcG0JyuljGNHX+1Kl3Xio2iuRE2g/VC+9i3A29kCxsKJfLmKZ5XywiAT5SOYXthWW0xrAJopHx2DjMoxTk5JBTFLA+e0AxH4LnTq3NUmRGevQ9gOV4MbD0g4DT83FwcO1EjzKleP/SEhsv78W+LxmTSLexXiUoKKQrUXqA1tIQIjGJ5oPqx9dVaTKwtCKyKe+ywJyi0U0ZZgOMTl2nl0MlJtu0IKBUtGhZ6ZkohBrj5tBesWoV2Asm6YYDK35eAyW4bo27CAsh2G/H1/MCwZ4Xf/DrEbWEG0jqfrqW1BIG1SBdPtbcKRGYiR5sF/sszRV4Uiuz/tWbR28okfBcyBdMGglXsr7n8MTcPNtXQvoqWe7rioD9YXue8kyOen9AJZvh5vcPqHnhtk7IPNuDLmdmKrh6QDkwOTNXwbzNNjv3Gsln9Iec7nsUt1MgMa2w4X4rID756BMYUkO3DFwVIF0Ts+DR9yR2s0w+0vU2mPHJnRsXKCwtjB++g0SJbyYBlkaiedjN3TqGFr+chS4TaePuRmPChtDzAjRDIJQgyKgj/WUUQM2GgCQ1kVLYEOWAjyIt1XVBpU2uqcnJuaPNDEuJlZA4m2NQEyhy+ZByaTvHKRAEu1aYgf5x+2xq5tlJ8LFvNlfwZHyHDhPc77XWEkFC1dBXGQbDwoJr3cWJ6rVRtLp5DvrpoFtNkbnJGY+i53Lrj+MeEt1BfIJwYXlym0IKdr87nmBsWHGaKu9KOs0QXBdWw2N8uDiLChSbzTZ506Cx1+Wg12dJ5OhqLq1Wj8fm4wUs70b8UDL2HsXoxB+Xpd5ux4b7Bbpz2TxnjDmyQRYr4+BVc6ApdOGz3yyTKTmIEfcmYK/YJRiCVz8iRN+ptlmeHz/c2wdxbe/mXit28SzH49zCeEh7YrbEjT+8OVGz36j3OHsiLjHzdQhGCXggkMOeZcEoE/LBqMrJ6rGJSTRFkNa0Ia1+wk7PioTDJLiP/hahKLuDLKorAUXWcBlhXlrr9Wi0/BxvtFboy3RwdqWOP+SgvUByK8X6sS3G6waBYMeZfOiFCCfuAiU4mFIIAVDrFjgcTE7O2W2DXmXyxKlbGjcWEqXeAvZqcSP2XDl+IXIZDXPbxR1WqGmaZK8xph+KOYNbb1SPPsucJKtrbL16yNJaGS8IeGRmjvJSDlPT2NloYmo6M+UCH79w7p7Kce8kkr/zQ9B9j+JeCxumbeNu9+PD82cIFPgqoNcRaIGGafq0HEmvniMT0U7aymZwKvzdm3sNcplxBrscoRBqrQEnF8dD2HbP4uxKHBBykex3ta/T79lcPL1AMmZy8QfSrnA0CSOc8fkZZa1mPdSVJlPk29XophVGiGkaXeeYBze6GSmwtgoYmh+bOHMmqjXiYWNw1T5GTyoFB0Ne9/XmKp6cpGM8XdK1w3N4o7GIP0XlcuiUWO/Ox7jeaDiWTodQweAkmnNWD8cTaNHo9022lwax0cD8YpFBItNNmuE8ubzE1pWxKmbxZDmm4X18eZFee3xRLE3x2NwC/Z5Lbj6DAJo3O3g5wSOzs1QWs/gdjwtzM+j3iZq7m/ghvfAeRbKwYTAY3HHHhvsJup964oOYQkN2TQpFDb+aw8iGGcZhs0xejB+QwPAYLCrcgsLzA06vjm+gdi/uGLU4G8+IZhLteQ7qISVxcWmOje9uhV+6k2XHB5vxrNnXBUoTIahF5FqBAfhg1uSEB6tSalwqPAzNnTx/0lbpPO8URYOYokyAyfY9ri7IaPEVAikYuNPVJ9fbC/SD47PhQ7uE7WtsudNmxQV73XBUsTl1mTCr3nGmy5lqjWKYBAjBYWf8glUK2tmUTNyBVsUk0KF7cfz17NJkJt2OUAePrc5DPf6WK0U8GE7OlfC7cdA+6PdoDL06HFPwyOI81YMu9cDGb/oU5rLUqz0eWpih1+vheR6+7+O6Lr7vv2MgnMx0RxPhD1I80KCbbE5pWRbNZhPf9ymXy7fVsSG6rfsFuvP5PMt6Cd3OEORdWg2dTD4ApegGJoEb2adigEDRPRugUIjI0HrzoE0h0u211YlPjNQTzSgPmj1WKgXy2+MH7ua1A3KJjrHVgw6nVkJwV0AwUim4EfcmEWpwM4cgAzFR7isCNUEDyBRbCW16rUF6TLOA9BV+zCFRsXBukp8GQctOn0zrD0xudubpOcc3ruwGWV5vniBIkxQMo+4UuFlfwEuxxzzajpulk+LVCyGw1iP8cbUxBs7ORg4rN3kegls6wVDF0nl0/L2euL5CiCPq4OxihcNvbuIkefWIk9pcSzGI+PDOzOZZK5SoD5uX7vW7ZLqQzel4SrFxs4Fp6CzNl/grT76fQqFwVI7v+z62bdPr9ej3+1iWheM49w2I02iM233G/6TEg7W3U2L0dr2XwoZR3K839I8tncXUJLbnEyiJ2ckxEiS0Btkxr6tBBoFfAGtZsVVrHwGJ5wecPTmmEDZ2G5Qjet7N/Sbzpfhb/mK5ws7rY5G84/hcWJvkJUe6Xi/DkXY3mjQKP0A4ikw1vEUMOz5RKVIErSLl3GnTFFxTumlMO/v6AETk4ZpdbZHJpxuAd6aA6uWDFRSS3jHtfCD0yt12jx+ydoTJhnO8mXW9lafdTgfdTiOHG7lHayp31CX5YIqaoReR69lLAnvIHCUbVs4vFrAcj4VynuD7dTzbp9aKj5raQ9nXB04usvX6AXsRednCahHrVrh8eSac/1i/XGXl7AwnjAJmRmO33mG1NAbbUQffbDZLPp+Pde9VSh0Bca/XYzAY4DgOnucRBMEdPXP3y8D8vYwHGnSVUrTbbVzXRQhxT4UN98M4J7r+33zqgxhKojo6+aygUdUpBCGq9ckQdMcPnBp9v6ZouFZ8oivyVg+U4sxKfDh7KjJ5Vilk8N+aNNPxBpPgVNsNSzq9DGEW6ytE5NkVSpHfgqMqjYSHbRrATqgZFOh9hXBSVA7TNLpTOHctihkZn2zZTl0Owr5lyWi0CuyqkJ7pp3R4iMZetfK2bdzbVn5C6RANzxc0B3lanXTQrfXjEjJPajRqRWxHp1NO2b9+SC3E9mGY7VYTvdNm5gtkTZ2FA49urU+2YHIYnWgTsNPsUsgaNF85ZGaxQDMyiiqZJntbIbWwsFbitFlCKYU5Y7Kz3uT0yRmcjstPPHz2aJ1kBhrt3pvJZI6AOJfLoes6Silc12UwGBwBsW3buK57x0D8bhVl3K94oEF3BLTF4vG2fXeyvfsFujO5HCfyZVRfx8yB5Un0yMSI3x4/QMIcOndp0DsTUC5HqtP24tVpfkIa5w45WyHgTF/j+vd2WE5wfOvXDikX4iCyv9NidTgx55sKfaCOPHTDDYI2GL8YkprOVKtGk1CfXIP8FUnxZQP9pon5Wpb8Hxtk39QxNzX0umAaXgVpzSsZa3QRCjHv4DjTX64ucqKy7I36ytFO9z2DaZfZ9yQ7VoW+fXw2XG0X6Q+mL9Po5VEI2kFmIqn3XElLTK572C1yWCunqjf8LR0SksD+WchUTGqNOM2k53Qe1QscDM3GF0/NxI53YbnEwHZ5tDRDp9Znbi3OO1u18QvNLJlsXQ5VDRlDp9W2yOVM8jmDP/fonXX8HWXEIyDO5XLk83ny+TyGYSCEwPO8IyAe0RNRnjgK7p7n3fWI9r2MBxp0IWzDPJKMvVet2Ket/4nzl8hpGrbtA4LAM45a+PhCIkftaAoBo4G1MwfXnbF3aqdvc/bEuDDi5k79yAUMxtVqT60usf1yqN2M6n0BfD/gzInJCZ+FYhapSZQGej+Oo0aLmI7Vyyb52/iQVjpg7EoKr5hkbmWRfROEhtJACEkgdbAMZNXEuGZSeFNHS1hGCEdNFAMcxbBOWcw5CF3heMeMaKSkE2mOuXM4QzMi80LIqdnuXrWCJzQGx3QcdmyNtp2hZ03PhhvtkPYJhKTXib9h6vViKrAeBAWaE6XCYXRStHh6U+C+bzKTLnZ9Np7fOvqcrcS3ObNU4PRChRvfvgWALIyP9dG1BTZ3x6OljNDo9Rw0TdJpWeiaZK/b5WS5HMsw71YyFqUmTNMkl8tRKBSO6AkpZYwnHvHD3/3ud/nyl798X3wX6vU6n/jEJ7h06RKf+MQnaDQaqctpmsaTTz7Jk08+OdHW507igQdd4L5xPPcbdD/5wScw0fEGAk0oqj1BZsiNqqzCO9BDrDUVWgTDbuW7zM6NudpSJEvtWy4XItVptuPx9NkTbPze9aPv9jbrEx4IVmdyRmuj1gIUIgCjOwZW4StEVMLkK1SiW0NUAKD1oXRZIi0Tkbil0kBUsxVKGWSvmmTHfQHRJ1u+jUMIyPuIQniinLQGYZFoD0E3CARXOpPi/W5KJhv4gp1hocLAmp7F1qtFEGIqN9y1TOwIxdFOUAy1Kf4NlmUySNtmS9CdTWl66Uh2ltyjKy2l4ImVWba/H69CTNLqMq9TrnqoYQIwMirXNUmm7dO3ws9CiiOa4cRahWs3qjy8Ns9g4PAXn3449RjuV4zoCdM0YzyxrusIIXjrrbf41V/9VX7v936P06dP88wzz/Ctb33rrn7rM5/5DB//+Me5evUqH//4x6e25Mnlcrzyyiu88sorR+187iYeeNC9nQKJO9nW/QRdQ9O4ODuHb0vyRigRyLjhQ6UE6OgU+yG4apExqF+AXsTM+qARTwmjaoTTSxUyN7sEEc1l7bDDuXNxr9aNG1VmEx1lW66Nl1GYrSC8E4blt2YtIDAj/FxKtZ+fD2+dzGFA8ZpES3ESU0rhm5PfH/loC4lWy1J4XSJchTxG6eBnwyx3FI6QUykCgO6wSOLm3hx9OQlYVm8S3A6qFdyhF4MjNDx/8vEIfEHNCa+ZHWh43uQy9XZ8crPljjPNfiuDraVn6X5XZ9CazHTdXZ0knyMchZPX6BsB1iJkMzqPFnLUXt+lmaAbaom+eQUl2b4cVqYJKdipDS1ATy4gs+Ph+oVTc+zuhKA7W8yhAshkNAyp8WcjfC7cW6+y243R9nVd55Of/CT/6B/9I37xF3+RP/iDP+AXfuEXWFq6u8q4Z599lk996lMAfOpTn+KLX/zifdvntHjgQXcU71T3iLuNkYPZf/3QOfLoDL2hUUI7MpyVnsLe0yAAaYyBTWnQkDYjF8GdapvluTFvvVsNJ0XOr8zifXeXqy9vksvHQSRnxh/sIFBHMjEYkhmaxM8IzLYaV5spRaYdTBRCxMIL8HOC4g2f3JaOVJI0BJSumug8ASnKB9ck/5qJ3phSyh0EqBNurGpXCIFrTacY7EDH9jSuWZPFIQA9L36+ggC2+1H/BEE/hWJoVQv4Rzsi6Pfjw37PF7QH8ZdbJzCPWsLX2+keDEqB6+oMBpM0Qkeb/M48FEcc7+CcxpoVcPO7N1lIKFXy5SzV+ngIMTuTZzNSQrywVmFgexRzJnsv7OJFPBxm8+HvmoZGz3FZmS2y0+xwaXGSqnq3lARpDmMXL17kZ37mZ3jooYfuapv7+/usrq4CsLq6ysHBQepylmXx9NNP85GPfOSegPmBB913qnvEvazvui6dTofBYMBfeuxRipqJ54QWBH18MsNqS1v3cSzItrKQj3OkXuAzOCEYNUpYiVSjHdS7PH3hBL1v3mLQsrAtl/MX4pntzav7mJk4KHUiD1+uYuI7HvgBIpBHE1hmSyGSTjaJu0S3Aipv+BidzFjGlSZmcKeAaFoPdaGR2ZQYzUmxr64FiOzkD9jOdN7Vl5I3qiu4KRVlAANtXO4LUK2VsROe/mnZ8GFCddBL0BCNbn5CgaGEoNvKha5hKc1Aww1pICR2oBP0Iie8KuiXJ49BOeNl+mXFejW8qbRED7SFyCSZrkvOZExakUy4shy+zB+aqdBvW+wPm10+tDZP2wozhUdOLrB+2GLZzNEZOPzsn3o89RDebcObO/HS/amf+ine//73T/x79tlnb/u3b926xYsvvsjnP/95fvmXf5nr16+//Uop8QPROQLuX5Z6L9sYme50u13y+TymaSKE4AMri3x9a5OyMmlJh7xjYCsXbwaM/YBg30A8ZCE7imA4wRJoCgT0V6GwBb3hA1ApZrmUyZNbb+P0x1Kwdj0+hBz0HR5+8hRvXh7ze5s3ayydmeWg1iXIS3AEZidACB1/KAnLNBTJjjhJC8b8ToDKxsFDej5JdBZTenCmuZOFK2gUbwhajwUEQ/G+0AJkIX1Drjt95tpxdQ47RbQ0Ax7C+6XfNSmVbZSCrU5lQpHRt+IA1mtksRL2kEmVQ6OdXh3V7mfxfEkwRcjv90bbFVj1DPlCqJFzDgyYT6cWolF/ssCJr7Rod+JSOrOUgeFL/n1LFUg0Mg0yGkuzBda/s0l5ocDO0GhJ7ffZyvlIIdB9RaAUe80O2YrBhy6txbbxbutlR+DebDZvG3S/+tWvTv3b8vIyu7u7rK6usru7O5WmOHEi7Ixx/vx5PvrRj/Lyyy9z4cKdKTjgByDTHcV7melGfR4AyuVyzMHskx/5EQqBjjnMTrS8jlkPK8E0T2H7YNyQ5K0IrzvM7NySwJ2B/sDhR08vk3vlkOtfu8rWejVmSL51s8rqybig303R567Ol5ifLdAc2ASGQhsaz/g5gdYP0F0RawoJEGTGn/PbLmY3nb+djCnWjVMUCsqQoBmUXw9ClYcCIYOp1pDH+SzUDssEzvFyohE1UKuXsMRk1txP2KBVW5PSxL5vMKK8u90MdmrNc9iqp2alA7IKwIuoMfqDMa/byk5mxsXWpHzMK2oE8xl2d+I6bXu4c4+dW+Ta168SJA2QBharmPiuz8LZkDZ4+NQCvhfQ7Ts8vDaPl5FcXJyhr3yeOD3dt+LdNrzpdDr3xcD8mWee4XOf+xwAn/vc5/jLf/kvTyzTaDSw7fCFVq1W+fa3v8373ve+u/q9Bx5030t6Ic3nIa0k8elTJyhJk67rYDiCnu5h1of2iUNtrGfnwB2XhAVZ0IcP82AR2t/ZxNjqYXfDjLdZ73Hx0dXY78zOxLnEm1f3mU2YWzcOOsyZEqRAeApJWDHk5QS5ergvSdAdqRqMlkeupk12AIbYxNvR+Ul7CH1FkE3bgMIftpcRWpby6x54oTn5tHBU+mSaXTfot7OowfEg0B1Oam6107OlQEqsYYdhp6/TSvGiVAgGQ71uvZPO1wJ0HYPulIGl6sQnygaeSeAIvIaOXZhcx61NlvkJT9D/8Bx+ostItdnn1GqFza9fDT9HqAXD1DB1jfWhvEwO2/P4O13KayGdFVRt6r7D4V4HZQh+4SefnNz/d8lhLPlbd5LpHhef/vSn+cpXvsKlS5f4yle+wqc//WkAXnzxRX7xF38RgDfffJOnn36aJ554gp/8yZ/k05/+9F2D7g/phbvYxmiSbDAYoGnaRAPLtG18+MxJfnf9OqWe5GDWoRgIjBbIksTvg49E70mI3EOi50LJINAFBx8p0Lga11QlH7Bb1w7RDYk35FKDQLF2YoZG5EELPJ+tfh9R0JFeABooAoSvoQ8XiykOAkWQEQhXUbo19LlIE++nAGkaOGsDjyA/mQ1qAx8RmdV3ZzMIpVDuMXmBFPg9Db04ph+Ugmp1BhD4jgaklwoD9DFoHuTpp3bNDMNuGmRXfOq14tTJxb6VIZPxaNuZqWmM7AyPuTLp6DOmFoYhBO5hBtfXIJHoCjvAmol/KdwAr2BwqAlWKpJMK7z+pdkcA8/Hf+sQz/YozRc4PBxXpi2dmUXujyUjDcvhkVMLbH1zg7XTJc6tzlJ7owazFZqWxeJyZcLZ7t2M5HPV6XTui8PY/Pw8X/va1ya+f/rpp/nsZz8LwI//+I/z6quv3vNvwQ9Ypvt2Rua3u63jYtTmx7ZtCoUCpVIpBrjTtvE3f+JHyHkavuUjfTBLBpmaxC4p1FAu5mAio5xbxKTEWjJ4M9PjdGTC7MaVXRYi1We9rs25xIRabW/cNVjTJNp+ja4pw/0cWg4qDXK1AEH40lGRTFf4CpSics1DDo1xJ2RgThBSA4lI1+imX6Pocbt5hbU4tJoMBBzjPOYMErzrfh5rqJENlERN4ZUBXEOycXj8QzvomwSeoDrFuAbCybRGq4Ca4gMMQF+ikuAKKA/8lLbyvW6GToq0LLPlQcJkJ7vvHdENzYezR6TOwtoMJwJBc1jyvXguruSYLWSPpGNmVme72sbd6oKArXqboiNYujRP0PXI5Az+9COnUw/t3cx0YfyMPYhNKeEHAHRH8U7rdD3Po9Pp0Ov1yOVylEolDGMyY5u2jbMLcyxqWSw9YKFv4mYUwhZojkAOQUVpGvlb43X8BAXYWzPpLY1/UylYORnntJwEj7u33eDEiXCo+Oi5OXbe2sUNFMIOYAiUvikwhlJgNdHjTFHcDNCHnKNSk1VjMsU+UgVTNLretDLfIbWhK/onozyumGjNE41oZVrgCaqtSDWekCh7Oq8rqhLrmPY+AP3ApHlYIJjS+QFCI5paf/p2RFciAo2gP7kvQddIzaAHPTMiTYuEM/ldtNuytaBjLWgIKagIydb3to/+phfHGfLsbB6vMc5yly/Mc+nEHPs3aiydnSWXMbj5/V26WkCzPUDLSv76R5+YeozvRiTB/UFsSgk/QKD7TtELQRDQ7XbpdDoYhkGlUjlSJdzpfnzsfRfIZgy8qotlhECl7ynMyESV7EmM9rAkeEagItm7V5B8r2KjLY0f8M31Q7SIFnbz+mEs+wWYK+c5tTbLld97BXd1BgyJ7ozTR90K7RuBiWxNsxSZZjTzDSYtHb3J7FUbuKmlrqlGOYQFEwpF72QwYYajdVJXAcCJ3MLtnRJ+gtMIUkBqFF4tC/bxj0DfNKh2jvdr9R0dbzCdqZOd4T55EpUoIvGnrKcNNPRGQg1iB1iJZpLCVXiF+Mu/fzrD+ZU8ja167Pt2P+SCNU0y67psbY7LXbMLeeyNMCMurZU5kc0RoNirdvE0mJ8tMlOaMhH4Lme6o/hhpvsexTs1kaaUot/v02q1jjpP3E7H4OP246//xBNkbYkSglxXYGZ0ZF9g5CIdafOS3NYQAHWBMYiAbklDoTj4keLRZFer0efCoyfG6ytYXIhP6OxtNWCvSuAF+DM5EOKoBBRAt8f/LyKZrvAVuUbCPeo2z7Gw08f1U4fgAqwlNZHdAyj/mCKI4bDaG2jU+5MTWdNAN+hKPGXAcZwxoDU13P7xrmSyo6F1pvkAgzpSUQjoRq61IwjSypkVaLZANuMvkMyWBwn1QebQnVAySE3wKj22N8adIsyswc6wuuzRM3MEbkC/P56Qy+kaBzeHIJzVWH9ll2Ax7BiRz5v89JMXea8jCe6e56WONv+kxwMPusB9sWUcbSdqhh4EwW13nohuY9p+zBTznMwVCXQwm2DkJUJI/I6PYiQRk+Bp5PaGnGaikECzA/q6ovbB0pHe1XPjpOfuZvOoekvTJHPCp5LVUYDKGugDH38I9NLyY8Nb3x/TE4UbPYQTB8+0QwuCSYBNoxxgso3MKOyKwJ5PP2/+MS86JSVeX6OxW0alaMtESrt0AH/fBKaAXiRkU0P2j6vOA9mWiEH678iOhojsl+qNlwsSqoVRaH2FQCBsGeezU14gSZN43QqwDEn7XJne4phOWLm0hO8HXDq/wJWvvUEp0qFECNi7Mu6PpgeCgQywNLA9n0xO56/86ekz9e9Ff7TRM/ag2TrCDwjowr1nuqNKspEyYWQZeb9d6f/8k5fIGwbuIGDQDnV/Xjsgc9TpFqQfYBxKZABqok15+NlaMmk9EqaF61f2mFsaa0hb9R7nLy4DcGmtzPXnrnDl+RvMPrSCMjT0jnck28rW7TjoDr/XGzamYxBk4mCS1u4raYYDoNKqzgA/P5m1BjpYy8bQSSxlHU0clU6nRaeWn9oF2FFiwlox6GsEQ7kYQiKmWPPKHgS+hjimCENriLAMeoomWHQTdEeETphOLQxHb0j0xlBG56pJasFXuIW48kI/GIwlVR+o4GXD+zc3V2BursDBizdAKfqRicsnnljjYCvU9y6enuGtN3fxsxqalJARXDq1QMacnlG+m6CbjB+C7nsU95rpjsp2R+LnezVDP24/fvYnn0C3Q6MRaSlCpaekEBlCC0MghEZlR+JUku5e48+dC3l6JzPhhFrSujHweeTCHFe++v3hx4Cu5aEyGrgKpQmE5aHsqNxK4Rd0CBSFXReUQiVKiT1nEqFSdbcpngt6ACqb8ITQwCsMLf6mdZmQYnq2qaB9WGBqBYUQyETPNL+aiS0ve+mPQb6bDbPUY7JhOVQkKMREs03hCFTSEMeXKEuiBjK9HZCvkJFTrLXC9fWanKQWDlzQE7xv5JFWhqR7qYSfkQw8n/LAot8cYGSNIz537fQsnjXecbOSoaspRCb00yhkDP7Gxz849fjf7XjQu0bADwjowhjs7uRi+L5/pEjIZDKUy+W3X+k292Na6LrGEyeW0ADNk5hDjsDv+kcz+9qw1t5vgKZryAgwumUZq/Oqf6CIPaOzFZlQE1JguA799bjFX19oaIMN4UDUAAAgAElEQVSAYFjskDkcxAohhOejdEl+s4eOCd6kViuZ+SqlUrPXE4+vTX63ED+/SoaAO8I/meJUdrRvg/RbVRzqiP7xL8isO84Gg4EkSCwvrJRtBzBoDfcTgZHiJib6AjGUewkEWjfBrba19EyspxF00/c50yTWlghLIlxQKTRJMWGELgcefimSDQcKt5Sh+cF5POWx/foOAKsPr+C6PmZGx92q0uyF9pD6Qo6rzQ4iAE8CpmS5kufh88up+zqK94JesCyLXO545cmf1PiBAt3bjWjZrq7rVCqVo7Ld+23vmBZ/47/6EDk0lBKoztAfVigqzfBy9IxgeINJZvd0tAjoBqZEsyJjbU3QvpjnUHicf2SFXN7kzLzJ5d/7Hq3DNuX5kHZQ+Rx+2cToeCAVeAGGLWIgqjwX2ffIdEfysMnxfpAYzi5U8hMTORDvRjuKUqSkVQlwi8TuwGM7AadVpjkCcWimNsSMht0ZXw+/Fs9yp2073x9PmgoEtCcWQWsnwLsvj/08iqCn4U2RsmlWwmdBSLSqhpeoEsRXdBK6dLNqxxqbGq0wEw5Mje+JAdZKgUCX5OZDdcuFkyWsjsXmXhN7MYOfkygBpi7RpcQXij/7wTv3Fnin4p2oRnsv4gcCdG+3QCKtbDeXy030dnqnQfexi6vMZ3OIADQkqLAjea4f6lUDCaOuNYNO6IcQjaRES0lB4/EyTdOn2O+y/v+FJZ+tww6zSyWEFKhKCWVqSB/8jMQ8HCCQBFHlhITiLQsp5NHnaJhSoMw4WFRKk9mGoUsa/Ulz3MyQslECvATgApPuZpEIkjsDyB0ToUT47xjAHo2elSUJOpPc5MRkmoKglgDQZEmxnwKqEV5XdgRqijeEamuolEdPeCq1M72+LydebJnt/gT1IxLnSHOj7ZcEgwuztH5sjVedPqWzZV7ZrdF8ZJH+YpYgo+EPx1C+VGiapCAkf/HPPIxt28c2kXwvJGMPqlwMfkBAdxTTCiRG3UhbrRae5x3bnv3dAF2Ajz15gRndwNcFmVaYqlmOy9xBuG52qL0UCHLOuM0PMOECJrKhl8KrBRdxPs7t3nxti/NPnoGMcURTeHkdsxeglB97cPWejxFpCZGcIFs+MXmT57OTILZQKqRb3Qy/9HPpJcLHnTUvwRGXBlmITFKJ6dW+uFr4YvNqmfRSXiER0XdET+Ilm2m6KdRBMmP2xxN+sj2d8ij1dMzW5PdmM8xsk5GphoqGaCQ/S8ufoBZi1/b/b+/N4+2o6/v/52e2s94t+w4JhBATCJDcBC2gFkrYFE0joFUrSBVKKxBFoYhirVIpsqgFflqKFKl8qwWxUBER0IpZDCCgYCCEhOzLXc+5Z5nt8/tjzsydM2fOzXaX5HJej0cecM8y8zlz5rznPa/36/1695peJ5siKAqX7Y6FPT4LiuLVF1xJEdCFwFQ8S9Hjj5hIOu1l/IM1RPJgEM10B6MFeCQwKoLuQFrdvbXtxm1rOE6ij75vEbpdGdjQ52Wu5SS4vV7wc0KWhCUXmjb1RxU3W71+M9lvSv7SFINxp1ebOb++sQs3o6OVJC4OWt7yjG7Cm3FcjGp3SMbPrubyUqmYLDGGgmhJx3vG5nzKoc7hFaK2GOVDqqI/23TA3lQd9BRzgExLESh7tNgsN3hJKGtVumPadV1Rte6g4SGyfjWvgAtuHcWDANxeF723dr1KTOedsCVCqKS2h3buSpzIHUaUWkj2mFU2kuG7o7TT/5sxy5VbhL4yCNABQ1EwbYcPnbUgCHTh+WXRIZKO42CaZhCI/SGSg41w0G1kuocIwgHTtm16e3v32rY70DYOdg0DIZ1KcMSENlodDTVrkM6Dna0oB7ZY9AirfzsCmsoG2UoF38wqVT8i11BR/BloqsIfp6fJnjKzf2eZFJgWQlFwVIne4/3QnFBcmKZoZCdUn8TdxeoIaMRktXFkTsbQUaIZpYQNu7tAUNdnF0JTf+Oeq3x+bbOOGaETxABuZADWjlout+r9lWJa0tJji3ZCKKiV/YuiQIkprIGnhFC7lbq32y1lb8ZX1Uh5PElYHLui5yVCEWh93kgjAGN7CRn5LqLHVOZC350rcZL9dzClilOdIiV2hbbwW4T7pIOhKxypJZhzzKTKZ/fOacdxsG27JhD7gyWFEDiOQ6lUCqb5DmYgDr+/p6enEXQPBfhfut+2axjGXtt247YxHEEX4MNnnYRacjF1ibrTizZSOii2gVp0MMJaV9dGf62IqDiIJSJRJxPm9xTB5okp3FNnIVuyCFXtz9IkaBV+YvxRngHKuNYMSpdNrq+/+NXSlqZYro6AVkxW60iYM34Mi8dPZKHSypEbIfNaial/cjm+lKW9aRwzsk1ehucL2gcKugMET2kqKHkRW/kfiNNVi6D0DHyqB8W0naKGNgjW1uc9rvYO4NNrKog6ygQAa5d3jIUrUEv950k9asGX0QmhkNrmHX81oglWLRc3PP/OlbjZfqpB6ykjKtIy1XRwK6OdMoqKECBMm7IiSEiQukq5bHN6+1Ge5adtUyqVKJfLVYEzPCUlXEfRdZ1UKkUqlQqK0+FpvnFj1fcH4VE9hyu9MCqsHf0Cmn+bk0wmaW1tPSByfziD7jsXzSL1fZ1s2cRSoKmkYCYFugmZbQ5WygkcpfI46KpB07oCvfOzyEgxrVgsQ2gumpnV6dR0tJYU2ddzKAkvk0lKJegzUJqTUCwxTWq447Ps3NNfom8dl2FnV7Uhdq7UT3wmDY3jm9vYtWoPPV0lwl3+1kRJuWCx/dVOCp0KhcmRgo+DdxGIo1cdQV3zc1egbTHii1ASL+2Oia3JnWLAYO5tW0GYYBXrhVwQZQXFlYi++kFXlgWuAXFeNZojggUKBEYXFCuWyGpZ1PDcwpZe1bGyIL1XBSlxU5GGiG15aO2X4+m7C5Du76dW3f7eEpEzoRKQg/mgJRuSGmbBIplM0lKGCz76Z+h6yOSo8vvys13H6b9yapqGoijBuR8tZvt0hP+78LfjB2xFUYJ/qqoG26o5thED85kzZ9a85nDAqMh0bdsOFAn+uOYDraYOZ9C1LIuTjpmM0euityUQ28rYLV67riKNqgGOdrMBjosm0yS2FSmr1Se2HTW7VhXUPhOnSadnQSvlVo1UUkOvyLaEItjRmeOYqWN5c9VbJFqqOcJUttZj1qcb5k8ez5RNNjt+u42erlqVQk9PEUeDwsTagOsdI/onAu8HRI+CtOPzBEF8c4XW53V4eYF+gO9FKKjbtZoR8lWwBdoepW4mDGDkBVodflnf41Sdl7qfOVvx/Rd6vloVoKCQ2WDX2GhGLyhKyD5TuBInHKQrF3HFdumzvcCpZAxEpTFGtyXvmDwmCLhQ4aor49BTqVTgQaKqKslkEkVRsG2bcrkcKB3834Bf3HYcB9d1g4CsaRrJZDLIiFVVxXXdmozYNM0gI44bSnk4YlQEXU3TaGpqwjDqm1HvK4ajkBZuyvj0x08lYWi4toNahjQqOA4CL2AEK1EElE3PgGSngp3Vq/JBuzUBEb8D4b9CVShMTeAelaVQ8iiDcdNacByJu8G7WEWnjUeVC4auktBUTlKb2fGzjfTu7GPMxGo3MwBFE2x2C+SO0DGz9TPCdB27RimIbflVC5DaqXj+vnUgYporkhW6QCBQ67T7AuDKGoOZmrVJAbmBfzJGr7fWOET3L0yvlVfvknWohZjPszui4y07OG0ho58ItWD0lAK3N6Vo4Va44KzqZZOiZGHpCqJog6aQzNtc+IlTYtcvpaRUKlEoFEgmk2QyGRKJBKlUimw2G7TOR2mFKDWxP4HYVx719XkG/oVCgdtvv52Ojo6Dlqn96Ec/Yt68eSiKwtq1a+u+7vHHH2fOnDkcffTR/PM///NB7RNGSdAVQgRE/qEyEThuG9GmjObmZpqa0rSfeARar4uRVkjssgNrQ0VNoHf0/1L9MemKppPdWEbNV/+KlXx11ulGZFY7pElhSoLSWJ3kuDTHTxvH7g2eE1WuUJ0mFsxqPve46eMRK/fwVmh8dyYkUZJ4Bb7emQbFMZ40SSgCpRx/LJ18PAkrEKjRjNWFzGaBgjJwoS2ySb0H1JB1Y902Y7xgqZcG/hFrJYFapzMOvMxUtUGPCbpan4uMSBSFUDwuNya4KmYM/yLBKCikQxOTjZ0FREjDm+41IZSluqX+g6IU7GCLxYpqIVEJXIqu0OzAON1gdmQMFHh3k/l8HsdxyGazsXUSIQSKoqDrehCU/UDsv94PxOEM1m9KAmoCsaqqJBIJkknvXLMsi82bN7Ny5UrOOeccZs2axac//ema9e4L5s+fz0MPPcRpp51W9zWO43DFFVfws5/9jFdeeYUf/vCHvPLKKwe0Px+jIuj6UBRlUKZHHGzQjcLPEHwKpLm5GcMwghPsbz76LhK2wFXA6XXIVLq+BJDaY3nVKjx9rQ9VpNE7q6NI1O7AbYqZ6aVAeYzOH3PdvLJuO47h6TR37qk2rc2FlAsLp41HfSuPFbFrVDXV6yxLCQqTNfqm6USVUmpU7xpgACVBJGPNbBWoFZ3sQEE3+r5EJCusCeY+pCTRSZXnQRwS3Z73cD34PshqkSpdNVRG28e8x+gSyBifiqyt1rw+g4IiBM0d/Qc5nag2wbF7Qh/CcnCbQ9xupYBmOC5Whf+3Eyo4Lm5CJb2rzJ+dPrdqe35DUTi73R8TqH0JxGFqIlqsAy9ZsSst6ZlMhm984xvMmDGDTZs28bOf/YwLL7xwn9cTxty5c5kzZ86Ar1mzZg1HH300s2bNwjAMLrroov0a2x6HUVNI8/870plueBtCCEzTpFAooCgKTU1NNV1ztm0jhMNxcyey5lWvN152mGConm6yKUVmc5G+I9PYLQbabhuhej/IVIfEaSpjt1V0sREPBMdQSBZllTugP05dAoUWDZqbaC5ByXRRNE8FoKoKe3oKKEJw4vgxvPGz15i7pL9o4bXwqrxa7CE3Xa8MuYy/2NVTKkSHX9Z7j9EFek/YH6Lu2xCuV1CTAoxOgkDto14xTc+BaoN0+t9fs21LovV5+4iLzcKSns2i8Lqs1VJo8oeUKI4Se51JdIOdpva5mAuEm/MyVafPIb3doTzRoBAqnuK4yJB+V+ssQIvXBp6yXMxKsDRcsFQwShbltE7GhUSnCY7L8o+/M3i/r8NVVXVQHff8zNYPxsHnCxXr/H/+70hKydq1a5kwYQIvvfQSf/zjH0mn08yZM2evgfNgsHXrVqZPnx78PW3aNFavXn1Q2xw1me5geuoOxjb88T6FQoF0Ok026538rusGgbdQKGCaJul0mr/99OkkKn7UTgnSlTWUdEGiV6LmLRACEZJxKW0Z2rYL1MotZDGj1tT9jQhX6BpKtThACPJJgdWkUm7TKY3TsMZoONJlcjLBH/6whcKUFOvKeQoTDQoTdLpnp+ibmqBThqZD7O8hUwRaqc6bKlFPKUNqe7WES43rk/U/CsIbcy8hsSem0cChJgMFSFakF0KCUYxfU6LHi4tqifDoutDz1UUvLUQxJDrd+E44wMi56PlId1lZYpqRi5grIVQgy/ZoNPVRNZ1D31OoohbU0HdvdvQPNS1UpIhuxYfZ6ejDKLgsOe0YdF2ryW73x0/6YBDNiNMVBYaiKCQSCR5++GGWLVvGFVdcwcyZM/mHf/gHurq6BtzmGWecwfz582v+7Wu2OhR2kqMi0/VxKARdvy3Sb8rIZDJB0cD/sorFIrZtk0wmAznNhMktnDB3CmtefAuR1HB2FWGSd9Klmwz03ZKdWUiPSeLbGliKgFyZplcl3cdlkQkNvdfEDlWrhSKqC1OqIGlJSqFbWleAYnt2jwiBiQQJOzpy2JO8zKksbchq3sSJuHOuznk40LDGpKOQrxOthc/jRsr60vWkVHEevgApS4Ve18ssY6D3SaymUKDKySraQeRcSEc4EleiV9R0QkKiICllqvevVQ9qRuuDcmUOpJ6XEFOjy0gV4dgY3RIrVJPUKibmYRjl6qAuTQmbijC9P7NNqTp+z4UwHexs0tuKlFDpEky5kpKhgeviNKXQHRej00SMMbj0qr/Atm0KhUJQnB4Jv1qfjrMsi3Q6jaZpPPbYY7z88svce++9LFy4kBdeeIHnnnsuCMz18OSTTx7UWqZNm8bmzZuDv7ds2cKUKVMGeMfe0ch0Y7ZzINuI8rZ+u6TP2wKUy2Xy+XxANUSLEZ++/D2kDQ1FSqShk857WW1vuYSTd0ls7KGnHCEVHRtNSdH2mverT0Qy27Jbez+uxUXImAww7igIRQRDJKverorYbaAKjDrZqRFjYgPed5DeItBiLBe9bLP+96PkXIzO+oFCjWSyic7I8zG39UYOlFDiqfRUcyZa3g1mzAXbKYMqhXeBiPPNBfRK+7eRk1XHLs7iMhk5VsKVpPZImisZtZCScuhWXe3sCywile4iJLzn1AoNpPSWUIREf3U36XSCxX92NAiHQqFAKpU6KNnlwcAv2EkpaWpqolAocNlll/HYY4/xxBNPcOaZZzJ27FjOOOMMvvCFL5BIxLecDxba29t5/fXXefPNNzFNkwcffJD3v//9B7XNURN0YWDlwP5uY1/hT5ro6enBsiyamppQFCVof/S7evL5PK7rks1m685amzRtDPNmjqdJCo9n2NHntWo2J5FS0lwwcFI6MjSeJ1GZh6ZaScZtKVMsVzOOJb16HhoQW7iJg6vFnx5xQVcIgVaHb03Wc9uKC9JAc5dgbG/9lu26BTGALWZNdlzvvZm8QIvKuGI4aKO6R6RG+mXE2D4qQKYgSO5xqjwRAjgSq8e7qCoSjEoRTi9Tk+UKR2IVqhemlBwUIdBeL2AUHZpNgRvajxYKwBl/6oOU5CvUQjJtkFzXgYYCmsLyTy4JZo75d2bDaRQepTRSqRTPPPMM73//+1m2bBnf//73B12X+/DDDzNt2jRWrlzJueeey9KlSwHYtm0b55xzDuDJ2L7zne+wdOlS5s6dywUXXMC8efMOar9iLwd2+I76QcLvbuns7KStre2Ar9JSSrq6uhgzZsxeX+vfirmuSzqdDjJby7KwbbtKJK5pGrquD9hxA7B1Ywef+8wDlBIqdq6Eg0N5ahPJzXkU3UBpE+RsE5q8YKu4Eq3boy4koE9R6EhVB7lkt+1VqSvQrFrPBGHL2Om9uLJGFiHKDnaMBjepKvTptadMRtfoNmIybgmFSCdnosMhu1WA61AaHx94JS6l8bWBNWULkn+yKE7RYothADgufTO89zavd2rpC6AwpX9CR1NJQdkSnRMn6T260llmS7Kba+kAAEe3kUIJGhLC0HsdEiGfXzMryB2h0lbUKOWqj1ViVwlVqT4WWo8ZZN9KWiXf5GBV9Lmq7YJV4R4dF6XgIAwNtaeA25RG2C5NW3sQPWVSY7Icf/IRXPnVZd6aI0UsVVWr/g107h4o/IKdoiikUimKxSI33HADHR0d3HnnnYwfP35Q9zdMqHuQRk2mO5gKBhh4HIivt/X9HZqbm1FVNZC1hEf9+IUITdOwbTvQ6fb19QW8VVjNMPXIscyaPoZkTwknm8DotdFMB5mq6Bi7JM3JfpmQqwiotOcKwNruoO+ppiAS0ZE7GoGHQ/B5FQFxo9TjpvrW4WnVuN5XwK4zpNISvh7Vg97jkt0Saumtg3q+u9nNXvan9tU3d5DCo0GMHhcRkxF7TSmhne+o1agJIdDy3muai7UWjz7UgkDGBFwAPWLNqOclwq7NaIGaC4NWsqroDrfPJrvZJFn03psu9dcPlK4CoqJw0FWVdNFk7KYuZI+J1DVsIbjs+vej63pVEcvTkDcFjQ6WZQXnbj6fp1gsVmltDwThZgu/yWL16tWce+65nHrqqfzXf/3X4RpwB8SoKqTB4Ohsw5KvMPyTpFQqBcEWqOpD94XfhmHULUSEpTH+iQueEFzTNC698nS+cNkPMHIl0mPS6B0mfRPTsMtCAKLDRowTyMrtf6opga+BF1IwYZdLn+HQ3VwZJaMr1d1qAhTLxQm3kyqglmycaPtvTAeYq4lYaVWcIQ6A6brEXfgFoBVcTENF63Np2hTKGBXFy7JjArzEu+UO0ySpDhe3EsjUkhubiYPHSet9Lsk98dkpgFYEsw3Ugouo4yam513srILa61JPxZbscZCGwInceShlt4bG8DoNXZyIlC5lSUQ0cOctUPt/ugnAMSG9Lk9mRppey4QW73kNgQPotoPc2o3S51JWFHRNoGcSnPOhhWRjjOiBwA+hnqzLsixKpdIBZcSO4wRSymw2i2mafPnLX+a1117j4YcfZurUqXXfe7hjVGa6B9sgAdWZbpi3tW2bpqYmkslkVefMvvK2UCuNaWpqCgpvrusyfkoTJyycjlGw6bUsnG4Tp6MPpWJYYLuC1PqOYHtm5NJZLJRRN5RIbfGqLH0xxbRYH4KYTDdOfSCEQI3ZZNlx4wtyiqjKaMNQTC9INm+QKKEoLoRAK8ZnrEKIqtHjiiVJ7erfvhrDOYeR6JSIOuoGIDBET3bENzSAJx0zup1as3MfjkQvSIye2s+g593Y7Y6PMdKRnZGuQ0lty3DRW7AQAt7M07SxRPblPbRtydGUs8n8YReJtVtJFCGd1hECLATjp7Tw4b/98zqfMB7Rc3d/M2I/cfHnEqbTaV566SXOPfdc5syZwyOPPDKqAy6Mwky33vSI/UHUl7dQKCClrOJtfb2t7x/qP38gU4R985Cwufq137iAqy76/9jWW8CWFtleQUEvoRmeREazBa2dRbrHpCgaKkbBCarVojUDfTbpDsgYJnsmGOjdVtUkgbjmhLgCW3QQZfBa24WI8YrAowv8wZdhKGVZNck4eNyG5vVubPFLKUnI1DzsPWdKqMi2MtvcKgMdMYCWFyCxx8VpGiDouqLS7CDqMnOKLTB66p9nRpeJkF6ArbLOlbKivoioHYTA2pzDsHXMcRX6yPUMzMNIWi52SDMrCmWc0OdN4GJKUByFRGeZctlFcWVFvysplhykadI0sZUr//EDdde/P9ifjBi88/2pp55izpw5PPzww6xevZoHHniAWbNmDcp6DnWMykx3MIKu4zhVvK0/ccIOTcj1q62GYZDNZg94bHscFEXh0s8thT0FUD1dZksidOvflEJuKaLuyYOqkAwFUVsIhFvJprbbZNfnEeXq1NRNaTVZqRsz1RdV1PC/QN0Sa9T/IHg8hqZQCy5Nm2zUOlln3Hui+zF6XPR85EmhxK8Z0HMOyd6BJ1kKIchsdQa8PVYcUKJz00IwChXvAKva9UvvdVBiIrnaVUQI4bV9B6+1qicDA1auOvOtKq/ZDuVK5i1dl1Khsq2yiVBVjMqm1KY07zr9WI6omJQPBcIZcTqdDqRdvi79vvvu4+yzz+bWW2/FcRy+973vDataYiQxaoKuj4MNuv4tUF9fH0IImpub91tvO1g4fvEsTmg/kozh2T2WOkwMf3igrqPrCs27LXTbpVyqLp7poeaBZJ9CaoeJGgpiUvGE8lWfXVdRzNqA5I+Gr0K9pod6hz7yeEtRoXW9hWqJWN4Y6hfMoJLNOpL09tpbdZ8rrl2DJL3TRnFE/Gfy4UqMrr1QFF02iToFO63XQpG+by4YPf1XIq0Qs10pUSvxUbMFeqf3XWql6s8gyjYooczXdqqy3LTRz6OmDQWhqkjXReieMtuSAlW6tI1J86kbDk5ruq/wi86WZQUOZPfeey+lUolf/epXbNy4kWuuuYZp06aNiC54JNAIuhWEeVspZWAvF8fbOo5DJpMZkLcdLPzDv36UlpSBgYsiBM5bu8HuH2QpbUi/2YtlVH+VRbs65dRNaH2tj+ZQY4EeozbY16xWqiLWZrFenAwctqQkvc1Gf62EIr1SllInK5WqWtfTQQrIbHdRnTrKgRh3s2Sng2b5DRb1eX+jx8YYQAEhHOmpSuq8xuitPvZGztuXsNzYcfFqb7lKrZHabXmfW6m+81D7rKoLjFIM/e26FCpjeKSUFCsOdDqON3zSsXFdSLVl+Kd/v3jIz1v/95TP59F1nUwmw6ZNmzj//POxbZsnn3ySuXPnMmHCBM4++2yuuOKKIV3PoYRRE3QPhl7wfRKKxWLA29q2jWX5I3RkMO8pnU6TyWQGHG45mFAUwU3/cSkpRYBtozVlUbd7RTSZTXqV/JLE2FNEhNQDMlvtPoWhYzig/SlHdl03wnQoOwO4x4QQx/UKIK3EFH40UWW+Hn5cKbk0b7DJ7K7OTuvRCALQinVogoIk0VH/e1YjmaywJandoYyzXtB1JckO29tvnfPI6LYQCO81kbUrJQc1YqyjmqCYLkZPPGWhRgqGmiVIbi9UN1VIiRo63oIIK1wygwKbKJcDUyRbCqTr4giFdFLl6q8vY8LUvWvQDwZhXxG/QHzPPffwqU99im9+85t88Ytf3Kd5hYOB7u5uli9fzrHHHsvcuXNZuXLlsOx3IIyaoOtjf4Ku67pV89R83tY3Ty4Wi+RyOfL5PEIIEonEsBh/RNHUlubKb3yQhGniuBJD1Uj1FSCVCGiERFEhG56bpigoEbGrWSwjKq9tXZfHzdW2dsUW2PR4cZW5J0qmVgJlzHaNHoeW1y0S+drvZsCZaTEZq1ZyaN5YQq2TIXuLVqqC5ticqFJHxGXCAJleF9Xx2n7DXGywVlcGdIEQAj2S7RpdZq3PLKD3OGgx+1SKFkqkWCaA1PZi1frVvFl1DVBKVr+KoSLZ8v9fr3D/CR0QCqmERzWc99dLmLdk5pCNTQ9nt6qqkslk2LFjBx/60IfYvn07Tz/9NCeeeOKg73cgXHnllZx11ln86U9/4sUXX2Tu3Ll7f9MQY9R0pAGBJ6fPH9VDWG/rGyRHZzuZpolpmmiahqZpQTXWs2L0TNPDusShuF3zT+JyuYyu6zz5/9by47ufJo+K29GLPakFUbbQKt1KslTGatJxJnptXmpvESV8i5ovVbpZ9PwAACAASURBVGVLErBVh/KEFFZbwnPCcqUXBCPZrZIr4TYnax6zxkQyakDtLWFO8LSfxq4izT1An4uTUJB6THYsJWaLFuvEJV2H0oT+rEjYLi3rimiOwEoqWK31M6ZiGzgpFS1n0by5OsuUQH6qXpXFC9OhdZMZ3OoXx2iYbdXbbyuBu7Vfj2BmFQqTvSKRIiHzVilW/+viYDfX+gQYu/pQo23SJRO1z8RsS2BO8bTgWkcRJfTdqb2loMhmILGK3oVA9hVQDAPpuuA4njOdIjhr2Ql87NpzAkUBEKutPVC4rkuxWAy6M4UQPPjgg3zve9/jtttu453vfOewc7a9vb0sWLCADRs2jARfXHeHo04yNpBO1w9ivkeo37wQbm5wHCd4Po5GiA7p86ea+mOoB6td0m+NFEIE63jfJ07ljd9vYtVv3vCGC+7swZ7YgqzwlCKZQN+dAwnOpFaUTALCt65pA/oq/pFUijx9DsZbRdwdJYrjk5hjE2SEIGKahWI5NU1ibqJ+wNM7SozpFji5/nclHEkp5i1CeCY6cZKy6LnbtKFYGfAIelliSVnXNlErujgplfR2EyEiwzGpNFFk+r/f1M6yZ7nmv7/gYobb/R0XZ1uxao6a1ud4GakQZHrMug0XRo+Jk9SQRihw+j67kVinVAzk9a4y6niXEtXjfIRpe80jFZg9BYRhIKVEqVg7GsLFUlVUx+LDV5zOBz99evB6v1hcr0FnfwOxZVkUi0UMwyCdTrN7925WrFjBtGnTePrpp/fqBDZU2LBhA+PHj+fiiy/mxRdfZOHChdxxxx1kMnV0iMOEUUUv+MbIcdm7z9uWSqWAl4V+f1uftw0/H8fbRof0ZbNZmpubSaVSwYC+QqEQiMPjWn0Hgs+H+a2R0XVcedtfMak1gSO9jqpkrogeogQybRmMziLG7h4sVUGGx+4oCjJSYJOVAKyYkszWIi0vdeGu242+rRcjdPseHTUDgKGiVGRJwnIxdhdJb+gls7FIy2YHJ+IhYFkuOPHHQalngq4oKBVv2fRbBYzwSB0pY4uBwTZNaCmC7sTnFmG3MqXkYBSiz7tV3rmJPSVExO1LkQK1wju7XfFjLUTJQilY6JFGByNXrjHD0Wwn0BwLQLzRSbJUnaWnQ37oslBC+LMBiyUQCtJ1MW2JqsAl151TFXCh/3dSb5qDP5csl8sFLevRgZPQf676v5lEIsFPf/pTPvShD3HFFVdwxx13jFjABe83//zzz3P55ZfzwgsvkMlkBmXG2cFiVGa6cSeG780ZdlGK+tsmEokDkn/5dENYp1uv1bceLRGmEgZqIRZCcNsvvsA9X/pvfv6jtbgFC7fYDa3NCCEo2BKQqLsLqJaDq6moRn96KdVILqapKI4bSHYVBIm8S7Jswa4uUkLiJASOIXD7LFRNw7EdLxhJCbZDWjNweq3QehXPIFuPZJdCIIpmbZGPOrK0CpK2wO4tk+qOea7sYiXqdP7ZEm1r/Rk8WtkNpkCkdpZrslQFyLqCnOpZLxr52qYGgETRxSpbqEqd4F5REmg9JZyJabwp8xI376BELuxub7G6yGi7GNt66BuT9XwcbJtSsf/cFZbtTRkB9KSO43g0U0trimvv/BjHLtq3hoO4aQ4D3dX5d4g9PT20tLSQy+W45pprSCaTPPnkk7S0tOzTfocS06ZNY9q0aSxZsgSA5cuXHxJBd9RlumF7x2KxSE9PD4qi0NLSgqZpVXpbn/QXQlS1Mg4G6rX6+vxwqVSit7c3mAqcy+WCC8PepGhCCC796nJuuOcSUmkdRQrkrg7vYqOqSNdrXzW6y2iRgZMyZUQ3hlus1vgKQ8efQaFIgV6CZK+kaY9FYkeJ9B6LVIdFqtMm2Wl7Y2Qi603U0fEm1PhTLm4ag4+0Lchus2Nv3EWcIY//vi67ml6JQLE9jlgt2OjF+NeolWzd2FNCqfNzSZVA74lXgoiSFUjiFCBTaW5Qe0o1AZeSWXscTBOzM4excSd05xG9xeBY60gwPJ5YFos4DmhCMv+EKXz3N9ftc8Cth7i7Ot+61HEcNE3jxz/+MUcddRTHHXccO3bsYMGCBezateug9jtYmDRpEtOnT2fdunUA/PKXv+Qd73jHCK9qlBXSfEvF7u7ugGP1A1j49t5v3VUUhWQyOWzyryhs26ZUKuG6bkCLuK4bGN/sC6/W25nnyx+5my1v7kHXBcV0Bsomim9wIyWOCu6UsQEPmCyUsUIBJCG929Ew0rqgEAlo6YRGIdI8IaUEXa3hVRMJlWLMrb+uQjEVzwWbKVHFeQIoRZsxHWWKMfI08HbbN8Go2b+at0htzuNk9ZoCYBjFJkh0W+hm/DF2hUtuZprsmwXUOqbrmnQ9U5/oBQ3Q9uSrdMguksJRrRi7CzV2jUpXvqqdGdeFfD+7LhSwpYRMGrJpRF8RYSQ8yqg7h+6YXLhiKX951bl1P+/BIDxVIpVKkc/nuf766+nr6+Nv/uZv2LBhA2vXruWss87iAx8YnBbjg8Xvf/97Lr30UkzTZNasWdx7772D7stbB3WzplEVdH2Jlz8m2s8qfccwv8IqpQxG5YwEfM7MdyMLZ9hxw/mAmkBcVYmXkm9/9j959tEXcR0HOX4MarGEXfmx645N2bRxpoyBpjSioxclFXKWki6YTlXLqSZcvwej/zFVxHnieIHXqL21dg2tpnNNAk6yjsdsViMfeljLW6Te6kW44LSkggJgFKUsuNl+ZYCwXNIbelBcTwJnj6+vZHFsE92qnbwbXm856ZKMmWLhQ93eiZvQcCZVmwOLkoXeVZtCmymBkkhV0wiWjeitvuMwXBsz3/9+GbojkY7jmcC7LkZCY+zkVv7h//0d02cf3CiZOITH56RSKTRN49lnn+WLX/wiK1as4MILL3zbdJPtB94eQTeXywUtvE1N3tApn27wpWQHytsOBqSUgfmHn4XvrToc5dX8f3Fqid888jz/uuIBTMsmPXUcxV7vVla6LuQLXqY7sQU7lUCNDu3KFRDJRHjHXudbNNC5LkQVHY4Dydosz0XGPu7gxPK6bqmINdH73vTuMskt+SAfd1J6LTVSgalY2BMqgdWVpDbl0EreFUMisSY3xSscpETf2o07tjl2u/72ZL6IaI4vCGUUKL+1x9vPjHFVFxNtdz62QChzedyJY6ouVKmiiRmigpK6oNTRP5LCLZeDphPDUCnnPQMZRcDZl76XS//5oiE5p8MTgVOpFKVSiX/8x39k06ZN3HXXXUyePHnQ9zkQHMdh0aJFTJ06lUcffXRY972fqPtljCpON5FIBAUtnyv1+VIpJZlMZlB52/2Bb6Djd7Xt64TV/VFLnHjGHG7++Wc5rn0mpa27cSuje4SiIFWv+CF29aLs6EKWIg0MUQ5WCE/nWfNBYlLdOoez7lj2OqbmokIhtOYsUqGA672nfvdc2GSnLWcHAddbmkAU41UF2b4ySskCs/62s5aFlqtD+LqS8taOYD9Kd7/8QeRL8QG3r4AoW4gdnf3ND0WTcijgCgHF3T3B35pKcNyl61LKFVE1hYkzxnDrr2/gb77x4UE/p+MmAj///POce+65LFiwgIceemjYAy7AHXfccUg0OBwMRpV64bLLLmP79u2cdNJJZLNZXn75ZW666SbS6XTQ1htVDwx1h5nruoOeZQ+klpgwfSyfv/9TlEtl/ve7z/Crn/yejh4LJZ30MjZFQS3buFt2erzgxDZvpEzC8Apw4bXFrTNOUaGoSNuppQzqBeN6Mi9NI7m+A1mqfauw3UAPG4WKClKi7e7D6rBq3qsULZx0dZacsR3MHb2e90Oh7FEhUeQLFDvy3vZKZk3WnrVMSqE2YDVXwh2bBSEqioUIteI4UPQuhIpp4e7pQY5vRRSqlRNObx6lchGUrsQslCrfi0RaNrqhsvSTp3LRde9HVVVM0xzUUTrh8TnZbBbbtvnqV7/K888/z4MPPsiRRx550Ps4EGzZsoXHHnuM66+/nltvvXVE1jAYGFX0gpSS3/72t/z93/89W7Zs4bTTTmPr1q3Mnj2b9vZ2Tj75ZI466ijAO7H823Q/AGuaNmgnbrSbbLhbiMO0xCurX+ffv/a/dGzpopTr5wU14WKaNrQ2QVsLFMuIsH2k63r/ouuWsuaxOIpBgjfdIhKM43hdpTOPtjuHQEGk4wtfdiYBifg8wdQskrvjmxOkwKMYKhCWg/5WR6AUkIrAmdRWFdCFlIi3dgfZtptO4I4PyaBMC3VXT83e7LFZpCLQ87XZtezqQYTuFCTgjm1GcftXrQmJ3dPfXu0WSgjhZbhCuhxz4pFcc9+nGTOxtYZy8ouw4fPZV/TsC8K1Br/m8corr3D11Vdz4YUXcsUVV4xIG7yP5cuXc91115HL5bjlllsOW3phVGW6Qgjy+Tyf+MQnuPzyywNLxnXr1rFy5Uq++93v8sorr5BIJDjppJNob29n8eLFtLa2Bnra8InrZ8X7e6LFdZMNN3zNpW3bzFownZt/8vf8/P7f8qNbf06x0tBgOV5woSuH7MmjNqcRSR3H9yhQFFTbwol8/lRCoziQ74G/BgDTqpkTJgBRtJBNKqJQJtPVh93jXQxk3eE3XrHJjQu6ZYvEtl5EKn7sjJB4FIKhgZSkOvuqfGqEKxFlG5kMFVZ3dlXTG8Wyd4uvep4OyUI5dqWip4Bi6NRkuYViVcAFrzBpvbUdWlsg6zXrmN05lEqQTCZUikUvGM6YPYHLb/sYx7Yf1f/+AbThfu0A9q3LLDo+x3Vdbr/9dp588knuuece5syZE3tshwuPPvooEyZMYOHChTzzzDMjupaDxajKdPcFUkry+Txr165l5cqVrF69mp07dzJjxgwWLVrEkiVLmDdvXqBF3Bf1gA9ff2vbdpApjFRVN3yLGJbFSSl59LtP89PvPk3H7jzS7DdokVIiLQtSSWjKIJqyUCojUtWeAbJYQqSrA5xEohhazbQeadvIbG0wlKUyomSi9hRrjpFMJRAxhvBSgNMWaeEslFC2d3ohrq2lbkuwndZwW1Ooe3Jo3bUcrdaWoVTJsFNCYm7cXUtTTGjBTCUQuSJqT7RR2oNbLCESCUQm9JldF9GTQ4azXNdFFgoBrys1DZFOeRdBRQHXJZNQmbtkFh/42zN4xzuPid3f3jCQGsb/51Nv/jm7fv16rrrqKpYuXcrnPve5QTXnP1Bcd9113H///WiaFmjcly1bxg9+8IORXlo9vD3UCwcK13XZtGkTK1euZNWqVbz44otIKTn++ONZtGgRJ598MhMnTqw6gcPqAT+jjJOAjcRn8QO/L++pt5b1L27i+zc+zOvPv4lV0d9K10Xatld8A1ITWig6ApFMBNSDlBJViXqYVSrs2eoqv5TSyyCFANNC5IuIfAGKJqJOE4hUBCJTqxaQgNOcgspATnoLKLs6g0kMMpuBRLzCwVXBaTLQt9VSAlAJ6JPHeNzwts7YgqGS0DDHt6Lv6q4KoD4MHEp7vAKYNnUibqUw6HZ2eyNz/H1FAm4qm+DsS9/LiafPI5lJkkwnaB7fRHNbfanbgSJMO4XtS3/zm9/w4IMPkk6nefHFF/ne974XdHIdanjmmWca9MLhDkVRmDlzJjNnzuQjH/lIwG298MILrFq1ii9/+cts2rSJcePG0d7ezpIlSzjhhBMQQrBlyxbGjBkTqAzAyzIHCnZDgX1tIw7j6AVH8E8PX4VZtnjyB8/yzI9Ws/GPW7EgCLylXT0gpcfPKgoYOonWDGXL9YKwqnqZmaai6yq2lF5RzbbBdhCOQ9pO4OQKWLlqHarXQhVzCtbxZxBASpEUAaU7D7u7g1txwBtFXyfoCtNB295b95cgJKRwoWBi1dm/W7ZpKhQoxjwviyWK+b5+vfWuDuS4MV6jSijgKqrA7vNsG9PNSc782Kl89Ma/HDYKKkw7he/IJk+ejOu6bNy4EcMweO9738vll1/ON7/5zWFZ19sJjUx3HyGlZOfOnaxatYpVq1bx61//mo0bN6LrOtdccw3vete7mDlzJlLKIS/SRRHmkFOp1EH/gF9Z9TqP//uveHX1evZs8wwPwkMFg7+lrJ7hpSrguIjI/jVDxZLxBZ16PKzRmiFmchCuY5NuMihu6awJoFJK1AljamK2LBQR3d1II4lSp0gH4JRKKJoenwlLicznURwbdfzYqn3Isonbm6ulSRQFoWlBu690XdxCgZYxGc742Cl85PoPDDvf73uRAKRSKYQQPPDAA3z/+9/n9ttvD7LbcrlMT08PEyZMGNb1jSI06IXBxHPPPcfSpUv57Gc/yxlnnMFzzz3HqlWreO2118hkMixcuJDFixezaNEimpqaYqvLB1qkC2M4OGTHcXjuiT/w7E9+x+svbKJ7Vy/FvkrTRUzglZW/owMVpZTVyggfqtrvkhWCZmjYiQiX3FfA7c2hJwzih5iD3prBVPu3J3tyyK7u4LgobS012bWUEtmbh0IBUimUbKb2+Z5e8CeJKArqhLGAQFo2bk91Bq1qCu/5UDvnfPK9PPeLF1n/4ltse7OTSdPb+ODfn8U73jk7du1DiXBjji9d3LlzJ1dffTWzZs3i61//Oqk6F8AGDgiNoDuYcF2XnTt31ojDpZT09PSwZs2aoEjX2dnJzJkzA8nanDlzAoemvTmP1UNUjjYcs9rC2PTqVn7z37/j5WfXsfX1HRTzJRynmrMUEXpFSgmaWpMFC1WAUZt9Sim9Yp4QXrDtziHsStADlGwmng+WIMd67biyoxPRV100SzSlsJL9fLF0XWRXD5j988WU1pbgQiBdF9nTQ7QnWuo6SksTSl8fTqXZI5VJ8O7li/jYjctAEFghDpfpfT2E29/9ppqHH36Yb33rW9x88828+93vHtb1bN68mY9//OPs2LEDRVH41Kc+xZVXXjls+x8mNILuSMF1Xd54442gSPfyyy+jqioLFiwI+OFx48ZVFeniJD7+j8I3yQEGhUo4GPi0huu6bHhuM8//4g+se24D29/cTTFXwmXfsl0pBEqyOvBK18V1HSiUg2BbBU1DScVTBW7CQOb6EGbt2CAApTkLiQTYNm5nd03nnRQCZUwbOC5KsYBT9rcjSaQMxk5p48h505i54AgKvUWK+RKtE1pYvuJsVFUNTL19fbZvJerTTlE97WA2NlR9jlB26xd4u7q6+OxnP0tLSwu33HILzc0DtEAPEbZv3x40MeVyORYuXMhPfvKTQ8IBbBDRCLqHCnyzdJ+SWLNmDVu3bmXSpEmBbvj4448PbCj9bNinIRzHIZlMjph/BOybQkJKyeZ121i3ZgMb/rCZbet3sntLJ5btUixaOLYDspJZagpGJs3kI8dw9AnTmTJrHL9+4Le88cImymXbG7IYs30lnaqSljW3ppg4pYXX1qzHjeGWg/cK4XXo5fJUadwE6LpGMmMwZvo40ukEreOyTJo1gTntR3HiGfMxBpiW4R8Xx3GC4xK7/9DUBj8YSykHtVsyOj5HURR+/vOfc9NNN/GVr3yFs88++5AxqTn//PP5u7/7O/7iL/5ipJcymGgE3UMZUkq2bNkSFOmef/55TNNk/vz5nHTSSfT19WGaJhdffHFATfhFujA3PBxjtf3MaShpjXBQ2vTqFh7/t2f405o36e3IY1sOruPiOC5CVUi2NnHcu47mL//uLzh6wRGAd2F68j9+w1MPruTNP25B01VaxjUx49jJzF1yNIvOPJ6psyfRsyfHnq2d2JbDjGOnkG46ME5zMI7LgbjL1UN4fE4ikSCXy3HddddhWRbf+ta3GDNmaKcB7w82btzIaaedxh/+8IcRybqHEI2ge7jBNE1+9KMf8cUvfhHbtpk/fz4ACxcuZMmSJSxcuJBUKlVTpNtXH979hT87DkaG1girQvz/Qn9Q8j/3cGdv4YxyoOx2fzGQu1yUmgjbgoYzbVVV+b//+z9uuOEGPv/5z7N8+fJDJrsFyOfzvPvd7+b6669n2bJlI72cwUYj6B6O+NKXvsSMGTO45JJLEELQ0dHB6tWrWblyJb/73e/o7e0NfCWWLFnC0UcfDXBQRboowv34I2mL6a8lXEA0DKNuUBrqO4A4vnQ47jTCjQ3hi60QImjQaWtrwzRNbrzxRrZt28Zdd93FxIkTh3Rt+wvLsjjvvPNYunQpK1asGOnlDAUaQXc0IuwrsWrVqrq+Eq7rYtv2fhui+EFFUZSg6j1S2JdM2w9KfkCqJ9PbHxOYOET50pEsZvq6W78A+0//9E/8x3/8RyBdvPjiiznllFMYP378iK0xCiklf/3Xf82YMWO4/fbbR3o5Q4XRG3S//e1v853vfAdN0zj33HO5+eabR3pJI4Z6vhLTp08PgvD8+fNjfSXCQcmfFOAXykZqwob/maLOV/sTMMO0xECfeV+2ORLZ7UCIjs8xTZObbrqJdevW8YEPfICNGzeyZs0ali9fzic/+ckRW2cUv/nNbzj11FM57rjjggv517/+dc4555wRXtmgYnQG3aeffpqvfe1rPPbYYyQSCXbt2tXooIlgIF+JhQsXcvLJJzNp0qSqDNFvFTUMY0g76faG8NSCfZmysS/wh5ZGA/HeugejWteRzG6j43N0Xeell15ixYoV/NVf/RWXX375iN6VNACM1qB7wQUX8KlPfYozzjhjpJdy2CDqK7Fq1So2bdqEYRh0dHRw/PHHc+utt5JMJoetSBe3xmKxOGyZ9t5oCT/DTSQSh0R2Gx6fY9s2t99+O7/+9a+5++67mT17eLvdHn/8ca688kocx+HSSy/l2muvHdb9H8IYnUH3hBNO4Pzzz+fxxx8nmUxyyy230N7ePtLLOuzwla98hW9/+9t8+MMfJp1O89xzz1EoFDj22GODIp3vK+EXcYaiy8rPQP3GguHutIuuxS/a+V1lcGC0xGCtJ5rdrlu3jquuuorzzjuPFStWDHv27TgOxxxzDL/4xS+YNm0a7e3t/PCHPxxtTQ4HisPXZeyMM85gx44dNY9/7Wtfw7Zturq6WLVqFb/73e+44IIL2LBhwyElizkc8K53vYvLLrusqsJt2zZ//OMfWblyJd/61reqfCXa29tpb28nkUjgum6N+fuBTC2IFqdG0sM1HHB9xYb/uJ8N+9Ks4TA1io7PkVJy55138sgjj3DXXXcFcsLhxpo1azj66KOZNWsWABdddBGPPPJII+juBYd80H3yySfrPnfXXXexbNkyhBAsXrwYRVHYs2fPIVWpPRwQ1wmkaRoLFixgwYIFXHbZZTW+Evfcc0+Vr8SSJUs49thjURQldmpBvcwwakmZTqdH9KIZVklEp34IIYIADLW0xGBcfMKIKyJu2rSJz3zmM5xyyik89dRTI1rk3Lp1K9OnTw/+njZtGqtXrx6x9RwuOOSD7kD4wAc+wFNPPcV73vMeXnvtNUzTZNy4cUO2v1tuuYVrrrmG3bt3D+l+DkUIIWhtbeXMM8/kzDPPBKp9JR544IFYX4nx48fHZoZ+MCqVSiM61shHXHa7t0DpeyiH1x2mYPbn4hNFdHwOwH333ccPfvAD7rjjjkOCRoujJht3mXvHYR10L7nkEi655BLmz5+PYRjcd999Q/alb968mV/84hfMmDFjSLZ/OEJRFGbPns3s2bP5+Mc/XuMrce2117Jt2zYmTZrEokWLWLx4MQsWLEBKyRtvvMGUKVMAApMYP0sc7sq7n90KIchmswe1/+ikZl8t4QfivdEScdntjh07uPLKK5k7dy5PPfUUyWR9T+DhxLRp09i8eXPw95YtW4LvtIH6OKwLacOJ5cuXc8MNN3D++eezdu3at12me6CI+ko8/fTTbN68mdmzZ3PppZeycOFCjjjiiKrb9IFaXQd7bQejAT6Y/capJRRFCQJ0Z2cnRx55JA899BB33nknt9xyC6eccsohlUnats0xxxzDL3/5S6ZOnUp7ezv/+Z//ybx580Z6aYcCDt9C2qGAn/70p0ydOpUFCxaM9FIOOwghmD59OtOnT0dVVX74wx9y2223ccwxx7BmzRr+5V/+hTfeeIOWlpYgG160aFHQ4jvYPKmP6O37cGbXUVrCD/7lchlN09i+fTtnnXUWlmXR3NzMxz/+8YCmOJSgaRrf+c53WLp0KY7jcMkllzQC7j6gkelWMJBK4utf/zpPPPEELS0tHHnkkY1M9wCRz+cxTbPG5UpKWddXwp/QfMwxx1S5j8GBOXCNVHZbD9HxOYqi8Nhjj3HzzTezYsUKdF1nzZo1bNiwgf/+7/8esXU2sN8YnTrd4cDLL7/M6aefTjrtTRvweas1a9YwadKkEV7d6MW++Eq0tbXVdJVFGzjCATUsvRppL4m48Tm9vb184QtfAOCOO+6gra1txNbXwEGjEXQHC0OV6V5zzTX8z//8D4ZhcNRRR3HvvffS2to6qPs4nCGlJJfLsXbtWlatWsXq1avZsWMHM2bMqPGV8PlS3xg8/JjfWDDS2W10fM4zzzzDjTfeyHXXXccHP/jBEV1f41wcFDSC7mBhqILuE088wZ//+Z+jaVqQ7XzjG98Y1H2MNtTzlTjuuOMCWqKrq4tSqcS8efO8aRPDNKE5DnGGOYVCgRtuuIGOjg7uvPPOQ0Jj3jgXBwWNoHs44eGHH+bHP/4xDzzwwEgv5bBC2FfiV7/6Fffccw+7du1i6dKlzJs3j/b2dk466SQSicSQTWiuh7jxOatWreK6667jyiuv5CMf+cghpUzw0TgXDxiNoHs44X3vex8XXnghH/3oR0d6KYctPvGJT+C6LrfddhumaQaUxNq1a6t8JRYvXsysWbMGpUhXD9HxOeVyma997Wu89tpr3H333UydOnWwPvago3EuHjAaQfdQwEAKifPPPz/4/7Vr1/LQQw8dkpnP4YJSqVS3iSDsK7Fq1Spee+010uk0CxcuZPHixbS3t9Pc3LxfRbo4xA2q/P3vf89nP/tZLr74Yi699NIRK+Y1zsUhRyPoHg64jjqI7AAABOVJREFU7777uPvuu/nlL38ZqCUGCw0LvvqI+kqsXr26yldi8eLFzJ07NzB/t20boKaBIxxAw2PYk8kktm1zyy23sGrVKu6++26OOuqokfq4+4ShPBffJmgE3UMdjz/+OCtWrOBXv/rVoBdTGhZ8+w/XdVm/fn0QhF966SVUVeWEE06o8pWI66TzuWLDMEilUrz66qtcddVVLFu2jM985jMj6jGxLxjKc/FthEbQPdRx9NFHUy6XGTt2LAAnn3wyd99996Bse+XKldx44438/Oc/B+Cmm24C4LrrrhuU7b8dEPWVWL16NVu3bmXSpEmB1aXjOOzcuZOzzjqL7u5uFi1axOzZs9mzZw/XXHMNy5cvPyy8CYbyXHwbodEGfKhj/fr1Q7bthgXfwcN3QjvttNM47bTTgH5fiWeeeYYvfOELvPHGG5x22mmsXLmSI444gsWLF/OOd7yD8ePH88QTT3DTTTexYcMGUqnUCH+agTGU52IDjaD7tkDDgm9o4PtKrF+/nuOOO46nnnqKTCbDiy++yP3338/VV1/N+973vuD14QkUDbx90Qi6bwM0LPiGFl/60peqeFqfbohiJALu29kD+lBFY2To2wDt7e28/vrrvPnmm5imyYMPPsj73//+Qd/P5s2bee9738vcuXOZN28ed9xxx6Dv41DEoVoYa3hAH5poBN23AcIWfHPnzuWCCy4YEgs+TdP45je/yauvvsqqVav413/9V1555ZVB308D+4arr76am2++uUFpHGJo0AtvE5xzzjmcc845Q7qPyZMnM3nyZACampqYO3cuW7dubUjTRgAND+hDF42g28CQYOPGjbzwwgssWbJkpJcyarEvHtANHHpo6HQbGHTk83ne/e53c/3117Ns2bKRXs7bDg0P6EMCjeaIBoYHlmVx3nnnsXTpUlasWDHSy2mAobMjbWBA1A26jUJaA4MGKSWf/OQnmTt37rAFXMdxOPHEEznvvPOGZX8NNHCwaATdBgYNzz77LPfffz9PPfUUJ5xwAieccAL/+7//O6T7vOOOO5g7d+6Q7uNwx8aNGxtZ7iGERiGtgUHDKaecEtv9NlTYsmULjz32GNdffz233nrrsO23gQYOBo1Mt4HDFldddRU333zziA6YHGp8+9vfZs6cOcybN4/Pf/7zI72cBgYBjUy3gcMSjz76KBMmTGDhwoU888wzI72cIcHTTz/NI488wksvvUQikWDXrl0jvaQGBgGjN0VoYFTj2Wef5ac//SlHHnkkF110EU899dSoGylz1113ce2115JIJACYMGHCCK+ogcHA3iRjDTRwyEMI8R7gc1LKIZMwCCFagX8D5uNJKS+RUq4cqv1V9vl74BHgLKCE9xl/N5T7bGDo0aAXGmhg33AH8LiUcrkQwgAGZYaNEOJJIK5j4Xq832cbcDLQDvyXEGKWbGRKhzUamW4DDewFQohm4EVgWAOeEOJx4J+llM9U/n4DOFlKuXu41tDA4KPB6TbQwN4xC9gN3CuEeEEI8W9CiMww7PcnwJ8DCCGOAQxgzzDst4EhRCPoNtDA3qEBJwF3SSlPBPqA4Rin/O/ALCHEH4AHgb9uUAuHPxr0QgMN7AVCiEnAKinlkZW/TwWulVKeO6ILa+CwRCPTbaCBvUBKuQPYLISYU3nodKDhzt7AAeH/B5R6D9aqEeMLAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.axes(projection='3d')\n", + "ax.plot_surface(X, Y, Z, rstride=1, cstride=1,\n", + " cmap='viridis', edgecolor='none')\n", + "ax.set_title('surface');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that though the grid of values for a surface plot needs to be two-dimensional, it need not be rectilinear. Here is an example of creating a partial polar grid, which when used with the surface3D plot can give us a slice into the function we’re visualizing:" + ] + }, + { + "cell_type": "code", + "execution_count": 163, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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5jSnmYq0hjMatv6FQVKyvvdkR2/OiLJYdDtSDKWXdssP50baiqLwhz/8gdtvv50vfOELXHbZZcdNdAsQjUY5++yz+eIXv8ill1461cMZb5wk3RMRX/7yl2lubuaaa65BkiS6u7vZtGkTGzZs4E9/+hP9/f22r8T69euZN28ewJgW6XIx3l0cxoLcBUSv1zsuRRyjHUtuvnQyZhqF/CUkSbILdCoqKkin03z1q1/l0KFDfPe736W2dvL8NYYDTdP44Ac/yPnnn8/NN9881cOZCJwk3ekIp6/Exo0bC/pKmKaJrusjNkSxSGUkC2UTheFE2hYpOfPDbmqJkZjAuCE3XzqVi5mW7tZagP2nf/on/uM//sOWLl599dWceeaZVFfn56CnCkIIPvGJT1BZWcn9998/1cOZKExf0n3wwQf59re/jaqqfOADH+Duu++e6iFNGQr5SjQ1NdkkvGzZMldfCScpWdKr0bQ7n4jvlOt8NdKy5kJqiVwiHs62Jju6LQZn+5xAIEA6neYb3/gGO3bs4JJLLmHfvn1s3ryZyy67jE996lNTNs5cvPzyy/zFX/wFy5cvt2/kd955J+9///uneGTjiulJui+++CJ33HEHTz31FD6fj6NHj56soMlBMV+J1atXc9ppp1FXV5cVIVqlol6vd0Ir6YaCs2vBeNlADqWWKFQ9mKt1ncro1s1g/M033+Tmm2/mYx/7GJ/+9KendFZyEsB0Jd3LL7+c6667jvPOO2+qh3LCINdXYuPGjbS1teH1eunu7uaUU07h3nvvxe/3T9oindsYrY6zkxFpD5WWsCJcn893XES31o0oEAig6zr3338/v//973n44YcnvSHk008/zY033ohhGFx77bXceuutk7r/4xjTk3Stls9PP/00fr+fe+65h7Vr1071sE44fO1rX+PBBx/kox/9KMFgkFdeeYV4PM6iRYvsRTrLV8JaxLH8XMezysqKQK3CgqmutLMW7azGpjC6tMR4jSc3ut2xYwef/exn+eAHP8jNN9886dG3YRgsWLCAZ599lsbGRtauXctPf/rT6VbkMFqcuC5j5513HkeOHMl7/o477kDXdXp7e9m4cSN/+tOfuPzyy2ltbT2uZDEnAs444wyuv/76rBVuXdd5++232bBhA9/61reyfCXWrl3L2rVr8fl8mKaZZ/4+mq4FE21yPhI4CddS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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "r = np.linspace(0, 6, 20)\n", + "theta = np.linspace(-0.9 * np.pi, 0.8 * np.pi, 40)\n", + "r, theta = np.meshgrid(r, theta)\n", + "\n", + "X = r * np.sin(theta)\n", + "Y = r * np.cos(theta)\n", + "Z = f(X, Y)\n", + "\n", + "ax = plt.axes(projection='3d')\n", + "ax.plot_surface(X, Y, Z, rstride=1, cstride=1,\n", + " cmap='viridis', edgecolor='none');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Surface Triangulations\n", + "For some applications, the evenly sampled grids required by the preceding routines are overly restrictive and inconvenient. In these situations, the triangulation-based plots can be very useful. What if rather than an even draw from a Cartesian or a polar grid, we instead have a set of random draws?" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "metadata": {}, + "outputs": [], + "source": [ + "theta = 2 * np.pi * np.random.random(1000)\n", + "r = 6 * np.random.random(1000)\n", + "x = np.ravel(r * np.sin(theta))\n", + "y = np.ravel(r * np.cos(theta))\n", + "z = f(x, y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We could create a scatter plot of the points to get an idea of the surface we’re sampling from:" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.axes(projection='3d')\n", + "ax.scatter(x, y, z, c=z, cmap='viridis', linewidth=0.5);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This leaves a lot to be desired. The function that will help us in this case is ax.plot_trisurf, which creates a surface by first finding a set of triangles formed between adjacent points (remember that x, y, and z here are one-dimensional arrays):" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ax = plt.axes(projection='3d')\n", + "ax.plot_trisurf(x, y, z, cmap='viridis', edgecolor='none');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The result is certainly not as clean as when it is plotted with a grid, but the flexibility of such a triangulation allows for some really interesting three-dimensional plots. For example, it is actually possible to plot a three-dimensional Möbius strip using this.\n", + "#### Example: Visualizing a Möbius strip\n", + "A Möbius strip is similar to a strip of paper glued into a loop with a half-twist. Topologically, it’s quite interesting because despite appearances it has only a single side! Here we will visualize such an object using Matplotlib’s three-dimensional tools. The key to creating the Möbius strip is to think about its parameterization: it’s a two-dimensional strip, so we need two intrinsic dimensions. Let’s call them θ, which ranges from 0 to 2πaround the loop, and wwhich ranges from –1 to 1 across the width of the strip:" + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "metadata": {}, + "outputs": [], + "source": [ + "theta = np.linspace(0, 2 * np.pi, 30)\n", + "w = np.linspace(-0.25, 0.25, 8)\n", + "w, theta = np.meshgrid(w, theta)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "ow from this parameterization, we must determine the (x, y, z) positions of the embedded strip. Thinking about it, we might realize that there are two rotations happening: one is the position of the loop about its center (what we’ve called θ), while the other is the twisting of the strip about its axis (we’ll call this ϕ). For a Möbius strip, we must have the strip make half a twist during a full loop, or Δϕ = Δθ/2." + ] + }, + { + "cell_type": "code", + "execution_count": 168, + "metadata": {}, + "outputs": [], + "source": [ + "phi = 0.5 * theta" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we use our recollection of trigonometry to derive the three-dimensional embedding. We’ll define r, the distance of each point from the center, and use this to find theembedded (x, y, z) coordinates:" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "metadata": {}, + "outputs": [], + "source": [ + "# radius in x-y plane\n", + "r = 1 + w * np.cos(phi)\n", + "\n", + "x = np.ravel(r * np.cos(theta))\n", + "y = np.ravel(r * np.sin(theta))\n", + "z = np.ravel(w * np.sin(phi))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Finally, to plot the object, we must make sure the triangulation is correct. The best way to do this is to define the triangulation within the _underlying parameterization_, and then let Matplotlib project this triangulation into the three-dimensional space of the Möbius strip." + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/OpXv2LJkiWpbdI7O2zZsoWHHnqI+vr6iRrycMgvpE0UsiyzcOFCfv/731NdXc3mzZupqKhg79691NfXc88999DU1ERVVVUqb3jZsmVIktRvzHKiF9qm4sLfYGEJJzQCpISSTNOccjMPh/QqOa/XiyzLbN++nQceeIBvf/vbfOITn5jw/VJVlUceeYTLLrsMy7K48cYbWbJkCffddx+1tbWsWbOGhx9+mKeffhpVVSkpKWHTpk0TOuaxIO/pjhOOB5sNIQSNjY3U19dTX1/Pa6+9RjweZ+nSpamUtZqamj4pa5kFHLm+icZKX2AykW6cnFBCf2lr43msR0N6+xyXy0UwGOSee+4hkUjw8MMPU1JSMtFDPB3IhxemGvF4nH379qUM8aFDhygqKmLFihWcf/75rFixArfb3aeSLlcVXpOxAms0ZJt6ZzOkuSi3zRXpCmfOOfrzn//Mvffey9e//nWuueaaCR/jaUTe6E51hBC0tbWxa9cudu7cyV//+lcCgUBKV+L8889nwYIFAL0qj0a7SDcZF8pGS7p363Q/GA7paWv9VXmNd8glU783Eomwfv16jh07xn/+539SWVk5bmPJA+SN7vRkqLoSTnxyuB6a4wlOhYWyoZCrEt7MTsLjKceY2T5HVVV2797NXXfdxS233MJnP/vZKX/epijTw+g++eSTrF+/nnfffZfdu3dTW1ubdbvB6rmnK/3pSsyaNStlhJcuXZpVVyI9NOHkqE6XVXwY//BIZrltLuQY09vnuN1u4vE4DzzwAG+99RYbN25k9uzZY7xXeYbB9DC67777LrIsc9NNN7Fhw4asRnco9dynEwPpSqxYsYILLriAqqqqXuW2TqmorusTrncwWpHnvOAAAAwbSURBVCZTeKS/tLXhajxnK9zYt28fd9xxB//8z//MzTffnPduJ57pkTJ21llnDbrN6VrP3R+D6UqsX7+eI0eOoOs6bW1tLFu2jB/84Afout6nkm6qyTBOthLeoTQJNU1zwIKZzPY5pmnyve99jz/96U888cQTLFy4MKf7MNgsMhaLcf3117N3715KS0v5zW9+kxc9z2BKGd2hMNR67tOVbLoS3/72t/nxj3/Mpz/9aTweD5/73OcIh8OceeaZqUU6R1diKIZhoplKnSmy9U1LN8SJRCIVH4akkW5vb2fWrFns37+f2267jSuuuILnn38+5yETy7K45ZZbes0i16xZ08uh+dnPfkZxcTEHDx5k8+bN3HXXXfzmN7/J6bimGpPO6F5yySWcOHGiz+v3338///iP/zjo3w+lnjtPby666CK+9KUv9VrhHkhXoq6ujrq6OlwuF7ZtT5j6VzbSPcHJ4N0Ol2wiP05mgvOgW7duHfX19WiaxtVXX83cuXMJBoMUFRXldGxDmUVu3bqV9evXA3DNNddw6623prpx50ky6YzuCy+8MKq/r6mp4ejRo6nfGxsbqa6uHu2wpjWXXnppn9dUVeXcc8/l3HPP5Utf+lIfXYmf/exnvXQlzj//fM4880xkWc5aSZdeapsLpptADWSXlDxy5AgAt99+OxdddBGvvfYav/jFL1i0aFHOje5QZpHp26iqSmFhIW1tbZSVleV0bFOJSWd0R0tdXR0HDhzg8OHDzJw5k82bN/OrX/1qooc15ZEkiaKiIj72sY/xsY99DDilK7Fz505++ctf8uabb6IoCueee27KEJeXl6fKbHNV3ZWeozrV5TEd0tvn+Hw+AJ544gn++7//mx/96EfU1dUB8IlPfGLcxjSUWWR+pjk4U8robtmyhS9/+cu0tLRw+eWXs3z5crZv386xY8dYu3Yt27Zt67eeO8/Y4+hKLFy4kOuvvx4hBOFwOKUrcffdd3Ps2DGqqqqora1l5cqVnHvuuakWMbFYDNu2R9yhOb0CK5dykuNJNu/2xIkTrFu3jrPOOouXXnoJwzAmZGxDmUU629TU1GCaJl1dXfmy4wymVMpYnqnHYLoSK1euZM6cOb1S1obSwn26aUBA71xij8eDJEk89dRTPProo2zYsIEPf/jDE7qfQ1EF+8lPfsKbb77Jxo0b2bx5M7///e/57W9/O2FjnkCmR57uZKW9vZ1rr72WhoYGzjjjDH77299SXFzcZztFUTjnnHMAmD17Nk8//fR4D3VSEI/HeeONN9i1a1dKV6KwsDBlhGtra7PqSjhecCKRyLlY+niSrVKura2NO+64g4qKCh566CH8fv9EDxOAbdu2cdttt6Vmkd/85jd7qYJFo1E+97nP8frrr1NSUsLmzZtTC2+nGXmjm0u+/vWvU1JSwt13382DDz5IR0cHDz30UJ/tfD4f3d3dEzDCyc1AuhKO5vD8+fPZu3cvixcvTonTTPbOwUMhvX2OU2r9zDPP8L3vfY/777+fSy+9dEruV5680c0pixcvZseOHcyYMYPjx49z8cUX89577/XZLm90h066rsT27dt58cUXKS8v54orrkiVNBcXF/eRYBzrDs25Ilv7nEAgwF133QXAj370o6yzpTxThrzRzSVFRUV0dnamfi8uLqajo6PPdqqqsnz5clRV5e677071WsvTP62trSxZsoS7776bG264IVVJt2vXLk6cOMHs2bP76Eo48eGRlNiOB9na5+zYsYP169dzzz33cPXVV0/ah0WeIZM3uqNloKKNz3/+80MyuseOHaO6upr333+f1atX8+KLLzJ//vycjns60NnZmTUHtT9diXPOOScVlqiuru53kW68dSWyafiGw2Huvfde2traePTRRykvLx+XseTJOXmjm0uGGl5I54YbbuCKK67gmmuuGadRTn8ydSXq6+s5cuQIZWVlqSq68847D5fLlXWRLj13eKzJ1PCVZTnVrmndunV85jOfyXu304u80c0ld955J6WlpamFtPb2dr773e/22qajowOPx4PL5aK1tZULL7zwtBbiGS+EEJw4cSIVktizZ08vXYmVK1cyb968XgpgwJgu0mW2z4nFYtx///3s37+fjRs3MnPmzLHa3TyTh7zRzSVtbW186lOf4oMPPmD27Nk8+eSTlJSUsGfPHjZu3Mjjjz/Oq6++yk033ZSKOd5222188YtfnOihn5ak60rU19ezf/9+PB4PK1asYOXKldTV1VFQUDDqRbrM9jmqqvK3v/2Nr371q3zhC19g7dq1kyLGnCcn5I3u6URefm94ZOpK7Nq1q5euxMqVKznrrLNS4u+maQL0KeBIN6CZ7XNM02TDhg3U19ezcePGcY3l5/PIJ4S80T1dGIqI+6OPPsq+fftSVUNbtmzJy+9lYNs2Bw8eTBnhffv2oSgKy5cv76UrkW2RzokV67qO2+3m3Xff5bbbbuOf/umf+MpXvjLuTT3zeeQTQt7oni7s3LmT9evXs337dgAeeOABAO65557UNpdddhnr16/nwgsvxDRNqqqqaGlpyS/kDECmrsSuXbtoamqiqqoqtUhnWRbNzc18/OMfp7Ozk9raWhYuXEhrayt33nkn11xzzYQo3uXzyCeE6dE5Is/g5OX3coMkSXi9XlatWsWqVauAU7oSO3bs4K677uLQoUOsWrWKnTt3MmfOHFauXMnZZ59NeXk5zz//PA888ADvv/8+brd7XMfe3NzMjBkzAJgxYwYnT57Mul00GqW2tjafR55j8kZ3mpGX3xs/JEli1qxZHDx4kHPOOYeXXnoJr9fLG2+8wS9+8Qtuv/12rrzyytT2uRTzHiiPfKh88MEHvfLIzznnnHweeQ7IG91pRl5+b/y57777esVpnXBDJrl8sA0k/l9ZWcnx48dT4YWKioqs2znXybx587j44ot5/fXX80Y3B+TzVaYZ6SLu8XiczZs3s2bNml7brFmzhieeeAKAp556itWrV+c93VEw3gtjwyX9fD/xxBNZ2151dHQQi8WAZOn1K6+8ks8hzxVCiIF+8kxBnnnmGbFw4UIxb9488e///u9CCCHuvfdesXXrViGEEJFIRFxzzTVi/vz5oq6uThw6dGgih5snx7S2torVq1eLBQsWiNWrV4u2tjYhhBB//etfxRe/+EUhhBCvvPKKWLp0qVi2bJlYunSpePzxxydyyNOBfu1qPnshT548ecaefqeO+fBCnnHnueeeY/HixSxYsIAHH3ywz/ubNm2ivLyc5cuXs3z5ch5//PEJGGWePLkhv5CWZ1yxLItbbrmlV/HGmjVr+sQPr732Wh555JEJGmWePLkj7+nmGVd2797NggULmDdvHrquc91117F169aJHlaePONG3ujmGVeyFW80NTX12e53v/sdy5Yt45prrumVApcnz1Qnb3TzjCvZFm4z09WuvPJKGhoa2LdvH5dccgmf//znx2t4efLknLzRzTOuDKV4o7S0FJfLBcC//Mu/sHfv3nEdY548uSRvdPOMK0Mp3jh+/Hjq/08//TRnnXXWeA9zQnjyySdZsmQJsiyzZ8+efrcbLPsjz+Qmn72QZ1xRVZVHHnmEyy67DMuyuPHGG1myZAn33XcftbW1rFmzhocffpinn34aVVUpKSlh06ZNEz3scWHp0qX8/ve/56abbup3m6Fmf+SZvOSLI/LkmWRcfPHFbNiwgdra2j7vDUW6M8+kYMR6unnynHZIkvRfwBXASSHE0izvS8CPgE8CYeAGIcRrY/j9O4CvCSH6xBgkSboG+LgQYm3P758DzhdC3DpW358nt+Rjunny9GUT8PEB3v8EsLDn51+B/xzqB0uS9IIkSW9l+emrQtPPR2R5Le85TSHyMd08eTIQQvxJkqQzBtjkH4H/J5LTxHpJkookSZohhDg+wN84n33JKIfXCMxK+70GODbKz8wzjuQ93Tx5hs9MIL1io7HntfHgr8BCSZLmSpKkA9cB+Q6SU4i80c2TZ/jkZIovSdLVkiQ1AhcCz0iStL3n9WpJkrYBCCFM4FZgO/Au8FshxNuj/e4840c+vJAnz/DJyRRfCLEF2JLl9WMkF+2c37cB20b7fXkmhrynmyfP8HkauF5KcgHQNZR4bp48AP8/oCyjQ23TNuIAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# triangulate in the underlying parameterization\n", + "from matplotlib.tri import Triangulation\n", + "tri = Triangulation(np.ravel(w), np.ravel(theta))\n", + "\n", + "ax = plt.axes(projection='3d')\n", + "ax.plot_trisurf(x, y, z, triangles=tri.triangles,\n", + " cmap='viridis', linewidths=0.2);\n", + "ax.set_xlim(-1, 1); ax.set_ylim(-1, 1); ax.set_zlim(-1, 1);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 46fe4937f05662e4618cffed9e67ab8eb4abcc47 Mon Sep 17 00:00:00 2001 From: Michael M Date: Fri, 22 Feb 2019 16:19:38 +0300 Subject: [PATCH 12/14] Update log.md Week 5 Progress Update --- log.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/log.md b/log.md index 4f66314..4b908bf 100644 --- a/log.md +++ b/log.md @@ -39,6 +39,17 @@ **Link to work**: https://github.com/mickeywise/Python4ds_cohort-1/blob/M_Machira/Data%20Challenge%20KIVA%20Crowdfunding.ipynb ** 19/02/2019 + +## Week 5: Visualization with Matplotlib + +**Week 5 Progress**: Finished going through Chapter 4 – Visualization with Matplotlib + +**Thoughts**: Lots of visualization example. Most were abit advanced **. + +**Link to work**:https://github.com/mickeywise/Python4ds_cohort-1/blob/M_Machira/MATPLOTLIB.ipynb ** + +22/02/2019 + ## Contents * [Rules](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/rules.md) * [Log - click here to see my progress](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/log.md) From ff38f494d18018e202534f3398ea24310ca905bc Mon Sep 17 00:00:00 2001 From: Michael M Date: Mon, 4 Mar 2019 11:58:38 +0300 Subject: [PATCH 13/14] Update log.md Week 6 Progress: I did some research from other sources to suppliment the knowledge and skills gained the the Python for Data Science Handbook. --- log.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/log.md b/log.md index 4b908bf..1f11f46 100644 --- a/log.md +++ b/log.md @@ -50,6 +50,16 @@ 22/02/2019 +## Week 6: Visualization with Matplotlib + +**Week 6 Progress**: Finished going through Chapter 4 – Visualization with Matplotlib + +**Thoughts**: I had been doing some research on the same topic. Going through various tutorials and blogs **. + +**Link to work**: ** + +03/03/2019 + ## Contents * [Rules](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/rules.md) * [Log - click here to see my progress](https://github.com/Python-4-DS/Python4ds_cohort-1/blob/master/log.md) From 0e5188cb805e6f478c70da6edc8d2fdb9f285363 Mon Sep 17 00:00:00 2001 From: Michael M Date: Mon, 4 Mar 2019 18:56:05 +0300 Subject: [PATCH 14/14] Kiva data set visualization exercise Kiva data set visualization exercise try outs --- Visualization- Kiva data set.ipynb | 5726 ++++++++++++++++++++++++++++ 1 file changed, 5726 insertions(+) create mode 100644 Visualization- Kiva data set.ipynb diff --git a/Visualization- Kiva data set.ipynb b/Visualization- Kiva data set.ipynb new file mode 100644 index 0000000..699d775 --- /dev/null +++ b/Visualization- Kiva data set.ipynb @@ -0,0 +1,5726 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "loan = pd.read_csv('/home/server/Documents/Kiva Crowdfund/kiva_loans.csv')\n", + "mpi_region_location = pd.read_csv('/home/server/Documents/Kiva Crowdfund/kiva_mpi_region_locations.csv')\n", + "theme_id = pd.read_csv('/home/server/Documents/Kiva Crowdfund/loan_theme_ids.csv')\n", + "theme_region = pd.read_csv('/home/server/Documents/Kiva Crowdfund/loan_themes_by_region.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idfunded_amountloan_amountactivitysectorusecountry_codecountryregioncurrencypartner_idposted_timedisbursed_timefunded_timeterm_in_monthslender_counttagsborrower_gendersrepayment_intervaldate
0653051300.0300.0Fruits & VegetablesFoodTo buy seasonal, fresh fruits to sell.PKPakistanLahorePKR247.02014-01-01 06:12:39+00:002013-12-17 08:00:00+00:002014-01-02 10:06:32+00:0012.012NaNfemaleirregular2014-01-01
1653053575.0575.0RickshawTransportationto repair and maintain the auto rickshaw used ...PKPakistanLahorePKR247.02014-01-01 06:51:08+00:002013-12-17 08:00:00+00:002014-01-02 09:17:23+00:0011.014NaNfemale, femaleirregular2014-01-01
2653068150.0150.0TransportationTransportationTo repair their old cycle-van and buy another ...INIndiaMaynaguriINR334.02014-01-01 09:58:07+00:002013-12-17 08:00:00+00:002014-01-01 16:01:36+00:0043.06user_favorite, user_favoritefemalebullet2014-01-01
3653063200.0200.0EmbroideryArtsto purchase an embroidery machine and a variet...PKPakistanLahorePKR247.02014-01-01 08:03:11+00:002013-12-24 08:00:00+00:002014-01-01 13:00:00+00:0011.08NaNfemaleirregular2014-01-01
4653084400.0400.0Milk SalesFoodto purchase one buffalo.PKPakistanAbdul HakeemPKR245.02014-01-01 11:53:19+00:002013-12-17 08:00:00+00:002014-01-01 19:18:51+00:0014.016NaNfemalemonthly2014-01-01
\n", + "
" + ], + "text/plain": [ + " id funded_amount loan_amount activity sector \\\n", + "0 653051 300.0 300.0 Fruits & Vegetables Food \n", + "1 653053 575.0 575.0 Rickshaw Transportation \n", + "2 653068 150.0 150.0 Transportation Transportation \n", + "3 653063 200.0 200.0 Embroidery Arts \n", + "4 653084 400.0 400.0 Milk Sales Food \n", + "\n", + " use country_code country \\\n", + "0 To buy seasonal, fresh fruits to sell. PK Pakistan \n", + "1 to repair and maintain the auto rickshaw used ... PK Pakistan \n", + "2 To repair their old cycle-van and buy another ... IN India \n", + "3 to purchase an embroidery machine and a variet... PK Pakistan \n", + "4 to purchase one buffalo. PK Pakistan \n", + "\n", + " region currency partner_id posted_time \\\n", + "0 Lahore PKR 247.0 2014-01-01 06:12:39+00:00 \n", + "1 Lahore PKR 247.0 2014-01-01 06:51:08+00:00 \n", + "2 Maynaguri INR 334.0 2014-01-01 09:58:07+00:00 \n", + "3 Lahore PKR 247.0 2014-01-01 08:03:11+00:00 \n", + "4 Abdul Hakeem PKR 245.0 2014-01-01 11:53:19+00:00 \n", + "\n", + " disbursed_time funded_time term_in_months \\\n", + "0 2013-12-17 08:00:00+00:00 2014-01-02 10:06:32+00:00 12.0 \n", + "1 2013-12-17 08:00:00+00:00 2014-01-02 09:17:23+00:00 11.0 \n", + "2 2013-12-17 08:00:00+00:00 2014-01-01 16:01:36+00:00 43.0 \n", + "3 2013-12-24 08:00:00+00:00 2014-01-01 13:00:00+00:00 11.0 \n", + "4 2013-12-17 08:00:00+00:00 2014-01-01 19:18:51+00:00 14.0 \n", + "\n", + " lender_count tags borrower_genders \\\n", + "0 12 NaN female \n", + "1 14 NaN female, female \n", + "2 6 user_favorite, user_favorite female \n", + "3 8 NaN female \n", + "4 16 NaN female \n", + "\n", + " repayment_interval date \n", + "0 irregular 2014-01-01 \n", + "1 irregular 2014-01-01 \n", + "2 bullet 2014-01-01 \n", + "3 irregular 2014-01-01 \n", + "4 monthly 2014-01-01 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loan.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
LocationNameISOcountryregionworld_regionMPIgeolatlon
0Badakhshan, AfghanistanAFGAfghanistanBadakhshanSouth Asia0.387(36.7347725, 70.81199529999999)36.73477270.811995
1Badghis, AfghanistanAFGAfghanistanBadghisSouth Asia0.466(35.1671339, 63.7695384)35.16713463.769538
2Baghlan, AfghanistanAFGAfghanistanBaghlanSouth Asia0.300(35.8042947, 69.2877535)35.80429569.287754
3Balkh, AfghanistanAFGAfghanistanBalkhSouth Asia0.301(36.7550603, 66.8975372)36.75506066.897537
4Bamyan, AfghanistanAFGAfghanistanBamyanSouth Asia0.325(34.8100067, 67.8212104)34.81000767.821210
\n", + "
" + ], + "text/plain": [ + " LocationName ISO country region world_region MPI \\\n", + "0 Badakhshan, Afghanistan AFG Afghanistan Badakhshan South Asia 0.387 \n", + "1 Badghis, Afghanistan AFG Afghanistan Badghis South Asia 0.466 \n", + "2 Baghlan, Afghanistan AFG Afghanistan Baghlan South Asia 0.300 \n", + "3 Balkh, Afghanistan AFG Afghanistan Balkh South Asia 0.301 \n", + "4 Bamyan, Afghanistan AFG Afghanistan Bamyan South Asia 0.325 \n", + "\n", + " geo lat lon \n", + "0 (36.7347725, 70.81199529999999) 36.734772 70.811995 \n", + "1 (35.1671339, 63.7695384) 35.167134 63.769538 \n", + "2 (35.8042947, 69.2877535) 35.804295 69.287754 \n", + "3 (36.7550603, 66.8975372) 36.755060 66.897537 \n", + "4 (34.8100067, 67.8212104) 34.810007 67.821210 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mpi_region_location.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idLoan Theme IDLoan Theme TypePartner ID
0638631a1050000000skGlGeneral151.0
1640322a1050000000skGlGeneral151.0
2641006a1050000002X1ijHigher Education160.0
3641019a1050000002X1ijHigher Education160.0
4641594a1050000002VbsWSubsistence Agriculture336.0
\n", + "
" + ], + "text/plain": [ + " id Loan Theme ID Loan Theme Type Partner ID\n", + "0 638631 a1050000000skGl General 151.0\n", + "1 640322 a1050000000skGl General 151.0\n", + "2 641006 a1050000002X1ij Higher Education 160.0\n", + "3 641019 a1050000002X1ij Higher Education 160.0\n", + "4 641594 a1050000002VbsW Subsistence Agriculture 336.0" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "theme_id.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Partner IDField Partner NamesectorLoan Theme IDLoan Theme Typecountryforkivaregiongeocode_oldISO...amountLocationNamegeocodenamesgeolatlonmpi_regionmpi_georural_pct
09KREDIT Microfinance InstitutionGeneral Financial Inclusiona1050000000slfiHigher EducationCambodiaNoBanteay Meanchey(13.75, 103.0)KHM...450Banteay Meanchey, Cambodia[(13.6672596, 102.8975098)]Banteay Meanchey Province; Cambodia(13.6672596, 102.8975098)13.667260102.897510Banteay Mean Chey, Cambodia(13.6672596, 102.8975098)90.0
19KREDIT Microfinance InstitutionGeneral Financial Inclusiona10500000068jPeVulnerable PopulationsCambodiaNoBattambang ProvinceNaNKHM...20275Battambang Province, Cambodia[(13.0286971, 102.989615)]Battambang Province; Cambodia(13.0286971, 102.989615)13.028697102.989615Banteay Mean Chey, Cambodia(13.6672596, 102.8975098)90.0
29KREDIT Microfinance InstitutionGeneral Financial Inclusiona1050000000slfiHigher EducationCambodiaNoBattambang ProvinceNaNKHM...9150Battambang Province, Cambodia[(13.0286971, 102.989615)]Battambang Province; Cambodia(13.0286971, 102.989615)13.028697102.989615Banteay Mean Chey, Cambodia(13.6672596, 102.8975098)90.0
39KREDIT Microfinance InstitutionGeneral Financial Inclusiona10500000068jPeVulnerable PopulationsCambodiaNoKampong Cham Province(12.0, 105.5)KHM...604950Kampong Cham Province, Cambodia[(12.0982918, 105.3131185)]Kampong Cham Province; Cambodia(12.0982918, 105.3131185)12.098292105.313119Kampong Cham, Cambodia(11.9924294, 105.4645408)90.0
49KREDIT Microfinance InstitutionGeneral Financial Inclusiona1050000002X1UuSanitationCambodiaNoKampong Cham Province(12.0, 105.5)KHM...275Kampong Cham Province, Cambodia[(12.0982918, 105.3131185)]Kampong Cham Province; Cambodia(12.0982918, 105.3131185)12.098292105.313119Kampong Cham, Cambodia(11.9924294, 105.4645408)90.0
\n", + "

5 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Partner ID Field Partner Name sector \\\n", + "0 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "1 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "2 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "3 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "4 9 KREDIT Microfinance Institution General Financial Inclusion \n", + "\n", + " Loan Theme ID Loan Theme Type country forkiva \\\n", + "0 a1050000000slfi Higher Education Cambodia No \n", + "1 a10500000068jPe Vulnerable Populations Cambodia No \n", + "2 a1050000000slfi Higher Education Cambodia No \n", + "3 a10500000068jPe Vulnerable Populations Cambodia No \n", + "4 a1050000002X1Uu Sanitation Cambodia No \n", + "\n", + " region geocode_old ISO ... amount \\\n", + "0 Banteay Meanchey (13.75, 103.0) KHM ... 450 \n", + "1 Battambang Province NaN KHM ... 20275 \n", + "2 Battambang Province NaN KHM ... 9150 \n", + "3 Kampong Cham Province (12.0, 105.5) KHM ... 604950 \n", + "4 Kampong Cham Province (12.0, 105.5) KHM ... 275 \n", + "\n", + " LocationName geocode \\\n", + "0 Banteay Meanchey, Cambodia [(13.6672596, 102.8975098)] \n", + "1 Battambang Province, Cambodia [(13.0286971, 102.989615)] \n", + "2 Battambang Province, Cambodia [(13.0286971, 102.989615)] \n", + "3 Kampong Cham Province, Cambodia [(12.0982918, 105.3131185)] \n", + "4 Kampong Cham Province, Cambodia [(12.0982918, 105.3131185)] \n", + "\n", + " names geo lat \\\n", + "0 Banteay Meanchey Province; Cambodia (13.6672596, 102.8975098) 13.667260 \n", + "1 Battambang Province; Cambodia (13.0286971, 102.989615) 13.028697 \n", + "2 Battambang Province; Cambodia (13.0286971, 102.989615) 13.028697 \n", + "3 Kampong Cham Province; Cambodia (12.0982918, 105.3131185) 12.098292 \n", + "4 Kampong Cham Province; Cambodia (12.0982918, 105.3131185) 12.098292 \n", + "\n", + " lon mpi_region mpi_geo \\\n", + "0 102.897510 Banteay Mean Chey, Cambodia (13.6672596, 102.8975098) \n", + "1 102.989615 Banteay Mean Chey, Cambodia (13.6672596, 102.8975098) \n", + "2 102.989615 Banteay Mean Chey, Cambodia (13.6672596, 102.8975098) \n", + "3 105.313119 Kampong Cham, Cambodia (11.9924294, 105.4645408) \n", + "4 105.313119 Kampong Cham, Cambodia (11.9924294, 105.4645408) \n", + "\n", + " rural_pct \n", + "0 90.0 \n", + "1 90.0 \n", + "2 90.0 \n", + "3 90.0 \n", + "4 90.0 \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "theme_region.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 671205 entries, 0 to 671204\n", + "Data columns (total 20 columns):\n", + "id 671205 non-null int64\n", + "funded_amount 671205 non-null float64\n", + "loan_amount 671205 non-null float64\n", + "activity 671205 non-null object\n", + "sector 671205 non-null object\n", + "use 666973 non-null object\n", + "country_code 671197 non-null object\n", + "country 671205 non-null object\n", + "region 614405 non-null object\n", + "currency 671205 non-null object\n", + "partner_id 657698 non-null float64\n", + "posted_time 671205 non-null object\n", + "disbursed_time 668809 non-null object\n", + "funded_time 622874 non-null object\n", + "term_in_months 671205 non-null float64\n", + "lender_count 671205 non-null int64\n", + "tags 499789 non-null object\n", + "borrower_genders 666984 non-null object\n", + "repayment_interval 671205 non-null object\n", + "date 671205 non-null object\n", + "dtypes: float64(4), int64(2), object(14)\n", + "memory usage: 102.4+ MB\n", + "\n", + "RangeIndex: 2772 entries, 0 to 2771\n", + "Data columns (total 9 columns):\n", + "LocationName 984 non-null object\n", + "ISO 1008 non-null object\n", + "country 1008 non-null object\n", + "region 984 non-null object\n", + "world_region 1008 non-null object\n", + "MPI 984 non-null float64\n", + "geo 2772 non-null object\n", + "lat 892 non-null float64\n", + "lon 892 non-null float64\n", + "dtypes: float64(3), object(6)\n", + "memory usage: 195.0+ KB\n", + "\n", + "RangeIndex: 15736 entries, 0 to 15735\n", + "Data columns (total 21 columns):\n", + "Partner ID 15736 non-null int64\n", + "Field Partner Name 15736 non-null object\n", + "sector 15736 non-null object\n", + "Loan Theme ID 15736 non-null object\n", + "Loan Theme Type 15736 non-null object\n", + "country 15736 non-null object\n", + "forkiva 15736 non-null object\n", + "region 15736 non-null object\n", + "geocode_old 1200 non-null object\n", + "ISO 15722 non-null object\n", + "number 15736 non-null int64\n", + "amount 15736 non-null int64\n", + "LocationName 15736 non-null object\n", + "geocode 13662 non-null object\n", + "names 13661 non-null object\n", + "geo 15736 non-null object\n", + "lat 13662 non-null float64\n", + "lon 13662 non-null float64\n", + "mpi_region 15722 non-null object\n", + "mpi_geo 9671 non-null object\n", + "rural_pct 14344 non-null float64\n", + "dtypes: float64(3), int64(3), object(15)\n", + "memory usage: 2.5+ MB\n", + "\n", + "RangeIndex: 779092 entries, 0 to 779091\n", + "Data columns (total 4 columns):\n", + "id 779092 non-null int64\n", + "Loan Theme ID 764279 non-null object\n", + "Loan Theme Type 764279 non-null object\n", + "Partner ID 764279 non-null float64\n", + "dtypes: float64(1), int64(1), object(2)\n", + "memory usage: 23.8+ MB\n", + "None None None None\n" + ] + } + ], + "source": [ + "print(loan.info(), mpi_region_location.info(), theme_region.info(), theme_id.info())" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idfunded_amountloan_amountactivitysectorusecountry_codecountryregioncurrency...borrower_gendersrepayment_intervaldateLocationNameISOworld_regionMPIgeolatlon
0653359600.0600.0Machinery RentalServicesto invest in working capital and to maintain g...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
16533731000.01000.0Grocery StoreFoodto invest in working capital and to provide hi...NINicaraguaLeonNIO...malemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
2653364250.0250.0Fuel/FirewoodRetailto buy firewood to offer to her customersNINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
4653396800.0800.0Clothing SalesClothingto invest in working capital to stock their bu...NINicaraguaLeonNIO...female, female, femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
5653402800.0800.0Grocery StoreFoodto invest in working capital and to supply her...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
6653398400.0400.0Clothing SalesClothingTo invest in working capital and stock her clo...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
76534001925.01925.0Grocery StoreFoodto stock her store.NINicaraguaLeonNIO...female, female, female, female, female, female...irregular2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
8653395250.0250.0Clothing SalesClothingto invest in working capital and to stock her ...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
9653390800.0800.0Grocery StoreFoodto invest in working capital and stock up her ...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
10653377600.0600.0Cosmetics SalesRetailto invest in working capital and stock up on c...NINicaraguaLeonNIO...femalemonthly2014-01-02Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
116537713925.03925.0Grocery StoreFoodto invest in working capital and increase her ...NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-03Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
126537641975.01975.0Grocery StoreFoodto invest in stock for their grocery store.NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-03Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
14654344675.0675.0Clothing SalesClothingto buy stock for her clothes storeNINicaraguaLeonNIO...femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
156543051550.01550.0Clothing SalesClothingto invest in working capital and stock up her ...NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
166543411375.01375.0PigsAgricultureto invest in working capital and supply her bu...NINicaraguaLeonNIO...female, female, female, female, femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
176542772900.02900.0Grocery StoreFoodto stock her storeNINicaraguaLeonNIO...female, female, female, female, female, female...irregular2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
18654343875.0875.0Clothing SalesClothingto invest in working capital and stock her gen...NINicaraguaLeonNIO...femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
196543471175.01175.0Clothing SalesClothingto stock her storeNINicaraguaLeonNIO...femalemonthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
206543382300.02300.0General StoreRetailto invest in working capital and to stock up h...NINicaraguaLeonNIO...female, female, female, female, male, female, ...monthly2014-01-06Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
21654854600.0600.0RetailRetailto buy inventory.NINicaraguaLeonNIO...male, male, femalemonthly2014-01-07Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
226552672150.02150.0Grocery StoreFoodto stock her store.NINicaraguaLeonNIO...female, male, female, female, female, female, ...irregular2014-01-08Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
246553001175.01175.0Grocery StoreFoodto invest in working capital and stock her bus...NINicaraguaLeonNIO...femalemonthly2014-01-08Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
26655286400.0400.0Cosmetics SalesRetailto buy inventory.NINicaraguaLeonNIO...femalemonthly2014-01-08Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
27655814875.0875.0PrintingServicesto stock his business with items for screen pr...NINicaraguaLeonNIO...malemonthly2014-01-09Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
30656177475.0475.0Cosmetics SalesRetailto invest in working capital and to stock her ...NINicaraguaLeonNIO...femalemonthly2014-01-10Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
31656236600.0600.0Milk SalesFoodinvest in working capital and stock their busi...NINicaraguaLeonNIO...female, female, femalemonthly2014-01-10Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
336575991725.01725.0PigsAgricultureinvest in working capital and supply their bus...NINicaraguaLeonNIO...female, female, female, female, female, male, ...monthly2014-01-15Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
34657712600.0600.0Grocery StoreFoodTo stock her store.NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-15Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
356575563750.03750.0BakeryFoodinvest in working capital and stock their bake...NINicaraguaLeonNIO...female, female, female, female, female, female...monthly2014-01-15Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
36658818775.0775.0Grocery StoreFoodto stock her store.NINicaraguaLeonNIO...femalemonthly2014-01-17Leon, NicaraguaNICLatin America and Caribbean0.031(28.3998551, 83.6895693)28.39985583.689569
..................................................................
52137121248350.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521391213063100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521411212528100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521421213060100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52146121250950.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521481212522100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52149121252550.050.0FarmingAgricultureto pay for farm inputs such as herbicides, mai...MWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521501213047100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52151121306450.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52153121304850.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52155121304350.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52156121250750.050.0FarmingAgricultureto buy fertilizer, seeds and herbicides.MWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52157121248150.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52163121305675.075.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52168121302750.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521691212529100.0100.0FarmingAgricultureto buy farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-29Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
52175121347150.050.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-30Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521791213484100.0100.0FarmingAgricultureto pay for farm inputsMWMalawiNtcheuMWK...femalemonthly2016-12-30Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
5218312238801675.01675.0ServicesServicesstart up his mobile transaction business, assi...MWMalawiNtcheuMWK...malebullet2017-01-20Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
5218412925871325.01325.0Mobile TransactionsServicesincrease his float in order to satisfy custome...MWMalawiNtcheuMWK...malebullet2017-05-04Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521851297103425.0425.0Mobile TransactionsServicesto pay for a kiosk for his start-up business a...MWMalawiNtcheuMWK...malebullet2017-05-12Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521861296923850.0850.0Mobile TransactionsServicesto generate capital for her start-up business ...MWMalawiNtcheuMWK...femalebullet2017-05-12Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521871304580850.0850.0Mobile TransactionsServicesto attain a kiosk for her start-up business as...MWMalawiNtcheuMWK...femalebullet2017-05-23Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521881313379825.0825.0Mobile TransactionsServicesto attain a kisok for her start-up business as...MWMalawiNtcheuMWK...femalebullet2017-06-05Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
5218913156321300.01300.0CerealsFoodto buy more rice and beansMWMalawiNtcheuMWK...female, female, female, female, female, female...irregular2017-06-07Ntcheu, MalawiMWISub-Saharan Africa0.211(-14.9037538, 34.7740793)-14.90375434.774079
521911207215500.0500.0Farm SuppliesAgricultureto pay for high quality seeds and fertilisers ...MZMozambiqueManicaMZN...malebullet2016-12-20Manica, MozambiqueMOZSub-Saharan Africa0.301(-18.9438274, 32.8648538)-18.94382732.864854
5219212072202075.02075.0Farm SuppliesAgricultureto buy high-quality seeds to plant and to sell.MZMozambiqueManicaMZN...malebullet2016-12-20Manica, MozambiqueMOZSub-Saharan Africa0.301(-18.9438274, 32.8648538)-18.94382732.864854
5219312076901925.01925.0Farm SuppliesAgricultureto purchase seeds, pesticides and fertilizers ...MZMozambiqueManicaMZN...malebullet2016-12-21Manica, MozambiqueMOZSub-Saharan Africa0.301(-18.9438274, 32.8648538)-18.94382732.864854
5219513004285050.05050.0Higher education costsEducationto continue and finish her education in indust...PEPeruTacnaUSD...femalebullet2017-05-17Tacna, PeruPERLatin America and Caribbean0.008(-18.0065679, -70.2462741)-18.006568-70.246274
52196132394510000.010000.0WeavingArtsto develop a new product which will help creat...BTBhutanThimphuUSD...femaleirregular2017-06-20Thimphu, BhutanBTNSouth Asia0.016(27.4727924, 89.6392863)27.47279289.639286
\n", + "

34856 rows × 27 columns

\n", + "
" + ], + "text/plain": [ + " id funded_amount loan_amount activity \\\n", + "0 653359 600.0 600.0 Machinery Rental \n", + "1 653373 1000.0 1000.0 Grocery Store \n", + "2 653364 250.0 250.0 Fuel/Firewood \n", + "4 653396 800.0 800.0 Clothing Sales \n", + "5 653402 800.0 800.0 Grocery Store \n", + "6 653398 400.0 400.0 Clothing Sales \n", + "7 653400 1925.0 1925.0 Grocery Store \n", + "8 653395 250.0 250.0 Clothing Sales \n", + "9 653390 800.0 800.0 Grocery Store \n", + "10 653377 600.0 600.0 Cosmetics Sales \n", + "11 653771 3925.0 3925.0 Grocery Store \n", + "12 653764 1975.0 1975.0 Grocery Store \n", + "14 654344 675.0 675.0 Clothing Sales \n", + "15 654305 1550.0 1550.0 Clothing Sales \n", + "16 654341 1375.0 1375.0 Pigs \n", + "17 654277 2900.0 2900.0 Grocery Store \n", + "18 654343 875.0 875.0 Clothing Sales \n", + "19 654347 1175.0 1175.0 Clothing Sales \n", + "20 654338 2300.0 2300.0 General Store \n", + "21 654854 600.0 600.0 Retail \n", + "22 655267 2150.0 2150.0 Grocery Store \n", + "24 655300 1175.0 1175.0 Grocery Store \n", + "26 655286 400.0 400.0 Cosmetics Sales \n", + "27 655814 875.0 875.0 Printing \n", + "30 656177 475.0 475.0 Cosmetics Sales \n", + "31 656236 600.0 600.0 Milk Sales \n", + "33 657599 1725.0 1725.0 Pigs \n", + "34 657712 600.0 600.0 Grocery Store \n", + "35 657556 3750.0 3750.0 Bakery \n", + "36 658818 775.0 775.0 Grocery Store \n", + "... ... ... ... ... \n", + "52137 1212483 50.0 50.0 Farming \n", + "52139 1213063 100.0 100.0 Farming \n", + "52141 1212528 100.0 100.0 Farming \n", + "52142 1213060 100.0 100.0 Farming \n", + "52146 1212509 50.0 50.0 Farming \n", + "52148 1212522 100.0 100.0 Farming \n", + "52149 1212525 50.0 50.0 Farming \n", + "52150 1213047 100.0 100.0 Farming \n", + "52151 1213064 50.0 50.0 Farming \n", + "52153 1213048 50.0 50.0 Farming \n", + "52155 1213043 50.0 50.0 Farming \n", + "52156 1212507 50.0 50.0 Farming \n", + "52157 1212481 50.0 50.0 Farming \n", + "52163 1213056 75.0 75.0 Farming \n", + "52168 1213027 50.0 50.0 Farming \n", + "52169 1212529 100.0 100.0 Farming \n", + "52175 1213471 50.0 50.0 Farming \n", + "52179 1213484 100.0 100.0 Farming \n", + "52183 1223880 1675.0 1675.0 Services \n", + "52184 1292587 1325.0 1325.0 Mobile Transactions \n", + "52185 1297103 425.0 425.0 Mobile Transactions \n", + "52186 1296923 850.0 850.0 Mobile Transactions \n", + "52187 1304580 850.0 850.0 Mobile Transactions \n", + "52188 1313379 825.0 825.0 Mobile Transactions \n", + "52189 1315632 1300.0 1300.0 Cereals \n", + "52191 1207215 500.0 500.0 Farm Supplies \n", + "52192 1207220 2075.0 2075.0 Farm Supplies \n", + "52193 1207690 1925.0 1925.0 Farm Supplies \n", + "52195 1300428 5050.0 5050.0 Higher education costs \n", + "52196 1323945 10000.0 10000.0 Weaving \n", + "\n", + " sector use \\\n", + "0 Services to invest in working capital and to maintain g... \n", + "1 Food to invest in working capital and to provide hi... \n", + "2 Retail to buy firewood to offer to her customers \n", + "4 Clothing to invest in working capital to stock their bu... \n", + "5 Food to invest in working capital and to supply her... \n", + "6 Clothing To invest in working capital and stock her clo... \n", + "7 Food to stock her store. \n", + "8 Clothing to invest in working capital and to stock her ... \n", + "9 Food to invest in working capital and stock up her ... \n", + "10 Retail to invest in working capital and stock up on c... \n", + "11 Food to invest in working capital and increase her ... \n", + "12 Food to invest in stock for their grocery store. \n", + "14 Clothing to buy stock for her clothes store \n", + "15 Clothing to invest in working capital and stock up her ... \n", + "16 Agriculture to invest in working capital and supply her bu... \n", + "17 Food to stock her store \n", + "18 Clothing to invest in working capital and stock her gen... \n", + "19 Clothing to stock her store \n", + "20 Retail to invest in working capital and to stock up h... \n", + "21 Retail to buy inventory. \n", + "22 Food to stock her store. \n", + "24 Food to invest in working capital and stock her bus... \n", + "26 Retail to buy inventory. \n", + "27 Services to stock his business with items for screen pr... \n", + "30 Retail to invest in working capital and to stock her ... \n", + "31 Food invest in working capital and stock their busi... \n", + "33 Agriculture invest in working capital and supply their bus... \n", + "34 Food To stock her store. \n", + "35 Food invest in working capital and stock their bake... \n", + "36 Food to stock her store. \n", + "... ... ... \n", + "52137 Agriculture to pay for farm inputs \n", + "52139 Agriculture to pay for farm inputs \n", + "52141 Agriculture to pay for farm inputs \n", + "52142 Agriculture to pay for farm inputs \n", + "52146 Agriculture to pay for farm inputs \n", + "52148 Agriculture to pay for farm inputs \n", + "52149 Agriculture to pay for farm inputs such as herbicides, mai... \n", + "52150 Agriculture to pay for farm inputs \n", + "52151 Agriculture to pay for farm inputs \n", + "52153 Agriculture to pay for farm inputs \n", + "52155 Agriculture to pay for farm inputs \n", + "52156 Agriculture to buy fertilizer, seeds and herbicides. \n", + "52157 Agriculture to pay for farm inputs \n", + "52163 Agriculture to pay for farm inputs \n", + "52168 Agriculture to pay for farm inputs \n", + "52169 Agriculture to buy farm inputs \n", + "52175 Agriculture to pay for farm inputs \n", + "52179 Agriculture to pay for farm inputs \n", + "52183 Services start up his mobile transaction business, assi... \n", + "52184 Services increase his float in order to satisfy custome... \n", + "52185 Services to pay for a kiosk for his start-up business a... \n", + "52186 Services to generate capital for her start-up business ... \n", + "52187 Services to attain a kiosk for her start-up business as... \n", + "52188 Services to attain a kisok for her start-up business as... \n", + "52189 Food to buy more rice and beans \n", + "52191 Agriculture to pay for high quality seeds and fertilisers ... \n", + "52192 Agriculture to buy high-quality seeds to plant and to sell. \n", + "52193 Agriculture to purchase seeds, pesticides and fertilizers ... \n", + "52195 Education to continue and finish her education in indust... \n", + "52196 Arts to develop a new product which will help creat... \n", + "\n", + " country_code country region currency ... \\\n", + "0 NI Nicaragua Leon NIO ... \n", + "1 NI Nicaragua Leon NIO ... \n", + "2 NI Nicaragua Leon NIO ... \n", + "4 NI Nicaragua Leon NIO ... \n", + "5 NI Nicaragua Leon NIO ... \n", + "6 NI Nicaragua Leon NIO ... \n", + "7 NI Nicaragua Leon NIO ... \n", + "8 NI Nicaragua Leon NIO ... \n", + "9 NI Nicaragua Leon NIO ... \n", + "10 NI Nicaragua Leon NIO ... \n", + "11 NI Nicaragua Leon NIO ... \n", + "12 NI Nicaragua Leon NIO ... \n", + "14 NI Nicaragua Leon NIO ... \n", + "15 NI Nicaragua Leon NIO ... \n", + "16 NI Nicaragua Leon NIO ... \n", + "17 NI Nicaragua Leon NIO ... \n", + "18 NI Nicaragua Leon NIO ... \n", + "19 NI Nicaragua Leon NIO ... \n", + "20 NI Nicaragua Leon NIO ... \n", + "21 NI Nicaragua Leon NIO ... \n", + "22 NI Nicaragua Leon NIO ... \n", + "24 NI Nicaragua Leon NIO ... \n", + "26 NI Nicaragua Leon NIO ... \n", + "27 NI Nicaragua Leon NIO ... \n", + "30 NI Nicaragua Leon NIO ... \n", + "31 NI Nicaragua Leon NIO ... \n", + "33 NI Nicaragua Leon NIO ... \n", + "34 NI Nicaragua Leon NIO ... \n", + "35 NI Nicaragua Leon NIO ... \n", + "36 NI Nicaragua Leon NIO ... \n", + "... ... ... ... ... ... \n", + "52137 MW Malawi Ntcheu MWK ... \n", + "52139 MW Malawi Ntcheu MWK ... \n", + "52141 MW Malawi Ntcheu MWK ... \n", + "52142 MW Malawi Ntcheu MWK ... \n", + "52146 MW Malawi Ntcheu MWK ... \n", + "52148 MW Malawi Ntcheu MWK ... \n", + "52149 MW Malawi Ntcheu MWK ... \n", + "52150 MW Malawi Ntcheu MWK ... \n", + "52151 MW Malawi Ntcheu MWK ... \n", + "52153 MW Malawi Ntcheu MWK ... \n", + "52155 MW Malawi Ntcheu MWK ... \n", + "52156 MW Malawi Ntcheu MWK ... \n", + "52157 MW Malawi Ntcheu MWK ... \n", + "52163 MW Malawi Ntcheu MWK ... \n", + "52168 MW Malawi Ntcheu MWK ... \n", + "52169 MW Malawi Ntcheu MWK ... \n", + "52175 MW Malawi Ntcheu MWK ... \n", + "52179 MW Malawi Ntcheu MWK ... \n", + "52183 MW Malawi Ntcheu MWK ... \n", + "52184 MW Malawi Ntcheu MWK ... \n", + "52185 MW Malawi Ntcheu MWK ... \n", + "52186 MW Malawi Ntcheu MWK ... \n", + "52187 MW Malawi Ntcheu MWK ... \n", + "52188 MW Malawi Ntcheu MWK ... \n", + "52189 MW Malawi Ntcheu MWK ... \n", + "52191 MZ Mozambique Manica MZN ... \n", + "52192 MZ Mozambique Manica MZN ... \n", + "52193 MZ Mozambique Manica MZN ... \n", + "52195 PE Peru Tacna USD ... \n", + "52196 BT Bhutan Thimphu USD ... \n", + "\n", + " borrower_genders repayment_interval \\\n", + "0 female monthly \n", + "1 male monthly \n", + "2 female monthly \n", + "4 female, female, female monthly \n", + "5 female monthly \n", + "6 female monthly \n", + "7 female, female, female, female, female, female... irregular \n", + "8 female monthly \n", + "9 female monthly \n", + "10 female monthly \n", + "11 female, female, female, female, female, female... monthly \n", + "12 female, female, female, female, female, female... monthly \n", + "14 female monthly \n", + "15 female, female, female, female, female, female... monthly \n", + "16 female, female, female, female, female monthly \n", + "17 female, female, female, female, female, female... irregular \n", + "18 female monthly \n", + "19 female monthly \n", + "20 female, female, female, female, male, female, ... monthly \n", + "21 male, male, female monthly \n", + "22 female, male, female, female, female, female, ... irregular \n", + "24 female monthly \n", + "26 female monthly \n", + "27 male monthly \n", + "30 female monthly \n", + "31 female, female, female monthly \n", + "33 female, female, female, female, female, male, ... monthly \n", + "34 female, female, female, female, female, female... monthly \n", + "35 female, female, female, female, female, female... monthly \n", + "36 female monthly \n", + "... ... ... \n", + "52137 female monthly \n", + "52139 female monthly \n", + "52141 female monthly \n", + "52142 female monthly \n", + "52146 female monthly \n", + "52148 female monthly \n", + "52149 female monthly \n", + "52150 female monthly \n", + "52151 female monthly \n", + "52153 female monthly \n", + "52155 female monthly \n", + "52156 female monthly \n", + "52157 female monthly \n", + "52163 female monthly \n", + "52168 female monthly \n", + "52169 female monthly \n", + "52175 female monthly \n", + "52179 female monthly \n", + "52183 male bullet \n", + "52184 male bullet \n", + "52185 male bullet \n", + "52186 female bullet \n", + "52187 female bullet \n", + "52188 female bullet \n", + "52189 female, female, female, female, female, female... irregular \n", + "52191 male bullet \n", + "52192 male bullet \n", + "52193 male bullet \n", + "52195 female bullet \n", + "52196 female irregular \n", + "\n", + " date LocationName ISO world_region \\\n", + "0 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "1 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "2 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "4 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "5 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "6 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "7 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "8 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "9 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "10 2014-01-02 Leon, Nicaragua NIC Latin America and Caribbean \n", + "11 2014-01-03 Leon, Nicaragua NIC Latin America and Caribbean \n", + "12 2014-01-03 Leon, Nicaragua NIC Latin America and Caribbean \n", + "14 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "15 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "16 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "17 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "18 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "19 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "20 2014-01-06 Leon, Nicaragua NIC Latin America and Caribbean \n", + "21 2014-01-07 Leon, Nicaragua NIC Latin America and Caribbean \n", + "22 2014-01-08 Leon, Nicaragua NIC Latin America and Caribbean \n", + "24 2014-01-08 Leon, Nicaragua NIC Latin America and Caribbean \n", + "26 2014-01-08 Leon, Nicaragua NIC Latin America and Caribbean \n", + "27 2014-01-09 Leon, Nicaragua NIC Latin America and Caribbean \n", + "30 2014-01-10 Leon, Nicaragua NIC Latin America and Caribbean \n", + "31 2014-01-10 Leon, Nicaragua NIC Latin America and Caribbean \n", + "33 2014-01-15 Leon, Nicaragua NIC Latin America and Caribbean \n", + "34 2014-01-15 Leon, Nicaragua NIC Latin America and Caribbean \n", + "35 2014-01-15 Leon, Nicaragua NIC Latin America and Caribbean \n", + "36 2014-01-17 Leon, Nicaragua NIC Latin America and Caribbean \n", + "... ... ... ... ... \n", + "52137 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52139 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52141 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52142 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52146 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52148 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52149 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52150 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52151 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52153 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52155 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52156 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52157 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52163 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52168 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52169 2016-12-29 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52175 2016-12-30 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52179 2016-12-30 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52183 2017-01-20 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52184 2017-05-04 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52185 2017-05-12 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52186 2017-05-12 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52187 2017-05-23 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52188 2017-06-05 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52189 2017-06-07 Ntcheu, Malawi MWI Sub-Saharan Africa \n", + "52191 2016-12-20 Manica, Mozambique MOZ Sub-Saharan Africa \n", + "52192 2016-12-20 Manica, Mozambique MOZ Sub-Saharan Africa \n", + "52193 2016-12-21 Manica, Mozambique MOZ Sub-Saharan Africa \n", + "52195 2017-05-17 Tacna, Peru PER Latin America and Caribbean \n", + "52196 2017-06-20 Thimphu, Bhutan BTN South Asia \n", + "\n", + " MPI geo lat lon \n", + "0 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "1 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "2 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "4 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "5 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "6 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "7 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "8 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "9 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "10 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "11 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "12 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "14 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "15 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "16 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "17 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "18 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "19 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "20 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "21 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "22 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "24 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "26 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "27 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "30 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "31 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "33 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "34 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "35 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "36 0.031 (28.3998551, 83.6895693) 28.399855 83.689569 \n", + "... ... ... ... ... \n", + "52137 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52139 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52141 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52142 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52146 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52148 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52149 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52150 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52151 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52153 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52155 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52156 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52157 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52163 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52168 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52169 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52175 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52179 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52183 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52184 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52185 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52186 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52187 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52188 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52189 0.211 (-14.9037538, 34.7740793) -14.903754 34.774079 \n", + "52191 0.301 (-18.9438274, 32.8648538) -18.943827 32.864854 \n", + "52192 0.301 (-18.9438274, 32.8648538) -18.943827 32.864854 \n", + "52193 0.301 (-18.9438274, 32.8648538) -18.943827 32.864854 \n", + "52195 0.008 (-18.0065679, -70.2462741) -18.006568 -70.246274 \n", + "52196 0.016 (27.4727924, 89.6392863) 27.472792 89.639286 \n", + "\n", + "[34856 rows x 27 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loan_reg = pd.merge(loan, mpi_region_location).dropna()\n", + "loan_reg" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01245678910...52185521865218752188521895219152192521935219552196
id653359653373653364653396653402653398653400653395653390653377...1297103129692313045801313379131563212072151207220120769013004281323945
funded_amount60010002508008004001925250800600...425850850825130050020751925505010000
loan_amount60010002508008004001925250800600...425850850825130050020751925505010000
activityMachinery RentalGrocery StoreFuel/FirewoodClothing SalesGrocery StoreClothing SalesGrocery StoreClothing SalesGrocery StoreCosmetics Sales...Mobile TransactionsMobile TransactionsMobile TransactionsMobile TransactionsCerealsFarm SuppliesFarm SuppliesFarm SuppliesHigher education costsWeaving
sectorServicesFoodRetailClothingFoodClothingFoodClothingFoodRetail...ServicesServicesServicesServicesFoodAgricultureAgricultureAgricultureEducationArts
useto invest in working capital and to maintain g...to invest in working capital and to provide hi...to buy firewood to offer to her customersto invest in working capital to stock their bu...to invest in working capital and to supply her...To invest in working capital and stock her clo...to stock her store.to invest in working capital and to stock her ...to invest in working capital and stock up her ...to invest in working capital and stock up on c......to pay for a kiosk for his start-up business a...to generate capital for her start-up business ...to attain a kiosk for her start-up business as...to attain a kisok for her start-up business as...to buy more rice and beansto pay for high quality seeds and fertilisers ...to buy high-quality seeds to plant and to sell.to purchase seeds, pesticides and fertilizers ...to continue and finish her education in indust...to develop a new product which will help creat...
country_codeNINININININININININI...MWMWMWMWMWMZMZMZPEBT
countryNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaragua...MalawiMalawiMalawiMalawiMalawiMozambiqueMozambiqueMozambiquePeruBhutan
regionLeonLeonLeonLeonLeonLeonLeonLeonLeonLeon...NtcheuNtcheuNtcheuNtcheuNtcheuManicaManicaManicaTacnaThimphu
currencyNIONIONIONIONIONIONIONIONIONIO...MWKMWKMWKMWKMWKMZNMZNMZNUSDUSD
partner_id96969696969696969696...210210210210381468468468358534
posted_time2014-01-02 14:25:08+00:002014-01-02 15:26:18+00:002014-01-02 14:48:57+00:002014-01-02 17:01:15+00:002014-01-02 17:42:43+00:002014-01-02 17:07:16+00:002014-01-02 17:15:29+00:002014-01-02 16:55:58+00:002014-01-02 16:30:19+00:002014-01-02 15:54:01+00:00...2017-05-12 08:58:07+00:002017-05-12 06:35:02+00:002017-05-23 12:37:55+00:002017-06-05 08:54:32+00:002017-06-07 13:53:45+00:002016-12-20 14:03:16+00:002016-12-20 14:12:08+00:002016-12-21 06:52:20+00:002017-05-17 21:50:50+00:002017-06-20 18:39:37+00:00
disbursed_time2013-12-17 08:00:00+00:002013-12-06 08:00:00+00:002013-12-17 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:00...2017-07-20 07:00:00+00:002017-07-20 07:00:00+00:002017-07-27 07:00:00+00:002017-07-31 07:00:00+00:002017-05-25 07:00:00+00:002017-03-20 07:00:00+00:002017-03-20 07:00:00+00:002017-01-31 08:00:00+00:002017-04-28 07:00:00+00:002017-08-31 07:00:00+00:00
funded_time2014-01-08 22:07:48+00:002014-01-31 14:29:51+00:002014-01-05 14:27:49+00:002014-01-14 18:52:52+00:002014-01-25 04:06:44+00:002014-01-22 02:16:50+00:002014-02-02 05:35:21+00:002014-01-14 18:00:57+00:002014-01-22 19:59:51+00:002014-02-11 02:17:35+00:00...2017-05-19 17:11:53+00:002017-05-18 21:19:16+00:002017-06-01 18:01:49+00:002017-06-14 18:40:12+00:002017-06-17 20:40:19+00:002016-12-24 20:32:37+00:002017-01-18 07:44:44+00:002017-01-21 15:48:54+00:002017-05-22 15:01:45+00:002017-07-06 21:02:36+00:00
term_in_months1414149131310101714...1717181966695014
lender_count16208731146092721...932232810198375147357
tags#Parent#Parent, #Inspiring Story, #First Loan, user_f...volunteer_pick, user_favorite, #Single Parent,...#Parent, #Supporting Family, #Woman Owned Biz#Eco-friendly, #First Loan, #Woman Owned Biz, ...#Single Parent, #Supporting Family, #Schooling...#Repeat Borrower, #Parent, #Inspiring Story#Elderly, #Repeat Borrower#Parent, #Woman Owned Biz, user_favoriteuser_favorite, #Elderly, #Single Parent, #Woma......volunteer_pick, #Technology, #Biz Durable Asse...#Technology, user_favorite, user_favorite#Technology, #Woman Owned Biz, user_favorite#Technology, #Woman Owned Biz, user_favoriteuser_favoriteuser_favorite, user_favorite#Job Creator, #Parent, #Vegan#Elderly, #Parent, user_favorite#Schooling, user_favorite, user_favorite, user...user_favorite, user_favorite, user_favorite, u...
borrower_gendersfemalemalefemalefemale, female, femalefemalefemalefemale, female, female, female, female, female...femalefemalefemale...malefemalefemalefemalefemale, female, female, female, female, female...malemalemalefemalefemale
repayment_intervalmonthlymonthlymonthlymonthlymonthlymonthlyirregularmonthlymonthlymonthly...bulletbulletbulletbulletirregularbulletbulletbulletbulletirregular
date2014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-02...2017-05-122017-05-122017-05-232017-06-052017-06-072016-12-202016-12-202016-12-212017-05-172017-06-20
LocationNameLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, Nicaragua...Ntcheu, MalawiNtcheu, MalawiNtcheu, MalawiNtcheu, MalawiNtcheu, MalawiManica, MozambiqueManica, MozambiqueManica, MozambiqueTacna, PeruThimphu, Bhutan
ISONICNICNICNICNICNICNICNICNICNIC...MWIMWIMWIMWIMWIMOZMOZMOZPERBTN
world_regionLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and Caribbean...Sub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaSub-Saharan AfricaLatin America and CaribbeanSouth Asia
MPI0.0310.0310.0310.0310.0310.0310.0310.0310.0310.031...0.2110.2110.2110.2110.2110.3010.3010.3010.0080.016
geo(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)...(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-14.9037538, 34.7740793)(-18.9438274, 32.8648538)(-18.9438274, 32.8648538)(-18.9438274, 32.8648538)(-18.0065679, -70.2462741)(27.4727924, 89.6392863)
lat28.399928.399928.399928.399928.399928.399928.399928.399928.399928.3999...-14.9038-14.9038-14.9038-14.9038-14.9038-18.9438-18.9438-18.9438-18.006627.4728
lon83.689683.689683.689683.689683.689683.689683.689683.689683.689683.6896...34.774134.774134.774134.774134.774132.864932.864932.8649-70.246389.6393
\n", + "

27 rows × 34856 columns

\n", + "
" + ], + "text/plain": [ + " 0 \\\n", + "id 653359 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Machinery Rental \n", + "sector Services \n", + "use to invest in working capital and to maintain g... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:25:08+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-08 22:07:48+00:00 \n", + "term_in_months 14 \n", + "lender_count 16 \n", + "tags #Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 1 \\\n", + "id 653373 \n", + "funded_amount 1000 \n", + "loan_amount 1000 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to provide hi... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 15:26:18+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-31 14:29:51+00:00 \n", + "term_in_months 14 \n", + "lender_count 20 \n", + "tags #Parent, #Inspiring Story, #First Loan, user_f... \n", + "borrower_genders male \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 2 \\\n", + "id 653364 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Fuel/Firewood \n", + "sector Retail \n", + "use to buy firewood to offer to her customers \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:48:57+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-05 14:27:49+00:00 \n", + "term_in_months 14 \n", + "lender_count 8 \n", + "tags volunteer_pick, user_favorite, #Single Parent,... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 4 \\\n", + "id 653396 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital to stock their bu... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:01:15+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:52:52+00:00 \n", + "term_in_months 9 \n", + "lender_count 7 \n", + "tags #Parent, #Supporting Family, #Woman Owned Biz \n", + "borrower_genders female, female, female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 5 \\\n", + "id 653402 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to supply her... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:42:43+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-25 04:06:44+00:00 \n", + "term_in_months 13 \n", + "lender_count 31 \n", + "tags #Eco-friendly, #First Loan, #Woman Owned Biz, ... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 6 \\\n", + "id 653398 \n", + "funded_amount 400 \n", + "loan_amount 400 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use To invest in working capital and stock her clo... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:07:16+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 02:16:50+00:00 \n", + "term_in_months 13 \n", + "lender_count 14 \n", + "tags #Single Parent, #Supporting Family, #Schooling... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 7 \\\n", + "id 653400 \n", + "funded_amount 1925 \n", + "loan_amount 1925 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to stock her store. \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:15:29+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-02-02 05:35:21+00:00 \n", + "term_in_months 10 \n", + "lender_count 60 \n", + "tags #Repeat Borrower, #Parent, #Inspiring Story \n", + "borrower_genders female, female, female, female, female, female... \n", + "repayment_interval irregular \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 8 \\\n", + "id 653395 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital and to stock her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:55:58+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:00:57+00:00 \n", + "term_in_months 10 \n", + "lender_count 9 \n", + "tags #Elderly, #Repeat Borrower \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 9 \\\n", + "id 653390 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and stock up her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:30:19+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 19:59:51+00:00 \n", + "term_in_months 17 \n", + "lender_count 27 \n", + "tags #Parent, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " 10 \\\n", + "id 653377 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Cosmetics Sales \n", + "sector Retail \n", + "use to invest in working capital and stock up on c... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 15:54:01+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-02-11 02:17:35+00:00 \n", + "term_in_months 14 \n", + "lender_count 21 \n", + "tags user_favorite, #Elderly, #Single Parent, #Woma... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "\n", + " ... \\\n", + "id ... \n", + "funded_amount ... \n", + "loan_amount ... \n", + "activity ... \n", + "sector ... \n", + "use ... \n", + "country_code ... \n", + "country ... \n", + "region ... \n", + "currency ... \n", + "partner_id ... \n", + "posted_time ... \n", + "disbursed_time ... \n", + "funded_time ... \n", + "term_in_months ... \n", + "lender_count ... \n", + "tags ... \n", + "borrower_genders ... \n", + "repayment_interval ... \n", + "date ... \n", + "LocationName ... \n", + "ISO ... \n", + "world_region ... \n", + "MPI ... \n", + "geo ... \n", + "lat ... \n", + "lon ... \n", + "\n", + " 52185 \\\n", + "id 1297103 \n", + "funded_amount 425 \n", + "loan_amount 425 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to pay for a kiosk for his start-up business a... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-05-12 08:58:07+00:00 \n", + "disbursed_time 2017-07-20 07:00:00+00:00 \n", + "funded_time 2017-05-19 17:11:53+00:00 \n", + "term_in_months 17 \n", + "lender_count 9 \n", + "tags volunteer_pick, #Technology, #Biz Durable Asse... \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2017-05-12 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52186 \\\n", + "id 1296923 \n", + "funded_amount 850 \n", + "loan_amount 850 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to generate capital for her start-up business ... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-05-12 06:35:02+00:00 \n", + "disbursed_time 2017-07-20 07:00:00+00:00 \n", + "funded_time 2017-05-18 21:19:16+00:00 \n", + "term_in_months 17 \n", + "lender_count 32 \n", + "tags #Technology, user_favorite, user_favorite \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-05-12 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52187 \\\n", + "id 1304580 \n", + "funded_amount 850 \n", + "loan_amount 850 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to attain a kiosk for her start-up business as... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-05-23 12:37:55+00:00 \n", + "disbursed_time 2017-07-27 07:00:00+00:00 \n", + "funded_time 2017-06-01 18:01:49+00:00 \n", + "term_in_months 18 \n", + "lender_count 23 \n", + "tags #Technology, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-05-23 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52188 \\\n", + "id 1313379 \n", + "funded_amount 825 \n", + "loan_amount 825 \n", + "activity Mobile Transactions \n", + "sector Services \n", + "use to attain a kisok for her start-up business as... \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 210 \n", + "posted_time 2017-06-05 08:54:32+00:00 \n", + "disbursed_time 2017-07-31 07:00:00+00:00 \n", + "funded_time 2017-06-14 18:40:12+00:00 \n", + "term_in_months 19 \n", + "lender_count 28 \n", + "tags #Technology, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-06-05 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52189 \\\n", + "id 1315632 \n", + "funded_amount 1300 \n", + "loan_amount 1300 \n", + "activity Cereals \n", + "sector Food \n", + "use to buy more rice and beans \n", + "country_code MW \n", + "country Malawi \n", + "region Ntcheu \n", + "currency MWK \n", + "partner_id 381 \n", + "posted_time 2017-06-07 13:53:45+00:00 \n", + "disbursed_time 2017-05-25 07:00:00+00:00 \n", + "funded_time 2017-06-17 20:40:19+00:00 \n", + "term_in_months 6 \n", + "lender_count 10 \n", + "tags user_favorite \n", + "borrower_genders female, female, female, female, female, female... \n", + "repayment_interval irregular \n", + "date 2017-06-07 \n", + "LocationName Ntcheu, Malawi \n", + "ISO MWI \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.211 \n", + "geo (-14.9037538, 34.7740793) \n", + "lat -14.9038 \n", + "lon 34.7741 \n", + "\n", + " 52191 \\\n", + "id 1207215 \n", + "funded_amount 500 \n", + "loan_amount 500 \n", + "activity Farm Supplies \n", + "sector Agriculture \n", + "use to pay for high quality seeds and fertilisers ... \n", + "country_code MZ \n", + "country Mozambique \n", + "region Manica \n", + "currency MZN \n", + "partner_id 468 \n", + "posted_time 2016-12-20 14:03:16+00:00 \n", + "disbursed_time 2017-03-20 07:00:00+00:00 \n", + "funded_time 2016-12-24 20:32:37+00:00 \n", + "term_in_months 6 \n", + "lender_count 19 \n", + "tags user_favorite, user_favorite \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2016-12-20 \n", + "LocationName Manica, Mozambique \n", + "ISO MOZ \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.301 \n", + "geo (-18.9438274, 32.8648538) \n", + "lat -18.9438 \n", + "lon 32.8649 \n", + "\n", + " 52192 \\\n", + "id 1207220 \n", + "funded_amount 2075 \n", + "loan_amount 2075 \n", + "activity Farm Supplies \n", + "sector Agriculture \n", + "use to buy high-quality seeds to plant and to sell. \n", + "country_code MZ \n", + "country Mozambique \n", + "region Manica \n", + "currency MZN \n", + "partner_id 468 \n", + "posted_time 2016-12-20 14:12:08+00:00 \n", + "disbursed_time 2017-03-20 07:00:00+00:00 \n", + "funded_time 2017-01-18 07:44:44+00:00 \n", + "term_in_months 6 \n", + "lender_count 83 \n", + "tags #Job Creator, #Parent, #Vegan \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2016-12-20 \n", + "LocationName Manica, Mozambique \n", + "ISO MOZ \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.301 \n", + "geo (-18.9438274, 32.8648538) \n", + "lat -18.9438 \n", + "lon 32.8649 \n", + "\n", + " 52193 \\\n", + "id 1207690 \n", + "funded_amount 1925 \n", + "loan_amount 1925 \n", + "activity Farm Supplies \n", + "sector Agriculture \n", + "use to purchase seeds, pesticides and fertilizers ... \n", + "country_code MZ \n", + "country Mozambique \n", + "region Manica \n", + "currency MZN \n", + "partner_id 468 \n", + "posted_time 2016-12-21 06:52:20+00:00 \n", + "disbursed_time 2017-01-31 08:00:00+00:00 \n", + "funded_time 2017-01-21 15:48:54+00:00 \n", + "term_in_months 9 \n", + "lender_count 75 \n", + "tags #Elderly, #Parent, user_favorite \n", + "borrower_genders male \n", + "repayment_interval bullet \n", + "date 2016-12-21 \n", + "LocationName Manica, Mozambique \n", + "ISO MOZ \n", + "world_region Sub-Saharan Africa \n", + "MPI 0.301 \n", + "geo (-18.9438274, 32.8648538) \n", + "lat -18.9438 \n", + "lon 32.8649 \n", + "\n", + " 52195 \\\n", + "id 1300428 \n", + "funded_amount 5050 \n", + "loan_amount 5050 \n", + "activity Higher education costs \n", + "sector Education \n", + "use to continue and finish her education in indust... \n", + "country_code PE \n", + "country Peru \n", + "region Tacna \n", + "currency USD \n", + "partner_id 358 \n", + "posted_time 2017-05-17 21:50:50+00:00 \n", + "disbursed_time 2017-04-28 07:00:00+00:00 \n", + "funded_time 2017-05-22 15:01:45+00:00 \n", + "term_in_months 50 \n", + "lender_count 147 \n", + "tags #Schooling, user_favorite, user_favorite, user... \n", + "borrower_genders female \n", + "repayment_interval bullet \n", + "date 2017-05-17 \n", + "LocationName Tacna, Peru \n", + "ISO PER \n", + "world_region Latin America and Caribbean \n", + "MPI 0.008 \n", + "geo (-18.0065679, -70.2462741) \n", + "lat -18.0066 \n", + "lon -70.2463 \n", + "\n", + " 52196 \n", + "id 1323945 \n", + "funded_amount 10000 \n", + "loan_amount 10000 \n", + "activity Weaving \n", + "sector Arts \n", + "use to develop a new product which will help creat... \n", + "country_code BT \n", + "country Bhutan \n", + "region Thimphu \n", + "currency USD \n", + "partner_id 534 \n", + "posted_time 2017-06-20 18:39:37+00:00 \n", + "disbursed_time 2017-08-31 07:00:00+00:00 \n", + "funded_time 2017-07-06 21:02:36+00:00 \n", + "term_in_months 14 \n", + "lender_count 357 \n", + "tags user_favorite, user_favorite, user_favorite, u... \n", + "borrower_genders female \n", + "repayment_interval irregular \n", + "date 2017-06-20 \n", + "LocationName Thimphu, Bhutan \n", + "ISO BTN \n", + "world_region South Asia \n", + "MPI 0.016 \n", + "geo (27.4727924, 89.6392863) \n", + "lat 27.4728 \n", + "lon 89.6393 \n", + "\n", + "[27 rows x 34856 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loan_reg.T" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01245678910...131132133138139140141142144145
id653359653373653364653396653402653398653400653395653390653377...678733678726678718679374679368679308679311679364679309679432
funded_amount60010002508008004001925250800600...400600137580014507008009001900475
loan_amount60010002508008004001925250800600...400600137580014507008009001900475
activityMachinery RentalGrocery StoreFuel/FirewoodClothing SalesGrocery StoreClothing SalesGrocery StoreClothing SalesGrocery StoreCosmetics Sales...BeveragesClothing SalesClothing SalesTextilesSewingFood Production/SalesSpare PartsCosmetics SalesFood Production/SalesPersonal Housing Expenses
sectorServicesFoodRetailClothingFoodClothingFoodClothingFoodRetail...FoodClothingClothingArtsServicesFoodRetailRetailFoodHousing
useto invest in working capital and to maintain g...to invest in working capital and to provide hi...to buy firewood to offer to her customersto invest in working capital to stock their bu...to invest in working capital and to supply her...To invest in working capital and stock her clo...to stock her store.to invest in working capital and to stock her ...to invest in working capital and stock up her ...to invest in working capital and stock up on c......to invest in working capital and supply her bu...to have working capital to stock her business ...to invest in working capital and stock her bus...buy supplies such as silk-screen watercolours,...to invest in working capital and stock up her ...invest in working capital and stock her busine...invest in working capital and stock his busine...to invest in working capital and buy stock for...invest in working capital and stock their busi...to buy sand, cement, and labor
country_codeNINININININININININI...NINININININININININI
countryNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaragua...NicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaraguaNicaragua
regionLeonLeonLeonLeonLeonLeonLeonLeonLeonLeon...LeonLeonLeonLeonLeonLeonLeonLeonLeonLeon
currencyNIONIONIONIONIONIONIONIONIONIO...NIONIONIONIONIONIONIONIONIONIO
partner_id96969696969696969696...96969696969696969674
posted_time2014-01-02 14:25:08+00:002014-01-02 15:26:18+00:002014-01-02 14:48:57+00:002014-01-02 17:01:15+00:002014-01-02 17:42:43+00:002014-01-02 17:07:16+00:002014-01-02 17:15:29+00:002014-01-02 16:55:58+00:002014-01-02 16:30:19+00:002014-01-02 15:54:01+00:00...2014-03-03 15:20:59+00:002014-03-03 15:05:26+00:002014-03-03 14:40:47+00:002014-03-04 22:19:48+00:002014-03-04 21:58:51+00:002014-03-04 15:47:16+00:002014-03-04 16:12:16+00:002014-03-04 21:37:23+00:002014-03-04 15:55:10+00:002014-03-05 04:39:02+00:00
disbursed_time2013-12-17 08:00:00+00:002013-12-06 08:00:00+00:002013-12-17 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:002013-12-03 08:00:00+00:002013-12-06 08:00:00+00:00...2014-02-14 08:00:00+00:002014-02-06 08:00:00+00:002014-02-06 08:00:00+00:002014-02-26 08:00:00+00:002014-02-28 08:00:00+00:002014-02-27 08:00:00+00:002014-02-27 08:00:00+00:002014-02-28 08:00:00+00:002014-02-20 08:00:00+00:002014-02-19 08:00:00+00:00
funded_time2014-01-08 22:07:48+00:002014-01-31 14:29:51+00:002014-01-05 14:27:49+00:002014-01-14 18:52:52+00:002014-01-25 04:06:44+00:002014-01-22 02:16:50+00:002014-02-02 05:35:21+00:002014-01-14 18:00:57+00:002014-01-22 19:59:51+00:002014-02-11 02:17:35+00:00...2014-03-19 07:41:30+00:002014-03-24 18:57:15+00:002014-04-09 03:50:23+00:002014-03-17 23:25:06+00:002014-03-18 23:43:06+00:002014-03-20 00:58:28+00:002014-04-15 11:36:55+00:002014-04-03 05:29:19+00:002014-03-18 01:47:27+00:002014-03-19 03:40:45+00:00
term_in_months1414149131310101714...1417141710141417715
lender_count16208731146092721...16244431562125336715
tags#Parent#Parent, #Inspiring Story, #First Loan, user_f...volunteer_pick, user_favorite, #Single Parent,...#Parent, #Supporting Family, #Woman Owned Biz#Eco-friendly, #First Loan, #Woman Owned Biz, ...#Single Parent, #Supporting Family, #Schooling...#Repeat Borrower, #Parent, #Inspiring Story#Elderly, #Repeat Borrower#Parent, #Woman Owned Biz, user_favoriteuser_favorite, #Elderly, #Single Parent, #Woma......#Elderly, #Woman Owned Biz#Supporting Family, #Elderly, #Woman Owned Biz#Elderly, #Woman Owned Biz, #Singleuser_favoriteuser_favorite#Elderly, #Repeat Borrower, #Single Parent#Single Parentuser_favorite, #Repeat Borrower, #Single Paren...user_favoriteuser_favorite, #Single Parent
borrower_gendersfemalemalefemalefemale, female, femalefemalefemalefemale, female, female, female, female, female...femalefemalefemale...femalefemalefemalefemalefemale, female, femalefemalemalefemalefemale, female, male, female, female, female, ...female
repayment_intervalmonthlymonthlymonthlymonthlymonthlymonthlyirregularmonthlymonthlymonthly...monthlymonthlymonthlymonthlymonthlymonthlymonthlymonthlymonthlymonthly
date2014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-022014-01-02...2014-03-032014-03-032014-03-032014-03-042014-03-042014-03-042014-03-042014-03-042014-03-042014-03-05
LocationNameLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, Nicaragua...Leon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, NicaraguaLeon, Nicaragua
ISONICNICNICNICNICNICNICNICNICNIC...NICNICNICNICNICNICNICNICNICNIC
world_regionLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and Caribbean...Latin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and CaribbeanLatin America and Caribbean
MPI0.0310.0310.0310.0310.0310.0310.0310.0310.0310.031...0.0310.0310.0310.0310.0310.0310.0310.0310.0310.031
geo(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)...(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)(28.3998551, 83.6895693)
lat28.399928.399928.399928.399928.399928.399928.399928.399928.399928.3999...28.399928.399928.399928.399928.399928.399928.399928.399928.399928.3999
lon83.689683.689683.689683.689683.689683.689683.689683.689683.689683.6896...83.689683.689683.689683.689683.689683.689683.689683.689683.689683.6896
genderfemalemalefemalefemalefemalefemalefemalefemalefemalefemale...femalefemalefemalefemalefemalefemalemalefemalefemalefemale
\n", + "

28 rows × 100 columns

\n", + "
" + ], + "text/plain": [ + " 0 \\\n", + "id 653359 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Machinery Rental \n", + "sector Services \n", + "use to invest in working capital and to maintain g... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:25:08+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-08 22:07:48+00:00 \n", + "term_in_months 14 \n", + "lender_count 16 \n", + "tags #Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 1 \\\n", + "id 653373 \n", + "funded_amount 1000 \n", + "loan_amount 1000 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to provide hi... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 15:26:18+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-31 14:29:51+00:00 \n", + "term_in_months 14 \n", + "lender_count 20 \n", + "tags #Parent, #Inspiring Story, #First Loan, user_f... \n", + "borrower_genders male \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender male \n", + "\n", + " 2 \\\n", + "id 653364 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Fuel/Firewood \n", + "sector Retail \n", + "use to buy firewood to offer to her customers \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 14:48:57+00:00 \n", + "disbursed_time 2013-12-17 08:00:00+00:00 \n", + "funded_time 2014-01-05 14:27:49+00:00 \n", + "term_in_months 14 \n", + "lender_count 8 \n", + "tags volunteer_pick, user_favorite, #Single Parent,... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 4 \\\n", + "id 653396 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital to stock their bu... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:01:15+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:52:52+00:00 \n", + "term_in_months 9 \n", + "lender_count 7 \n", + "tags #Parent, #Supporting Family, #Woman Owned Biz \n", + "borrower_genders female, female, female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 5 \\\n", + "id 653402 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and to supply her... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:42:43+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-25 04:06:44+00:00 \n", + "term_in_months 13 \n", + "lender_count 31 \n", + "tags #Eco-friendly, #First Loan, #Woman Owned Biz, ... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 6 \\\n", + "id 653398 \n", + "funded_amount 400 \n", + "loan_amount 400 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use To invest in working capital and stock her clo... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:07:16+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 02:16:50+00:00 \n", + "term_in_months 13 \n", + "lender_count 14 \n", + "tags #Single Parent, #Supporting Family, #Schooling... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 7 \\\n", + "id 653400 \n", + "funded_amount 1925 \n", + "loan_amount 1925 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to stock her store. \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 17:15:29+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-02-02 05:35:21+00:00 \n", + "term_in_months 10 \n", + "lender_count 60 \n", + "tags #Repeat Borrower, #Parent, #Inspiring Story \n", + "borrower_genders female, female, female, female, female, female... \n", + "repayment_interval irregular \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 8 \\\n", + "id 653395 \n", + "funded_amount 250 \n", + "loan_amount 250 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital and to stock her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:55:58+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-01-14 18:00:57+00:00 \n", + "term_in_months 10 \n", + "lender_count 9 \n", + "tags #Elderly, #Repeat Borrower \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 9 \\\n", + "id 653390 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Grocery Store \n", + "sector Food \n", + "use to invest in working capital and stock up her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 16:30:19+00:00 \n", + "disbursed_time 2013-12-03 08:00:00+00:00 \n", + "funded_time 2014-01-22 19:59:51+00:00 \n", + "term_in_months 17 \n", + "lender_count 27 \n", + "tags #Parent, #Woman Owned Biz, user_favorite \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 10 \\\n", + "id 653377 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Cosmetics Sales \n", + "sector Retail \n", + "use to invest in working capital and stock up on c... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-01-02 15:54:01+00:00 \n", + "disbursed_time 2013-12-06 08:00:00+00:00 \n", + "funded_time 2014-02-11 02:17:35+00:00 \n", + "term_in_months 14 \n", + "lender_count 21 \n", + "tags user_favorite, #Elderly, #Single Parent, #Woma... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-01-02 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " ... \\\n", + "id ... \n", + "funded_amount ... \n", + "loan_amount ... \n", + "activity ... \n", + "sector ... \n", + "use ... \n", + "country_code ... \n", + "country ... \n", + "region ... \n", + "currency ... \n", + "partner_id ... \n", + "posted_time ... \n", + "disbursed_time ... \n", + "funded_time ... \n", + "term_in_months ... \n", + "lender_count ... \n", + "tags ... \n", + "borrower_genders ... \n", + "repayment_interval ... \n", + "date ... \n", + "LocationName ... \n", + "ISO ... \n", + "world_region ... \n", + "MPI ... \n", + "geo ... \n", + "lat ... \n", + "lon ... \n", + "gender ... \n", + "\n", + " 131 \\\n", + "id 678733 \n", + "funded_amount 400 \n", + "loan_amount 400 \n", + "activity Beverages \n", + "sector Food \n", + "use to invest in working capital and supply her bu... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-03 15:20:59+00:00 \n", + "disbursed_time 2014-02-14 08:00:00+00:00 \n", + "funded_time 2014-03-19 07:41:30+00:00 \n", + "term_in_months 14 \n", + "lender_count 16 \n", + "tags #Elderly, #Woman Owned Biz \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-03 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 132 \\\n", + "id 678726 \n", + "funded_amount 600 \n", + "loan_amount 600 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to have working capital to stock her business ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-03 15:05:26+00:00 \n", + "disbursed_time 2014-02-06 08:00:00+00:00 \n", + "funded_time 2014-03-24 18:57:15+00:00 \n", + "term_in_months 17 \n", + "lender_count 24 \n", + "tags #Supporting Family, #Elderly, #Woman Owned Biz \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-03 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 133 \\\n", + "id 678718 \n", + "funded_amount 1375 \n", + "loan_amount 1375 \n", + "activity Clothing Sales \n", + "sector Clothing \n", + "use to invest in working capital and stock her bus... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-03 14:40:47+00:00 \n", + "disbursed_time 2014-02-06 08:00:00+00:00 \n", + "funded_time 2014-04-09 03:50:23+00:00 \n", + "term_in_months 14 \n", + "lender_count 44 \n", + "tags #Elderly, #Woman Owned Biz, #Single \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-03 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 138 \\\n", + "id 679374 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Textiles \n", + "sector Arts \n", + "use buy supplies such as silk-screen watercolours,... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 22:19:48+00:00 \n", + "disbursed_time 2014-02-26 08:00:00+00:00 \n", + "funded_time 2014-03-17 23:25:06+00:00 \n", + "term_in_months 17 \n", + "lender_count 31 \n", + "tags user_favorite \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 139 \\\n", + "id 679368 \n", + "funded_amount 1450 \n", + "loan_amount 1450 \n", + "activity Sewing \n", + "sector Services \n", + "use to invest in working capital and stock up her ... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 21:58:51+00:00 \n", + "disbursed_time 2014-02-28 08:00:00+00:00 \n", + "funded_time 2014-03-18 23:43:06+00:00 \n", + "term_in_months 10 \n", + "lender_count 56 \n", + "tags user_favorite \n", + "borrower_genders female, female, female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 140 \\\n", + "id 679308 \n", + "funded_amount 700 \n", + "loan_amount 700 \n", + "activity Food Production/Sales \n", + "sector Food \n", + "use invest in working capital and stock her busine... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 15:47:16+00:00 \n", + "disbursed_time 2014-02-27 08:00:00+00:00 \n", + "funded_time 2014-03-20 00:58:28+00:00 \n", + "term_in_months 14 \n", + "lender_count 21 \n", + "tags #Elderly, #Repeat Borrower, #Single Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 141 \\\n", + "id 679311 \n", + "funded_amount 800 \n", + "loan_amount 800 \n", + "activity Spare Parts \n", + "sector Retail \n", + "use invest in working capital and stock his busine... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 16:12:16+00:00 \n", + "disbursed_time 2014-02-27 08:00:00+00:00 \n", + "funded_time 2014-04-15 11:36:55+00:00 \n", + "term_in_months 14 \n", + "lender_count 25 \n", + "tags #Single Parent \n", + "borrower_genders male \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender male \n", + "\n", + " 142 \\\n", + "id 679364 \n", + "funded_amount 900 \n", + "loan_amount 900 \n", + "activity Cosmetics Sales \n", + "sector Retail \n", + "use to invest in working capital and buy stock for... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 21:37:23+00:00 \n", + "disbursed_time 2014-02-28 08:00:00+00:00 \n", + "funded_time 2014-04-03 05:29:19+00:00 \n", + "term_in_months 17 \n", + "lender_count 33 \n", + "tags user_favorite, #Repeat Borrower, #Single Paren... \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 144 \\\n", + "id 679309 \n", + "funded_amount 1900 \n", + "loan_amount 1900 \n", + "activity Food Production/Sales \n", + "sector Food \n", + "use invest in working capital and stock their busi... \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 96 \n", + "posted_time 2014-03-04 15:55:10+00:00 \n", + "disbursed_time 2014-02-20 08:00:00+00:00 \n", + "funded_time 2014-03-18 01:47:27+00:00 \n", + "term_in_months 7 \n", + "lender_count 67 \n", + "tags user_favorite \n", + "borrower_genders female, female, male, female, female, female, ... \n", + "repayment_interval monthly \n", + "date 2014-03-04 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + " 145 \n", + "id 679432 \n", + "funded_amount 475 \n", + "loan_amount 475 \n", + "activity Personal Housing Expenses \n", + "sector Housing \n", + "use to buy sand, cement, and labor \n", + "country_code NI \n", + "country Nicaragua \n", + "region Leon \n", + "currency NIO \n", + "partner_id 74 \n", + "posted_time 2014-03-05 04:39:02+00:00 \n", + "disbursed_time 2014-02-19 08:00:00+00:00 \n", + "funded_time 2014-03-19 03:40:45+00:00 \n", + "term_in_months 15 \n", + "lender_count 15 \n", + "tags user_favorite, #Single Parent \n", + "borrower_genders female \n", + "repayment_interval monthly \n", + "date 2014-03-05 \n", + "LocationName Leon, Nicaragua \n", + "ISO NIC \n", + "world_region Latin America and Caribbean \n", + "MPI 0.031 \n", + "geo (28.3998551, 83.6895693) \n", + "lat 28.3999 \n", + "lon 83.6896 \n", + "gender female \n", + "\n", + "[28 rows x 100 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Cleaning the gender borrower_gender\n", + "loan_reg['gender'] = loan_reg['borrower_genders'].apply(lambda x: x.split(',')[0])\n", + "loan_reg.head(100).T" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "female 59.616709\n", + "male 40.383291\n", + "Name: gender, dtype: float64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "loan_reg['gender'].value_counts(normalize=True) * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "(loan_reg['gender'].value_counts(normalize=True) * 100).plot.bar(x='gender', y='percentage')" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/server/anaconda3/lib/python3.7/site-packages/statsmodels/nonparametric/kde.py:448: RuntimeWarning: invalid value encountered in greater\n", + " X = X[np.logical_and(X > clip[0], X < clip[1])] # won't work for two columns.\n", + "/home/server/anaconda3/lib/python3.7/site-packages/statsmodels/nonparametric/kde.py:448: RuntimeWarning: invalid value encountered in less\n", + " X = X[np.logical_and(X > clip[0], X < clip[1])] # won't work for two columns.\n", + "/home/server/anaconda3/lib/python3.7/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", + " return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAD8CAYAAABpcuN4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xl4VOXZ+PHvWWYm62TClgkQkgABRBZxRRHQ4BAhLkXgtbXtW/w12rrUYiuuNQqutbSIr62FRnGrVmOlKqMiBi2IuLIEEZAowSBhhJBAFpKZOef8/pgkErLMJJklE57PdXFpZp7znPtMMnPPeVbJMAwDQRAEQWiHHOkABEEQhJ5NJApBEAShQyJRCIIgCB0SiUIQBEHokEgUgiAIQodEohAEQRA6JBKFIAiC0CGRKARBEIQOiUQhCIIgdEiNdADBoOs6mhbeCeaKIoX9nF0RLXFC9MQaLXFC9MQaLXFC9MQaSJwmkxJQXQElinXr1vHAAw+g6zpz587l2muvbfG82+3m1ltvZfv27dhsNpYsWcLgwYMBWLZsGa+88gqyLPOHP/yByZMnd1jnxo0beeSRR9B1nbi4OB5++GHS09M7jE/TDKqq6gK64GCx2eLCfs6uiJY4IXpijZY4IXpijZY4IXpiDSTO/v0TA6rLb9OTpmksWrSIgoICnE4nq1atoqSkpEWZwsJCrFYra9asYd68eSxevBiAkpISnE4nTqeTgoICFi5ciKZpHdZ57733snjxYl577TUuueQSnnjiiYAuRBAEQQgNv4miuLiY9PR00tLSMJvN5ObmUlRU1KLM2rVrmTVrFgA5OTls3LgRwzAoKioiNzcXs9lMWloa6enpFBcX+62zpqam+b8DBgwI5vUKgiAIneS36cnlcmG325t/TklJobi4uFWZ1NRUX4WqSmJiIpWVlbhcLsaPH9/iWJfLBdBunQ888ADXXnstFouFhIQEXn755W5cniAIgtBdfhNFW6uQS5IUUJn2Htd1vd06n376aZYvX8748eMpKCjgoYce4oEHHugwRkWRsNniOiwTbIoih/2cXREtcUL0xBotcULkYvV6PXz33Xc0NDS0+Tlwou+/b/vzoieKllib4pQkCYvFwqBBg1BVU5fq8pso7HY7Bw4caP7Z5XK1ag6y2+2Ul5djt9vxer1UV1djs9k6PLatxw8fPszOnTub70JmzpxJXl6e34sQndnti5Y4IXpijZY4IXKxHjpUTkxMHP3792/1xbItiiKjaa2/QPZE0RJrU5yGYVBbe5TS0m/p1y+1RZmgdWaPHTuW0tJSysrKcLvdOJ1OsrOzW5TJzs5m5cqVAKxevZqJEyciSRLZ2dk4nU7cbjdlZWWUlpYybty4duu0Wq1UV1ezZ88eADZs2MCwYcMCuhBBEHoOr9dNfLw1oCQhhJYkScTHW/F63V2uw+8dhaqq5Ofnk5eXh6ZpzJ49m6ysLJYuXcqYMWOYNm0ac+bMYcGCBTgcDpKSkliyZAkAWVlZzJgxg5kzZ6IoCvn5+SiKb9xuW3UC3H///dx0001IkkRSUhIPPvhgly9OEITIEUmi5+ju70LqDVuhejxadDc9GQaE6E0lmkmCL1rihMjFeuDAXuz2juc/HS9amnMgemI9Mc62fidBa3oSQkv6/nv6jsrA8tILkQ5FEAShTSJRRJipeDNyZSWJt/wWdevmSIcjCL2GwzE50iGEVXn5ft555+2Q1C0SRYQpu3cDYCQkYp33U6SKighHJAhCNCov38+774YmUfSKRQGjmVLyFXqfPtT94R7ib/s9ifl3cPSvyyMdliAEjeWlF4h58fkOy0iSr6suUPU/+RkNV14VUFnDMPjb3x7jo482IEkSv/jFL5k2bTp1dXXcccfvqa4+itfr5ZprrmPy5AsoL9/PLbfcxLhxp7FtWzH9+/fn4Yf/jMUS02b9r7++ktdfX4nH42Hw4MHcffd9xMTE8MAD92KxWNi7t5QDBw5w5535vPXWKrZv38bo0WO46657AViz5m2ee24FhmFw7rnnc/31NwG+O6I1a9YD8N577/Lhhx9w11338sAD9xIfH8/OnTuoqKjg+ut/w4UXXsTf//44e/fuYd68q5gxI5errvp54C+oH+KOIsKUkt3oQ4fhzRyG58yzUT/9ONIhCUKv8t//rmX37l08/fSLPPro3/jrX5dy6NAhzGYzDz74J5566p889tgyHn/80eaJdPv2lXHFFXN5/vmXSUhI5P3317Zb/9SpF1JQ8CzPPPMi6emZrFr1n+bnqquP8thjf+emm27mttt+x5VX/pTnnnuZr78uYffuXRw6dJAnnvg/li79OytWvMDOnV+ybt37fq/p0KFD/O1vBTzyyBL+/vfHAfj1r29k/PgJPP30C1x55U+796KdQNxRRJi6+yu8Uy8Aw0C3p2L65CPQNFACW/5XEHq6hiuv8vvtP5QjiYqLt3DRRTkoikKfPn2ZMOF0du7czsSJk1i27K9s3boZSZI5ePAghw/7mn5TUweSlTUSgJEjR1Fevr/d+r/55mv+8Y8nqKmp5tixY5x99sTm5yZNmoIkSQwdOpw+ffowbNhwADIzh1JeXs6BA+VMmHAGycnJAEyffjFbt25iypQLOrymKVMuQJZlMjOHcvjw4e68PAERiSKCpMrDyIcOog1OA0C3pyJ5vSj7v0NLGxLh6AShd2ivSeudd96iqqqKJ598HlVVmTPnUtxu36Q0k+mHpS5kWUHTGtqt/8EHF/Lgg4vJyhrBm2++webNnzc/11SPLMsn1CmjaV4UpaOP4B+GzDfFdWK9jVfYQR3BIZqeIkgp8XVk6/bUxv/6FkpU9u6JWEyC0NucdtoE1q5dg6ZpVFZWsmXLZk455VRqampITk5GVVU2bfqMAwfKu1R/XV0t/fr1w+v18s47b3Xq2NGjx7BlyyaqqqrQNI01a97htNNOB6BPnz6Ulu5B13XWrXvPb11xcfHU1YVmzoy4o4ig5kSR4ksQWmPCUL8uwX3+1IjFJQi9yZQpF/LFF9uYN+8nSJLE9dffRN++/Zg+fQa33XYzv/zlz8nKGkF6ekaX6s/Lu45rr51HSoqdYcOGd+rDul+/fvzqVzdy002/auzMnsTkyRcAvj6HW2+dz4ABKQwdOoxjx451WNfw4VkoisIvfvETZs68JKid2WJmdhcFY8Zr/KJ8Ypf/jaOvvIah6aBpJP14Ng3X/IrqhcFZukTMIg6+aIkTxMzsUIiWWMXM7F5CKfkKPSPzhxZGRUG325G/+TqSYQmCILQgmp4iSNn9Ffrw4XBc1tdT7Ch7SyMXlCAIbfrzn//Itm1bW8z5mDv3x+TmXhbZwMJAJIpIcbtRSvfQcEHLJdt1eyrqe++GdKFAQQiHpk1zeovf//42IHqano7X3R4G0fQUIUrpHiRNQx80qMXjmj0Vqa4OueJQhCIThO5TVTO1tUejYie43q5p4yJVNXe5DnFHESHK7q8A0AektHi8aYisuncP7n79wx6XIARDcnJ/KisPUlNTFVD59rZO7omiJdbj41RVM8nJXf88EYkiQpQSX6JoGhLbRE8dCODr0D7j7LDHJQjBoChqq203OyJGkgVfMOMUTU8Rouzbh56cjHHCQmP6gBQMSUItKYlQZIIgCC2JRBEh8uEKjD59QT+hU8xkwujXH2WPGCIrCELPEFCiWLduHTk5OTgcDpYvb70EttvtZv78+TgcDubOncu+ffuan1u2bBkOh4OcnBzWr1/vt86rrrqKyy+/nMsvv5zzzz+f66+/vjvX12NJhyswkpNbJwpAs9uRxRBZQRB6CL+JQtM0Fi1aREFBAU6nk1WrVlFyQrNIYWEhVquVNWvWMG/ePBYvXgxASUkJTqcTp9NJQUEBCxcuRNO0Dut84YUXeO2113jttdeYMGEC06dPD8FlR558uALDltzmc3pKqkgUgiD0GH4TRXFxMenp6aSlpWE2m8nNzaWoqKhFmbVr1zJr1iwAcnJy2LhxI4ZhUFRURG5uLmazmbS0NNLT0ykuLg6ozpqaGj766CMuuuiiIF5uzyFVVGAkJbX5nJ6ainz4MHJtdZijEgRBaM1vonC5XNgbh2wCpKSk4HK5WpVJTW1c0E5VSUxMpLKyst1jA6nz3Xff5dxzzyUhIaFrV9aTGQby4Qp0azuJonGRQPnbsnBGJQiC0Ca/w2PbGi984mzL9sq097jeRrv8iXWuWrWKuXPn+gsPAEWRsNniAiobLIoid/2cR44geb2Y+iajJlhaPz/IlygSqyswunld3YozzKIl1miJE6In1miJE6In1mDG6TdR2O12Dhw40Pyzy+ViwIABrcqUl5djt9vxer1UV1djs9k6PLajOisrK9m2bRt//etfA7oITTOiavVYeU8ZfYEGSyzumtYbosixiViB+t17OHZ2964rWsZ8Q/TEGi1xQvTEGi1xQvTEGkicQVs9duzYsZSWllJWVobb7cbpdJKd3XJ9ouzsbFauXAnA6tWrmThxIpIkkZ2djdPpxO12U1ZWRmlpKePGjfNb59tvv80FF1yAxdLGt+1eoGl5DiO+7V+S3qevr9z+fW0+LwiCEE5+7yhUVSU/P5+8vDw0TWP27NlkZWWxdOlSxowZw7Rp05gzZw4LFizA4XCQlJTEkiVLAMjKymLGjBnMnDkTRVHIz89HadwLuq06m7z55ptcc801IbrkyJMb9+U14uPbLmAyoSdaUfa3v0+vIAhCuIiNi7qoO7efln/9E+tN13H0qWfRk/u2WSbx5hvRhw2n6sV/dyfMqLlNhuiJNVrihOiJNVrihOiJNaxNT0LwyRWNdxSJ1nbL6Ml9kLq4h68gCEIwiUQRAfLhCgyTCWJi2i2j9+2L/L2r3ecFQRDCRSSKCPAt39GHjhr9jOQ+SBUVSJo3fIEJgiC0QSSKCJArKjD69KGjTKH37Yek68gHvw9jZIIgCK2JRBEBvnWebG0uCNhE79MHAEX0UwiCEGEiUUSAdLgC3WbrsIzROJdCKheJQhCEyBKJIgLkwxUY1o4TRfMdxXdi0p0gCJElEkW4aRpSZSWGtf2hsQBGkg1DlpFFohAEIcJEoggzqaoKyTAwrH4musgyRp8+oo9CEISIE4kizH5YvsP/8ul6n76ij0IQhIgTiSLMmhcETPA/dV5P7oPsOuC3nCAIQiiJRBFmUuPyHXp7CwIexxCzswVB6AFEogiz5qYnP53Z0Nj0VF2NVFcb6rAEQRDaJRJFmEnNfRQBND017UtxQDQ/CYIQOSJRhJlcUYERGwsWs9+yRl9folBEP4UgCBEkEkWYyYcrMPr0xdD9bwOiJ/sm3cn7vwt1WIIgCO0SiSLMpMMV6MnJHa7z1ETv2w8ARWyJKghCBAWUKNatW0dOTg4Oh4Ply5e3et7tdjN//nwcDgdz585l374fPtiWLVuGw+EgJyeH9evX+63TMAyWLFlCTk4OM2bM4Nlnn+3O9fU4zQsCBrKxYGwsRmysmJ0tCEJE+d0zW9M0Fi1axIoVK0hJSWHOnDlkZ2czfPjw5jKFhYVYrVbWrFmD0+lk8eLFPProo5SUlOB0OnE6nbhcLq6++mpWr14N0G6dr776KuXl5bz11lvIskxF43DS3kKuqEBLHRhYYUlC79sP+TvR9CQIQuT4vaMoLi4mPT2dtLQ0zGYzubm5FBUVtSizdu1aZs2aBUBOTg4bN27EMAyKiorIzc3FbDaTlpZGeno6xcXFHdb54osvcsMNNyDLvtD69m17T+loJR0+jGFNCri83r+/uKMQBCGi/CYKl8uF3W5v/jklJQWXy9WqTGpqKgCqqpKYmEhlZWW7x3ZUZ1lZGW+++SZXXHEFeXl5lJaWdusCexSvF7n6KEZiYBuaA+j9+iPv3x/CoARBEDrmt+nJaKMtXZKkgMq097jeRkduU51utxuLxcKrr77KO++8w5133skLL7zQYYyKImGzxXVYJtgURe78ORub0Uy2RNQES0CHSANTkddUYIuRO9xjuz1dijNCoiXWaIkToifWaIkToifWYMbpN1HY7XYOHDfhy+VyMWDAgFZlysvLsdvteL1eqqursdlsHR7b3uMpKSlMnz4dAIfDwR133OH3IjTNoKqqzm+5YLLZ4jp9TvnbcvoCDaoFd01DQMeYrMnEA9U7StAyh4YlzkiJllijJU6InlijJU6InlgDibN//8BaN/w2PY0dO5bS0lLKyspwu904nU6ys7NblMnOzmblypUArF69mokTJyJJEtnZ2TidTtxuN2VlZZSWljJu3LgO67zooov46KOPAPjkk0/IyMgI6EKigXykCgAj1v86T02M/v0BsYGRIAiR4/eOQlVV8vPzycvLQ9M0Zs+eTVZWFkuXLmXMmDFMmzaNOXPmsGDBAhwOB0lJSSxZsgSArKwsZsyYwcyZM1EUhfz8fBRFAWizToBrr72WW265hWeeeYa4uDgeeOCBEF5+eElHjvj+Jy424GP0fo2JomxvKEISBEHwSzLa6kiIMh6PFhVNT+bXV5KU9wuqn/gHmj3AIbJuN7YrZ1F3y+3U3npnWOKMlGiJNVrihOiJNVrihOiJNaxNT0LwyI13FIFsWtTMbEa3JaOUfRuiqARBEDomEkUYSVWNfRQB7EVxPL1fPzGXQhCEiBGJIozko0cwVBXM/leOPZ7erz9yuZidLQhCZIhEEUZSVRVGUhKd7RTS+zdOuov+7iRBEKKQSBRhJB2twki0QgBLjB/P6Nsf6dgx5COVIYpMEAShfSJRhJFcVeXbArWTdwZ641wK+TuxlIcgCOEnEkUYSUeP+O4oOpsomuZSfFcWirAEQRA6JBJFGElVVZ1aELBJc6L4Vky6EwQh/ESiCCP5yBGMhM4nCsNmw1BVlH1iLoUgCOEnEkW4GAbSkSqMhE5Mtmsiy74hsmWi6UkQhPATiSJcjh1D8ng6PdmuiSF2uhMEIUJEogiT5pVju5gofHMpRKIQBCH8RKIIk6blO4gNfOXY42n2VCTXAaRjPX8xMkEQeheRKMKkaYlxI65rO07pg9OQDAOlpCSYYQmCIPglEkWYNDc9xXTxjiJtCADqVzuDFpMgCEIgRKIIE6kpUXRl1BOgpw7EkGXUHduDGZYgCIJfIlGESfMdRVzXOrMxmdBTB6Ls3BHEqARBEPwTiSJMfuij6GKiALTBaSi7vwpWSIIgCAEJKFGsW7eOnJwcHA4Hy5cvb/W82+1m/vz5OBwO5s6dy759P2yys2zZMhwOBzk5Oaxfv95vnbfffjvZ2dlcfvnlXH755ezY0Tu+QUtHqjDi4zHkrudmPW0I8rd7we0OYmSCIAgdU/0V0DSNRYsWsWLFClJSUpgzZw7Z2dkMHz68uUxhYSFWq5U1a9bgdDpZvHgxjz76KCUlJTidTpxOJy6Xi6uvvprVq1cDdFjnrbfeysUXXxyiS44M+cgRDGtSt/aU0NKGIGka6p5v8I4cFcToBEEQ2uf3621xcTHp6emkpaVhNpvJzc2lqKioRZm1a9cya9YsAHJycti4cSOGYVBUVERubi5ms5m0tDTS09MpLi4OqM7eRuriEuPH09PSAFB39Y67LEEQooPfROFyubDb7c0/p6Sk4HK5WpVJTU0FQFVVEhMTqaysbPdYf3UuWbKESy+9lAcffBB3L2lmkY4e8SUKXe9yHdrAwRiShCJGPgmCEEZ+m56MNr4BS5IUUJn2Htfb+LBsqvN3v/sd/fv3x+PxcPfdd7N8+XJuvPHGDmNUFAmbrWsT2bpKUeROnVOtPophTyEhwdL1kyZYwJ5KTMkuTAGeu7NxRlK0xBotcUL0xBotcUL0xBrMOP0mCrvdzoEDB5p/drlcDBgwoFWZ8vJy7HY7Xq+X6upqbDZbh8e293jTf81mM1dccQVPPfWU34vQNIOqqvAubWGzxXXqnH0qK9Eyh1JX09Ct88YPGoy8Y2fA5+5snJEULbFGS5wQPbFGS5wQPbEGEmf//oFte+C36Wns2LGUlpZSVlaG2+3G6XSSnZ3dokx2djYrV64EYPXq1UycOBFJksjOzsbpdOJ2uykrK6O0tJRx48Z1WOf3338P+O5S3n33XbKysgK6kJ5OquriEuMn0NLSkPd8A15vEKISBEHwz+8dhaqq5Ofnk5eXh6ZpzJ49m6ysLJYuXcqYMWOYNm0ac+bMYcGCBTgcDpKSkliyZAkAWVlZzJgxg5kzZ6IoCvn5+SiKAtBmnQC33HILlZWVGIbBqFGjWLhwYQgvP0y8XuSa6i5tWnQibfAQJI8H5dtStKHD/R8gCILQTZLRVkdClPF4tB7d9CQdrqDfqEzqb76F+ikXduu8yu6vSLz1Zqqfeo76Sy4PapyRFi2xRkucED2xRkucED2xhrXpSei+plnZeheXGD+elpGJYTZj+vCDbtclCIIQCJEowqDb6zwdz2TCO/IUkSgEQQgbkSjCoOmOoqubFp3Ie+oY5B1fNq9IKwiCEEoiUYRB0we63sVNi06knToGyTAwf7wxKPUJgiB0RCSKMJCrmvbL7v6oJwDviFEYJhOm9f8NSn2CIAgdEYkiDKSqSqDrmxa1YjajjRgp+ikEQQgLkSjCQK6qwrBYwGwKWp3e0WNQtn+BVH00aHUKgiC0RSSKMJCqKjGSbBh68KaseMeMRdJ1zJ9+HLQ6BUEQ2iISRRjIlZXdXmL8RN6RozBUVfRTCIIQciJRhIF0pAojKalbS4y3YolBGzES89p3g1enIAhCG0SiCIPmO4og85xzLsqOL1G+2R30ugVBEJqIRBEG0pEqjMTgJwr3eecDEPPayqDXLQiC0EQkijCQKitDkiiMfv3xjhqN5T+vBr1uQRCEJiJRhJrHg1xbE7w5FCdWf94klB1fon4tmp8EQQgNkShCTGqalZ0QhAUB2+A+19f8ZBHNT4IghIhIFCEmN83Kjg1NojD69cN7ymgs//l3SOrv+OQG8oFy1E8+DurQX0EQehaRKEKsefmOYCwx3g73eZNRdu5A3bE9ZOc4keXfL9N3TBZ9x40k+RIHsU8uC9u5BUEIL5EoQqz5jiI+OCvHtsUz5QIMs5nYJ5eH7BwtaBrx99+LYbNx7Pe34j1tAvEP3ofkcoXn/IIghFVAiWLdunXk5OTgcDhYvrz1h5Hb7Wb+/Pk4HA7mzp3Lvn37mp9btmwZDoeDnJwc1q9fH3Cd9913HxMmTOjKNfUoUmVTogjdHYVhteI+fwqWV15COnokZOdpYlr/X5Tv9tHwi6tpOH8qdXnXQUM9iQvvCvm5BUEIP7+JQtM0Fi1aREFBAU6nk1WrVlFSUtKiTGFhIVarlTVr1jBv3jwWL14MQElJCU6nE6fTSUFBAQsXLkTTNL91btu2jaNHe8did8272yUEZ4nx9rhnXIJUV0fsyy+G9DwAMS8+h26z4RkzDgB90CAafjQbyysvY9qw3s/RgiBEG7+Jori4mPT0dNLS0jCbzeTm5lJUVNSizNq1a5k1axYAOTk5bNy4EcMwKCoqIjc3F7PZTFpaGunp6RQXF3dYp6ZpPPLIIyxYsCAElxt+zXcUsaFregLQhmfhHTGSmCeXh7RjWaqqxPLmKjwzL21xmvrZc9EHDCD+jw+E7NyCIESG6q+Ay+XCbrc3/5ySkkJxcXGrMqmpqb4KVZXExEQqKytxuVyMHz++xbGuxnbs9up8/vnnmTZtGgMGDAj4IhRFwmYL7Qdx63PKAZ1Trq/FsFqJT4wBTQtpTNLll6P86RGSN3+EkT2tU3EGSv7XM0gNDSgXTychwfLDEwkWjBkzMT3zNLbqCkhL63TdwY41VKIlToieWKMlToieWIMZp99EYbTx7VSSpIDKtPe43sbieJIk4XK5ePvtt3nuuef8hdWCphlUVdV16pjustniAjpn4oHvMSXZqKmpBy2IiwK25cxzsSbZMO67n6rTz+1UnIGyPfUUnDKaGlt/qGlo8Zx8zvlYn3ka99PPUvebmztfd5BjDZVoiROiJ9ZoiROiJ9ZA4uzfP7Amcb9NT3a7nQMHDjT/7HK5Wn3bt9vtlJeXA+D1eqmursZms7V7bHuP79ixg2+//Zbp06eTnZ3NsWPHcDgcAV1ITyVVVYLVCkHci6JdZjMNs+di2rAe8/r3g1695HJh2rIZ9/SL27w70lNT8Y4cRUwY+kkEQQgfv4li7NixlJaWUlZWhtvtxul0kp2d3aJMdnY2K1f6ZgavXr2aiRMnIkkS2dnZOJ1O3G43ZWVllJaWMm7cuHbrvOCCC9iwYQNr165l7dq1xMbGsmbNmtBceZjIVVXoSUlhm5DWkDMTvV9/4u9fGPRzmj7/FABt+Ih2y7inXIiya2dY53QIghBafhOFqqrk5+eTl5fHzJkzmTFjBllZWSxdurS5A3rOnDlUVVXhcDhYsWIFt9xyCwBZWVnMmDGDmTNnkpeXR35+PoqitFtnbyRVhWZBwHaZzdTP/THq5s+xrHk7qFWbPv8Uw2RC66D/wTNpMoYsE1P4r6CeWxCEyJGMtjoSoozHo/XYPoq+o4fhuSCbYz/93zBE1cjrJfG31/m2X928haqj9UGpNulHM5Fra6hZ9FCHmzDF338vyv7vqNj8JciBz+nsTW2/PUW0xBotcUL0xBrWPgqhGwyj8Y4itHMoWlFV6q/8KeqOL5EKC4NTp9eLacsmtFPH+N2pzz1pMnL5ftTt24JzbkEQIkokihCSamuQvF4I4azs9njOn4KWkYlybz54vd2uT9m5A6muDm3ESL9lveNPA8C87v1un1cQhMgTiSKEmpYY10O0F0WHZJljP/kZ0tdfE/PSC92urqkj25uR6bes0acvWtoQzO8V+S0rCELPJxJFCIVrVnZ7vGedgzHqFOL/9CA0NPg/oAOmzz9F79sXo2+/wM49bjzqJx91+7yCIESeSBQh1LTOEyFcObZDkoR+9Tzk/fuJffXlblWlfv4p2rjTMAKcNOgZdxpSfT3mxjsRQRCil0gUIdR0R6GHcC8Kf4wJp6OlDSHmmae6XIdUVYm6+yu00acGPDfDe+pYDFnG/L5ofhKEaCcSRQj9sBdFBPoomkgS7mnTUTd9jrprR5eqUDd9DoA3c1jgB8XHo2WNwPT+e106pyAIPYdIFCH0w35VkE0aAAAgAElEQVTZEUwUgPvCbAxVJfa5p7t0vGnz5xiShJaR0anjvONOQyneEpY9MgRBCB2RKEJIrqrEMJnAbI5oHIY1Cc8552F++UWo7/zkO3XrZvShwzDMFv+Fj+MZdxqSrmPeuKHT5xQEoecQiSKEpKoq3+zoHjD33X3RdOSqKixvOzt9rLplM9opozu9TLo2chSGyYTpg3WdPqcgCD2HSBQhJFdVYoRxQcCOeMeNR09JIfafz3bqONl1AOVAOVpW+wsBtstkQssciqmxj0MQhOgkEkUISU2Jws+SF2Ehy7gnTkLd8AFSdeDbzKpbNwOgBTDRri1a1giUL7aFfNMmQRBCRySKEJIPHcRI7hPpMJp5zjoHyevB8t/ARyKpWzZjyDLa4M7vWAfgHT4C6Vgd6u6vunS8IAiRJxJFCMkHD2IkJ0c6jGbaqFPQExMxO18P+Bh162b0YVkYpq51yDc1WZk2iYl3ghCtRKIIFU1DOlyBnmSLdCQ/UBS8Z5yF6d01gS0UaBiYtmxGO7XzHdlN9NSBGPHxmD77pEvHC4IQeSJRhIhUWYmk674+ih7Ec+bZyEeqAvrglg+UIx/8Hm24/xVj269ExjssC3Xzpq7XIQhCRIlEESLywe8Bwru7XQA8E87AUFUsb63yW1bd0tiRPSS9W+fUskYg79rZpTkcgiBEXkCJYt26deTk5OBwOFi+fHmr591uN/Pnz8fhcDB37lz27dvX/NyyZctwOBzk5OSwfv16v3XeeeedXHbZZVx66aXcdNNN1NbWduf6IkY+dBAAIzGys7JbiYvDO2Yc5rff9FtU3boJQ1E63Po0EFrWCCSvF5PYyEgQopLfRKFpGosWLaKgoACn08mqVasoKSlpUaawsBCr1cqaNWuYN28eixcvBqCkpASn04nT6aSgoICFCxeiaVqHdd555528/vrrvPHGG6SmpvLPf/4zBJcdek2JQrf2rKYn8I1+UvZ8g7p7V4flTFs2o2eNwFDUbp3PO9y3H7pJrCQrCFHJb6IoLi4mPT2dtLQ0zGYzubm5FBW1XBF07dq1zJo1C4CcnBw2btyIYRgUFRWRm5uL2WwmLS2N9PR0iouLO6wzoXFdJMMwqI/ipormpqeemCjOngiAZVUHo5/cbtSPP/LtVtfNORBG337offqiig5tQYhKfhOFy+XCbrc3/5ySkoLL5WpVJjU1FQBVVUlMTKSysrLdY/3VeccddzBp0iS++eYbfv7zn3f96iJIOnQIQ1EwIrjEeHuMfv3wjhiF+Y3X2i1j+ngjcm0N3glnBOWc2vCs5j4PQRCii982BaON5SckSQqoTHuP623MVD6+zoceeghN07jvvvt48803mT17docxKoqEzRbezYEURe7wnMrRSujbl/gES0RnJcuyTEJC68X8pCmTUQr+ge3IQUhv3Vktb3gPw2zGMn4MFrV7TU8A0qgRyJ9+jM1ktLuHuL/XtKeIljghemKNljghemINZpx+PwHsdjsHDhxo/tnlcjFgwIBWZcrLy7Hb7Xi9Xqqrq7HZbB0e669ORVGYOXMmTz75pN9EoWkGVVV1/i4lqGy2uA7Paf1uP2rfftRU10d0CY+EBAs1Na23I5VPPxsr/8D9r5ep+9UNrZ5Pdr6J96yzqXUbUN/97UxNqWnEGwa1n2zC085dir/XtKeIljghemKNljghemINJM7+/RMDqstv09PYsWMpLS2lrKwMt9uN0+kkOzu7RZns7GxWrlwJwOrVq5k4cSKSJJGdnY3T6cTtdlNWVkZpaSnjxo1rt07DMNi7dy/gu0t57733GDp0aEAX0tPIhw6i9+nTM9Z5aoOeOhAtIxPL6/9p9Zxc9i3qrp14z54YtPib1opSvygOSn2CIISP3zsKVVXJz88nLy8PTdOYPXs2WVlZLF26lDFjxjBt2jTmzJnDggULcDgcJCUlsWTJEgCysrKYMWMGM2fORFEU8vPzURQFoM06dV3ntttuo7a2FsMwGDlyJAsXLgztKxAi8sFDaGPHRjqMDrknnkfMSy8gff89xnF3dOaiNQBoY8cF7Vz6gBSM2FjUbVuDVqcgCOEhGW11JEQZj0frcU1P/TLsuK+Yy7HZ/xPGqFprr+kJQN5binX+DdQ++Ah1eb9uftz6vz9G/WIbNU/8A8MbvP6VhDsWQGIilc41bT7fm27pe4poiTVa4oToiTWsTU9CF9TWItXVofew5TtOpA9Jx3vKqcQ+8iDSQd+8DxoaMK/7L97zJwc1SQBo6RkoO7/sEftzCIIQOJEoQqB5Vra1Zy3f0YokUXfdjUg1NSTefTt4vSTefCNSXS3es84J+um0jAyk6mqU/fv8FxYEocfo/rhHoZUflu/o2XcUAHraEBpm/w8xL72Abe8eTJ9/Rv1NN+MZMRKCfUfR1KG9/Qu0Qd1bFkQQhPARdxQhIB/soes8taN+9v+gpQ3xJYlb76D+opygJwnwNT0BqMWiQ1sQoom4owiBH9Z56uFNT01MJmr+sBC1ugrPiFGhmyAYG4dmTxVDZAUhyohEEQI/9FH0oE2L/DAGDMAzYABooZ33oaVnoOz4MqTnEAQhuETTUwhIB7/HSEzECMLSF72NnpGJvLcU6VjPH14oCIKPSBQh4JuV3bfHzsqOJC09A0nXUXftjHQogiAESCSKEJAPHcLo21fMF2iDluFbkkX0UwhC9BCJIgTkg99j9BGJoi16SgpGTIwY+SQIUUQkihCQDx3EsCVHOoyeSZbR0jNQv9we6UgEQQiQSBTBpmlIFRXotugZ8RRuWnqmWMpDEKKISBRBJlVUIBkGRg9f5ymStIwMpKNHUcq/i3QogiAEQCSKIFNc5QA9fkHASGru0BbNT4IQFUSiCDK5rAzA15kttEks5SEI0UUkiiBT9n0LgN63X4Qj6cHi4tBS7GKIrCBECZEogkwuK8OIicVIiI4FASNFT89AEU1PghAVRKIIMmVfGfqgQfSCjQNDSkvPQC7dA8eORTqU6CL+rnoEqfoouN2RDiNsAkoU69atIycnB4fDwfLly1s973a7mT9/Pg6Hg7lz57Jv3w8b0yxbtgyHw0FOTg7r16/3W+fvf/97cnJyuOSSS7jjjjvweDzdub6wk78rQ08dGPLF9aKdljkUSdcxfSWW8giUvLeUPmeMwbLylUiHcnI7epTk888m8bbfRTqSsPGbKDRNY9GiRRQUFOB0Olm1ahUlJSUtyhQWFmK1WlmzZg3z5s1j8eLFAJSUlOB0OnE6nRQUFLBw4UI0Teuwzssuu4y3336bN954g4aGBgoLC0Nw2aGj7CvDsNsjHUaP19yhvf2LyAYSRWKfexplXxmJt/wW+TuxS2CkyH98GKV8P5bCfyEdOhTpcMLCb6IoLi4mPT2dtLQ0zGYzubm5FBUVtSizdu1aZs2aBUBOTg4bN27EMAyKiorIzc3FbDaTlpZGeno6xcXFHdY5depUJElCkiTGjRuHy+UKwWWHSF0d8qFD6ANSIh1Jj6fbUzEsMajbxMingLjdxLzwHN7TJoDXi/U3vxaLTkaAvLcU+bGleM8+B8ntJvafT0c6pLDwmyhcLhf2474hp6SktPrwdrlcpKamAqCqKomJiVRWVrZ7bCB1ejweXnvtNSZPnty1K4sApfFbnt5XDI31S5bR0tNRvtgW6Uiignn1m8iHDuL+2S84dvU1mD5YR+xTrZuBhdCKv+8ekGXqbl6AZ/wEYp8qAK830mGFnN8NE9rqlJUkKaAy7T2ut/FN6MQ6Fy5cyJlnnsmZZ57pL0QURcJmi/NbLpgURW51TqnSl+zMqSmYEyxhjac9siyT0ENiOZGcNRxpwwZsSbEgSW2+pj1RJOJUXnwWY9BgzBPGwbhTMdatJf6ZJ7Hc0nE7uXhNg2jzZkyvr8SYP5+4/slIV/wI+Z57SP5gLcaPfhTp6FoJ5mvqN1HY7XYOHDjQ/LPL5WLAgAGtypSXl2O32/F6vVRXV2Oz2To8tqM6H3/8cQ4fPszjjz8e0EVomkFVVXg3wrHZ4lqdM2ZnCYlAXbwVvaYhrPG0JyHBQk0PieVE5oFDiKtyUr2zBC11UJuvaU8U7jjl0j30ffdd6q+/kfqjvlFiljHjiXnpBY6UHcBIbH/LXfGaBk/s22swAVr2NGqq6+HUCVj7D8B4dAlVF0yPdHitBPKa9u+fGFBdfpuexo4dS2lpKWVlZbjdbpxOJ9nZ2S3KZGdns3LlSgBWr17NxIkTkSSJ7OxsnE4nbrebsrIySktLGTduXId1FhYW8sEHH/CXv/wFWY6u0bvyvjIMRcFI7hPpUKKClpEJiKU8/Il5+UUMWcZz/tTmx7QRI5EMA9PWzRGM7OSibt2EnpoKTXOkFAV39kWYPtyAdKQqssGFmN87ClVVyc/PJy8vD03TmD17NllZWSxdupQxY8Ywbdo05syZw4IFC3A4HCQlJbFkyRIAsrKymDFjBjNnzkRRFPLz81EUBaDNOgHuueceBg4cyJVXXgmAw+HgxhtvDNX1B5VS9i2GPRUDyX9h4YeRT9u20jCt530j6ylMmz5DHzkKLSERNA0ALWuE77lPP8Z9XAIRQkfdugVt9Bikxt8BgDdrJACmHdtxT5wUqdBCLqBNnadOncrUqS3/GH/72982/7/FYuGxxx5r89jrrruO6667LqA6Ab788stAQuqR5O/2oQ8cKEajBCo+Hn1AiljKww91WzHe8yY1JwkAIyERbdBgTJ98HMHITh5S9VHUr0uod+S0+NDUMhsXuCze2qsTRXS17fRwyr4ydHuqmD3bCVpGJkoUfzkINcnlQj74PdrQ4a2e07JGomzZJP7ewkDd5vsyo2VmtnjcSE5Gt9lQt26KRFhhIxJFsHi9yOX7xRyKTtLSM5D3fAP19ZEOpUdStzd+QKWltXrOO3IkckUFStnecId10lG3bgFAS0tv+YQkoWUOQ/2id08cFYkiSOTy/Uiaht6/f6RDiSpaRiaSpqF+tSvSofRIzd9k04a0ek5rah/f9FlYYzoZqVs3o9tT0dsYYaZlZCLv/qpXr/0kEkWQKPua9qEQy4t3hpbuu5U3bRf9FG1Rv9iGljYEwxLT6jktPQPDbMb0seinCDW1eAva6FPbnFynZQ5F8npRd38VgcjCQySKIJHLGvehSE6OcCTRRbfbMSwW1GKRKNqiflGMPnJUi47sH55U0YZnoX7+SfgDO4lI1UdRvi5BGzGyzeebOrRNX/Te5WhEogiSpjsKsWFRJykK2pAMlO1iKY9WampQvvkabVjrjuwm3qwRvn09enGzR6Sp24qRDKNVR3YTPXWg78vOlt47p0UkiiBRvi7xfTs2mSIdStTR0jNQdn4pRu+cQP1yu+8Dakh6u2W0rJFIbjfqzh1hjOzk0m5HdhNFQUvPQO3F65aJRBEkyq6daMOz2m4iEDqkZQ5FrqqCfWLp7OM1razbVkd2k6bZ7aYdvXvUTSSpxVva7chuomUMRdmxvdd+2RGJIhh0HXX3LvSMob32DyWUmppWpE29eyx6Z6nbt6EnJ6Pb2u/30u2pGGYzanHvbR+PNHXHl2gjR3W4SqyWORTp6FGU78rCGFn4iEQRBPLeUqRjx9DbGOsu+KdlZGLIMtInH0U6lB5F/aIYfdQpHd+lKgrakHSUL8UdRUh4vShf70ZvXG6mPc0ztHvpKgMiUQSBusu3naeeOjDCkUQpiwV9SDrS559HOpKew+PxfZMdPsJvUV8fj+ijCAVl7x6khoY2Jzwe74d1y3pnP4VIFEGg7PK9Sb0DB0U4kujlHTYcacsW0XTXSCnZ7fuASm+/I7uJlp6JXFGBfPD7MER2clF2BvglMCYGbUAK6s7euRyNSBRBoO7cgT5wYJuTooTAaMOzkA4f7rVtvJ3V1ITRUUd2Ez0jA/CtYCoEl/qVL1FoAbQW6GlDUBpbF3obkSiCQNm1E21Y1kmxJWKoNC16ZyreEuFIegZ1WzGGJQbd7v8D6vjl2oXgUnbtQB80GMNs9ltWGzLEt25ZL/wcEImiuzQNteQr9MbOLKFrtIxMDEVB/ezTSIfSI6jbt6GNHNnmdsInMqxJ6H36ovTS9vFIUnc2Dnv3+h/2rqWlI3k8qKXfhCGy8BKJopuUvXuQ6uvFiKfuMpshMxNV7NgGhuEb8TRiZMB9NlpGBqpoegquAEc8NdGH+JoJe+PkR5EouqmpsyuQNkyhY0ZWFkpx8UnfoS1/tw+5srJ5yGUgtPQM5JLd4PGEMLKTS6Ajnppog9MwJKlXDlUWiaKb1MYRTyJRdJ8xYiTykaqTfn+FpqUg9MGB36Vq6Zm+Zo9vvg5VWCedgEc8NbHEoKfYUXf0vpFPASWKdevWkZOTg8PhYPny5a2ed7vdzJ8/H4fDwdy5c9l33FIMy5Ytw+FwkJOTw/r16/3W+fzzz+NwOBg5ciSHDx/uzrWFRWc6u4SOGY37ppt68eJqgVC3bcWQJLydaM5sWspD/VL0UwRLZ0Y8NdHT0lB64d4qfhOFpmksWrSIgoICnE4nq1atoqSkpEWZwsJCrFYra9asYd68eSxevBiAkpISnE4nTqeTgoICFi5ciKZpHdZ5+umns2LFCgYNio45CZ3p7BL8yMzEMJlQT/IZ2uoX29Azh2KogX/50AcOwlBV1C1i1FiwdOVLoJaW7hv51MuaAP0miuLiYtLT00lLS8NsNpObm0tRUVGLMmvXrmXWrFkA5OTksHHjRgzDoKioiNzcXMxmM2lpaaSnp1NcXNxhnaNHj2bw4MEhuNQQOHYMZfcutKHDIh1J72A2o2WNxPTxxkhHElHq9m1o/pbuOJHJhJY5DNNnYm+KYOnKl0AtbYhvE6M9vWvkk+qvgMvlwm63N/+ckpJC8QmbzLhcLlJTU30VqiqJiYlUVlbicrkYP358i2NdLheA3zo7Q1EkbLa4Lh/ftXPKJH+zA8njwTTuVNQES1jPHyhZlknoobGdSJZlGD8OqfBlbCYD4uMjHVKbFEUO3d9bZSXKt3thzuxO/97ksacivfkmtngTNC53H9JYg6jHxdk44sk4d2Kr30OH76lRvvlAid+WYJw9IdRRdiiYr6nfRNHWOG5JkgIq097juq77rbMzNM2gqqquy8d3hc0WR0PRf0kAau1D0Gsawnr+QCUkWKjpobGdKCHBQv2wkSR4vdS9tw73+VMjHVKbbLa4kP29mT78BBtQnzoYTyd/b6ahI4ivf5XaDz/BM973IRXKWIOpp8Wp7NpJn4YGjqUOwn3C76HD91RyCkmyjOezTdRclBuGSNsXyGvav39iQHX5bXqy2+0cOHCg+WeXy8WAAQNalSkvLwfA6/VSXV2NzWZr99hA6owGps8+Rsscip7QM7/5RiPvqFMwJAnThx9EOpSIMH28EUOSOtysqD3ekaN8dZzkfTzB0DSfJ9A5FM0sFvQUe69bpNFvohg7diylpaWUlZXhdrtxOp1kZ2e3KJOdnc3KlSsBWL16NRMnTkSSJLKzs3E6nbjdbsrKyigtLWXcuHEB1dnjGQamTz9GO22C6MgOpvh49IxMTB9uiHQkEWFa9z7aqWPQYzv/5cPo1x+9b7+Tvo8nGNTiLRixsWgpdv+FT9Abl333myhUVSU/P5+8vDxmzpzJjBkzyMrKYunSpc0d0HPmzKGqqgqHw8GKFSu45ZZbAMjKymLGjBnMnDmTvLw88vPzURSl3ToBnn32WaZMmcKBAwe47LLLuOuuu0J4+d3w1VfIFRVop4yOdCS9jveU0aibN/W6kSN+1dZi+uwTtLPO6fJOid6Ro8QyKEFg2rIZ7ZTRXZr7qWWNQCktRT5SGfzAIkQyAllMpofzeLSwt28mv/Yy6jV51BQ8g7dvv7CeuzOirY+ipqYB04b1xC9+mKp33sdz2umRDquVULWnm9a+i+3HV1C7+FE8w7K6VIfl9ZXEriigYttX6Cn2Htf2354eFaem0W/YINyzZnNszo9bPe3vPaUWbyHhnrs4+sprNEy5MJSRdiisfRRC2+QPP0S3JaMNSIl0KL2Ot/EuzbTx5OqnMK97H8Nsxtu4km5XeEee4qvrczFMtquUkt1IdXXoXRz27m1M8uqnved3IBJFF0kbN6KdNgGjjRFcQvcYffqi2VNPun4K07r30U4/A0NRulyHNnQYhmpC3fhhECM7uTR1ZHdlQAEA8fFog9N61ZwWkSi6QKo8jLRzB9qpY0/6BexCxTt6DKaNG06afgrp0CFMXxTjPeNM6M6XD5MJbXgWpk8/Dl5wJxl16+Yud2Q30YaPQNmyudd8PohE0QWmj33DD73Du9aOLPjnPetspKNHMZ8kI3jMG9YBvgTZXd7Rp6IUb0U6dKjbdZ2MTFu3oI0+tVuf8d4RI5ArDqHs3+e/cBQQiaILzG87MaxWtKFis6JQ8YyfgGEyYXG+HulQwsL03/fQrVa0tC42dxzHPfVCJK+X2MIXgxDZSUbTUL8o9i2h0o07Oy1rJACmTZ8HK7KIEomis7xeLG87MaZd1FvuKnum2Fi84ydgftvZa27f2yOX7iHmlZfwXnhRUPq89CHpeEeOIub5Z3r9axdsyu6vfB3Zw7o+oAB8+4MYqgn1k97RBCgSRSeZPvoQ+fBhjPMniTdhiHnOOgf5u+9Qe9nkpRYMg4S7bgVFpf4nPw3a35Q72+H70OtFI2/Codsd2U1MJrShQzFt+iwIUUWeSBSdZHG+jhETi3Fq99uShY55zjobQ5KwvLUq0qGEjPntN7GsWU3Dr65Hj4kNWr3u86dgWGKQnnwyaHWeDMzr/4ueZAvKsHctayTKF8Xg9QYhssgSiaIzdB2z8w28U6aC6nc9RaGbjOQ+aCNGYnZGeaKor8e0YT1xix8m9rG/YH7LiWnd+8Q+vpSE23+PNmIkDRdcGNw71Lg4POedj1z4MtTWBq/e3szjwfzOW3gvuBBD7/7vwps1AunYMUzbo38zKfFp1wnqps9QDpTTcN0NmEWzU1h4zjqH2OefQd5X1qmtQdtUV4fF+Tr6gBQ8Z54dlmXMY55dQcLdtyMdO4YhSUgn/N1o6RkcW3A7hhb8+TgNFzkwv/cuCY88QM3CB4Nef29j2rgBuaoK78TzgpK0vRN8c2IsK19pXs03WolE0QmWVa9jmEx4Ro9FbHwaHp5Jk4l54TniVvyDmrsXda0St5vYZ54k7tE/Ix/8HgBDVXHPuITqpX/FSAhsGYNO0XXi77uHuL8uxXP+FNyXXOobTq3pKN/tQ3K70TIy0eMTQtY0oZ1yKvrlPyL2icfRMjI5dvU1ITlPmwwDec83yAcPItccRU/ug3fCGdCN7QRCzfLmGxgxsXgaZ7d3l2G14p1wBpaV/6Ym/z6Qo7cBRySKQNXUEPOv5/FOnir2xw4j3Z6K59xJxKx4ktrf/h7DmtS5ChoaSPrfH2N+rwjPxHOp+8M9SNVHUYu3Yv53IbbSbzjyz0J0e2rwgjYMEm+6jpiXX6ThJz+l/ic/x2ha5E8Bb+ZxS0OEsv1aktCvuw6t/ADxdyxAT7LRMGtO9z+s6+pQd+9CqqhAPnqk+VxS46ZLyu5dmD77BLmiosVh2tBhHPvJzzh2zXUQ14M2KQJfs/JbTryTp2DIcvAGFUyeSvySP2H65CM8E88LSp2RIBJFgGJXFCAfPkzd//y4ezNnhU5rmDUb84b1xD67grob5wd+oMeD9Zp5mN8rou4P9+A+57zmD2bPqePwjBpN/OKHsc2YRtVKJ3pGZlDijfvTQ8S8/CL1N/yG+pzcLq8EGxSKQu3NC0hY+Aesv/4lnmeeouaue/GefU6nqzJ9+AExLzyH2fkGcm1Nm2UMsxk9bQjeyVPRThmNnmSDmBikb/difm8tCQ8sJOa1lRx5+p/o3R1ZFETqlk0o5ftxX/vroPYVec46B8NiIebfL0V1ohCrxwaitpa+Z41FGzWa2tvuBK8WNauyRkuc0HGs8ffehVK+n4rPt4MlgC1CvV4Sr8sj5rVXOXb7XTSce36bCV7Z8w0J99yF3r8/lavWYPTzvxJwR6tyWl55Cev11+CePZdj836JEeG9SppfU48Hy/tFWF56AbmiAvf5U6j7zc14Lsj2e4ehfL2b+Pw7saxZjZ6YiHf6xXgmnO7bOySusZ/HMDDiEzCSbBjQbnJUt2wi/i+PYKgqRwuexTPZt4thpFePjb//XmL/9hhHX/w3hp+BKp19T8X9+Y+oX2yjYntJ8xa14SBWjw2z2KefRD50iIarfiY2KYqQhllzkL//ntiXXvBfWNdJnH8DMa+9Sv3Nt7SbJAC0zKHU3Hk38r592K6aAzVtf1MOhOmDdSTOvwHPxPM49ov/F/Ek0YLJRIPjYo4+vpxj1/wKdddObFfOIvmiKVhee7XND3Z5/3ck3PY7kiefg+mjD6n/3a1UP/8SdT+/2ndHljEMbYDd9y8lFT0h0dfE1sEdlPe006n+418wbDaSfjIbs/ONUF51YBoasPznVbznTAxJs7J78lTkqkrM694Pet3hIu4o/JAqD9Nn0lloI0dRe/tdzYkiWr6pR0uc4CdWwyDhD7ehlO6h6o3VeMeOb7/cgpuJffYp6m+4ifqcmQE1/aiffkz8w/fjnXQ+Vc++1OGIqLa+qalbN5M06xKMgQOpfWgxeg/puGz3NfV4MH+4Hsurr6B8uxfNnopn8lQ8Z57tW6No104sbztB03DPnot7zv+gqcH7EJVqqol/YBHK7l1UP/YEsdf8v4jdUcT96SHi//QQtY/+H550/8vydPo95fFg/eXP0UadQtVrb4dtaH0w7yiUe++9994gxBRRum5QXx+CVUbr67FdNQdl7x6O3ZWPHvNDB5zZrOJ296BvjO2IljjBT6yShGfCGZjXv0/Mq4U0XH4FhtXassjhCqzXziPm1ULq866lPvdSCHDYqT5oMHrqQCyFL2H+8AMaLr283SaumBhTi783ZecObHMvw7BaqX34z+g9aI5Nu6+pon/+DGIAAAzhSURBVKBlZOKefjHa8CxkdwOmDzcQ88Z/MH34AXJNDd6LHNTdcTeeM87GkIKc+MwW3JPOx7T7K2Kf+gcYBsfOOjfso6KU3V9hvS4Pz4xcGi66OKD+iU6/pxQFvU9fYl4tRJJlPJMmdyPiwJ34d9qW+PgAmnEJsOlp3bp15OTk4HA4WL58eavn3W438+fPx+FwMHfuXPbt+2HFxGXLluFwOMjJyWH9+vV+6ywrK2Pu3LlMnz6d+fPn43a7A7qQoNN1rDdci+njjRy79368/cUGRZFm9OlDzZ33INXUYJtzGZZ//RNqapBcLiyvFpI8bTLm94qov/UO6i+7IuAk0cQz5QLqbrkd9fPPsP1oJsqX2/0eY3n5RZIvzgZZoe7hP6FH24g4RcFz1jnU3ngzRwue4ehTz3H01TeofuIf1F31v74+iFAN3oiNo+bOfNwXTUe5/z6s865Cqgrj9qGGQcKC+RixsTT84uqQDjrwTL0Qd/ZFxP75j77l86OM30ShaRqLFi2ioKAAp9PJqlWrKCkpaVGmsLAQq9XKmjVrmDdvHosXLwagpKQEp9OJ0+mkoKCAhQsXomlah3UuXryYefPm8c4772C1WnnllVdCcNkdU77YRtKVs7C88R/qf38rbrHvRI+hp2dQe/sfoKEB603X0W9UBv3GZmH99S99I3ye+Af1503u8pvec+4kau+4G/nbb0m+aDLxC+9G3lfWspBhoH60kcRr52G98VdoY8ZS8/gytLiEIFxhBEkSenIfDKTw9cWZzdRdfxPajTdiXrOaPmePJ/b/HoW60DZDyWXf+vpIPvyA+ptuDmqzWnvq8n6NnjoQ69U/I+bZFVG1tIffPorNmzfz+OOP82TjmjHLli0D4Fe/+lVzmV/+8pfceOONTJgwAa/Xy6RJk/joo4+a7xSayjaVA9qs89prr2XixIls2LABVVVbnbs9Xe6jMAyk2hqkw4eRy8sxbf4M04cbMK9+EyMpiYZfX0/DeVPa/NCJlrb/aIkTOhmrYaDu/grTZx+jDxyENmIk2uAhQdtxUDp6lNgXn/etXotvDoB36DCkujpM+/chlZZixMXj/t951M+89Id5Ej1MtPz+ExIsHPtiJzH/+iemjzeiJ1rxTJ6Ke+qFaMOz0AYNxkhOxjBbwGz2tfMH2kylaUjVR5EqK1G/KMb06SfEPPc0kmFQ/5vf0jCp7fd4R7F29TWVy74lbvnfUL/YhjZ0GA3TZ+AdfSp6egZGfHzjvwSMuDgMk9k3Se/4f51omgtmH4XfxlSXy4Xd/sNOTykpKRQXF7cqk5rqm7CkqiqJiYlUVlbicrkYP358i2NdLhdAm3VWVlZitVpRG9t47XZ7c/lQiPvTQ8QvfrjFY/qgQTT8v2twX/Yj35aUhgFqG1tTKkrbj/c00RIndDpW7+jReEePbvmgHJxrNfokU3fDb2iYdQWm4q0oxVtRy/f73sCjRlF/dR6eCadjyApGe38jPUG0/P4VBW34cGr/cA/qzh2Y1/8X06cfY3mz7VFRhiS17EMyjNb/Gh+XTvjyYJjNeCdPpf7a69Dj49t/j3cQa1dfUz0zk5oHH8H0+WfErPw3sSv+gdTQuaRjHJc49NSBHF73McQGb0HJtvhNFG3dcEgnZLX2yrT3uN7Gt74T6/T3+PFMJiXgzNjCnx6CRx5s8cclAzGN//yxdf6MEREtcUL0xBrb+C8aRMtr2hznxdNg/o0tn5SkH75NSxKtPhWO/5xor5Gk8T3+/9u735Cm+jYO4N899gjxmJo+7R7EEJSC0v4QlKZGdDandjY3dW96kSBC4AsXGsatPkIvSij6QwWGBFGQRFbMQF8IuWZYSkLK8NYXgsgU/APqNm24Nb3uF7Y9+tiW1prnvp/rA3uxH8dzvmc/t2t/zrmOjAj/BPAzZzT89GOarwb+8/v6sbX7uHbsf6wdiQKwJ8Rr5A+9Ln7DdwuFQqHA1NRU4P709DTkcvmGZSYnJ6FQKODz+bCwsID4+PiQf/ut8d27d8PlcsHn82HHjh2YmprasK2w+9bkMMb+uoI9n/l5/sO++2P2oUOHMDY2hvHxcXi9XrS3t0MQhHXLCIIAs9kMAOjo6EBGRgZkMhkEQUB7ezu8Xi/Gx8cxNjaGw4cPB12nTCZDeno6Ojo6AABms3nDthhjjEXWpk646+rqQkNDA5aXl1FcXIzy8nLcvXsXaWlpUKlU8Hg8qK6uxvDwMOLi4nDnzh0olastoR88eIBXr14hKioKtbW1OH36dNB1AquHx1ZWVsLpdOLAgQO4efMmov9qhxwyxtjfyN/izGzGGGO/jjT6DDDGGJMsLhSMMcZC4kKxRd9rZxIJNTU1OHnyJLRabWDM4XCgtLQUGo0GpaWlcDpXLyhDRLh69SpycnKg0+nwxx//bUthNpuh0Wig0WgCByOE0+TkJM6fP4/8/HyIoognT55IMqvH44HRaERBQQFEUcS9e/cABG8n8yMta8JpeXkZBoMhcCKrVHMKggCdTge9Xo+ioiIA0pt7P5fLBZPJhLy8POTn56O/v19yWUdHR6HX6wO3Y8eO4fHjx5HJSWzTfD4fqVQqstvt5PF4SKfT0cjISMRzfPz4kQYHB0kUxcDY9evXqampiYiImpqa6MaNG0REZLVaqaysjFZWVqi/v5+MRiMREc3Pz5MgCDQ/P08Oh4MEQSCHwxHWnNPT0zQ4OEhERAsLC6TRaGhkZERyWVdWVmhxcZGIiLxeLxmNRurv7yeTyURtbW1ERFRfX0/Nzc1ERPT06VOqr68nIqK2tja6ePEiERGNjIyQTqcjj8dDdrudVCoV+Xy+sOX0e/ToEVVVVdGFCxeIiCSb88yZMzQ7O7tuTGpz73f58mVqaWkhIiKPx0NOp1OyWYlWX4syMzNpYmIiIjn5E8UW2Gw2JCUlQalUIjo6GqIoorOzM+I5jh8/jri49ZcE7ezshMFgAAAYDAa8efNm3bhMJsPRo0fhcrkwMzOD7u5uZGVlIT4+HnFxccjKygr7O0u5XI7U1FQAQExMDJKTkzE9PS25rDKZDP/62lbc5/PB5/NBJpOht7cXubm5AIDCwsLAXFssFhQWFgIAcnNz0dPTAyJCZ2cnRFFEdHQ0lEolkpKSNnQx+FlTU1OwWq0wGo0AVt81SjFnMFKbewBYXFxEX19f4DGNjo5GbGysJLP69fT0QKlUYu/evRHJyYViC77VzuRXthjZitnZ2cDJiXK5HHNzcwA2Zva3RYn0vkxMTGB4eBhHjhyRZNbl5WXo9XpkZmYiMzMTSqUyaDuZUC1rfnXOhoYGVFdX4x9fr3cRqu3Ndub0KysrQ1FREZ4/fw5Amv+n4+PjSEhIQE1NDQwGA+rq6uB2uyWZ1a+9vT3w1XMkcnKh2ALaRDsTqQmWOZL78vnzZ5hMJtTW1iImJniH1e3MGhUVhdevX6Orqws2mw2jo6NBt7ldOd++fYuEhASkpaWFXG67c/o9e/YMZrMZDx8+RHNzM/r6+oIuu51ZfT4fhoaGcO7cObS2tmLnzp0hf3/c7sfV6/XCYrEgLy8v5HLhzMmFYgs2085kuyQmJmJmZgYAMDMzg4SEBAAbM/vbokRqX758+QKTyQSdTgeNRiPprAAQGxuL9PR0DAwMBNrJrM3izzk5OQkAm25ZEw6fPn2CxWKBIAioqqpCb28vrl27Jrmcfr/9tnoNl8TEROTk5MBms0ly7hUKBRQKRaCBaV5eHoaGhiSZFVg9oCY1NRX//np990jk5EKxBZtpZ7JdBEFAa2srAKC1tRUqlWrdOBFhYGAAu3btglwuR3Z2Nrq7u+F0OuF0OtHd3Y3s7OywZiIi1NXVITk5GaWlpZLNOjc3B5fLBQBYWlrChw8fkJKSErSdzFZb1oTLpUuX8O7dO1gsFty+fRsZGRm4deuW5HICgNvtxuLX64+73W68f/8e+/btk9zcA8CePXugUCgCnyJ7enqQkpIiyazA6tdOoigG7kckZ3h+g///YbVaSaPRkEqlosbGxm3JUFlZSVlZWXTw4EE6deoUtbS00NzcHJWUlFBOTg6VlJTQ/Pw8Ea0e0XPlyhVSqVSk1WrJZrMF1vPixQtSq9WkVqvp5cuXYc/Z19dH+/fvJ61WSwUFBVRQUEBWq1VyWYeHh0mv15NWqyVRFOn+/ftERGS326m4uJjUajVVVFSQx+MhIqKlpSWqqKggtVpNxcXFZLfbA+tqbGwklUpFGo2GrFZrWHOu1dvbGzjqSYo57XY76XQ60ul0dPbs2cBzRWpz7zc0NESFhYWk1WqpvLycHA6HJLO63W46ceIEuVyuwFgkcnILD8YYYyHxV0+MMcZC4kLBGGMsJC4UjDHGQuJCwRhjLCQuFIwxxkLiQsEYYywkLhSMMcZC4kLBGGMspD8BSrjyJ8ZxerYAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set_style(\"darkgrid\")\n", + "sns.kdeplot(loan_reg.loan_amount[loan_reg.loan_amount], color='r', shade=True);" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "country = 'Kenya'\n", + "\n", + "plt.figure(figsize=(16, 5))\n", + "plt.subplot(1,2, 1)\n", + "loan_reg[(loan_reg.funded_amount != 0) & (loan_reg.country == country)]['loan_amount'].plot.hist(bins=20, \n", + " title='Kenya\\nApproved');\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/server/anaconda3/lib/python3.7/site-packages/statsmodels/nonparametric/kde.py:448: RuntimeWarning: invalid value encountered in greater\n", + " X = X[np.logical_and(X > clip[0], X < clip[1])] # won't work for two columns.\n", + "/home/server/anaconda3/lib/python3.7/site-packages/statsmodels/nonparametric/kde.py:448: RuntimeWarning: invalid value encountered in less\n", + " X = X[np.logical_and(X > clip[0], X < clip[1])] # won't work for two columns.\n", + "/home/server/anaconda3/lib/python3.7/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", + " return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.kdeplot(loan_reg.funded_amount[loan_reg.funded_amount], color='b', shade=True);" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdMAAAFOCAYAAADdBvcwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xl01PW9//HXMDESlmaAk8wATaFq4gKIIEExFHBiwpKEJcSFXlCByBW5QM1RAa1RuEipeqrcSyu4AS5wFCFBCFYgrBFKShVTtttKSRuWDLlAwpJAksn39we3U/MjmoHvfLOMz8c5njPzXT7z/r7PN7z8fmbmOzbDMAwBAIBr1qKxCwAAoLkjTAEAMIkwBQDAJMIUAACTCFMAAEwiTAEAMIkwBQDAJMIUaEbcbrd27tzpe56Tk6PY2Fjl5+c3YlUAQhq7AADXJisrS/Pnz9fixYvVu3fvxi4H+EHjyhRohj766CPNnz9fb7/9ti9I9+7dq4ceekh9+vTR8OHDtXv3bt/248aN0+uvv66HHnpIvXr10oQJE3T69GlJ0qRJk/T+++/XGj8lJUWbNm2SJM2dO1cDBw5U7969lZqaqj179jTQUQLNB2EKNDMrVqzQggULtGzZMvXo0UOS5PF49O///u+aPHmy8vPzNWPGDE2bNs0XmJK0bt06/epXv9KuXbtUVVWld999V5I0cuRIffrpp77tDh06pJMnT2rAgAGSpB49eig7O1v5+flKTk7W9OnTdenSpQY8YqDpI0yBZuaLL75Qz549FRMT41u2Zs0aDRgwQAMHDlSLFi0UFxen7t27a9u2bb5tUlNT9dOf/lQtW7bUkCFDdPDgQUnSfffdp7///e8qLCz0jTV06FCFhoZKkkaMGKF27dopJCREEyZMUGVlpY4cOdJwBww0A4Qp0MzMnj1bhYWFeu655/TP36k4fvy4fv/736tPnz6+//70pz+ppKTEt19ERITvcVhYmMrLyyVJoaGhGjJkiD799FPV1NRo3bp1GjFihG/bd999V0OHDtWdd96pPn366Ny5czpz5kwDHS3QPPABJKCZ6dChg5YuXapx48bpxRdf1OzZs9WxY0eNGDFCc+fOvaYxR40apWeeeUZ33nmnwsLC1KtXL0nSnj179NZbb2np0qWKjo5WixYtFBsbK35sCqiNK1OgGXI6nVq2bJl27NihefPmafjw4dqyZYt27Nghr9erS5cuaffu3SouLvZrvF69eqlFixaaP3++hg8f7lt+4cIF2e12tW/fXtXV1Vq4cKHOnz9v1WEBzRZhCjRTHTt21LJly/T5559r+fLl+t3vfqfFixerX79+GjhwoN555x3V1NT4Pd6IESP0l7/8pdYUb//+/TVgwAANHjxYbrdb119/vTp27GjF4QDNmo0fBwcgSdnZ2froo4+0YsWKxi4FaHa4MgWgiooKLV++XA8++GBjlwI0S4Qp8AO3Y8cO9evXTx06dFBycnJjlwM0S0zzAgBgElemAACYRJgCsMTq1as1ZsyYxi4DaBCEKdCEjBs3TrGxsaqsrGzsUgBcBcIUaCKOHj2qPXv2yGazKTc315LXqK6utmRc4IeOMAWaiOzsbPXs2VOjRo1Sdna2b/nMmTOVmZmp8ePHq1evXho7dqyOHTvmW3/zzTfrvffeU3x8vO666y79+te/9t2sYfXq1XrooYc0b9489e3bV//93/+tmpoa/e53v9O9996rfv366ZlnntG5c+ckSRMnTtQHH3xQq67hw4drw4YNkqTDhw9r/Pjx6tu3rwYPHqz169f7tjtz5owef/xx9e7dW2lpafrHP/5hWa+ApoYwBZqINWvWKCUlRSkpKcrLy9P//u//+tatXbtWTzzxhHbv3q1bbrlFTz31VK19N27cqFWrVikrK0ubN2/WqlWrfOsKCgoUFRWlnTt3avLkyVq9erWysrL03nvvadOmTSovL9ecOXMkXf4d03Xr1vn2/eabb3T8+HENGjRI5eXlmjBhgpKTk7Vz50795je/0ezZs/XXv/5VkjRnzhxdf/31ysvL07x582rVAAQ7whRoAvbs2aPjx49r6NCh6t69u6KiomqF2qBBgxQbG6vQ0FA9+eST2rt3r06cOOFb/9hjj8nhcKhTp056+OGHa+0bGRmpcePGKSQkRC1bttTatWv16KOPKioqSq1bt1ZGRobWr1+v6upq3XfffTp06JDvynft2rVKSEhQaGiotm7dqs6dO2v06NEKCQlRt27dNHjwYH3++efyer3asGGDpk2bplatWikmJkajRo1quAYCjYwwBZqA7OxsxcXFqX379pKk5ORkZWVl+da7XC7f49atWys8PFwnT570Lfv2/XI7d+5ca92395WkkydP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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "country = 'Kenya'\n", + "\n", + "plt.figure(figsize=(16, 5))\n", + "plt.subplot(1,2, 1)\n", + "loan_reg[(loan_reg.funded_amount == 100) & (loan_reg.country == country)]['loan_amount'].plot.hist(bins=20, \n", + " title='Kenya\\nApproved');\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "##Proportion Plot\n", + "def proportion_plot(column, title='', figsize=(15, 5), top=20):\n", + " value_count = (100*column.value_counts()/column.shape[0])[:top]\n", + " plt.subplots(figsize=figsize)\n", + " sns.set_style(\"whitegrid\")\n", + " g = sns.barplot(x=value_count.index, y=value_count.values)\n", + " plt.title(title, size=20)\n", + " plt.xlabel(column.name, size=15); plt.ylabel('percentage', size=15)\n", + " plt.xticks(size=12, rotation=90); plt.yticks(size=15)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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NDni+KlYsaIWLVqkyMhI/fjjj1q7dq2kf8LdM888k+trlhd7X8uuXbtq6dKlmj9/vurWrav09HQtWbJEfn5+NvMsryV7n/l53bK3zev/RPbygvg/kdc8xOyzb5mZmXbv0573psTEREn/XJAoKioqz+1SU1Ot/+7Vq5d8fX311Vdfafbs2Zo5c6YsFovq1aunl156Kdc/MgAomgiEAIqEqy8yky37g2peVwbNXp7bX9fj4+NzfczZs2dt9n0zNfLq+0bcTB83K3uf2c/N1bJvL5FbcLBX9rC/2NjYPK9Kmn0mqG7dujbL8+rv6tfUnsfcyPOZ/QE+P1dxvXz5siIjI+Xv76/o6OgcgS37rNXNctTxc9ddd+njjz/W5cuXtX//fv3f//2f5syZozFjxqh48eLWoabXY+9rWbt2bdWsWdN6cZlNmzYpMTFRffv2zdfFZK7cZ1xc3HWviJu97dmzZ3X33XfnWJ/9fF7Zp8ViyXPob0EER3vY896U/TO0bNnymoHwau3bt1f79u2VlJSkPXv26LvvvtPixYvVp08frVy5Ms8/ygEoWhgyCqBIy76q4vbt23Ndn728Zs2aea67UnJysn7//XcVK1bMOjTyZmrkJfvsij1/2Tejj/zy8vLSnXfeqbi4uFxvT5B9SfubnS+Znp6uZcuWycXFRY899pg6deqU46tx48aScp+vePr0aZ04cSLH8uznJrf+du/enetZ0ms95noCAgJUqlQp/fHHH9cNhefOnVNSUpLq1KmTIwympqbq119/zfGY/8Lx4+bmpnvvvVf9+vXThx9+KOmf2xDk1428lk8++aTS0tK0dOlSLViwQBaLRY8//ni+a2afkd60adN1t81+Pq++TYT0T7i7+n1E+mcoaXx8fK6h8Jdffsl3n9dyI8fG9WQfz3v37r2huaylSpVSs2bN9M4776hDhw5KTEy8obm5AAoHgRBAkRYSEqKqVatq165dWr16tc261atXa8eOHapSpYpCQkJyPPabb77JMV8qMjJSycnJatOmjfWsws3UyEupUqVksVh0+vTpfD/GjD7s8dhjj8kwDL3//vs2HzYTEhI0ceJE6zY3I/sWAY0bN9bYsWM1ZsyYHF+ffPKJSpQooVWrVuUYNpiZmanx48fbBLzjx49r9uzZcnNzy3ExFemfYXBX319u3bp12r59uypXrnxDt51w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ateuXdq8ebOOHDmibt26OaSHmJgY7d+/X6mpqTbLBwwY4JD6henUqVMaNmyY9u/fL4vFoj179mj16tX68ccfNWbMmMJuDw6WlZWls2fPqly5coXdilOKj4/XhQsXbJbdcccdhdQN4BjMIdQ/N7yPjIzUjh07cnwY/eGHHxzSQ2F/GM5mGIZNfRcXx5xEzsrKynOdI3r4/ffftXPnzhzP/+DBg02vPWXKFCUnJ2vgwIFyd3c3vd7VmjVrpjfeeEMPPvigw2tnW7dunUaMGKHKlSvr4MGDqlatmg4cOKC6detq9uzZptdftWqVRo8erZYtW+rbb7/V7t279fPPP2vChAmaMWOG6fWzpaen6/DhwzmOw4YNG5pa980331RcXJz69eunvn37aufOnYqLi9MzzzyjFStWmFpbkt555x0tX75cYWFh8vT0tC63WCx6//33Ta9f2Pr06aPQ0FD169dP9evX144dO5ScnKxHHnlEGzZscHg/KSkpOnfunM0ysz4QL126VO3bt5ckLVq0KM/tzP5dePnyZX311Ve5fg6YO3euqbWzJSUl6a233tKaNWvk5uamvXv3av369dq3b5+GDh3qkB6utnXrVrm6uqpevXoOrevIYzDbpk2b9Nprr+ns2bM2r7/FYtHvv/9uau2iJDk5WYcPH87xxzmzfw/hX7Gxsdq/f3+OP0yY+T7IGUL9+2Ho+eef14gRI/TBBx9o2rRpioiIcEj9a30YdkQgjIuL09tvv60dO3YoKSnJZp2j3gTvueeePM+Smd3D/PnzNW7cODVq1EibNm1S06ZNtWXLFrVo0cLUutnmzJmjs2fPavr06SpTpozN8+CIP0ikp6erefPmpte5lo8//lhjx45V69atVa9ePS1dulSLFy/WwYMHHVL/008/1ZdffqkaNWpo1apVkqTq1atr//79DqkvSTt37tSQIUOUnp6ulJQUeXl5KTU1VbfffrvWr19vau1169Zp7dq1KlGihPUPMLfddpvi4uJMrZtt+fLlio6OVsWKFR1SL1vv3r01bdo0SVLXrl3zfA8yOxD8/PPPmjx5slxcXKw9eHt7Kzk52dS6Vzt48KBefPFF65lKwzCs/Zj1PrxixQprIFy2bFmu21gsFtN/F44bN05bt27V448/ro8//lhDhgzR119/rTZt2pha90qjRo1SqVKl9P3331vr1qlT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bmrSpIlDrzSZkJAgX19fhw6buvqX75VcXV0d0kNMTIx27NihHTt2aN++fbrzzjsVFhamevXqOeSDWFEwePBgNWvWTB07dtT48eO1YcMGeXh4qHz58po4caIpNU+ePJmv7cyeX7pv3z65urqqZs2aOnLkiN58802lpqbq5ZdfVmhoqKm1sxmGoZkzZ2rBggXW96EnnnhCTz/9tMP+P547d07Tp0+Xm5ubevfurZIlS+qH/2fvzeNqzN/4/1epKDLZtRhrZBmpJIaUUkbaRPZoirRQVLKkqGayZImMCGGsI1ooGfuWkVZpRggZRJssraflfP/oe+7POZ0y8/095v2+z69zPx+PHo9z7nPG9Z46577v631d1+t18yYKCgqojNCw8RkUEBcX1+pr06dPJxr79evXAABra2ucP39e7DU/Pz8qqt9GRkYoLS2FvLy8WAJEaobR0tISiZ7LyhEAACAASURBVImJAAATE5MW30NyhrE5W7ZswatXr7B27VrMmDEDiYmJCA0NRd++fanM8jYfXwHobIxxCaEEQvtm+PPnz2hsbISKigpqampw6NAhVFVVYdGiRdRkr/fs2SPyXFFREUOHDsX3339PJb4wPB4PdXV11JKBiRMnIiEhQWQH9sOHD7CxscGdO3eorOH58+fIyMgQU9ejMTMiCeTl5UmcvUR6ejoqKythaGhIfKd2zJgxePDggdjxcePGfXXH9r+muLgY79+/x8iRI6nFbIny8nIcOXIEx48fR1VVFZUq5d27d/H48WOxijANpeOWaGxsxPnz51FVVQVbW1soKSmxsg4O6UWaPoNaWlqMiE5zunfvjuXLl2P27NnE19HSdUDAmDFjiMeXBHg8HsLCwnD27FlUV1dDUVER9vb28PX1pdK19bVNMpIbY1LbMiopUtctoaamRjVe586dmccdOnSg1iYmoKGhAQ0NDXBzc6PyZQO+bnMhJycHOTk5NDY2UmmZaG1PhtZezblz5xAcHAx9fX2kpqbCwMAADx48gLGxMdG4X1NTE4aGspqrqyuqq6uhp6fHVIX+qZXtv+batWswMjJi2rdpVSWAprbllo7Ralt///49fHx8kJOTAzk5OWRlZeH3339HSkoKgoODqazh9u3bTIXw3bt3GDVqFLy9vancBAUHByM5ORkGBgZURIT+DbKysiKiO7S4du1ai9YPJBQGJa1V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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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VbVqVfXu3Vv79+9Pte2NGzc0ceJENWvWTJUqVVJwcLAaNGigN998U7/++qvd5wBA+jFCCECSZBiGJMlkMtksP3nypNq1a6cSJUqoefPmunPnjvz8/CRJ+/fvV2RkpG7evKmwsDA9//zzOnbsmJYtW6b169dr1qxZKleuXKpas2bN0pYtW9SkSRPVqlVLu3fv1qJFi7Rjxw7Nnz9f+fPnt277qDVmzpypLVu2qF69eqpatari4uIUGhqqLl26aM6cOTZT1qS7IxYP8qh9fP311/rhhx8UFhamKlWqaP/+/Vq5cqViYmK0dOlS+fj4PLCudPeD4muvvaYdO3YoICBAHTp00J07d7RmzRoNHDhQMTExGjRokCQpNDRUffv21eLFi3XmzJkHTuVLr7Fjx2rq1KnKly+fmjVrJl9fX23atEljx47V5s2b9cUXX8jb29u6/fTp03X8+HEFBwerTp06SkhI0J49exQVFaXt27dr1qxZ8vT0fOTn6vz582rbtq1u3Lih2rVrKzw8XPHx8Tp9+rS+++47derUKd1TfhMSErR48WL5+fmpYcOGun37tj766CMtWLBAPXv2TPV6eBDLa8hZ29/r/qmUllDbp0+fNAObh4eH+vTpo169eik6Olp9+vSRJBUqVEh169bVunXrtGbNmlTHEiclJWnJkiXy8PBQmzZtHrnn9HruuefUuHFjfffdd1q+fLnKlCnz2Ptcu3atNm3apAYNGig0NFQHDx7UmjVrtH37dn3zzTcKCAiQJGsA+/bbb+0eqxkdHS3J/rTZ+xmGoWHDhmnx4sXKly+fGjZsqPz58+vcuXPavn27SpYsaX3PcOQ1/rh+/PFHrV+/XrVq1VL79u119OhRbdy4UQcOHNCKFSus7799+/bVunXrFBMToy5duih37tySZHfEr3///jpw4IBq166tBg0aqECBAg/s4bffflP37t117do11axZU+Hh4bpy5YrWrVunDh06aOLEiapTp471eezRo4f27t2r4OBgRUREyNPTU+fOndOOHTsUEhKismXLZshzA7gtA4DbMJvNhtlsTrV8y5YtRmBgoBEYGGicPn3aMAzDOHXqlHX7Tz/9NNV9UlJSjJdeeskwm83G0qVLbdatWLHCMJvNRqNGjYzk5GTr8vHjxxtms9koU6aM8dtvv9nc54MPPjDMZrMxbNiwDKlRoUKFVDXufVxDhgyx+xxt27bNMJvNxvjx4zOkj+DgYCMmJsbmPoMGDTLMZrOxYsUKuz3cb8qUKYbZbDZ69OhhJCYmWpdfvHjRqFevnmE2m43du3fb3KdTp052/68fZMiQIYbZbDZOnTplXbZnzx7DbDYbderUMc6fP29dnpiYaLz++uuG2Ww2Jk+ebLOfkydPGikpKan2P27cOLuP29Hnas6cOYbZbDZmzZqVqsbNmzeN27dvp/sxL1++3DCbzca7775rXda3b1/DbDYbP//8c6rtLb8fnTp1SrXus88+M8xms1G/fn2nbD9x4kTDbDYbzZo1s1l+9uxZw2w2G6VLl37oY799+7ZRunRpw2w2G3/99Zd1+Y8//phm3bVr1xpms9no1atXqnWW94jx48fb/Zk6darN9gsXLnzg688iOjraMJvNRseOHR+43cNY6pnNZuOHH36wWTdr1izDbDYbXbp0sVnetGlTo2zZssalS5dslp88edIIDAw0XnnllXTV/vbbbw2z2Wy0adPGuH79us26pKQkIzY21nrb0de4vfepe9WrV8+oV6+ezTLLcxEUFJTqd3vMmDGG2Ww2pk2bZrPc3nvCvSzvM82aNUv1fN1bc+HChdZliYmJRoMGDYyyZcsa27dvt9n+3LlzRs2aNY0aNWoY8fHxhmEYRkxMjGE2m4033ngj1f6Tk5ONq1ev2u0NQPoxZRRwQ1FRUYqKitK4cePUv39/9ejRQ4ZhqGvXrqlOAFGwYEG7o0x79uzRsWPHFBwcnGpEoUmTJqpcubKOHz+u3bt3p7rvyy+/rNKlS9ss69evn3LlyqXly5dbpyE+To127dqlqvGoHqcPy5Sqe0VEREhSqiljaVm4cKFMJpOGDh1qMzJUoEAB6yjPw84Q+agWLlwo6e7IU6FChazLvby8NGTIEHl4eKSqXbx4cbsja127dpUkbdq0yW4tR5+r7Nmzp1rm6+trd3la5s2bJ0nWE7jc+2/LaJA9Z86csb6OPvroI3Xs2FGTJk2Sh4eHhgwZkqHbf/zxx+rSpYv++9//ys/PT++9957Ntpap1nnz5n3oY8+ePbvy5s0r6e/jTCWpVq1a8vf3144dO1JNo3zQyWQsJkyYYPdn2rRpD+wnLZZjX9MzlTY9qlWrpnr16tks69Spk5555hlt27ZNZ86csS5/9dVXlZCQoCVLlthsHx0dLcMw1L59+3TVnDt3riRp5MiRqUbVPD09bU604srXeJMmTVS9enWbZZb/2/S+J91vwIABNjM7HuTHH3/UyZMn1alTJ4WGhtqse+qpp9SjRw9duHBBW7dutVln73fbw8NDefLkeaSeAfyNKaOAG5owYYKku9NDc+fOrcqVK6tt27Zq0aJFqm1LlSpld1rj77//LknW08nfr1q1atq9e7d+//33VFOv7v8QIN2dhhQUFKQdO3bo6NGjCgoKeqwa5cuXt3ufR/E4fdibRlqkSBFJ0rVr1x5a+8aNGzpx4oSeeuopuye7qVatmiTp4MGDD93Xo7A8dkude5UsWVJPP/20Tp8+revXr1unlN26dUtz5szR999/rz///FM3b960mR55bxC5V3qfq7CwMI0dO1YjR47U5s2bVbNmTVWqVEnPP/+8Q1M8T5w4oR07dqhkyZI2l36oXbu2ChYsqO+//16XL1+2+0H3zJkz1teR5bIQ4eHhioyMVKVKlTJ0e4s8efJo9uzZqaY3G2lM906LYWeqqoeHh1q3bq2oqCjNnz/fegmOc+fOadOmTSpcuLDq1q2b5j7/+OOPdNVOL0cf08PYm/7p6empypUr6+TJkzp48KD1y7AWLVpozJgxmjdvnrp37y5JSkxM1OLFi5UnTx67Z3i9361bt3To0CEVLFjwoV9Mufo1bm96pSPvSfY48n67b98+SdLZs2fTPFZbko4ePao6dero+eefV1BQkJYvX64zZ86ofv36qly5ssqWLZuuKfcAHo5ACLghRz68pXWmxbi4OElK83TiltEky3b3Suv4Eksty30ep8aDzhDpqMfpw97xNpbj51JSUh5a+8aNGzY17mfp6fr16w/d16OwPKa06hcqVEhnz55VXFyccufOrcTERHXt2lX79++X2WxWkyZNlD9/fuuox4QJE+yeiEZK/3Pl7++vBQsWKCoqSps2bdLatWsl3f1Q271791TX8UuLZcSndevWNsu9vLz08ssv64svvtDixYv12muvpbpvaGiovvzyy3TVedztr169qrVr12rkyJHq3bu3FixYYPP/Yfn3lStXdOfOnQeOEt65c8f6of/+3+eIiAhNmjRJS5Ys0Ztvvilvb28tWLBAKSkpatOmjd3jPp3F8qVBekedHiat94P733Mkyc/PTy+//LK+/fZbbdu2TdWqVdP69et14cIF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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "proportion_plot(loan_reg.country, \n", + " title='Proportion of Applications by countries', \n", + " figsize=(15, 5), top=30)\n", + "\n", + "\n", + "proportion_plot(loan_reg[loan_reg.funded_amount != 0].country, \n", + " title='Proportion of loans APPROVED, by countries', \n", + " figsize=(15, 5), top=30)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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ffv06aefyuFw6J577rF8j6+tW7dq69atioqKUmRkpFq1aqXHHntMNWrUsDRHNh8fH/cFbHp6uu644w798ccflufIvqA9d+6cHnjgAcvbv1yPHj3Uv39/JSYmatq0aVq7dq2GDBlieQ5TFtLy8/PTjz/+6F5BeOfOnbbM277lllvUtm1b99YlZcuW1UMPPWR5Dimr9/SLL76wtfjJVqVKFSUnJ+eYw5bd+zFq1ChNmTLFkhxBQUEKCgqSy+Vy3zi2Svny5VWjRg35+vrq//7v/9zHAwICbF35uV+/fkpJSdGwYcPc08LCwsIszRAcHKyQkBBbi9NPP/1US5cu1dGjR3OsjXH+/Hn31lFWevfddzVx4kRNnDjRfS1g1/B0u1fxzTZmzBj997//dY90s3Nl4//85z9atmyZzpw5ow0bNig+Pl5vvPGGFixYUKjtFskCNSMjQxcuXJDT6czxwVuyZEm99957tmQaO3ase57UgAEDFBAQoIEDB1o+T0oyYw7bL7/8og8++EDHjx/PMezL6mG1klS1alX16NFD999/v60rG+/du1fjxo1zf9+qVSt3L6aVTLnAnT17ttauXev+0A0LC9PDDz+sl156ybIMXl5eatmypVq2bKn09HRFRka6C6IePXpYliNbcHCwzp49q4ceeki9evVSYGBgjmE+Vvnss8/03nvvyc/PTw6Hwz0Sw+r5lpLUsWNH1a5dW9u2bZPL5dL777/v3jbCSqYspDV27FgNGzbMPUUgMDAw1z3zCptdFy25qVGjhk6ePGnLe+XPoqOjc93yZsmSJe6i1Qp23iy+6667dNddd6ljx47uG24pKSmKj4+3ZcGobNk32y6fFma1oUOHqm/fvh47LTz77LOWZejQoYNatmypqVOn5rhhEBAQYPn8Uynrps6///1vy9vNjd2r+F7u7rvvlpeXl61DjaWskZmX791brVo1S1ZJL5IFavbcgS5duti2GfefmTJPypQ5bK+99ppef/11I4ax3Hrrrbr11luVkZFh68rGZcuW1fvvv6+OHTvK4XBo9erVtgw7vvwC1+VyqXTp0rZc4EZGRioiIsJ9AdOnTx916dLF0gJVyuqp/OabbxQZGanY2Fj16NHDtjlSs2fPliQNHDhQTZs2VUpKilq0aGF5jvnz5ysyMtLWi8m0tDT3Xf6aNWvq73//u62LimVfIAQEBNi6EmlISIhWr17tLlBLlixpSw67Llpyk91jWa9evRzb/1g9h1zK6nG5fMXL48ePKzk5WZIs3ZqoR48eufYoW3kt0KdPH82ePVtOp1OdOnVS6dKl1axZMw0bNsyyDFLWsNqr9a6PGjXKsizvvfeevL29lZKSYluPf/baLUOGDNEtt9wiHx8fbd++Xb/99ps6d+7snoZklbS0NIWHh+v333/P0bFix+es3av4ZjNlqLGUNXro8pspVq01UCQL1GzDhw+3/QM4mynzpEyZw1auXDlb551eLvtOcvaefXb517/+pVmzZrnzNGrUSP/6178sz2HKBW7lypWVlpaWY0jr5fOWrTBs2DD9/vvvatGihQYMGKCaNWta2v7l/rzfWJMmTWzLkj2X3k7Dhg2Tt7e3GjVqpE2bNungwYMaOXKk5TlMW0jr1KlTmjp1qhISEjRv3jwdOHBAu3btUvfu3S3NYddFS24GDhxoW9t/Nnz4cD399NPuLW9iYmL0xhtv6MKFC5bOib28CExLS9P69estn9d35swZlSxZUsuXL1fnzp01ePBgdezY0fICtU6dOu6vZ86caev/l6SkJCN2WpDkHuV35MgRjRw5Uq1bt9arr76quXPnWppj6NChql69urZs2aL+/ftrzZo1ql69uqUZsg0bNizHKr52Da01ZaixlDUC84MPPlBqaqq2bt2qTz/91JLdUop0gWrCB3A2k+ZJmTCHbdCgQRo5cqRCQ0NzXMTY0TO1a9cujRw5UhcuXNA333yj/fv367PPPtPYsWMtzVGmTBlL79ReyeXztrOVLFlSderUUUhISKG3n30328fHR+3bt9d9990nh8OhrVu3Wr6K76pVq+Tv768//vgjx5AvqxcXk+zdb+zPXn31VT355JOqX79+jvevlf9/Dx486J4S0K1bN8sLsGzPP/+8Le1eyfDhw9W1a1d3YVytWjW9/PLLlv9+7LpoyY2dN3P+rFWrVlq/fr0OHTokl8ul6tWru/8m9+zZ07IclxdlktSwYUPLV6x1Op1KSkrS2rVrNXjwYNt6DLNXqJWyFk28/Hur3Xvvvfr+++/dC67ZqVixYvL29tb69ev13HPPqUePHrYsLHb06FG999572rhxo7p06aLHHnvMlgXXnE6nevfurU8++cS2UVTZTBpq/Nprryk8PFw1a9bUsmXL1KpVK0v+3hTp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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "loan_reg.groupby(['country']).agg({'lender_count':'mean'}).sort_values(by='lender_count',\n", + " ascending=False).plot.bar(figsize=(16, 5))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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8cQTvP766yxfvpw33njjgnUcP36c22+/nQ0bNlCjRg0+++wzhgwZQps2bZg7dy5r1649b/icExAQwOrVqxk3bhxvv/029evXZ9y4cUycOJG1a9fSuXNnnn/+ee666y5WrlxJdHQ0f/3rXx3rHzhwgPnz5/P3v/+diIgINm7cCJRcniclJYU2bdrQtGlT3n//fdasWcO0adN47bXXrsRLJtcQjYDkupSfn09UVBQnTpygdevW9OjRA4AdO3awY8cOx++55ObmcuzYMUJDQwkNDaVTp04ADB8+nH//+99MmjSJXbt2sWTJEvLz88nIyHBcR2/MmDGsXLmSJ598kk8++YQVK1Y4tn/uml433ngjubm5jqsoe3h4kJWVVWEd9evXp1WrVgC0bt2aEydOXPT+n7twZps2bfjiiy/KbfP1119z9OhRx/2zZ886rhkYHh7uCLmhQ4dy9913M23aNDZu3MiQIUMAyM7O5vHHH+f48eNYLBYKCwsvuk65timA5Lp0bg4oOzubyZMns3TpUu68804Mw+D//u//GDduXKn2iYmJZa7BZbFYsNlszJo1i5UrVxIaGkp0dDQ2mw2AwYMHM2/ePG655RZat25NQECAY103NzcArFZrqWueWa1WioqKKqzjt+1dXFwc27sYv91+cXFxuW3sdvt5D+V5eXk5boeEhFCzZk0OHTrExo0bmTVrFgCvv/46Xbt2Zd68eSQmJnLnnXdedJ1ybdMhOLmu1ahRg7/+9a+8/fbbFBYW0rNnT1auXElOTg5Qcmn81NRUAJKSkhyT9Bs2bKBTp06O//wDAgLIyclxXNEZSkYzPXv25G9/+xujRo26qLoqquN8fHx8HO0vxe/X79mzJ++//77j/rnDieWJiIhgyZIlZGdn06JFC6BkBHTuZz7OzYWJ/JYCSK57N910Ey1btmTDhg307NmTYcOGMW7cOCIjI5k2bZrjP+VmzZqxevVqIiMjyczMZPz48fj5+TFmzBgiIyOZOnWq4+rG50RGRmKxWC76ZykqquN8Ro4cyTPPPENUVBT5+fkX1wlAv379+OKLL4iKiuK7777jL3/5C/v37ycyMpJbb72VZcuWnXfdwYMH88knnzB06FDHsnvvvZdXX32VcePGnXeUJdc3XQ1bxAmJiYncf//9rF+//qLWe+utt8jOzubhhx+upMpErl6aAxKpJFOnTiU+Pp53333X7FJEqiWNgERExBSaAxIREVMogERExBQKIBERMYUCSERETKEAEhERU/w/gMoWQlWs+S4AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "repayment = loan_reg.repayment_interval.value_counts()\n", + "sns.barplot(x = repayment.values, y = repayment.index);\n", + "for i, v in enumerate(repayment.values):\n", + " plt.text(0.8, i, v, color='k',fontsize=19)\n", + "plt.xlabel('Repayment Interval')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Repayment Interval Proportion');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Part of my visualizations are not my original work but a try outs. \n", + "\n", + "Reference Gaurav Modi\n", + "10 Apr 2018\n", + "Data Source: https://www.kaggle.com/kiva/data-science-for-good-kiva-crowdfunding/data\n", + "Notebook on Kaggle: https://www.kaggle.com/modigaurav/exploration-of-kiva" + ] + }, + { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}