diff --git a/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/DAY 1 GUIDELINES.txt b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/DAY 1 GUIDELINES.txt new file mode 100644 index 0000000..71876c2 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/DAY 1 GUIDELINES.txt @@ -0,0 +1,11 @@ +DAY 1 GUIDELINES + +- - - inTRODUCTION TO PYTHON AND WHAT IS DATA SCIENCE ALL ABOUT +- - -VARIABLES +- - -ASSIGNMENT +- - -CONDITIONS +- - - FUNCTIONS +- - - LOOPS -for, while, infinite, braek, continue +PS: Give students some classwork to do as regards the above topics covered +- - - LISTS +- - - DICTIONARIES \ No newline at end of file diff --git a/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/LIST AND DICTIONARES.ipynb b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/LIST AND DICTIONARES.ipynb new file mode 100644 index 0000000..4587f29 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/LIST AND DICTIONARES.ipynb @@ -0,0 +1,670 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Like a string, a list is a sequence of values. In a string, the values are characters;\n", + "in a list, they can be any type. The values in list are called elements or sometimes\n", + "items.\n", + "There are several ways to create a new list; the simplest is to enclose the elements\n", + "in square brackets ([ and ]):" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "list=['spam', 2.0, 5, [10, 20]] # A list within another list is nested." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Cheddar', 'Edam', 'Gouda'] [17, 123] []\n" + ] + } + ], + "source": [ + "cheeses = ['Cheddar', 'Edam', 'Gouda']\n", + "numbers = [17, 123]\n", + "empty = []\n", + "print(cheeses, numbers, empty)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lists are mutable\n", + "The syntax for accessing the elements of a list is the same as for accessing the\n", + "characters of a string: the bracket operator. The expression inside the brackets\n", + "specifies the index. Remember that the indices start at 0:\n", + "\n", + "Unlike strings, lists are mutable because you can change the order of items in a\n", + "list or reassign an item in a list. When the bracket operator appears on the left\n", + "side of an assignment, it identifies the element of the list that will be assigned.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cheddar\n" + ] + } + ], + "source": [ + "print(cheeses[0])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[17, 5]\n" + ] + } + ], + "source": [ + "numbers = [17, 123]\n", + "numbers[1] = 5\n", + "print(numbers)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The \"in\" operator also works on lists." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cheeses = ['Cheddar', 'Edam', 'Gouda']\n", + "'Edam' in cheeses" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Traversing a list\n", + "The most common way to traverse the elements of a list is with a for loop. The\n", + "syntax is the same as for strings:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cheddar\n", + "Edam\n", + "Gouda\n" + ] + } + ], + "source": [ + "for cheese in cheeses:\n", + " print(cheese)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "for i in range(len(numbers)):\n", + " numbers[i] = numbers[i] * 2" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "34" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "numbers[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "10" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "numbers[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 4, 5, 6]\n" + ] + } + ], + "source": [ + "a = [1, 2, 3]\n", + "b = [4, 5, 6]\n", + "c = a + b\n", + "print(c)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## List slices\n", + "The slice operator also works on lists:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['b', 'c']" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t = ['a', 'b', 'c', 'd', 'e', 'f']\n", + "t[1:3]" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['a', 'b', 'c', 'd']" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t[:4]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['d', 'e', 'f']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t[3:]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['a', 'b', 'c', 'd']\n" + ] + } + ], + "source": [ + "t = ['a', 'b', 'c']\n", + "t.append('d')\n", + "print(t)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['a', 'c', 'd']\n" + ] + } + ], + "source": [ + "t.pop(1)\n", + "print(t)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The break statement ends the current loop and jumps to the statement immediately foolowing the loop." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> GIN\n", + "GIN\n", + "> done\n", + "Done!\n" + ] + } + ], + "source": [ + "while True:\n", + " line = input('> ')\n", + " if line == 'done':\n", + " break\n", + " print(line)\n", + "print('Done!')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### All the lines are printed except the one that starts with the hash sign because when the continue is executed, it ends the current iteration and jumps back to the while statement to start the next iteration, thus skipping the print statement." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "> him\n", + "him\n", + "> pin\n", + "> done\n", + "Done!\n" + ] + } + ], + "source": [ + "while True:\n", + " line = input('> ')\n", + " if line[0] == 'p':\n", + " continue\n", + " if line == 'done':\n", + " break\n", + " print(line)\n", + "print('Done!')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Sometimes we want to loop through a set of things such as a list of words, the lines in a file, or a list of numbers. When we have a list of things to loop through, we can construct a definite loop using a for statement. We call the while statement an indefinite loop because it simply loops until some condition becomes False, whereas the for loop is looping through a known set of items so it runs through as many iterations as there are items in the set.The syntax of a for loop is similar to the while loop in that there is a for statement and a loop body:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Happy New Year: Joseph\n", + "Happy New Year: Glenn\n", + "Happy New Year: Sally\n", + "Done!\n" + ] + } + ], + "source": [ + "friends = ['Joseph', 'Glenn', 'Sally']\n", + "for friend in friends:\n", + " print('Happy New Year:', friend)\n", + "print('Done!')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] + } + ], + "source": [ + "word = 'banana'\n", + "count = 0\n", + "for letter in word:\n", + " if letter == 'a':\n", + " count = count + 1\n", + "print(count)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "stuff = 'Hello world'" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__add__',\n", + " '__class__',\n", + " '__contains__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getitem__',\n", + " '__getnewargs__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__iter__',\n", + " '__le__',\n", + " '__len__',\n", + " '__lt__',\n", + " '__mod__',\n", + " '__mul__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__rmod__',\n", + " '__rmul__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__subclasshook__',\n", + " 'capitalize',\n", + " 'casefold',\n", + " 'center',\n", + " 'count',\n", + " 'encode',\n", + " 'endswith',\n", + " 'expandtabs',\n", + " 'find',\n", + " 'format',\n", + " 'format_map',\n", + " 'index',\n", + " 'isalnum',\n", + " 'isalpha',\n", + " 'isdecimal',\n", + " 'isdigit',\n", + " 'isidentifier',\n", + " 'islower',\n", + " 'isnumeric',\n", + " 'isprintable',\n", + " 'isspace',\n", + " 'istitle',\n", + " 'isupper',\n", + " 'join',\n", + " 'ljust',\n", + " 'lower',\n", + " 'lstrip',\n", + " 'maketrans',\n", + " 'partition',\n", + " 'replace',\n", + " 'rfind',\n", + " 'rindex',\n", + " 'rjust',\n", + " 'rpartition',\n", + " 'rsplit',\n", + " 'rstrip',\n", + " 'split',\n", + " 'splitlines',\n", + " 'startswith',\n", + " 'strip',\n", + " 'swapcase',\n", + " 'title',\n", + " 'translate',\n", + " 'upper',\n", + " 'zfill']" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(stuff)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## DICTIONARIES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A dictionary is similar to a list, but you access values by looking up a key instead of a numeric index. A key can be any string or number. The syntax to define an empty dictionary is:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ola\n" + ] + } + ], + "source": [ + "participant = {'name': 'Ola', 'country': 'Poland', 'favorite_numbers': [7, 42, 92]}\n", + "# With this command, you just created a variable named participant with three key–value pairs:The key name points to the value\n", + "#'Ola' (a string object),country points to 'Poland' (another string ),and favorite_numbers points to [7, 42, 92] \n", + "#(a list with three numbers in it).You can check the content of individual keys with this syntax:\n", + "\n", + "print(participant['name'])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "participant['favorite_language'] = 'Python'" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'country': 'Poland',\n", + " 'favorite_language': 'Python',\n", + " 'favorite_numbers': [7, 42, 92],\n", + " 'name': 'Ola'}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "participant" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## INTRODUCTION TO DATA ANALYSIS" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Libraries include Numpy, Pandas, Matplotlib, Seaborn e.t.c" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "name =input('What is your name?\\n')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/Python Crash Course Exercises .ipynb b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/Python Crash Course Exercises .ipynb new file mode 100644 index 0000000..ea4883d --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/Python Crash Course Exercises .ipynb @@ -0,0 +1,450 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Python Crash Course Exercises \n", + "\n", + "This is an optional exercise to test your understanding of Python Basics. \n", + "\n", + "# CLASSWORK" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exercises\n", + "\n", + "Answer the questions or complete the tasks outlined in bold below, use the specific method described if applicable." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** What is 7 to the power of 4?**" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2401" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def power(a):\n", + " return a**4\n", + "power(7)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Split this string:**\n", + "\n", + " s = \"Hi there Sam!\"\n", + " \n", + "**into a list. **" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Hi', 'there', 'Sam']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s = \"Hi there Sam\"\n", + "sList=s.split()\n", + "sList" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Hi', 'there', 'Dad']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = \"Hi there Dad\"\n", + "aList=a.split()\n", + "aList" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Given the variables:**\n", + "\n", + " planet = \"Earth\"\n", + " diameter = 12742\n", + "\n", + "** Use .format() to print the following string: **\n", + "\n", + " The diameter of Earth is 12742 kilometers." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The diameter of Earth is 12742 kilometers.\n" + ] + } + ], + "source": [ + "planet = \"Earth\"\n", + "diameter = 12742\n", + "\n", + "print('The diameter of {} is {} kilometers.' .format(planet,diameter))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The diameter of Earth is 12742 kilometers.\n" + ] + } + ], + "source": [ + "planet = 'Earth'\n", + "diameter = 12742\n", + "\n", + "print ('The diameter of {} is {} kilometers.' .format(planet,diameter))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Given this nested list, use indexing to grab the word \"hello\" **" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "lst = [1,2,[3,4],[5,[100,200,['hello']],23,11],1,7]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['hello']" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lst[3][1][2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Given this nested dictionary grab the word \"hello\". Be prepared, this will be annoying/tricky **" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "d = {'k1':[1,2,3,{'tricky':['oh','man','inception',{'target':[1,2,3,'hello']}]}]}" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'hello'" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d['k1'][3]['tricky'][3]['target'][3]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** What is the main difference between a tuple and a list? **" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Create a function that grabs the email website domain from a string in the form: **\n", + "\n", + " user@domain.com\n", + " \n", + "**So for example, passing \"user@domain.com\" would return: domain.com**" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'domain.com'" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def domain(string):\n", + " getDomain=string.split('@')\n", + " return getDomain[1]\n", + "\n", + "domain('user@domain.com')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Create a basic function that returns True if the word 'dog' is contained in the input string. Don't worry about edge cases like a punctuation being attached to the word dog, but do account for capitalization. **" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def findDog(string):\n", + " if 'dog' in string.lower():\n", + " return True\n", + " else:\n", + " return False\n", + "\n", + "findDog('Is there a Dog here?')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Create a function that counts the number of times the word \"dog\" occurs in a string. Again ignore edge cases." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2\n" + ] + } + ], + "source": [ + "def countDog(string):\n", + " count = 0\n", + " for word in string.split():\n", + " if word == 'dog':\n", + " count = count + 1\n", + " print(count)\n", + " \n", + "countDog('This dog runs faster than the other dog dude!')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Use lambda expressions and the filter() function to filter out words from a list that don't start with the letter 's'. For example:**\n", + "\n", + " seq = ['soup','dog','salad','cat','great']\n", + "\n", + "**should be filtered down to:**\n", + "\n", + " ['soup','salad']" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "seq = ['soup','dog','salad','cat','great']" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['soup', 'salad']\n" + ] + } + ], + "source": [ + "seq1 = filter(lambda x:x.startswith('s'), seq)\n", + "print(list(seq1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Final Problem\n", + "**You are driving a little too fast, and a police officer stops you. Write a function\n", + " to return one of 3 possible results: \"No ticket\", \"Small ticket\", or \"Big Ticket\". \n", + " If your speed is 60 or less, the result is \"No Ticket\". If speed is between 61 \n", + " and 80 inclusive, the result is \"Small Ticket\". If speed is 81 or more, the result is \"Big Ticket\". Unless it is your birthday (encoded as a boolean value in the parameters of the function) -- on your birthday, your speed can be 5 higher in all \n", + " cases. **" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def ticket(birthday,speed):\n", + " getBirthday = input('Please enter birthday: ')\n", + " getBirthday = int(getBirthday)\n", + " speed = input('Enter speed: ')\n", + " speed = int(speed)\n", + " \n", + " if speed <= (60 + 5) and birthday == getBirthday :\n", + " print(\"'No ticket'\")\n", + " elif speed <= 60 and birthday != getBirthday:\n", + " print(\"'No ticket'\")\n", + " elif speed >= (81 + 5) and birthday == getBirthday:\n", + " print(\"'Big ticket'\")\n", + " elif speed >= 81 and birthday != getBirthday:\n", + " print(\"'Big ticket'\")\n", + " else:\n", + " print(\"'Small ticket'\")\n", + "ticket(10,60)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ticket(20,85)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Great job!" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/Python-for-Everybody.pdf b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/Python-for-Everybody.pdf new file mode 100644 index 0000000..9b9aedb Binary files /dev/null and b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/Python-for-Everybody.pdf differ diff --git a/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/TO DO ASSIGNMENT.txt b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/TO DO ASSIGNMENT.txt new file mode 100644 index 0000000..a2a20a0 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 1 PYTHON/TO DO ASSIGNMENT.txt @@ -0,0 +1,63 @@ +Exercise 1: Write a program that uses input to prompt a user for their name and +then welcomes them. +Enter your name: Chuck +Hello Chuck + +Exercise 2: Write a program to prompt the user for hours and rate per hour to +compute gross pay. +Enter Hours: 35 +Enter Rate: 2.75 +Pay: 96.25 + +Exercise 3: Assume that we execute the following assignment statements: +width = 17 +height = 12.0 +For each of the following expressions, write the value of the expression and the +type (of the value of the expression). +1. width//2 +2. width/2.0 +3. height/3 +4. 1 + 2 \* 5 + +Exercise 4: Write a program which prompts the user for a Celsius temperature, +convert the temperature to Fahrenheit, and print out the converted temperature. + +Exercise 5: Rewrite your pay computation to give the employee 1.5 times the +hourly rate for hours worked above 40 hours. +Enter Hours: 45 +Enter Rate: 10 +Pay: 475.0 + +Exercise 6: Rewrite your pay program using try and except so that your program +handles non-numeric input gracefully by printing a message and exiting the +program. The following shows two executions of the program: +Enter Hours: 20 +Enter Rate: nine +Error, please enter numeric input +Enter Hours: forty +Error, please enter numeric input + +Exercise 7: Rewrite your pay computation with time-and-a-half for overtime and +create a function called computepay which takes two parameters (hours and rate). +Enter Hours: 45 +Enter Rate: 10 +Pay: 475.0 + +Exercise 8: Write a program which repeatedly reads numbers until the user enters +“done”. Once “done” is entered, print out the total, count, and average of the +numbers. If the user enters anything other than a number, detect their mistake +using try and except and print an error message and skip to the next number. +Enter a number: 4 +Enter a number: 5 +Enter a number: bad data +Invalid input +Enter a number: 7 +Enter a number: done + +Exercise 9: +Take the following Python code that stores a string:‘ +str = ’X-DSPAM-Confidence:0.8475’ +Use find and string slicing to extract the portion of the string after the colon +character and then use the float function to convert the extracted string into a +floating point number. +16 3 5.333333333333333 \ No newline at end of file diff --git a/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Data Input and Output.ipynb b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Data Input and Output.ipynb new file mode 100644 index 0000000..87f8158 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Data Input and Output.ipynb @@ -0,0 +1,267 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['#1millionwomentotech #SummerOfCode Mentor Onboarding.html',\n", + " '#1millionwomentotech #SummerOfCode Mentor Onboarding_files',\n", + " '.ipynb_checkpoints',\n", + " '1MWTT Mentor FAQ - Google Docs.html',\n", + " '1MWTT Mentor FAQ - Google Docs_files',\n", + " '220P II.xlsx',\n", + " 'aaua design - Shortcut.lnk',\n", + " 'ACME',\n", + " 'Anaconda Prompt.lnk',\n", + " 'comfirmation mail.html',\n", + " 'comfirmation mail_files',\n", + " 'Command Prompt.lnk',\n", + " 'Data Input and Output.ipynb',\n", + " 'desktop.ini',\n", + " 'Excel_Sample.xlsx',\n", + " 'film 2017',\n", + " 'lyric',\n", + " 'Microsoft Excel 2010.lnk',\n", + " 'Microsoft PowerPoint 2010.lnk',\n", + " 'Microsoft Word 2010.lnk',\n", + " 'notepad.png',\n", + " 'NumPy.ipynb',\n", + " 'PROJECT 2017',\n", + " 'project.lnk',\n", + " 'Python',\n", + " 'Python Crash Course Exercises .ipynb',\n", + " 'Python files',\n", + " 'python videos',\n", + " 'python.py',\n", + " 'Questions on Numpy.ipynb',\n", + " 'R studio programs',\n", + " 'ST. ALBERT CATHOLIC CHURCH UNIBEN_UBTH _ A Committed Christain Family.html',\n", + " 'ST. ALBERT CATHOLIC CHURCH UNIBEN_UBTH _ A Committed Christain Family_files',\n", + " 'TheInternet.jpg',\n", + " 'WampServer.lnk',\n", + " 'WhatsApp Documents - Shortcut.lnk',\n", + " 'WinRAR.lnk']" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import os\n", + "os.listdir()" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "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", + "
abcde
00123NaN
145675.0
2891011NaN
312131415NaN
\n", + "
" + ], + "text/plain": [ + " a b c d e\n", + "0 0 1 2 3 NaN\n", + "1 4 5 6 7 5.0\n", + "2 8 9 10 11 NaN\n", + "3 12 13 14 15 NaN" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.read_csv('example')" + ] + }, + { + "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", + "
abcd
00123
14567
2891011
312131415
\n", + "
" + ], + "text/plain": [ + " a b c d\n", + "0 0 1 2 3\n", + "1 4 5 6 7\n", + "2 8 9 10 11\n", + "3 12 13 14 15" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.read_excel('Excel_Sample.xlsx', sheet_name = 'Sheet1' )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Merging_Joining_Concat (another copy).ipynb b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Merging_Joining_Concat (another copy).ipynb new file mode 100644 index 0000000..ef55198 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Merging_Joining_Concat (another copy).ipynb @@ -0,0 +1,1704 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## MJC" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Merging, Joining, and Concatenating\n", + "\n", + "There are 3 main ways of combining DataFrames together: Merging, Joining and Concatenating. In this lecture we will discuss these 3 methods with examples.\n", + "\n", + "____" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example DataFrames" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],\n", + " 'B': ['B0', 'B1', 'B2', 'B3'],\n", + " 'C': ['C0', 'C1', 'C2', 'C3'],\n", + " 'D': ['D0', 'D1', 'D2', 'D3']},\n", + " index=[0, 1, 2, 3])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "df2 = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],\n", + " 'B': ['B4', 'B5', 'B6', 'B7'],\n", + " 'C': ['C4', 'C5', 'C6', 'C7'],\n", + " 'D': ['D4', 'D5', 'D6', 'D7']},\n", + " index=[4, 5, 6, 7]) " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "df3 = pd.DataFrame({'A': ['A8', 'A9', 'A10', 'A11'],\n", + " 'B': ['B8', 'B9', 'B10', 'B11'],\n", + " 'C': ['C8', 'C9', 'C10', 'C11'],\n", + " 'D': ['D8', 'D9', 'D10', 'D11']},\n", + " index=[8, 9, 10, 11])" + ] + }, + { + "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", + "
ABCD
0A0B0C0D0
1A1B1C1D1
2A2B2C2D2
3A3B3C3D3
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "0 A0 B0 C0 D0\n", + "1 A1 B1 C1 D1\n", + "2 A2 B2 C2 D2\n", + "3 A3 B3 C3 D3" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "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", + "
ABCD
4A4B4C4D4
5A5B5C5D5
6A6B6C6D6
7A7B7C7D7
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "4 A4 B4 C4 D4\n", + "5 A5 B5 C5 D5\n", + "6 A6 B6 C6 D6\n", + "7 A7 B7 C7 D7" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2" + ] + }, + { + "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", + "
ABCD
8A8B8C8D8
9A9B9C9D9
10A10B10C10D10
11A11B11C11D11
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "8 A8 B8 C8 D8\n", + "9 A9 B9 C9 D9\n", + "10 A10 B10 C10 D10\n", + "11 A11 B11 C11 D11" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Concatenation\n", + "\n", + "Concatenation basically glues together DataFrames. Keep in mind that dimensions should match along the axis you are concatenating on. You can use **pd.concat** and pass in a list of DataFrames to concatenate together:" + ] + }, + { + "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", + "
ABCD
0A0B0C0D0
1A1B1C1D1
2A2B2C2D2
3A3B3C3D3
4A4B4C4D4
5A5B5C5D5
6A6B6C6D6
7A7B7C7D7
8A8B8C8D8
9A9B9C9D9
10A10B10C10D10
11A11B11C11D11
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "0 A0 B0 C0 D0\n", + "1 A1 B1 C1 D1\n", + "2 A2 B2 C2 D2\n", + "3 A3 B3 C3 D3\n", + "4 A4 B4 C4 D4\n", + "5 A5 B5 C5 D5\n", + "6 A6 B6 C6 D6\n", + "7 A7 B7 C7 D7\n", + "8 A8 B8 C8 D8\n", + "9 A9 B9 C9 D9\n", + "10 A10 B10 C10 D10\n", + "11 A11 B11 C11 D11" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.concat([df1,df2,df3])" + ] + }, + { + "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", + "
ABCDABCDABCD
0A0B0C0D0NaNNaNNaNNaNNaNNaNNaNNaN
1A1B1C1D1NaNNaNNaNNaNNaNNaNNaNNaN
2A2B2C2D2NaNNaNNaNNaNNaNNaNNaNNaN
3A3B3C3D3NaNNaNNaNNaNNaNNaNNaNNaN
4NaNNaNNaNNaNA4B4C4D4NaNNaNNaNNaN
5NaNNaNNaNNaNA5B5C5D5NaNNaNNaNNaN
6NaNNaNNaNNaNA6B6C6D6NaNNaNNaNNaN
7NaNNaNNaNNaNA7B7C7D7NaNNaNNaNNaN
8NaNNaNNaNNaNNaNNaNNaNNaNA8B8C8D8
9NaNNaNNaNNaNNaNNaNNaNNaNA9B9C9D9
10NaNNaNNaNNaNNaNNaNNaNNaNA10B10C10D10
11NaNNaNNaNNaNNaNNaNNaNNaNA11B11C11D11
\n", + "
" + ], + "text/plain": [ + " A B C D A B C D A B C D\n", + "0 A0 B0 C0 D0 NaN NaN NaN NaN NaN NaN NaN NaN\n", + "1 A1 B1 C1 D1 NaN NaN NaN NaN NaN NaN NaN NaN\n", + "2 A2 B2 C2 D2 NaN NaN NaN NaN NaN NaN NaN NaN\n", + "3 A3 B3 C3 D3 NaN NaN NaN NaN NaN NaN NaN NaN\n", + "4 NaN NaN NaN NaN A4 B4 C4 D4 NaN NaN NaN NaN\n", + "5 NaN NaN NaN NaN A5 B5 C5 D5 NaN NaN NaN NaN\n", + "6 NaN NaN NaN NaN A6 B6 C6 D6 NaN NaN NaN NaN\n", + "7 NaN NaN NaN NaN A7 B7 C7 D7 NaN NaN NaN NaN\n", + "8 NaN NaN NaN NaN NaN NaN NaN NaN A8 B8 C8 D8\n", + "9 NaN NaN NaN NaN NaN NaN NaN NaN A9 B9 C9 D9\n", + "10 NaN NaN NaN NaN NaN NaN NaN NaN A10 B10 C10 D10\n", + "11 NaN NaN NaN NaN NaN NaN NaN NaN A11 B11 C11 D11" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.concat([df1,df2,df3],axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_____\n", + "## Example DataFrames" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],\n", + " 'A': ['A0', 'A1', 'A2', 'A3'],\n", + " 'B': ['B0', 'B1', 'B2', 'B3']})\n", + " \n", + "right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],\n", + " 'C': ['C0', 'C1', 'C2', 'C3'],\n", + " 'D': ['D0', 'D1', 'D2', 'D3']}) " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "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", + "
ABkey
0A0B0K0
1A1B1K1
2A2B2K2
3A3B3K3
\n", + "
" + ], + "text/plain": [ + " A B key\n", + "0 A0 B0 K0\n", + "1 A1 B1 K1\n", + "2 A2 B2 K2\n", + "3 A3 B3 K3" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "left" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
CDkey
0C0D0K0
1C1D1K1
2C2D2K2
3C3D3K3
\n", + "
" + ], + "text/plain": [ + " C D key\n", + "0 C0 D0 K0\n", + "1 C1 D1 K1\n", + "2 C2 D2 K2\n", + "3 C3 D3 K3" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "right" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "___" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Merging\n", + "\n", + "The **merge** function allows you to merge DataFrames together using a similar logic as merging SQL Tables together. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "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", + "
ABkeyCD
0A0B0K0C0D0
1A1B1K1C1D1
2A2B2K2C2D2
3A3B3K3C3D3
\n", + "
" + ], + "text/plain": [ + " A B key C D\n", + "0 A0 B0 K0 C0 D0\n", + "1 A1 B1 K1 C1 D1\n", + "2 A2 B2 K2 C2 D2\n", + "3 A3 B3 K3 C3 D3" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(left,right,how='inner',on='key')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Or to show a more complicated example:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],\n", + " 'key2': ['K0', 'K1', 'K0', 'K1'],\n", + " 'A': ['A0', 'A1', 'A2', 'A3'],\n", + " 'B': ['B0', 'B1', 'B2', 'B3']})\n", + " \n", + "right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],\n", + " 'key2': ['K0', 'K0', 'K0', 'K0'],\n", + " 'C': ['C0', 'C1', 'C2', 'C3'],\n", + " 'D': ['D0', 'D1', 'D2', 'D3']})" + ] + }, + { + "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", + "
ABkey1key2CD
0A0B0K0K0C0D0
1A2B2K1K0C1D1
2A2B2K1K0C2D2
\n", + "
" + ], + "text/plain": [ + " A B key1 key2 C D\n", + "0 A0 B0 K0 K0 C0 D0\n", + "1 A2 B2 K1 K0 C1 D1\n", + "2 A2 B2 K1 K0 C2 D2" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(left, right, on=['key1', 'key2'])" + ] + }, + { + "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", + "
ABkey1key2CD
0A0B0K0K0C0D0
1A1B1K0K1NaNNaN
2A2B2K1K0C1D1
3A2B2K1K0C2D2
4A3B3K2K1NaNNaN
5NaNNaNK2K0C3D3
\n", + "
" + ], + "text/plain": [ + " A B key1 key2 C D\n", + "0 A0 B0 K0 K0 C0 D0\n", + "1 A1 B1 K0 K1 NaN NaN\n", + "2 A2 B2 K1 K0 C1 D1\n", + "3 A2 B2 K1 K0 C2 D2\n", + "4 A3 B3 K2 K1 NaN NaN\n", + "5 NaN NaN K2 K0 C3 D3" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(left, right, how='outer', on=['key1', 'key2'])" + ] + }, + { + "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", + "
ABkey1key2CD
0A0B0K0K0C0D0
1A2B2K1K0C1D1
2A2B2K1K0C2D2
3NaNNaNK2K0C3D3
\n", + "
" + ], + "text/plain": [ + " A B key1 key2 C D\n", + "0 A0 B0 K0 K0 C0 D0\n", + "1 A2 B2 K1 K0 C1 D1\n", + "2 A2 B2 K1 K0 C2 D2\n", + "3 NaN NaN K2 K0 C3 D3" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(left, right, how='right', on=['key1', 'key2'])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "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", + "
ABkey1key2CD
0A0B0K0K0C0D0
1A2B2K1K0C1D1
2A2B2K1K0C2D2
\n", + "
" + ], + "text/plain": [ + " A B key1 key2 C D\n", + "0 A0 B0 K0 K0 C0 D0\n", + "1 A2 B2 K1 K0 C1 D1\n", + "2 A2 B2 K1 K0 C2 D2" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(left, right, how='inner', on=['key1', 'key2'])" + ] + }, + { + "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", + "
key1key2ABCD
0K0K0A0B0C0D0
1K0K1A1B1NaNNaN
2K1K0A2B2C1D1
3K1K0A2B2C2D2
4K2K1A3B3NaNNaN
\n", + "
" + ], + "text/plain": [ + " key1 key2 A B C D\n", + "0 K0 K0 A0 B0 C0 D0\n", + "1 K0 K1 A1 B1 NaN NaN\n", + "2 K1 K0 A2 B2 C1 D1\n", + "3 K1 K0 A2 B2 C2 D2\n", + "4 K2 K1 A3 B3 NaN NaN" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.merge(left, right, how='left', on=['key1', 'key2'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Joining\n", + "Joining is a convenient method for combining the columns of two potentially differently-indexed DataFrames into a single result DataFrame." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "left = pd.DataFrame({'A': ['A0', 'A1', 'A2'],\n", + " 'B': ['B0', 'B1', 'B2']},\n", + " index=['K0', 'K1', 'K2']) \n", + "\n", + "right = pd.DataFrame({'C': ['C0', 'C2', 'C3'],\n", + " 'D': ['D0', 'D2', 'D3']},\n", + " index=['K0', 'K2', 'K3'])" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "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
K0A0B0C0D0
K1A1B1NaNNaN
K2A2B2C2D2
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "K0 A0 B0 C0 D0\n", + "K1 A1 B1 NaN NaN\n", + "K2 A2 B2 C2 D2" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "left.join(right)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "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", + "
ABCD
K0A0B0C0D0
K1A1B1NaNNaN
K2A2B2C2D2
K3NaNNaNC3D3
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "K0 A0 B0 C0 D0\n", + "K1 A1 B1 NaN NaN\n", + "K2 A2 B2 C2 D2\n", + "K3 NaN NaN C3 D3" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "left.join(right, how='outer')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/My_Numpy_Work_Sheet.ipynb b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/My_Numpy_Work_Sheet.ipynb new file mode 100644 index 0000000..4b6f30b --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/My_Numpy_Work_Sheet.ipynb @@ -0,0 +1,1727 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 2, 3]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_list = [1,2,3]\n", + "my_list" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "arr = np.array(my_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1, 2, 3],\n", + " [4, 5, 6],\n", + " [7, 8, 9]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_matrix = [[1,2,3],[4,5,6],[7,8,9]]\n", + "np.array(my_matrix)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(0,10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### ARANGE FUNCTION TAKES IN THE THIRD ARGUMENT AS THE STEP SIZE" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 2, 4, 6, 8, 10])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.arange(0,11,2)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0., 0., 0.])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.zeros(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0., 0.],\n", + " [0., 0., 0.]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.zeros((2,3))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0., 0.],\n", + " [0., 0., 0.]])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.zeros((2,3))" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 1., 1.],\n", + " [1., 1., 1.]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.ones((2,3))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0. , 0.2020202 , 0.4040404 , 0.60606061, 0.80808081,\n", + " 1.01010101, 1.21212121, 1.41414141, 1.61616162, 1.81818182,\n", + " 2.02020202, 2.22222222, 2.42424242, 2.62626263, 2.82828283,\n", + " 3.03030303, 3.23232323, 3.43434343, 3.63636364, 3.83838384,\n", + " 4.04040404, 4.24242424, 4.44444444, 4.64646465, 4.84848485,\n", + " 5.05050505, 5.25252525, 5.45454545, 5.65656566, 5.85858586,\n", + " 6.06060606, 6.26262626, 6.46464646, 6.66666667, 6.86868687,\n", + " 7.07070707, 7.27272727, 7.47474747, 7.67676768, 7.87878788,\n", + " 8.08080808, 8.28282828, 8.48484848, 8.68686869, 8.88888889,\n", + " 9.09090909, 9.29292929, 9.49494949, 9.6969697 , 9.8989899 ,\n", + " 10.1010101 , 10.3030303 , 10.50505051, 10.70707071, 10.90909091,\n", + " 11.11111111, 11.31313131, 11.51515152, 11.71717172, 11.91919192,\n", + " 12.12121212, 12.32323232, 12.52525253, 12.72727273, 12.92929293,\n", + " 13.13131313, 13.33333333, 13.53535354, 13.73737374, 13.93939394,\n", + " 14.14141414, 14.34343434, 14.54545455, 14.74747475, 14.94949495,\n", + " 15.15151515, 15.35353535, 15.55555556, 15.75757576, 15.95959596,\n", + " 16.16161616, 16.36363636, 16.56565657, 16.76767677, 16.96969697,\n", + " 17.17171717, 17.37373737, 17.57575758, 17.77777778, 17.97979798,\n", + " 18.18181818, 18.38383838, 18.58585859, 18.78787879, 18.98989899,\n", + " 19.19191919, 19.39393939, 19.5959596 , 19.7979798 , 20. ])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linspace(0,20,100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### LINSPACE IS USED HERE TO PRINT OUT 10 EQUALLY SPACED VALUES FROM 0 TO 5, IT CAN BE ANY NUMBER OF EQUALLY SPACED VALUES, IT TAKES IN THE THIRD ARGUMENT AS THE NUM OF POINTS NEEDED" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0. , 0.55555556, 1.11111111, 1.66666667, 2.22222222,\n", + " 2.77777778, 3.33333333, 3.88888889, 4.44444444, 5. ])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linspace(0,5,10)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0., 4., 8.])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.linspace(0,8,3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### CREATING AN IDENTITY MATRIX WITH NUMPY" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 1., 1., 1.],\n", + " [1., 1., 1., 1.],\n", + " [1., 1., 1., 1.]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.ones((3,4))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### identity matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0., 0., 0.],\n", + " [0., 1., 0., 0., 0.],\n", + " [0., 0., 1., 0., 0.],\n", + " [0., 0., 0., 1., 0.],\n", + " [0., 0., 0., 0., 1.]])" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.eye(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### THE NEXT LINE GIVES A SET OF 5 UNIFORMLY SPACED VALUES FROM 0 TO 1" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1.40503567e-04, 6.30770986e-01, 2.60240230e-01, 8.51853363e-02,\n", + " 6.29181276e-01])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.random.rand(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.08818513, 0.99339883, 0.8114499 , 0.12640057, 0.5763067 ],\n", + " [0.36876998, 0.12099925, 0.65195408, 0.13352559, 0.87477281],\n", + " [0.64269058, 0.98512935, 0.79222652, 0.52682728, 0.76423604],\n", + " [0.657972 , 0.27829176, 0.22843993, 0.28995499, 0.36214728],\n", + " [0.48702889, 0.44221771, 0.72195788, 0.71507225, 0.99816637]])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.random.rand(5,5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Getting an array from a standard normal distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.38988442, 0.60957264, 0.06595664, -2.40191244],\n", + " [-1.23347016, -0.04551871, 0.07763754, 0.50224471],\n", + " [ 0.5556682 , -0.40833523, 0.21250761, 0.56492312],\n", + " [ 1.1908911 , -1.41324093, 0.69593819, -1.36998132]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.random.randn(4,4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Gives 10 random integers inclusive on the low end and exclusive on the high end" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([85, 27, 79, 99, 62, 36, 78, 18, 59, 16])" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.random.randint(1,100,10)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "arr = np.arange(25)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n", + " 17, 18, 19, 20, 21, 22, 23, 24])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "ranarr = np.random.randint(0,50,10)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([17, 5, 35, 6, 4, 32, 5, 48, 24, 8])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ranarr" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2, 3, 4],\n", + " [ 5, 6, 7, 8, 9],\n", + " [10, 11, 12, 13, 14],\n", + " [15, 16, 17, 18, 19],\n", + " [20, 21, 22, 23, 24]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr.reshape(5,5)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "48" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ranarr.max()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ranarr.min()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ranarr.argmax()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ranarr.argmin()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10,)" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ranarr.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(25,)" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "shapedarr = arr.reshape(5,5)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0, 1, 2, 3, 4],\n", + " [ 5, 6, 7, 8, 9],\n", + " [10, 11, 12, 13, 14],\n", + " [15, 16, 17, 18, 19],\n", + " [20, 21, 22, 23, 24]])" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "shapedarr" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5, 5)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "shapedarr.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('int32')" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "shapedarr.dtype" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# NUMPY INDEXING AND SELECTION" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "arr = np.arange(0,11)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr[8]" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5, 6, 7])" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr[0:8]" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr[:]" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5])" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr[:6]" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 5, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr[5:]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### THE ABILITY OF NUMPY ARRAYS TO BROADCAST" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "slice_of_arr = arr[0:6]" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 2, 3, 4, 5])" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "slice_of_arr" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "slice_of_arr[:] = 99" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([99, 99, 99, 99, 99, 99])" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "slice_of_arr" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([99, 99, 99, 99, 99, 99, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr\n", + "#note that the changes also occur in original array" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### But the data is not copied, it's a view of the original array" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([99, 99, 99, 99, 99, 99, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#To copy data from an array, getting a copy requires you to be explicit\n", + "arr_copy = arr.copy()\n", + "arr_copy" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Indexing A 2D ARRAY (MATRICES)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "arr_2d = np.array(([5,10,15],[20,25,30],[35,40,45]))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 5, 10, 15],\n", + " [20, 25, 30],\n", + " [35, 40, 45]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr_2d" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 5, 10, 15])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr_2d[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr_2d[1][0]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([35, 40, 45])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr_2d[2]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[15],\n", + " [30]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr_2d[:2,2:]\n", + "## I just noticed that the rows count from 0 while the columns count from 0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Fancy Indexing\n", + "###### fancy indexing allows you to select entire rows or columns out of order" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "#Set up matrix\n", + "arr2d = np.zeros((10,10))" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "#Length of array\n", + "arr_length = arr2d.shape[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],\n", + " [2., 2., 2., 2., 2., 2., 2., 2., 2., 2.],\n", + " [3., 3., 3., 3., 3., 3., 3., 3., 3., 3.],\n", + " [4., 4., 4., 4., 4., 4., 4., 4., 4., 4.],\n", + " [5., 5., 5., 5., 5., 5., 5., 5., 5., 5.],\n", + " [6., 6., 6., 6., 6., 6., 6., 6., 6., 6.],\n", + " [7., 7., 7., 7., 7., 7., 7., 7., 7., 7.],\n", + " [8., 8., 8., 8., 8., 8., 8., 8., 8., 8.],\n", + " [9., 9., 9., 9., 9., 9., 9., 9., 9., 9.]])" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Set up array\n", + "\n", + "for i in range(arr_length):\n", + " arr2d[i] = i\n", + " \n", + "arr2d" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[2., 2., 2., 2., 2., 2., 2., 2., 2., 2.],\n", + " [4., 4., 4., 4., 4., 4., 4., 4., 4., 4.],\n", + " [6., 6., 6., 6., 6., 6., 6., 6., 6., 6.],\n", + " [8., 8., 8., 8., 8., 8., 8., 8., 8., 8.]])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr2d[[2,4,6,8]]" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[6., 6., 6., 6., 6., 6., 6., 6., 6., 6.],\n", + " [4., 4., 4., 4., 4., 4., 4., 4., 4., 4.],\n", + " [2., 2., 2., 2., 2., 2., 2., 2., 2., 2.],\n", + " [7., 7., 7., 7., 7., 7., 7., 7., 7., 7.]])" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Allows in any order\n", + "arr2d[[6,4,2,7]]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### SELECTION" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [], + "source": [ + "arr = np.arange(1,11)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, False, True, True, True, True, True,\n", + " True])" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr > 4" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [], + "source": [ + "bool_arr = arr > 4" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, False, False, True, True, True, True, True,\n", + " True])" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bool_arr" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 5, 6, 7, 8, 9, 10])" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr[bool_arr]" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([False, False, True, True, True, True, True, True, True,\n", + " True])" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = 2\n", + "arr > x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### NumPy Arithmetic Operations" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [], + "source": [ + "arr = np.arange(0,10)" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18])" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr + arr" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 4, 9, 16, 25, 36, 49, 64, 81])" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr * arr" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr - arr" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\DELL\\Anaconda3\\envs\\Train\\lib\\site-packages\\ipykernel_launcher.py:1: RuntimeWarning: invalid value encountered in true_divide\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + }, + { + "data": { + "text/plain": [ + "array([nan, 1., 1., 1., 1., 1., 1., 1., 1., 1.])" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr/arr" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\DELL\\Anaconda3\\envs\\Train\\lib\\site-packages\\ipykernel_launcher.py:1: RuntimeWarning: divide by zero encountered in true_divide\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + }, + { + "data": { + "text/plain": [ + "array([ inf, 1. , 0.5 , 0.33333333, 0.25 ,\n", + " 0.2 , 0.16666667, 0.14285714, 0.125 , 0.11111111])" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "1/arr" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0, 1, 8, 27, 64, 125, 216, 343, 512, 729], dtype=int32)" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "arr ** 3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Universal Array Functions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "###### common array functions in numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9.0" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "####Taking Sqrt\n", + "np.sqrt(81)" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0. , 1. , 1.41421356, 1.73205081, 2. ,\n", + " 2.23606798, 2.44948974, 2.64575131, 2.82842712, 3. ])" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#### Taking the sqrt of an array \n", + "np.sqrt(arr)" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1.00000000e+00, 2.71828183e+00, 7.38905610e+00, 2.00855369e+01,\n", + " 5.45981500e+01, 1.48413159e+02, 4.03428793e+02, 1.09663316e+03,\n", + " 2.98095799e+03, 8.10308393e+03])" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.exp(arr)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.max(arr)" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.min(arr)" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0. , 0.84147098, 0.90929743, 0.14112001, -0.7568025 ,\n", + " -0.95892427, -0.2794155 , 0.6569866 , 0.98935825, 0.41211849])" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.sin(arr)" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\DELL\\Anaconda3\\envs\\Train\\lib\\site-packages\\ipykernel_launcher.py:1: RuntimeWarning: divide by zero encountered in log\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + }, + { + "data": { + "text/plain": [ + "array([ -inf, 0. , 0.69314718, 1.09861229, 1.38629436,\n", + " 1.60943791, 1.79175947, 1.94591015, 2.07944154, 2.19722458])" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.log(arr)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Pandas_Group_By.ipynb b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Pandas_Group_By.ipynb new file mode 100644 index 0000000..5185967 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Pandas_Group_By.ipynb @@ -0,0 +1,952 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### GroupBy allows to group together rows based off of a column and perform an aggregate function on them" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "#Creating a dataframe\n", + "data = {'Company':['GOOG','GOOG','MSFT','MSFT','FB','FB'],\n", + " 'Person':['Sam','Charlie','Amy','Vanessa','Carl','Sarah'],\n", + " 'Sales':[200,120,340,124,243,350]}" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(data)" + ] + }, + { + "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", + "
CompanyPersonSales
0GOOGSam200
1GOOGCharlie120
2MSFTAmy340
3MSFTVanessa124
4FBCarl243
5FBSarah350
\n", + "
" + ], + "text/plain": [ + " Company Person Sales\n", + "0 GOOG Sam 200\n", + "1 GOOG Charlie 120\n", + "2 MSFT Amy 340\n", + "3 MSFT Vanessa 124\n", + "4 FB Carl 243\n", + "5 FB Sarah 350" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Company')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Saving this object to a new variable" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "byComp = df.groupby('Company')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "byComp" + ] + }, + { + "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", + "
Sales
Company
FB296.5
GOOG160.0
MSFT232.0
\n", + "
" + ], + "text/plain": [ + " Sales\n", + "Company \n", + "FB 296.5\n", + "GOOG 160.0\n", + "MSFT 232.0" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "byComp.mean()" + ] + }, + { + "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", + "
Sales
Company
FB593
GOOG320
MSFT464
\n", + "
" + ], + "text/plain": [ + " Sales\n", + "Company \n", + "FB 593\n", + "GOOG 320\n", + "MSFT 464" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "byComp.sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "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", + "
Sales
Company
FB75.660426
GOOG56.568542
MSFT152.735065
\n", + "
" + ], + "text/plain": [ + " Sales\n", + "Company \n", + "FB 75.660426\n", + "GOOG 56.568542\n", + "MSFT 152.735065" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "byComp.std()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Sales 593\n", + "Name: FB, dtype: int64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "byComp.sum().loc['FB']" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Sales 593\n", + "Name: FB, dtype: int64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Company').sum().loc['FB']" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "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", + "
PersonSales
Company
FBSarah350
GOOGSam200
MSFTVanessa340
\n", + "
" + ], + "text/plain": [ + " Person Sales\n", + "Company \n", + "FB Sarah 350\n", + "GOOG Sam 200\n", + "MSFT Vanessa 340" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Company').max()" + ] + }, + { + "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", + "
PersonSales
Company
FBCarl243
GOOGCharlie120
MSFTAmy124
\n", + "
" + ], + "text/plain": [ + " Person Sales\n", + "Company \n", + "FB Carl 243\n", + "GOOG Charlie 120\n", + "MSFT Amy 124" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Company').min()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Person')" + ] + }, + { + "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", + "
Sales
Person
Amy340
Carl243
Charlie120
Sam200
Sarah350
Vanessa124
\n", + "
" + ], + "text/plain": [ + " Sales\n", + "Person \n", + "Amy 340\n", + "Carl 243\n", + "Charlie 120\n", + "Sam 200\n", + "Sarah 350\n", + "Vanessa 124" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Person').mean()" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Sales
countmeanstdmin25%50%75%max
Company
FB2.0296.575.660426243.0269.75296.5323.25350.0
GOOG2.0160.056.568542120.0140.00160.0180.00200.0
MSFT2.0232.0152.735065124.0178.00232.0286.00340.0
\n", + "
" + ], + "text/plain": [ + " Sales \n", + " count mean std min 25% 50% 75% max\n", + "Company \n", + "FB 2.0 296.5 75.660426 243.0 269.75 296.5 323.25 350.0\n", + "GOOG 2.0 160.0 56.568542 120.0 140.00 160.0 180.00 200.0\n", + "MSFT 2.0 232.0 152.735065 124.0 178.00 232.0 286.00 340.0" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Company').describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "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", + "
CompanyFBGOOGMSFT
Salescount2.0000002.0000002.000000
mean296.500000160.000000232.000000
std75.66042656.568542152.735065
min243.000000120.000000124.000000
25%269.750000140.000000178.000000
50%296.500000160.000000232.000000
75%323.250000180.000000286.000000
max350.000000200.000000340.000000
\n", + "
" + ], + "text/plain": [ + "Company FB GOOG MSFT\n", + "Sales count 2.000000 2.000000 2.000000\n", + " mean 296.500000 160.000000 232.000000\n", + " std 75.660426 56.568542 152.735065\n", + " min 243.000000 120.000000 124.000000\n", + " 25% 269.750000 140.000000 178.000000\n", + " 50% 296.500000 160.000000 232.000000\n", + " 75% 323.250000 180.000000 286.000000\n", + " max 350.000000 200.000000 340.000000" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Company').describe().transpose()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Sales count 2.000000\n", + " mean 296.500000\n", + " std 75.660426\n", + " min 243.000000\n", + " 25% 269.750000\n", + " 50% 296.500000\n", + " 75% 323.250000\n", + " max 350.000000\n", + "Name: FB, dtype: float64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.groupby('Company').describe().transpose()['FB']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Pandas_Work_Sheet.ipynb b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Pandas_Work_Sheet.ipynb new file mode 100644 index 0000000..b8cf252 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Pandas_Work_Sheet.ipynb @@ -0,0 +1,2514 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating a Series by converting a list, dictionary, array to a Series" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['a','b','c']\n", + "my_list = [10,20,30]\n", + "arr = np.array([10,20,30])\n", + "d = {'a':10,'b':20, 'c':30}" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 10\n", + "1 20\n", + "2 30\n", + "dtype: int64" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(data=my_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 10\n", + "b 20\n", + "c 30\n", + "dtype: int64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(data=my_list, index=labels)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "a 10\n", + "b 20\n", + "c 30\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 a\n", + "1 b\n", + "2 c\n", + "dtype: object" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(labels)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 10\n", + "1 20\n", + "2 30\n", + "dtype: int32" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(arr)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Using a Series\n", + "#### The key to using a series effectively in pandas is understanding its index. Pandas makes use of index names or numbers by allowing for fast lookups of information(i.e it works like a dictionary or hashtable)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "USA 1\n", + "RUSSIA 2\n", + "GERMANY 3\n", + "UK 4\n", + "dtype: int64" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series([1,2,3,4], index=['USA','RUSSIA','GERMANY','UK'])" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "countrySeries = pd.Series([1,2,3,4], index=['USA','RUSSIA','GERMANY','UK'])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "USA 1\n", + "RUSSIA 2\n", + "GERMANY 3\n", + "UK 4\n", + "dtype: int64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "countrySeries" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "countrySeries['RUSSIA']" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "countrySeries[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "nationalGDP = pd.Series([2,5,6,8], index=['USA','MOROCCO', 'RUSSIA','GERMANY'])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "USA 2\n", + "MOROCCO 5\n", + "RUSSIA 6\n", + "GERMANY 8\n", + "dtype: int64" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nationalGDP" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "GERMANY 11.0\n", + "MOROCCO NaN\n", + "RUSSIA 8.0\n", + "UK NaN\n", + "USA 3.0\n", + "dtype: float64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "countrySeries + nationalGDP" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DATAFRAMES" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "DataFrames are the workhorse of pandas and are directly inspired by the R programming language. We can think of a DataFrame as a bunch of Series objects put together to share the same index." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "from numpy.random import randn" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "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", + "
0123
00.3601241.5275960.7084780.294401
1-0.9627870.430893-1.339323-0.135905
20.278759-0.118764-0.3335750.054499
3-0.016117-0.395870-0.377616-0.827890
4-0.146377-0.1101390.7972170.962784
\n", + "
" + ], + "text/plain": [ + " 0 1 2 3\n", + "0 0.360124 1.527596 0.708478 0.294401\n", + "1 -0.962787 0.430893 -1.339323 -0.135905\n", + "2 0.278759 -0.118764 -0.333575 0.054499\n", + "3 -0.016117 -0.395870 -0.377616 -0.827890\n", + "4 -0.146377 -0.110139 0.797217 0.962784" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.DataFrame(randn(5,4))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "#df = pd.DataFrame(randn(5,4), index = 'A B C D E'.split(), columns='W X Y Z'.split())" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.DataFrame(randn(5,4), index = ['A', 'B', 'C', 'D', 'E'], columns=['W', 'X', 'Y', 'Z'])" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WXYZ
A-0.5212230.399029-0.7445851.343952
B-1.5541740.246275-0.335270-0.276795
C-0.333873-1.6567551.136345-0.972670
D0.739085-1.7848382.230966-2.210923
E-0.0541110.140167-0.1488270.606651
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A -0.521223 0.399029 -0.744585 1.343952\n", + "B -1.554174 0.246275 -0.335270 -0.276795\n", + "C -0.333873 -1.656755 1.136345 -0.972670\n", + "D 0.739085 -1.784838 2.230966 -2.210923\n", + "E -0.054111 0.140167 -0.148827 0.606651" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Selection and Indexing\n", + "#### Understanding the various methods of grabbing data from a dataframe" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "A -0.521223\n", + "B -1.554174\n", + "C -0.333873\n", + "D 0.739085\n", + "E -0.054111\n", + "Name: W, dtype: float64" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['W']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### To Access more than one column, you can do so by entering a list into the parentheses" + ] + }, + { + "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", + "
WX
A-0.5212230.399029
B-1.5541740.246275
C-0.333873-1.656755
D0.739085-1.784838
E-0.0541110.140167
\n", + "
" + ], + "text/plain": [ + " W X\n", + "A -0.521223 0.399029\n", + "B -1.554174 0.246275\n", + "C -0.333873 -1.656755\n", + "D 0.739085 -1.784838\n", + "E -0.054111 0.140167" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[['W','X']]" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WZ
A-0.5212231.343952
B-1.554174-0.276795
C-0.333873-0.972670
D0.739085-2.210923
E-0.0541110.606651
\n", + "
" + ], + "text/plain": [ + " W Z\n", + "A -0.521223 1.343952\n", + "B -1.554174 -0.276795\n", + "C -0.333873 -0.972670\n", + "D 0.739085 -2.210923\n", + "E -0.054111 0.606651" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[['W','Z']]" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "df['COLUMN'] = df['W'] + df ['Z']\n", + "\n", + "# creating a new column using data from exisiting columns" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "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", + "
WXYZCOLUMN
A-0.5212230.399029-0.7445851.3439520.822729
B-1.5541740.246275-0.335270-0.276795-1.830968
C-0.333873-1.6567551.136345-0.972670-1.306543
D0.739085-1.7848382.230966-2.210923-1.471837
E-0.0541110.140167-0.1488270.6066510.552540
\n", + "
" + ], + "text/plain": [ + " W X Y Z COLUMN\n", + "A -0.521223 0.399029 -0.744585 1.343952 0.822729\n", + "B -1.554174 0.246275 -0.335270 -0.276795 -1.830968\n", + "C -0.333873 -1.656755 1.136345 -0.972670 -1.306543\n", + "D 0.739085 -1.784838 2.230966 -2.210923 -1.471837\n", + "E -0.054111 0.140167 -0.148827 0.606651 0.552540" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Removing columns" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WXYZ
A-0.5212230.399029-0.7445851.343952
B-1.5541740.246275-0.335270-0.276795
C-0.333873-1.6567551.136345-0.972670
D0.739085-1.7848382.230966-2.210923
E-0.0541110.140167-0.1488270.606651
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A -0.521223 0.399029 -0.744585 1.343952\n", + "B -1.554174 0.246275 -0.335270 -0.276795\n", + "C -0.333873 -1.656755 1.136345 -0.972670\n", + "D 0.739085 -1.784838 2.230966 -2.210923\n", + "E -0.054111 0.140167 -0.148827 0.606651" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop('COLUMN', axis=1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The sort of removal done above just removes the specified dataset on the fly, not inplace unless specified" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "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", + "
WXYZCOLUMN
A-0.5212230.399029-0.7445851.3439520.822729
B-1.5541740.246275-0.335270-0.276795-1.830968
C-0.333873-1.6567551.136345-0.972670-1.306543
D0.739085-1.7848382.230966-2.210923-1.471837
E-0.0541110.140167-0.1488270.6066510.552540
\n", + "
" + ], + "text/plain": [ + " W X Y Z COLUMN\n", + "A -0.521223 0.399029 -0.744585 1.343952 0.822729\n", + "B -1.554174 0.246275 -0.335270 -0.276795 -1.830968\n", + "C -0.333873 -1.656755 1.136345 -0.972670 -1.306543\n", + "D 0.739085 -1.784838 2.230966 -2.210923 -1.471837\n", + "E -0.054111 0.140167 -0.148827 0.606651 0.552540" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df\n", + "\n", + "#This shows that the new column is still there" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "df.drop('COLUMN', axis=1, inplace=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This removal done above totally removes it from the dataset by setting inplace = True" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "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", + "
WXYZ
A-0.5212230.399029-0.7445851.343952
B-1.5541740.246275-0.335270-0.276795
C-0.333873-1.6567551.136345-0.972670
D0.739085-1.7848382.230966-2.210923
E-0.0541110.140167-0.1488270.606651
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A -0.521223 0.399029 -0.744585 1.343952\n", + "B -1.554174 0.246275 -0.335270 -0.276795\n", + "C -0.333873 -1.656755 1.136345 -0.972670\n", + "D 0.739085 -1.784838 2.230966 -2.210923\n", + "E -0.054111 0.140167 -0.148827 0.606651" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Rows can be dropped this way, on the fly" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WXYZ
A-0.5212230.399029-0.7445851.343952
B-1.5541740.246275-0.335270-0.276795
C-0.333873-1.6567551.136345-0.972670
D0.739085-1.7848382.230966-2.210923
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A -0.521223 0.399029 -0.744585 1.343952\n", + "B -1.554174 0.246275 -0.335270 -0.276795\n", + "C -0.333873 -1.656755 1.136345 -0.972670\n", + "D 0.739085 -1.784838 2.230966 -2.210923" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.drop('E', axis = 0)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "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", + "
WXYZ
A-0.5212230.399029-0.7445851.343952
B-1.5541740.246275-0.335270-0.276795
C-0.333873-1.6567551.136345-0.972670
D0.739085-1.7848382.230966-2.210923
E-0.0541110.140167-0.1488270.606651
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A -0.521223 0.399029 -0.744585 1.343952\n", + "B -1.554174 0.246275 -0.335270 -0.276795\n", + "C -0.333873 -1.656755 1.136345 -0.972670\n", + "D 0.739085 -1.784838 2.230966 -2.210923\n", + "E -0.054111 0.140167 -0.148827 0.606651" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Selecting rows" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "W -0.521223\n", + "X 0.399029\n", + "Y -0.744585\n", + "Z 1.343952\n", + "Name: A, dtype: float64" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc['A']" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "W -0.333873\n", + "X -1.656755\n", + "Y 1.136345\n", + "Z -0.972670\n", + "Name: C, dtype: float64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[2]\n", + "\n", + "#This selects off of position instead of labels" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "W -0.333873\n", + "X -1.656755\n", + "Y 1.136345\n", + "Z -0.972670\n", + "Name: C, dtype: float64" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc['C']" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.33527028047450835" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc['B','Y']" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WX
A-0.5212230.399029
B-1.5541740.246275
\n", + "
" + ], + "text/plain": [ + " W X\n", + "A -0.521223 0.399029\n", + "B -1.554174 0.246275" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[['A','B'],['W','X']]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conditional Selection" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An important feature of pandas is conditional selection using bracket notation, very similar to numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WXYZ
A-0.5212230.399029-0.7445851.343952
B-1.5541740.246275-0.335270-0.276795
C-0.333873-1.6567551.136345-0.972670
D0.739085-1.7848382.230966-2.210923
E-0.0541110.140167-0.1488270.606651
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A -0.521223 0.399029 -0.744585 1.343952\n", + "B -1.554174 0.246275 -0.335270 -0.276795\n", + "C -0.333873 -1.656755 1.136345 -0.972670\n", + "D 0.739085 -1.784838 2.230966 -2.210923\n", + "E -0.054111 0.140167 -0.148827 0.606651" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WXYZ
AFalseTrueFalseTrue
BFalseTrueFalseFalse
CFalseFalseTrueFalse
DTrueFalseTrueFalse
EFalseTrueFalseTrue
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A False True False True\n", + "B False True False False\n", + "C False False True False\n", + "D True False True False\n", + "E False True False True" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df>0" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "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", + "
WXYZ
AFalseFalseFalseTrue
BFalseFalseFalseFalse
CFalseFalseTrueFalse
DFalseFalseTrueFalse
EFalseFalseFalseFalse
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A False False False True\n", + "B False False False False\n", + "C False False True False\n", + "D False False True False\n", + "E False False False False" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df > 1" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "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", + "
WXYZ
ANaN0.399029NaN1.343952
BNaN0.246275NaNNaN
CNaNNaN1.136345NaN
D0.739085NaN2.230966NaN
ENaN0.140167NaN0.606651
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A NaN 0.399029 NaN 1.343952\n", + "B NaN 0.246275 NaN NaN\n", + "C NaN NaN 1.136345 NaN\n", + "D 0.739085 NaN 2.230966 NaN\n", + "E NaN 0.140167 NaN 0.606651" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[df>0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### For more than one condition, use keywords like (&, |) with parenthesis:" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### More Index Details" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WXYZ
A0.3026651.693723-1.706086-1.159119
B-0.1348410.3905280.1669050.184502
C0.8077060.0729600.6387870.329646
D-0.497104-0.754070-0.9434060.484752
E-0.1167731.9017550.2381271.996652
\n", + "
" + ], + "text/plain": [ + " W X Y Z\n", + "A 0.302665 1.693723 -1.706086 -1.159119\n", + "B -0.134841 0.390528 0.166905 0.184502\n", + "C 0.807706 0.072960 0.638787 0.329646\n", + "D -0.497104 -0.754070 -0.943406 0.484752\n", + "E -0.116773 1.901755 0.238127 1.996652" + ] + }, + "execution_count": 116, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexWXYZ
0A0.3026651.693723-1.706086-1.159119
1B-0.1348410.3905280.1669050.184502
2C0.8077060.0729600.6387870.329646
3D-0.497104-0.754070-0.9434060.484752
4E-0.1167731.9017550.2381271.996652
\n", + "
" + ], + "text/plain": [ + " index W X Y Z\n", + "0 A 0.302665 1.693723 -1.706086 -1.159119\n", + "1 B -0.134841 0.390528 0.166905 0.184502\n", + "2 C 0.807706 0.072960 0.638787 0.329646\n", + "3 D -0.497104 -0.754070 -0.943406 0.484752\n", + "4 E -0.116773 1.901755 0.238127 1.996652" + ] + }, + "execution_count": 117, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#To reset an already assigned index\n", + "df.reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "newind = 'CA NY WY OR CO'.split()" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "df['States'] = newind" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "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", + "
WXYZStates
A-0.5212230.399029-0.7445851.343952CA
B-1.5541740.246275-0.335270-0.276795NY
C-0.333873-1.6567551.136345-0.972670WY
D0.739085-1.7848382.230966-2.210923OR
E-0.0541110.140167-0.1488270.606651CO
\n", + "
" + ], + "text/plain": [ + " W X Y Z States\n", + "A -0.521223 0.399029 -0.744585 1.343952 CA\n", + "B -1.554174 0.246275 -0.335270 -0.276795 NY\n", + "C -0.333873 -1.656755 1.136345 -0.972670 WY\n", + "D 0.739085 -1.784838 2.230966 -2.210923 OR\n", + "E -0.054111 0.140167 -0.148827 0.606651 CO" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "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", + "
WXZStates
Y
-0.744585-0.5212230.3990291.343952CA
-0.335270-1.5541740.246275-0.276795NY
1.136345-0.333873-1.656755-0.972670WY
2.2309660.739085-1.784838-2.210923OR
-0.148827-0.0541110.1401670.606651CO
\n", + "
" + ], + "text/plain": [ + " W X Z States\n", + "Y \n", + "-0.744585 -0.521223 0.399029 1.343952 CA\n", + "-0.335270 -1.554174 0.246275 -0.276795 NY\n", + " 1.136345 -0.333873 -1.656755 -0.972670 WY\n", + " 2.230966 0.739085 -1.784838 -2.210923 OR\n", + "-0.148827 -0.054111 0.140167 0.606651 CO" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.set_index('Y')" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
WXYZStates
A-0.5212230.399029-0.7445851.343952CA
B-1.5541740.246275-0.335270-0.276795NY
C-0.333873-1.6567551.136345-0.972670WY
D0.739085-1.7848382.230966-2.210923OR
E-0.0541110.140167-0.1488270.606651CO
\n", + "
" + ], + "text/plain": [ + " W X Y Z States\n", + "A -0.521223 0.399029 -0.744585 1.343952 CA\n", + "B -1.554174 0.246275 -0.335270 -0.276795 NY\n", + "C -0.333873 -1.656755 1.136345 -0.972670 WY\n", + "D 0.739085 -1.784838 2.230966 -2.210923 OR\n", + "E -0.054111 0.140167 -0.148827 0.606651 CO" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "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.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Perfecting_Pandas2.ipynb b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Perfecting_Pandas2.ipynb new file mode 100644 index 0000000..3356041 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Perfecting_Pandas2.ipynb @@ -0,0 +1,908 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# SF Salaries Exercise - Solutions\n", + "\n", + " [SF Salaries Dataset](https://www.kaggle.com/kaggle/sf-salaries) from Kaggle! " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "sal = pd.read_csv('Salaries.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Checking out the head of the dataframe**" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
01NATHANIEL FORDGENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY167411.180.00400184.25NaN567595.43567595.432011NaNSan FranciscoNaN
12GARY JIMENEZCAPTAIN III (POLICE DEPARTMENT)155966.02245131.88137811.38NaN538909.28538909.282011NaNSan FranciscoNaN
23ALBERT PARDINICAPTAIN III (POLICE DEPARTMENT)212739.13106088.1816452.60NaN335279.91335279.912011NaNSan FranciscoNaN
34CHRISTOPHER CHONGWIRE ROPE CABLE MAINTENANCE MECHANIC77916.0056120.71198306.90NaN332343.61332343.612011NaNSan FranciscoNaN
45PATRICK GARDNERDEPUTY CHIEF OF DEPARTMENT,(FIRE DEPARTMENT)134401.609737.00182234.59NaN326373.19326373.192011NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle \\\n", + "0 1 NATHANIEL FORD GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY \n", + "1 2 GARY JIMENEZ CAPTAIN III (POLICE DEPARTMENT) \n", + "2 3 ALBERT PARDINI CAPTAIN III (POLICE DEPARTMENT) \n", + "3 4 CHRISTOPHER CHONG WIRE ROPE CABLE MAINTENANCE MECHANIC \n", + "4 5 PATRICK GARDNER DEPUTY CHIEF OF DEPARTMENT,(FIRE DEPARTMENT) \n", + "\n", + " BasePay OvertimePay OtherPay Benefits TotalPay TotalPayBenefits \\\n", + "0 167411.18 0.00 400184.25 NaN 567595.43 567595.43 \n", + "1 155966.02 245131.88 137811.38 NaN 538909.28 538909.28 \n", + "2 212739.13 106088.18 16452.60 NaN 335279.91 335279.91 \n", + "3 77916.00 56120.71 198306.90 NaN 332343.61 332343.61 \n", + "4 134401.60 9737.00 182234.59 NaN 326373.19 326373.19 \n", + "\n", + " Year Notes Agency Status \n", + "0 2011 NaN San Francisco NaN \n", + "1 2011 NaN San Francisco NaN \n", + "2 2011 NaN San Francisco NaN \n", + "3 2011 NaN San Francisco NaN \n", + "4 2011 NaN San Francisco NaN " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Geting the information of how many entries are available**" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 148654 entries, 0 to 148653\n", + "Data columns (total 13 columns):\n", + "Id 148654 non-null int64\n", + "EmployeeName 148654 non-null object\n", + "JobTitle 148654 non-null object\n", + "BasePay 148045 non-null float64\n", + "OvertimePay 148650 non-null float64\n", + "OtherPay 148650 non-null float64\n", + "Benefits 112491 non-null float64\n", + "TotalPay 148654 non-null float64\n", + "TotalPayBenefits 148654 non-null float64\n", + "Year 148654 non-null int64\n", + "Notes 0 non-null float64\n", + "Agency 148654 non-null object\n", + "Status 0 non-null float64\n", + "dtypes: float64(8), int64(2), object(3)\n", + "memory usage: 14.7+ MB\n" + ] + } + ], + "source": [ + "sal.info() # 148654 Entries" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** average BasePay **" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "66325.4488404877" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['BasePay'].mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Highest amount of OvertimePay in the dataset **" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "245131.88" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['OvertimePay'].max()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** What is the job title of JOSEPH DRISCOLL ? Note: Use all caps, otherwise you may get an answer that doesn't match up (there is also a lowercase Joseph Driscoll). **" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "24 CAPTAIN, FIRE SUPPRESSION\n", + "Name: JobTitle, dtype: object" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['EmployeeName']=='JOSEPH DRISCOLL']['JobTitle']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Alternatively" + ] + }, + { + "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", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
2425JOSEPH DRISCOLLCAPTAIN, FIRE SUPPRESSION140546.8697868.7731909.28NaN270324.91270324.912011NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle BasePay OvertimePay \\\n", + "24 25 JOSEPH DRISCOLL CAPTAIN, FIRE SUPPRESSION 140546.86 97868.77 \n", + "\n", + " OtherPay Benefits TotalPay TotalPayBenefits Year Notes \\\n", + "24 31909.28 NaN 270324.91 270324.91 2011 NaN \n", + "\n", + " Agency Status \n", + "24 San Francisco NaN " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "joseph = sal[sal['EmployeeName']=='JOSEPH DRISCOLL']\n", + "# salname['JobTitle']\n", + "joseph" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** How much does JOSEPH DRISCOLL make (including benefits)? **" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "24 270324.91\n", + "Name: TotalPayBenefits, dtype: float64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['EmployeeName']=='JOSEPH DRISCOLL']['TotalPayBenefits']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** The name of highest paid person (including benefits)**" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "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", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
01NATHANIEL FORDGENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY167411.180.0400184.25NaN567595.43567595.432011NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle \\\n", + "0 1 NATHANIEL FORD GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY \n", + "\n", + " BasePay OvertimePay OtherPay Benefits TotalPay TotalPayBenefits \\\n", + "0 167411.18 0.0 400184.25 NaN 567595.43 567595.43 \n", + "\n", + " Year Notes Agency Status \n", + "0 2011 NaN San Francisco NaN " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['TotalPayBenefits']== sal['TotalPayBenefits'].max()] #['EmployeeName']\n", + "# or\n", + "# sal.loc[sal['TotalPayBenefits'].idxmax()]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** The name of lowest paid person (including benefits)**" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
148653148654Joe LopezCounselor, Log Cabin Ranch0.00.0-618.130.0-618.13-618.132014NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle BasePay OvertimePay \\\n", + "148653 148654 Joe Lopez Counselor, Log Cabin Ranch 0.0 0.0 \n", + "\n", + " OtherPay Benefits TotalPay TotalPayBenefits Year Notes \\\n", + "148653 -618.13 0.0 -618.13 -618.13 2014 NaN \n", + "\n", + " Agency Status \n", + "148653 San Francisco NaN " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['TotalPayBenefits']== sal['TotalPayBenefits'].min()] #['EmployeeName']\n", + "# or\n", + "# sal.loc[sal['TotalPayBenefits'].idxmin()]['EmployeeName']\n", + "\n", + "## ITS NEGATIVE!! VERY STRANGE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Average (mean) BasePay of all employees per year (2011-2014) **" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Year\n", + "2011 63595.956517\n", + "2012 65436.406857\n", + "2013 69630.030216\n", + "2014 66564.421924\n", + "Name: BasePay, dtype: float64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal.groupby('Year').mean()['BasePay']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Unique job titles **" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2159" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['JobTitle'].nunique()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** What are the top 5 most common jobs? **" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sal['JobTitle'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Transit Operator 7036\n", + "Special Nurse 4389\n", + "Registered Nurse 3736\n", + "Public Svc Aide-Public Works 2518\n", + "Police Officer 3 2421\n", + "Name: JobTitle, dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['JobTitle'].value_counts().head(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** How many Job Titles were represented by only one person in 2013? (e.g. Job Titles with only one occurence in 2013?) **" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "202" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sum(sal[sal['Year']==2013]['JobTitle'].value_counts()== 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "202" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sum(sal[sal['Year']==2013]['JobTitle'].value_counts() == 1) # pretty tricky way to do this..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** How many people have the word Chief in their job title, cool way to do this **" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def chief_string(title):\n", + " if 'chief' in title.lower():\n", + " return True\n", + " else:\n", + " return False" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "627" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sum(sal['JobTitle'].apply(lambda x: chief_string(x)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Finding a correlation between length of the Job Title string and Salary? **" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "sal['title_len'] = sal['JobTitle'].apply(len)" + ] + }, + { + "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", + "
title_lenTotalPayBenefits
title_len1.000000-0.036878
TotalPayBenefits-0.0368781.000000
\n", + "
" + ], + "text/plain": [ + " title_len TotalPayBenefits\n", + "title_len 1.000000 -0.036878\n", + "TotalPayBenefits -0.036878 1.000000" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[['title_len','TotalPayBenefits']].corr() # No correlation." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Questions on Numpy.ipynb b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Questions on Numpy.ipynb new file mode 100644 index 0000000..765f58e --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 2 PYTHON/Questions on Numpy.ipynb @@ -0,0 +1,623 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Some Great NumPy Exercises \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Import NumPy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create an array of 10 zeros " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create an array of 10 ones" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create an array of 10 fives" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 5., 5., 5., 5., 5., 5., 5., 5., 5., 5.])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create an array of the integers from 10 to 50" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,\n", + " 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,\n", + " 44, 45, 46, 47, 48, 49, 50])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create an array of all the even integers from 10 to 50" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42,\n", + " 44, 46, 48, 50])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a 3x3 matrix with values ranging from 0 to 8" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 1, 2],\n", + " [3, 4, 5],\n", + " [6, 7, 8]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a 3x3 identity matrix" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1., 0., 0.],\n", + " [ 0., 1., 0.],\n", + " [ 0., 0., 1.]])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Use NumPy to generate a random number between 0 and 1" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0.42829726])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Use NumPy to generate an array of 25 random numbers sampled from a standard normal distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 1.32031013, 1.6798602 , -0.42985892, -1.53116655, 0.85753232,\n", + " 0.87339938, 0.35668636, -1.47491157, 0.15349697, 0.99530727,\n", + " -0.94865451, -1.69174783, 1.57525349, -0.70615234, 0.10991879,\n", + " -0.49478947, 1.08279872, 0.76488333, -2.3039931 , 0.35401124,\n", + " -0.45454399, -0.64754649, -0.29391671, 0.02339861, 0.38272124])" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create the following matrix:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ],\n", + " [ 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2 ],\n", + " [ 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.3 ],\n", + " [ 0.31, 0.32, 0.33, 0.34, 0.35, 0.36, 0.37, 0.38, 0.39, 0.4 ],\n", + " [ 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.5 ],\n", + " [ 0.51, 0.52, 0.53, 0.54, 0.55, 0.56, 0.57, 0.58, 0.59, 0.6 ],\n", + " [ 0.61, 0.62, 0.63, 0.64, 0.65, 0.66, 0.67, 0.68, 0.69, 0.7 ],\n", + " [ 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.8 ],\n", + " [ 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87, 0.88, 0.89, 0.9 ],\n", + " [ 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99, 1. ]])" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create an array of 20 linearly spaced points between 0 and 1:" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0. , 0.05263158, 0.10526316, 0.15789474, 0.21052632,\n", + " 0.26315789, 0.31578947, 0.36842105, 0.42105263, 0.47368421,\n", + " 0.52631579, 0.57894737, 0.63157895, 0.68421053, 0.73684211,\n", + " 0.78947368, 0.84210526, 0.89473684, 0.94736842, 1. ])" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Numpy Indexing and Selection\n", + "\n", + "Now you will be given a few matrices, and be asked to replicate the resulting matrix outputs:" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1, 2, 3, 4, 5],\n", + " [ 6, 7, 8, 9, 10],\n", + " [11, 12, 13, 14, 15],\n", + " [16, 17, 18, 19, 20],\n", + " [21, 22, 23, 24, 25]])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mat = np.arange(1,26).reshape(5,5)\n", + "mat" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# WRITE CODE HERE THAT REPRODUCES THE OUTPUT OF THE CELL BELOW\n", + "# BE CAREFUL NOT TO RUN THE CELL BELOW, OTHERWISE YOU WON'T\n", + "# BE ABLE TO SEE THE OUTPUT ANY MORE" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[12, 13, 14, 15],\n", + " [17, 18, 19, 20],\n", + " [22, 23, 24, 25]])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# WRITE CODE HERE THAT REPRODUCES THE OUTPUT OF THE CELL BELOW\n", + "# BE CAREFUL NOT TO RUN THE CELL BELOW, OTHERWISE YOU WON'T\n", + "# BE ABLE TO SEE THE OUTPUT ANY MORE" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# WRITE CODE HERE THAT REPRODUCES THE OUTPUT OF THE CELL BELOW\n", + "# BE CAREFUL NOT TO RUN THE CELL BELOW, OTHERWISE YOU WON'T\n", + "# BE ABLE TO SEE THE OUTPUT ANY MORE" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 2],\n", + " [ 7],\n", + " [12]])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# WRITE CODE HERE THAT REPRODUCES THE OUTPUT OF THE CELL BELOW\n", + "# BE CAREFUL NOT TO RUN THE CELL BELOW, OTHERWISE YOU WON'T\n", + "# BE ABLE TO SEE THE OUTPUT ANY MORE" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([21, 22, 23, 24, 25])" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# WRITE CODE HERE THAT REPRODUCES THE OUTPUT OF THE CELL BELOW\n", + "# BE CAREFUL NOT TO RUN THE CELL BELOW, OTHERWISE YOU WON'T\n", + "# BE ABLE TO SEE THE OUTPUT ANY MORE" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[16, 17, 18, 19, 20],\n", + " [21, 22, 23, 24, 25]])" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Now do the following" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Get the sum of all the values in mat" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "325" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Get the standard deviation of the values in mat" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7.2111025509279782" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Get the sum of all the columns in mat" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([55, 60, 65, 70, 75])" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/MATPLOTLIB FOR BEGINNERS.ipynb b/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/MATPLOTLIB FOR BEGINNERS.ipynb new file mode 100644 index 0000000..aab88a8 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/MATPLOTLIB FOR BEGINNERS.ipynb @@ -0,0 +1,858 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "#this line of code helps you to see the code you create inside the jupyter notebook" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "x=np.linspace(0,5,11)\n", + "y=x**2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0. , 0.25, 1. , 2.25, 4. , 6.25, 9. , 12.25, 16. ,\n", + " 20.25, 25. ])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PLOTTING USING MATPLOTLIB CAN BE DONE IN TWO WAYS, FUNCTIONAL AND OBJECT ORIENTED METHOD\n", + "\n", + "## USING THE FUNCTIONAL METHOD" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x,y)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#adding colors and linestyles\n", + "plt.plot(x,y,'r-')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x,y,'b-')" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x,y,'g*')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'Title')" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEWCAYAAABrDZDcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XecVPW9xvHPF1h6d+mwFKUjAq4LCpZrLFhiSTFiwIaA12jUJEZjGjEmMUWTmESvKCgiiP3aewlREdilyVKU3tmlbQG2f+8fM3o3BpZl2TNnZ+Z5v177mr7nGcp55pzfmd8xd0dERJJXvbADiIhIuFQEIiJJTkUgIpLkVAQiIklORSAikuRUBCIiSU5FIFJNZnanmT1SxeNXm9mHscwkUhsahB1ApK4ws8JKN5sCxUB59PYkd/9tpef2ANYBKe5eFquMIkFQEYhEuXvzL66b2XrgOnd/J7xEIrGhXUMi1WRmk83siejNOdHLvWZWaGYnH+T5/czsbTPbbWarzOyy2KUVqT4VgUjNnBa9bO3uzd19buUHzawZ8DYwC2gPjAEeMLOBsY0pcngqApFgXAisd/dH3b3M3RcCzwHfCjmXyH/QGIFIMLoDw81sb6X7GgAzQsojckgqApGaOdy0vZuAf7r72bEII3I0tGtIpGZygQqg1yEefwXoY2bjzCwl+nOSmfWPXUSR6lERiNSAu+8HfgN8ZGZ7zWzEVx4vAM4BLge2AtuB3wONYp1V5HBMJ6YREUlu2iIQEUlyKgIRkSSnIhARSXIqAhGRJBcX3yNITU31Hj16hB1DRCSuZGVl7XT3dod7XlwUQY8ePcjMzAw7hohIXDGzDdV5nnYNiYgkORWBiEiSUxGIiCQ5FYGISJJTEYiIJLnAisDMupnZ+2a2wsyyzezm6P2TzWyLmS2O/pwfVAYRETm8IA8fLQN+6O4LzawFkGVmb0cf+7O7/ynAZYuISDUFtkXg7tuip+f7YkreFUCXoJYnIpJIDpSUM/mlbPbsKwl8WTEZIzCzHsBQYF70rhvNbKmZTTOzNod4zUQzyzSzzNzc3FjEFBGpE9ydO55fyvS561myee9hn3+0Ai8CM2tO5KTdt7h7PvAgcCwwBNgG3Huw17n7FHdPd/f0du0O+w1pEZGEMWXOWl5cvJUfndOXM/q2D3x5gRaBmaUQKYGZ7v48gLvvcPdyd68AHgYygswgIhJP/vlZLr9/YyUXHN+JG844NibLDPKoIQOmAivc/b5K93eq9LRLgWVBZRARiSfrdu7jplkL6dOhBX/89mAiq9HgBXnU0EhgHPCpmS2O3ncnMMbMhgAOrAcmBZhBRCQuFBSVMuHxTOrXMx6+Mp2mDWM3J2hgS3L3D4GD1dlrQS1TRCQeVVQ4tz61hHU79zFjfAbd2jaN6fL1zWIRkZD95Z3PeGfFDn5+QX9OOTY15stXEYiIhOj1T7dx/3uruSy9K1ed0iOUDCoCEZGQrNyezw+fWcLQtNb8+pJBMRsc/ioVgYhICPbsK2HC45m0aNyAh8aeSKMG9UPLEhenqhQRSSRl5RV8b9ZCduQV89SkEbRv2TjUPCoCEZEY++1rK/l4zS7++K3BDE076Cw7MaVdQyIiMfRs1mamfbSOa0b24Nvp3cKOA6gIRERiZvGmvdz5wqeccuwx/PT8/mHH+ZKKQEQkBnLyi5g0I5MOLRvxjyuG0aB+3Vn9aoxARCRgxWXlTHoii/wDZTx/wym0adYw7Ej/RkUgIhIgd+cX/5vNoo17efC7w+jfqWXYkf5D3dk2ERFJQI/P3cBTmZu46czjOO/4Tod/QQhUBCIiAZm7Zhd3vbKcs/q359az+oQd55BUBCIiAdi0ez83zMyiZ2oz/vydIdSrF870EdWhIhARqWX7S8qYOCOL8grn4SvTadE4JexIVdJgsYhILXJ3bnt2Kau25zPt6pPomdos7EiHpS0CEZFa9MAHa3h16TZuH90vJieerw0qAhGRWvLeyh386a1VXHRCZyae1ivsONWmIhARqQWrcwq5+cnFDOzckt9/M3Ynnq8NKgIRkaOUd6CUiY9n0rBBPR4al06ThuGdW6AmNFgsInIUyiucW2YvYuPu/cyaMIIurZuEHemIqQhERI7CvW+t4v1Vudx9ySAyerYNO06NaNeQiEgNvbxkKw98sIYxGWmMHdE97Dg1piIQEamB7K153PbsEtK7t+FXFw0MO85RURGIiByhXYXFTHw8izZNG/Lg2BNp2CC+V6UaIxAROQKl5RXcMHMhOwuLeeb6k2nXolHYkY6aikBE5Ajc/cpy5q3bzV++M4TBXVuHHadWxPf2jIhIDD21YCPT525g4mm9uGRol7Dj1BoVgYhINWRt2M3P/ncZp/ZO5fbR/cKOU6tUBCIih7E9r4jrn1hIl9ZN+PuYYdSvw+cWqAmNEYiIVKGotJxJMzLZX1zGzOuG06pp3T63QE0EtkVgZt3M7H0zW2Fm2WZ2c/T+tmb2tpl9Hr1sE1QGEZGjUVHh3P7cUpZszuPP3xlCnw4two4UiCB3DZUBP3T3/sAI4HtmNgC4A3jX3XsD70Zvi4jUKe7Ob15bwYuLt/Lj0X05Z2DHsCMFJrAicPdt7r4wer0AWAF0AS4GpkefNh24JKgMIiI1NWXOWqZ+uI6rT+nBf59+bNhxAhWTwWIz6wEMBeYBHdx9G0TKAjjoKXzMbKKZZZpZZm5ubixiiogA8GzWZn73+kouHNyJX1w4IK7OLVATgReBmTUHngNucff86r7O3ae4e7q7p7dr1y64gCIilby/Mofbn1vKqONSufeyE6iXYEcIHUygRWBmKURKYKa7Px+9e4eZdYo+3gnICTKDiEh1Ldy4hxtmLmRAp5b8z7gTadQgvk4wU1NBHjVkwFRghbvfV+mhl4CrotevAl4MKoOISHWtzing2scW0KFlIx695iSaN0qeo+uDfKcjgXHAp2a2OHrfncA9wNNmNh7YCHw7wAwiIoe1Le8AV06dT4N69Xj82uGkNo//ieSORGBF4O4fAofaufa1oJYrInIk8vaXctW0+eQXlTF74gjSjmkadqSY0xQTIpK0ikrLGT99Aet37mfKuBMZ1KVV2JFCkTw7wUREKikrr+DGWYvI2riHv48ZxinHpYYdKTTaIhCRpOPu/PSFZbyzYgd3XTSQCwZ3CjtSqFQEIpJ07n3rM57K3MT3zzyOcSf3CDtO6FQEIpJUpn+8nr+/v5oxGd249ew+YcepE1QEIpI0Xlm6lckvZ3POgA78+uJBCT91RHWpCEQkKXy0eie3PrWYk7q35f4xQ2lQX6u/L+hPQkQS3rIteUyakUWv1OY8fGU6jVOSY+qI6lIRiEhC27BrH1c/Op9WTVKYfm1GQp5h7GipCEQkYeUWFDNu6nzKK5zp12bQsVXjsCPVSfpCmYgkpIKiUq5+dD65BcXMmjCc49o3DztSnaUtAhFJOMVl5UyakcWq7QU8OHYYQ9N0avSqaItARBJKRYXzg6eX8PGaXdx32Qmc0fegJ0GUSrRFICIJw9351cvZvLp0G3ee349vDOsadqS4oCIQkYTxwAdrmD53AxNO7cnE0xL7hPO1SUUgIglh9vyN/PHNVVw6tAs/Oa9/2HHiiopAROLe28t3cOcLn3J6n3b84VuDk+KE87VJRSAicW3B+t3cOGshx3dtzQPfHUaKpo44YvoTE5G4tWp7AeMfW0CXNk149OqTaJZEJ5yvTSoCEYlLW/Ye4Kpp82nSsD6PX5tB22YNw44Ut1SfIhJ39uwr4cqp89hXUsYz159M1zbJd8L52qQiEJG4sr+kjGseW8CmPQeYcW0G/Tq2DDtS3NOuIRGJG6XlFXxv5kKWbt7L38YMZXivY8KOlBC0RSAiccHduf25pby/KpffXno85w7sGHakhKEtAhGJC/e8sZLnF27hB2f34YrhaWHHSSjaIhCROs3dufetz3jon2sZN6I7N515XNiREo6KQETqLHfnd6+vZMqctYzJ6MavLhqoE84HQEUgInVSZCbR5Tz28XquPLk7k78+UFNHBERFICJ1TkWF8/MXlzFz3kbGj+rJzy7ory2BAKkIRKROKa9wfvL8Up7O3Mx/n3EsPz63r0ogYIEdNWRm08wsx8yWVbpvspltMbPF0Z/zg1q+iMSfsvIKfvTMEp7O3MzNX+utEoiRIA8ffQwYfZD7/+zuQ6I/rwW4fBGJI6XlFdz81GJeWLSF287ty61n91EJxEhgu4bcfY6Z9Qjq94tI4igpq+CmJxfyZvYO7jy/n84uFmNhfKHsRjNbGt111OZQTzKziWaWaWaZubm5scwnIjFUVFrO9U9k8Wb2Dn759QEqgRDEuggeBI4FhgDbgHsP9UR3n+Lu6e6e3q5du1jlE5EYKiotZ8Ljmby3MoffXDqIa0b2DDtSUorpUUPuvuOL62b2MPBKLJcvInXH/pIyxj+WySfrdvGHbw3msvRuYUdKWjHdIjCzTpVuXgosO9RzRSRxFRaXcfW0Bcxbt4v7LjtBJRCyQ24RmFnbql7o7ruretzMngTOAFLNbDPwS+AMMxsCOLAemHSEeUUkzuUdKOXqR+ezdHMef718KF8/oXPYkZJeVbuGsoissA92/JYDvar6xe4+5iB3T61+NBFJNHv3l3DltPms2JbPP64YxuhBmkq6LjhkEbi7Rm1EpNbs3lfC2EfmsTqnkP8ZeyJf698h7EgSddgxAosYa2Y/j95OM7OM4KOJSKLILSjm8ilzWZNbyCNXpasE6pjqDBY/AJwMXBG9XQD8I7BEIpJQduQXcfmUuWzafYBHrz6J0/rocPC6pjqHjw5392FmtgjA3feYWcOAc4lIAti69wBXPPwJuQXFTL82g4yeVR6DIiGpThGUmll9IgPEmFk7oCLQVCIS9zbt3s8Vj3zC3n2lPD5+OCd2P+REAhKy6uwauh94AehgZr8BPgR+G2gqEYlr63fu4zsPzSX/QBkzJ6gE6rrDbhG4+0wzywK+Fr3rEndfEWwsEYlXq3MK+e4jn1BSVsGsCcMZ2LlV2JHkMKo7xURT4IvdQ02CiyMi8WzV9gK++8g8wJk98WT6dmwRdiSphuocPvoLYDrQFkgFHjWznwUdTETiy/Kt+Yx5+BPqGSqBOFOdLYIxwFB3LwIws3uAhcDdQQYTkfjx6eY8xk6dR9OG9Zk1YQQ9U5uFHUmOQHUGi9cDjSvdbgSsCSSNiMSdhRv3cMUjn9C8UQOennSySiAOVTXp3N+IjAkUA9lm9nb09tlEjhwSkSS3YP1urp42n9QWjZg1YQRdWmsIMR5VtWsoM3qZReTw0S98EFgaEYkbH6/ZyfjHMunUujGzrhtBx1aND/8iqZOqmnRueiyDiEj8mPNZLhMezyStbVNmThhO+xYqgXh22MFiM+sN/A4YQKWxAnevchpqEUlM76/MYdITWRzbrjlPjM/gmOaNwo4kR6k6g8WPEjnXcBnwX8DjwIwgQ4lI3fTap9uYOCOTvh1a8OSE4SqBBFGdImji7u8C5u4b3H0ycGawsUSkLnF3/vH+am6YuZDBXVvzxHXDad1Uc08miup8j6DIzOoBn5vZjcAWoH2wsUSkriguK+cnz3/K8wu3cPGQzvz+m4NpnFI/7FhSi6pTBLcQmWLi+8CvieweujLIUCJSN+zeV8KkGZksWL+HW8/qw/e/dhxmBzt7rcSz6kw6tyB6tRC4BsDM/gTMCzCXiIRsdU4B1z6Wyfb8Iu4fM5SLdJL5hFWdMYKDuaxWU4hInfKvz3O59IGP2V9SzuyJI1QCCa66s49+lbYNRRLUjE82MPmlbHq3b84jV6XTtU3TsCNJwKqaYuJQ55QzVAQiCaesvIK7X13BYx+v58x+7bl/zFCaN6rpZ0WJJ1X9LWcRmVvoYCv9kmDiiEgYCopKuenJRXywKpfxo3py5/n9qV9Pn/eSRVVTTPSMZRARCcem3fu5bnomq3MLufuSQYwd0T3sSBJj2u4TSWJZG/YwaUYmxWUVTL8mg1G9U8OOJCFQEYgkqRcXb+G2Z5fSqVVjZk88iePaNw87koTkkIePmtlrZtYjdlFEJBbcnT+//Rk3z17MkK6teeGGkSqBJFfV9wgeA94ys5+aWUqM8ohIgIpKy/n+7MX89d3P+eawrsy4LoO2zTRnULKrarD4aTN7FfgFkGlmM4CKSo/fF4N8IlJLcguKmTgjk0Ub93L76H5cf3ovTRchwOHHCEqBfUTOU9yCSkUgIvFj5fZ8xj+Wya59xfzP2GGMHtQp7EhSh1T1hbLRwH3AS8Awd99/JL/YzKYBFwI57j4oel9b4CmgB7AeuMzd99QouYhUy3srd3DTrEU0b9yAZyadwvFdW4UdSeqYqsYIfgp8293vONISiHoMGP2V++4A3nX33sC70dsiEgB3Z9qH67hueiY9Upvx4vdGqQTkoKoaIzj1aH6xu885yFFHFwNnRK9PBz4Abj+a5YjIfyotr2DyS9nMnLeRcwZ04C+XD6FpQx0tLgcX638ZHdx9G4C7bzOzQ57gxswmAhMB0tLSYhRPJP7lHSjlezMX8uHqnVx/+rH8+Ny+1NN0EVKFOvsRwd2nAFMA0tPTPeQ4InFhw659XPvYAjbu3s8fvjWYy9K7hR1J4kCsi2CHmXWKbg10AnJivHyRhDVv7S6ufyILB2aMH86IXseEHUniRE1PTFNTLwFXRa9fBbwY4+WLJKRnszYzduo82jRtyAs3jFQJyBEJbIvAzJ4kMjCcamabgV8C9wBPm9l4YCPw7aCWL5IMKiqcP721igc+WMMpxx7Dg989kVZNNRGAHJnAisDdxxzioa8FtUyRZLK/pIwfPLWEN7K3MyYjjbsuHkhK/Vhv5EsiqLODxSJyaDvyi7hueibLtubxswv6M35UT00XITWmIhCJMx+t3smtTy2msLiMh8elc9aADmFHkjinIhCJEyVlFdz71iqm/GstvVKbMf3aDPp3ahl2LEkAKgKROLA6p5CbZy8ie2s+VwxP4+cXDKBJw/phx5IEoSIQqcPcnSfnb+KuV7JpklKfh8adyLkDO4YdSxKMikCkjtqzr4Q7nl/Km9k7GHncMdx32RA6tGwcdixJQCoCkTroo9U7+cHTi9m9r4Sfnh85KkjzBUlQVAQidchXB4SnXnUSg7po6mgJlopApI5YnVPILU8tYtkWDQhLbKkIREKmAWEJm4pAJEQaEJa6QEUgEpLKA8J3nt+P60b10oCwhEJFIBJjlQeEe2pAWOoAFYFIDK3JjXxDWAPCUpeoCERiwN2ZvWATd728nEYp9TQgLHWKikAkYBoQlrpORSASIA0ISzxQEYgEQAPCEk9UBCK17KsDwj+7oD9NG+q/mtRd+tcpUks0ICzxSkUgUgs0ICzxTEUgcpQ+Xr2THzy9hF37ijUgLHFJRSBSQ8Vl5dz39mdMmRMZEH7kqpEaEJa4pCIQqYH3Vu7grpeXs37XfsZkpPHzCzUgLPFL/3JFjsCa3EJ+/cpyPliVS692zZh+bQan92kXdiyRo6IiEKmGgqJS/vbeah79aB2NG9TnZxf058qTe9CwQb2wo4kcNRWBSBUqKpznF23hntdXsrOwmMvSu3Lbuf1o16JR2NFEao2KQOQQFm/ayy9fymbJpr0MTWvN1KvSOaFb67BjidQ6FYHIV+QUFPHHN1bxTNZm2rVoxL3fPoFLh3bRIaGSsFQEIlElZRVM/3g9f333c4rLypl0ei9uOrM3zRvpv4kktlD+hZvZeqAAKAfK3D09jBwiX/hgVQ53vbKctbn7+K++7fj5hQPo1a552LFEYiLMjzr/5e47Q1y+COt37uPuV5fzzooceqY2Y9rV6ZzZr0PYsURiStu8kpT2FZfx9/dXM/Vf60ipb9xxXj+uGdmDRg102khJPmEVgQNvmZkDD7n7lK8+wcwmAhMB0tLSYhxPEpW787+LI4eD7sgv5hvDunDH6H601wRxksTCKoKR7r7VzNoDb5vZSnefU/kJ0XKYApCenu5hhJTE8unmPCa/nE3Whj0M7tqKB8eeyLC0NmHHEgldKEXg7lujlzlm9gKQAcyp+lUiNbOzsJg/vbmKpzI3cUyzhvzhm4P51olddTioSFTMi8DMmgH13L0gev0c4K5Y55DEV1peweNzN/CXdz7jQEk540f25Ptn9aZl45Swo4nUKWFsEXQAXjCzL5Y/y93fCCGHJLAPP9/J5JezWZ1TyKm9U/nl1wdwXPsWYccSqZNiXgTuvhY4IdbLleSwafd+7n51OW9m7yCtbVOmjDuRswd0IPrBQ0QOQoePSkLYX1LGgx+s4aE5a6lvxm3n9mX8qJ40TtHhoCKHoyKQuFZaXsHLS7byxzdXsS2viIuHdOaO8/rRqVWTsKOJxA0VgcSlwuIyZs/fyKMfrWfL3gMM6NSS+8cM5aQebcOOJhJ3VAQSV7bnFfHox+uYNW8jBUVlZPRsy68uGsiZ/drrcFCRGlIRSFxYtb2AKXPW8tKSLZRXOOcN6sSE03oxROcHEDlqKgKps9ydj9fsYsqctfzzs1yapNTniow0xo/qRdoxTcOOJ5IwVARS55SWV/Dap9uYMmct2VvzSW3ekB+d04fvDu9Om2YNw44nknBUBFJnfHUAuFe7ZtzzjeO5ZGgXHQYqEiAVgYRuR34Rj360npnzNmgAWCQEKgIJzartBTz8r7W8uPj/B4CvO7UnQzUjqEhMqQgkptyduWt28ZAGgEXqDBWBxMQXA8AP/2sty7ZoAFikLlERSKA0ACxS96kIJBAaABaJHyoCqVUaABaJPyoCOWoFRaW8tzKH5xdu+bcB4GtH9aT7Mc3Cjicih6EikBrZu7+Et5fv4I1l2/nX5zspKa+gfYtG/PDsPowdoQFgkXiiIpBqyy0o5q3l23lj2XbmrtlFWYXTpXUTxp3cnfMGdWRYWhvt/xeJQyoCqdL2vCLeWLaN15dtZ8H63VQ49DimKded2ovzBnVkcNdWOg2kSJxTEch/2LR7P69HV/6LNu4FoE+H5tx4Zm/OG9SRfh1baOUvkkBUBALA6pzCLz/5Z2/NB2Bg55bcdm5fRg/qyLHtmoecUESCoiJIUu7Oyu0FvL5sO28s28ZnOwoBGJrWmjvP78fogZ005YNIklARJBF3Z+nmvC9X/ut37aeewUk92jL56wM4d1BHnfRdJAmpCBJcRYWzcOMeXvt0O29mb2fL3gPUr2eccuwxTDitF+cM6Ei7Fo3CjikiIVIRJKCy8grmr9vN68siK/+cgmIa1q/Hqb1TueWs3pw9oAOtm+o4fxGJUBEkgL37S8jems+yLXl8uiWPj9fsYve+Ehqn1OOMPu057/iOnNmvPS0ap4QdVUTqIBVBnMkpKCJ7S2Slv2xrHsu25LNl74EvH+/SugmjjkvlvEEdOb1vO5o21F+xiFRNa4k6yt3ZsvcA2Vvzyd6Sx7LoJ/6cguIvn9MztRlD01oz7uTuDOrcioGdW2pqBxE5YiqCOqCiwtmwe/+Xn/Kzt+SzbGsee/eXAlDPoHf7FozqncrAzq0Y1LklAzq31K4eEakVKoIYKyuvYO3OfZGVfnSFv3xrPoXFZQCk1Df6dmzB6IEdGdglstLv17ElTRrqJC4iEgwVQYCKy8r5fEfhv+3PX7Etn+KyCgAap9RjQKeWfGNYl8iunS4t6d2+BQ0b1As5uYgkk1CKwMxGA38F6gOPuPs9YeQ4EsVl5eQdKCX/QCl5B8rIP1BKflEpeQdKydv//9fzD5SRd6CU3ftKWLuzkNJyB6BFowYM7NKSsSO6M6hLSwZ1bkWvds2pr9k6RSRkMS8CM6sP/AM4G9gMLDCzl9x9eZDLdXcKiyMr6cor7PyiL1bulS6LKj8vcvnFp/hDaZJSn1ZNUmjZpAGtmqTQrW1TzuzfnkGdWzGoS0u6tWmqKZpFpE4KY4sgA1jt7msBzGw2cDFQ60Vw/7uf82zW5i9X9hV+6OeaRT61t2qaElmhN06hd/vm0ZV7ypeXLRtHVvT/dn/jFO3OEZG4FUYRdAE2Vbq9GRj+1SeZ2URgIkBaWlqNFtS+RSOGdGtdacVdaSXe+N9X8C0aNdAndhFJSmEUwcHWtv/xWd3dpwBTANLT06v4LH9ol2ekcXlGzUpERCRZhLE/YzPQrdLtrsDWEHKIiAjhFMECoLeZ9TSzhsDlwEsh5BAREULYNeTuZWZ2I/AmkcNHp7l7dqxziIhIRCjfI3D314DXwli2iIj8Ox3zKCKS5FQEIiJJTkUgIpLkVAQiIknO3Gv0Xa2YMrNcYEMNX54K7KzFOPFA7zk56D0nh6N5z93dvd3hnhQXRXA0zCzT3dPDzhFLes/JQe85OcTiPWvXkIhIklMRiIgkuWQogilhBwiB3nNy0HtODoG/54QfIxARkaolwxaBiIhUQUUgIpLkEroIzGy0ma0ys9VmdkfYeYJmZtPMLMfMloWdJRbMrJuZvW9mK8ws28xuDjtT0MyssZnNN7Ml0ff8q7AzxYqZ1TezRWb2SthZYsHM1pvZp2a22MwyA11Woo4RmFl94DPgbCInw1kAjHH3Wj83cl1hZqcBhcDj7j4o7DxBM7NOQCd3X2hmLYAs4JIE/zs2oJm7F5pZCvAhcLO7fxJytMCZ2Q+AdKClu18Ydp6gmdl6IN3dA/8CXSJvEWQAq919rbuXALOBi0POFCh3nwPsDjtHrLj7NndfGL1eAKwgck7shOURhdGbKdGfxPw0V4mZdQUuAB4JO0siSuQi6AJsqnR7Mwm+kkhmZtYDGArMCzdJ8KK7SBYDOcDb7p7w7xn4C/BjoCLsIDHkwFtmlmVmE4NcUCIXgR3kvoT/5JSMzKw58Bxwi7vnh50naO5e7u5DiJzvO8PMEno3oJldCOS4e1bYWWJspLsPA84Dvhfd9RuIRC6CzUC3Sre7AltDyiIBie4nfw6Y6e7Ph50nltx9L/ABMDrkKEEbCVwU3Wc+GzjTzJ4IN1Lw3H1r9DIHeIHI7u5AJHIRLAB6m1lPM2sIXA68FHImqUXRgdOpwAp3vy/sPLFgZu3MrHX0ehPgLGBluKmC5e4/cfeu7t6DyP/j99x9bMixAmVmzaIHQGBmzYBzgMCOBkzYInD3MuBG4E3rhVLdAAACQElEQVQig4hPu3t2uKmCZWZPAnOBvma22czGh50pYCOBcUQ+IS6O/pwfdqiAdQLeN7OlRD7svO3uSXE4ZZLpAHxoZkuA+cCr7v5GUAtL2MNHRUSkehJ2i0BERKpHRSAikuRUBCIiSU5FICKS5FQEIiJJTkUgSSk6c+k6M2sbvd0merv7QZ5b+J+/4ZC/d7KZ/egIs1T794sEQUUgScndNwEPAvdE77oHmOLuG8JLJRIOFYEksz8DI8zsFmAUcG91X2hmXzezedH58d8xsw6VHj7BzN4zs8/NbEKl19xmZgvMbGkynUdA6r4GYQcQCYu7l5rZbcAbwDnR6cqr60NghLu7mV1HZGbMH0YfGwyMAJoBi8zsVWAQ0JvIfDEGvGRmp0WnDhcJlYpAkt15wDYiK+q3j+B1XYGnoifHaQisq/TYi+5+ADhgZu8TWfmPIjJfzKLoc5oTKQYVgYROu4YkaZnZECJnsBsB3BpdqVfX34C/u/vxwCSgcaXHvjpvixPZCviduw+J/hzn7lOPIr5IrVERSFKKzlz6IJFzGGwE/gj86Qh+RStgS/T6VV957OLouYWPAc4gMjncm8C10XMnYGZdzKz9UbwFkVqjXUOSrCYAG939i91BDwBXm9np7v7Przy3qZltrnT7PmAy8IyZbQE+AXpWenw+8CqQBvw6Oq/8VjPrD8yNdBCFwFgiZxkTCZVmHxURSXLaNSQikuRUBCIiSU5FICKS5FQEIiJJTkUgIpLkVAQiIklORSAikuT+D5/eQH3t/Q+GAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Adding axis titles and plot titles\n", + "plt.plot(x,y)\n", + "plt.xlabel('X Label')\n", + "plt.ylabel('Y Label')\n", + "plt.title('Title')" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Multiplots on the same canvas\n", + "\n", + "plt.subplot(1,2,1)\n", + "plt.plot(x,y,'r')\n", + "\n", + "plt.subplot(1,2,2)\n", + "plt.plot(y,x)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.subplot(2,1,1)\n", + "plt.plot(x,y,'r')\n", + "\n", + "plt.subplot(2,1,2)\n", + "plt.plot(y,x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Object Oriented" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The main idea when using the formal object oriented method is to create figure objects and then just call methods or attributes off of that object. This approach is nicer when dealing with a canvas that has multiple plots on it" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### To begin we create a figure instance and then we add axes to that figure:" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'Linear graph')" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Create figure = empty canvas()\n", + "\n", + "fig = plt.figure()\n", + "\n", + "#Add set of axes to the figure\n", + "\n", + "axes = fig.add_axes([0.1,0.1,0.8,0.8])\n", + "\n", + "axes.plot(x,y,'r')\n", + "axes.set_xlabel('X Axis')\n", + "axes.set_ylabel('Y Axis')\n", + "axes.set_title('Linear graph')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'SUB PLOT')" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "\n", + "axes1 = fig.add_axes([0.1,0.1,0.8,0.8])\n", + "axes2 = fig.add_axes([0.2,0.5,0.3,0.3])\n", + "\n", + "axes1.plot(x,y)\n", + "axes2.plot(y,x)\n", + "\n", + "axes1.set_title('MAIN PLOT')\n", + "axes2.set_title('SUB PLOT')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure()\n", + "\n", + "axes1 = fig.add_axes([0.1,0.1,0.8,0.8])\n", + "axes2 = fig.add_axes([0.4,0.2,0.4,0.3])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(nrows=1,ncols=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(nrows=3,ncols=3)\n", + "\n", + "#To fix the overlaps, I used the code line below\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Axes is just an array type, what this means is that it can be iterated through and indexed just the way any other array can, array operations can be performed on axes." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig,axes = plt.subplots(nrows=1, ncols=4)\n", + "\n", + "# iterating through an axes array as with a normal array\n", + "\n", + "for ax in axes:\n", + " ax.plot(x,y)\n", + " \n", + " \n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig,axes = plt.subplots(nrows=1, ncols=2)\n", + "\n", + "# Indexing an axis and performing operations on them\n", + "axes[0].plot(x,y)\n", + "axes[0].set_title('First Plot')\n", + "axes[1].plot(y,x)\n", + "axes[1].set_title('Second Plot')\n", + "\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The same arguments can also be passed to layout managers such as the subplot function:" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(figsize=(10,3))\n", + "\n", + "axes.plot(x, y, 'r')\n", + "axes.set_xlabel('x')\n", + "axes.set_ylabel('y')\n", + "axes.set_title('title');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Special Plot Types\n", + "\n", + "There are many specialized plots we can create, such as barplots, histograms, scatter plots, and much more. Most of these type of plots can be created even more efficiently using seaborn, a statistical plotting library for Python. But here are a few examples of these type of plots:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAADu5JREFUeJzt3X9oXed9x/HPZ4rGLkmGUqwGWwlTKEEsLMwqwgwEpVuXysnKogYG81jIHwH3jwQSVjSs/rPurxi0ptsfo+A2phnLUgpR1LCUqiZJCYEurWy5kTNNSynu5isTKwSRBC5MVr77Q0eq5Vq9v865R/e57xeIe+9zj/R8D8YfDs/znPM4IgQA6H6/VXYBAIB8EOgAkAgCHQASQaADQCIIdABIBIEOAIkg0AEgEQQ6ACSCQAeARNzUyc4OHDgQw8PDnewSALre2bNn34uIwXrHdTTQh4eHtbCw0MkuAaDr2f5lI8cx5AIAiSDQASARBDoAJIJAB4BEEOgAkIi6gW77Ttuv2V62/bbtJ7L2r9qu2j6f/TxQfLkA0D3mFqsaP/mq7jrxssZPvqq5xWqh/TWybPGqpC9HxDnbt0o6a/tM9t3XI+IfiisPALrT3GJV07NLqm1sSpKq6zVNzy5JkiZHhwrps+4VekRcjohz2fsPJS1LKqYaAEjEzPzKTphvq21samZ+pbA+mxpDtz0saVTSm1nT47bfsn3a9m17/M5x2wu2F9bW1toqFgC6xep6ran2PDQc6LZvkfSCpCcj4gNJ35D0KUmHJV2W9LUb/V5EnIqIsYgYGxyse+cqACTh0EClqfY8NBTotvu1FebPRcSsJEXEuxGxGREfS/qmpCOFVQkAXWZqYkSV/r5dbZX+Pk1NjBTWZ91JUduW9Iyk5Yh4+pr2gxFxOfv4RUkXiikRALrP9sTnzPyKVtdrOjRQ0dTESGETolJjq1zGJT0sacn2+aztK5KO2T4sKSRdlPSlQioEgC41OTpUaIBfr26gR8QbknyDr76ffzkAgFZxpygAJIJAB4BEEOgAkAgCHQASQaADQCIIdABIBIEOAIkg0AEgEQQ6ACSCQAeARBDoAJAIAh0AEkGgA0AiCHQASASBDgCJINABIBEEOgAkgkAHgEQQ6ACQCAIdABJBoANAIgh0AEgEgQ4AiSDQASARBDoAJIJAB4BEEOgAkAgCHQASQaADQCJuKrsAACja3GJVM/MrWl2v6dBARVMTI5ocHSq7rNzVvUK3faft12wv237b9hNZ+ydsn7H9TvZ6W/HlAkBz5harmp5dUnW9ppBUXa9penZJc4vVskvLXSNDLlclfTkifl/SH0l6zPY9kk5IeiUi7pb0SvYZAPaVmfkV1TY2d7XVNjY1M79SUkXFqRvoEXE5Is5l7z+UtCxpSNKDkp7NDntW0mRRRQJAq1bXa021d7OmJkVtD0salfSmpNsj4rK0FfqSPpl3cQDQrkMDlabau1nDgW77FkkvSHoyIj5o4veO216wvbC2ttZKjQDQsqmJEVX6+3a1Vfr7NDUxUlJFxWko0G33ayvMn4uI2az5XdsHs+8PSrpyo9+NiFMRMRYRY4ODg3nUDAANmxwd0lMP3auhgYosaWigoqceujfJVS51ly3atqRnJC1HxNPXfPWSpEckncxev1dIhQDQpsnRoSQD/HqNrEMfl/SwpCXb57O2r2gryL9r+1FJ/yPpL4opEQDQiLqBHhFvSPIeX38u33IAAK3i1n8ASASBDgCJINABIBEEOgAkgkAHgEQQ6ACQCAIdABJBoANAIgh0AEgEgQ4AiSDQASARBDoAJIJAB4BEEOgAkAgCHQASQaADQCIIdABIBIEOAIkg0AEgEQQ6ACSCQAeARBDoAJAIAh0AEnFT2QUA6A1zi1XNzK9odb2mQwMVTU2MaHJ0qOyykkKgAyjc3GJV07NLqm1sSpKq6zVNzy5JEqGeI4ZcABRuZn5lJ8y31TY2NTO/UlJFaSLQARRudb3WVDtaQ6ADKNyhgUpT7WgNgQ6gcFMTI6r09+1qq/T3aWpipKSK0sSkKIDCbU98ssqlWAQ6gI6YHB0iwAtWd8jF9mnbV2xfuKbtq7arts9nPw8UWyYAoJ5GxtC/LenoDdq/HhGHs5/v51sWAKBZdQM9Il6X9H4HagEAtKGdVS6P234rG5K5ba+DbB+3vWB7YW1trY3uAAC/SauB/g1Jn5J0WNJlSV/b68CIOBURYxExNjg42GJ3AIB6Wgr0iHg3IjYj4mNJ35R0JN+yAADNainQbR+85uMXJV3Y61gAQGfUXYdu+3lJn5V0wPYlSX8n6bO2D0sKSRclfanAGgEADagb6BFx7AbNzxRQCwCgDTzLBQASQaADQCIIdABIBIEOAIkg0AEgEQQ6ACSCQAeARBDoAJAIAh0AEkGgA0AiCHQASASBDgCJINABIBF1n7YIIC1zi1XNzK9odb2mQwMVTU2MaHJ0qOyykAMCHeghc4tVTc8uqbaxKUmqrtc0PbskSYR6AhhyAXrIzPzKTphvq21samZ+paSKkCcCHeghq+u1ptrRXQh0oIccGqg01Y7uQqADPWRqYkSV/r5dbZX+Pk1NjJRUEfLEpCjQQ7YnPlnlkiYCHegxk6NDBHiiGHIBgEQQ6ACQCAIdABJBoANAIgh0AEgEgQ4AiSDQASARBDoAJIJAB4BE1A1026dtX7F94Zq2T9g+Y/ud7PW2YssEANTTyBX6tyUdva7thKRXIuJuSa9knwEAJaob6BHxuqT3r2t+UNKz2ftnJU3mXBcAoEmtjqHfHhGXJSl7/WR+JQEAWlH4pKjt47YXbC+sra0V3R0A9KxWA/1d2wclKXu9steBEXEqIsYiYmxwcLDF7gAA9bQa6C9JeiR7/4ik7+VTDgCgVY0sW3xe0o8ljdi+ZPtRSScl3Wf7HUn3ZZ8BACWqu2NRRBzb46vP5VwLAKANbEEHlGRuscrensgVgQ6UYG6xqunZJdU2NiVJ1fWapmeXJIlQR8t4lgtQgpn5lZ0w31bb2NTM/EpJFSEFBDpQgtX1WlPtQCMIdKAEhwYqTbUDjSDQgRJMTYyo0t+3q63S36epiZGSKkIKmBQFSrA98ckqF+SJQAdKMjk6RIAjVwy5AEAiCHQASASBDgCJINABIBEEOgAkgkAHgEQQ6ACQCAIdABJBoANAIgh0AEgEgQ4AiSDQASARBDoAJIKnLaKnsVEzUkKgo2exUTNSw5ALehYbNSM1BDp6Fhs1IzUEOnoWGzUjNQQ6ehYbNSM1TIqiZ7FRM1JDoKOnsVEzUsKQCwAkgkAHgES0NeRi+6KkDyVtSroaEWN5FAUAaF4eY+h/HBHv5fB3AABtYMgFABLRbqCHpB/aPmv7+I0OsH3c9oLthbW1tTa7AwDspd1AH4+IT0u6X9Jjtj9z/QERcSoixiJibHBwsM3uAAB7aSvQI2I1e70i6UVJR/IoCgDQvJYD3fbNtm/dfi/p85Iu5FUYAKA57axyuV3Si7a3/86/RcQPcqkKANC0lgM9In4h6Q9zrAU9jJ2DgPbxLBeUjp2DgHywDh2lY+cgIB8EOkrHzkFAPgh0lI6dg4B8EOgoHTsHAflgUhSlY+cgIB8EOvYFdg4C2seQCwAkgkAHgEQQ6ACQCAIdABJBoANAIgh0AEgEyxaxC089BLoXgY4dPPUQ6G4MuWAHTz0EuhuBjh089RDobgQ6dvDUQ6C7EejYwVMPge7GpCh28NRDoLsR6NiFpx4C3YshFwBIBIEOAIlgyGUf4m5NAK0g0PcZ7tYE0CqGXPYZ7tYE0CoCfZ/hbk0ArSLQ9xnu1gTQKgJ9n+FuTQCtYlL0NyhjtQl3awJoVVuBbvuopH+S1CfpWxFxMpeq9oEyV5twtyaAVrQ85GK7T9I/S7pf0j2Sjtm+J6/CrjW3WNX4yVd114mXNX7yVc0tVovoZhdWmwDoNu2MoR+R9POI+EVE/J+k70h6MJ+yfmX7Srm6XlPoV1fKRYc6q00AdJt2An1I0v9e8/lS1parsq6UWW0CoNu0E+i+QVv82kH2cdsLthfW1taa7qSsK2VWmwDoNu0E+iVJd17z+Q5Jq9cfFBGnImIsIsYGBweb7qSsK+XJ0SE99dC9GhqoyJKGBip66qF7mawEsG+1s8rlp5Lutn2XpKqkv5T0V7lUdY2piZFdq02kzl0ps9oEQDdpOdAj4qrtxyXNa2vZ4umIeDu3yjKsywaAxjji14a9CzM2NhYLCwsd6w8AUmD7bESM1TuOW/8BIBEEOgAkgkAHgEQQ6ACQCAIdABLR0VUuttck/bKNP3FA0ns5ldMNeu18Jc65F/Ta+Urtn/PvRUTdOzM7Gujtsr3QyNKdVPTa+Uqccy/otfOVOnfODLkAQCIIdABIRLcF+qmyC+iwXjtfiXPuBb12vlKHzrmrxtABAHvrtit0AMAeuiLQbR+1vWL757ZPlF1P0Wyftn3F9oWya+kU23fafs32su23bT9Rdk1Fsv07tn9i+2fZ+f592TV1iu0+24u2/73sWjrB9kXbS7bP2y706YT7fsgl24z6vyXdp61NNX4q6VhE/GephRXI9mckfSTpXyLiD8qupxNsH5R0MCLO2b5V0llJk6n+O9u2pJsj4iPb/ZLekPRERPxHyaUVzvbfSBqT9LsR8YWy6yma7YuSxiKi8LX33XCF3pHNqPeTiHhd0vtl19FJEXE5Is5l7z+UtKwC9qjdL2LLR9nH/uxnf19d5cD2HZL+TNK3yq4lRd0Q6B3ZjBr7h+1hSaOS3iy3kmJlQw/nJV2RdCYikj7fzD9K+ltJH5ddSAeFpB/aPmv7eJEddUOgN7QZNdJg+xZJL0h6MiI+KLueIkXEZkQc1tZ+vEdsJz28ZvsLkq5ExNmya+mw8Yj4tKT7JT2WDakWohsCvaHNqNH9srHkFyQ9FxGzZdfTKRGxLulHko6WXErRxiX9eTam/B1Jf2L7X8stqXgRsZq9XpH0oraGkQvRDYG+sxm17d/W1mbUL5VcE3KWTRI+I2k5Ip4uu56i2R60PZC9r0j6U0n/VW5VxYqI6Yi4IyKGtfX/+NWI+OuSyyqU7ZuzSX7ZvlnS5yUVtnpt3wd6RFyVtL0Z9bKk7xaxGfV+Yvt5ST+WNGL7ku1Hy66pA8YlPaytq7bz2c8DZRdVoIOSXrP9lrYuWs5ERE8s4+sxt0t6w/bPJP1E0ssR8YOiOtv3yxYBAI3Z91foAIDGEOgAkAgCHQASQaADQCIIdABIBIEOAIkg0AEgEQQ6ACTi/wFkvcEtKXLbDQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(x,y)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([13., 6., 6., 7., 10., 10., 15., 11., 9., 13.]),\n", + " array([ 29. , 125.9, 222.8, 319.7, 416.6, 513.5, 610.4, 707.3, 804.2,\n", + " 901.1, 998. ]),\n", + " )" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = np.random.randint(1, 1000, 100)\n", + "plt.hist(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'boxes': [],\n", + " 'caps': [,\n", + " ],\n", + " 'fliers': [],\n", + " 'means': [],\n", + " 'medians': [],\n", + " 'whiskers': [,\n", + " ]}" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAD8CAYAAAB+UHOxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAADKlJREFUeJzt3X+o3fV9x/Hna2a2a4eNP67W3URjaegmg1E5WLfCGM3o1MniHxXsxgwSyD9u6+ZgZvvH/finwpibMITQuEYoruIKBpEViZYymNKbtlhtNnJxmNwmNbdE7ZiMTvbeH/eTeU2uuXq+N+dc83k+4HK+38/3c+73c0uTZ77fc48nVYUkqT8/Ne0FSJKmwwBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1asO0F3A2l112WW3ZsmXay5Ck95WDBw/+qKpmVpu3rgOwZcsW5ubmpr0MSXpfSfLyu5nnLSBJ6pQBkKROrRqAJA8lOZHkhWVjlyR5Ksnh9nhxG0+SB5LMJ3k+yXXLnrOjzT+cZMe5+XEkSe/Wu7kC+DJw42lju4EDVbUVOND2AW4CtravXcCDsBQM4F7gU8D1wL2noiFJmo5VA1BV3wROnja8HdjXtvcBty4bf7iWPAtsTHIl8BvAU1V1sqpeBZ7izKhIkiZo3NcArqiq4wDt8fI2PgscXTZvoY2907gkaUrW+kXgrDBWZxk/8xsku5LMJZlbXFxc08VJkt4ybgBeabd2aI8n2vgCsHnZvE3AsbOMn6Gq9lTVqKpGMzOrvo9BkjSmcQOwHzj1mzw7gMeXjd/RfhvoBuD1dovo68Bnk1zcXvz9bBuT1oUkE/mS1pNV3wmc5BHg14DLkiyw9Ns8XwQeTbITOALc1qY/CdwMzANvAHcCVNXJJH8FfKvN+8uqOv2FZWlqqla8I3lWScZ6nrReZD3/H3g0GpX/KQitVwZA61WSg1U1Wm2e7wSWpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4ZAEnqlAGQpE4NCkCSP0ryYpIXkjyS5INJrknyXJLDSb6a5MI29wNtf74d37IWP4AkaTxjByDJLPAHwKiqfhG4ALgduA+4v6q2Aq8CO9tTdgKvVtXHgfvbPEnSlAy9BbQB+JkkG4APAceBzwCPteP7gFvb9va2Tzu+LUkGnl+SNKaxA1BVPwD+GjjC0l/8rwMHgdeq6s02bQGYbduzwNH23Dfb/EvHPb8kaZght4AuZulf9dcAPwd8GLhphal16ilnObb8++5KMpdkbnFxcdzlSZJWMeQW0K8D/1FVi1X1P8DXgF8BNrZbQgCbgGNtewHYDNCOfwQ4efo3rao9VTWqqtHMzMyA5UmSzmZIAI4ANyT5ULuXvw34PvAM8Lk2ZwfweNve3/Zpx5+uqjOuACRJkzHkNYDnWHox99vA99r32gPcA9ydZJ6le/x721P2Ape28buB3QPWLUkaKOv5H+Gj0ajm5uamvQxpRUlYz39+1K8kB6tqtNo83wksSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yADovXbnpKpKc0y/gnJ/jyk1XTfl/SZ3PNqw+RXr/+eEPjnL1PU9MexmDvXzfLdNegs5jXgFIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1ygBIUqcMgCR1alAAkmxM8liSf0tyKMkvJ7kkyVNJDrfHi9vcJHkgyXyS55NctzY/giRpHEOvAP4O+Oeq+nngl4BDwG7gQFVtBQ60fYCbgK3taxfw4MBzS5IGGDsASS4CfhXYC1BVP6mq14DtwL42bR9wa9veDjxcS54FNia5cuyVS5IGGXIF8DFgEfiHJN9J8qUkHwauqKrjAO3x8jZ/Fji67PkLbUySNAVDArABuA54sKo+CfwXb93uWUlWGKszJiW7kswlmVtcXBywPEnS2QwJwAKwUFXPtf3HWArCK6du7bTHE8vmb172/E3AsdO/aVXtqapRVY1mZmYGLE+SdDZjB6CqfggcTfKJNrQN+D6wH9jRxnYAj7ft/cAd7beBbgBeP3WrSJI0eRsGPv/3ga8kuRB4CbiTpag8mmQncAS4rc19ErgZmAfeaHMlSVMyKABV9V1gtMKhbSvMLeCuIeeTJK0d3wksSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUqaGfCCatS3XvRcBvT3sZw9170bRXoPOYAdB5KX/xY66+54lpL2Owl++7hfrzaa9C5ytvAUlSpwyAJHXKAEhSpwyAJHXKAEhSpwyAJHXKAEhSpwyAJHXKAEhSpwyAJHXKAEhSpwyAJHXKAEhSpwyAJHVqcACSXJDkO0meaPvXJHkuyeEkX01yYRv/QNufb8e3DD23JGl8a3EF8AXg0LL9+4D7q2or8Cqws43vBF6tqo8D97d5kqQpGRSAJJuA3wS+1PYDfAZ4rE3ZB9zatre3fdrxbW2+JGkKhl4B/C3wJ8D/tv1Lgdeq6s22vwDMtu1Z4ChAO/56m/82SXYlmUsyt7i4OHB5kqR3MnYAktwCnKiqg8uHV5ha7+LYWwNVe6pqVFWjmZmZcZcnSVrFkM8E/jTwW0luBj4IXMTSFcHGJBvav/I3Acfa/AVgM7CQZAPwEeDkgPNLkgYY+wqgqv60qjZV1RbgduDpqvod4Bngc23aDuDxtr2/7dOOP11VZ1wBSJIm41y8D+Ae4O4k8yzd49/bxvcCl7bxu4Hd5+DckqR3acgtoP9XVd8AvtG2XwKuX2HOfwO3rcX5JEnD+U5gSeqUAZCkThkASeqUAZCkThkASeqUAZCkThkASeqUAZCkThkASeqUAZCkThkASeqUAZCkThkASeqUAZCkThkASeqUAZCkTq3JB8JI681HZzfz8n23THsZg310dvO0l6DzmAHQeen4wpFzfo4k+LHWej/zFpAkdcoASFKnDIAkdcoASFKnDIAkdcoASFKnDIAkdcoASFKnDIAkdcoASFKnDIAkdcoASFKnDIAkdWrsACTZnOSZJIeSvJjkC238kiRPJTncHi9u40nyQJL5JM8nuW6tfghJ0ns35ArgTeCPq+oXgBuAu5JcC+wGDlTVVuBA2we4CdjavnYBDw44tyRpoLEDUFXHq+rbbfs/gUPALLAd2Nem7QNubdvbgYdrybPAxiRXjr1ySdIga/IaQJItwCeB54Arquo4LEUCuLxNmwWOLnvaQhuTJE3B4AAk+Vngn4A/rKofn23qCmNnfJxSkl1J5pLMLS4uDl2eJOkdDApAkp9m6S//r1TV19rwK6du7bTHE218AVj+AaebgGOnf8+q2lNVo6oazczMDFmeJOkshvwWUIC9wKGq+ptlh/YDO9r2DuDxZeN3tN8GugF4/dStIknS5A35UPhPA78LfC/Jd9vYnwFfBB5NshM4AtzWjj0J3AzMA28Adw44tyRpoLEDUFX/wsr39QG2rTC/gLvGPZ8kaW35TmBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6pQBkKROGQBJ6tTEA5DkxiT/nmQ+ye5Jn1+StGSiAUhyAfD3wE3AtcDnk1w7yTVIkpZM+grgemC+ql6qqp8A/whsn/AaJEnAhgmfbxY4umx/AfjUhNcgnSHJRJ5XVWOdRzoXJh2Alf60vO1PRJJdwC6Aq666ahJrkvyLWV2a9C2gBWDzsv1NwLHlE6pqT1WNqmo0MzMz0cVJUk8mHYBvAVuTXJPkQuB2YP+E1yBJYsK3gKrqzSS/B3wduAB4qKpenOQaJElLJv0aAFX1JPDkpM8rSXo73wksSZ0yAJLUKQMgSZ0yAJLUqaznN8AkWQRenvY6pHdwGfCjaS9CWsHVVbXqG6nWdQCk9SzJXFWNpr0OaVzeApKkThkASeqUAZDGt2faC5CG8DUASeqUVwCS1CkDIL1HSR5KciLJC9NeizSEAZDeuy8DN057EdJQBkB6j6rqm8DJaa9DGsoASFKnDIAkdcoASFKnDIAkdcoASO9RkkeAfwU+kWQhyc5pr0kah+8ElqROeQUgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUKQMgSZ0yAJLUqf8DGijGLpM8m8cAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = np.random.randint(1, 1000, 100)\n", + "\n", + "# rectangular box plot\n", + "plt.boxplot(data,vert=True,patch_artist=True) #check out when vert and patch artist is false" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([ 3., 11., 20., 18., 11., 16., 11., 3., 5., 2.]),\n", + " array([-1.9113874 , -1.4572928 , -1.00319821, -0.54910361, -0.09500901,\n", + " 0.35908558, 0.81318018, 1.26727477, 1.72136937, 2.17546397,\n", + " 2.62955856]),\n", + " )" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD8CAYAAABw1c+bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAEVJJREFUeJzt3X+sX3V9x/Hna4hLVgmCXBFaapeNkHVGcbmpGrIFZbDSEHGLbpDFsYmpLprMxD/Umcji/tmyqNmGkXTSgAtDtylKYhU6t4WZqHghqKVFYcyFe9vQKs5aZTFd3/ujp+F6+d7eL9/zvfdQPs9H8s33nM/5nPP5fE96X9/Tz/f8SFUhSWrHzw3dAUnS2jL4JakxBr8kNcbgl6TGGPyS1BiDX5IaY/BLUmMMfklqjMEvSY153tAdGOWcc86pTZs2Dd0NSTpl3Hfffd+rqplx6j4rg3/Tpk3Mzc0N3Q1JOmUk+e9x6zrUI0mNMfglqTEGvyQ1xuCXpMYY/JLUmBWDP8kFSf4tyb4kDyb5k6787CS7kzzcvZ+1zPrXdXUeTnLdtD+AJOmZGeeI/yjw7qr6FeDVwDuSbAbeC3ypqi4EvtTN/4wkZwM3AK8CtgA3LPcFIUlaGysGf1UdqKr7u+kfAfuA9cDVwK1dtVuBN4xY/beA3VX1RFX9ANgNbJ1GxyVJk3lGY/xJNgGvBL4GnFtVB+D4lwPw4hGrrAceWzQ/35VJkgYy9pW7SV4AfBp4V1UdTjLWaiPKRj7dPcl2YDvAxo0bx+2WgM2bt7CwML/m7a5fv4G9e+9d83Yl9TNW8Cc5neOhf1tVfaYrfjzJeVV1IMl5wMERq84Dly6a3wD8+6g2qmoHsANgdnZ25JeDRltYmGfduv0DtHv+mrcpqb9xzuoJcDOwr6o+vGjRncCJs3SuAz43YvW7gCuSnNX9qHtFVyZJGsg4Y/yXAG8GXpfkge61DfgL4PIkDwOXd/MkmU3ycYCqegL4c+Dr3euDXZkkaSArDvVU1ZcZPVYPcNmI+nPAWxfN7wR2TtpBSdJ0eeWuJDXG4Jekxhj8ktQYg1+SGmPwS1JjDH5JaozBL0mNMfglqTEGvyQ1xuCXpMYY/JLUGINfkhpj8EtSYwx+SWqMwS9JjRn7mbvSUkeOPMmZZw7z+EWf9ytNzuDXxI4dOzrIs37B5/1KfawY/El2AlcBB6vqZV3Zp4CLuiovBP6nqi4ese53gR8B/wccrarZKfVbkjShcY74bwFuBD5xoqCqfu/EdJIPAT88yfqvrarvTdpBSdJ0jfPM3XuSbBq1LEmA3wVeN91uSZJWS9+zen4deLyqHl5meQF3J7kvyfaebUmSpqDvj7vXArefZPklVbU/yYuB3Ukeqqp7RlXsvhi2A2zcuLFntyRJy5n4iD/J84DfAT61XJ2q2t+9HwTuALacpO6OqpqtqtmZmZlJuyVJWkGfoZ7fBB6qqvlRC5OsS3LGiWngCmBPj/YkSVOwYvAnuR34CnBRkvkk13eLrmHJME+S85Ps6mbPBb6c5BvAvcDnq+qL0+u6JGkS45zVc+0y5X84omw/sK2bfhR4Rc/+SZKmzHv1SFJjDH5JaozBL0mNMfglqTEGvyQ1xuCXpMYY/JLUGINfkhpj8EtSYwx+SWqMz9yVnoHNm7ewsDDyvoSryofLa5oMfukZWFiYH+QB8z5cXtPkUI8kNcbgl6TGGPyS1BiDX5IaY/BLUmPGefTiziQHk+xZVPZnSRaSPNC9ti2z7tYk307ySJL3TrPjkqTJjHPEfwuwdUT5R6rq4u61a+nCJKcBHwWuBDYD1ybZ3KezkqT+Vgz+qroHeGKCbW8BHqmqR6vqp8Angasn2I4kaYr6jPG/M8k3u6Ggs0YsXw88tmh+visbKcn2JHNJ5g4dOtSjW5Kkk5k0+D8G/BJwMXAA+NCIOhlRVsttsKp2VNVsVc3OzMxM2C1J0komCv6qeryq/q+qjgF/x/FhnaXmgQsWzW8A1v5ad0nSz5go+JOct2j2t4E9I6p9HbgwyS8meT5wDXDnJO1JkqZnxZu0JbkduBQ4J8k8cANwaZKLOT50813gbV3d84GPV9W2qjqa5J3AXcBpwM6qenBVPoUkaWwrBn9VXTui+OZl6u4Hti2a3wU87VRPSdJwvHJXkhpj8EtSYwx+SWqMwS9JjTH4JakxBr8kNcbgl6TGGPyS1BiDX5IaY/BLUmMMfklqjMEvSY0x+CWpMQa/JDXG4Jekxhj8ktQYg1+SGrNi8CfZmeRgkj2Lyv4qyUNJvpnkjiQvXGbd7yb5VpIHksxNs+OSpMmMc8R/C7B1Sdlu4GVV9XLgO8D7TrL+a6vq4qqanayLkqRpWjH4q+oe4IklZXdX1dFu9qvAhlXomyRpFUxjjP8twBeWWVbA3UnuS7L9ZBtJsj3JXJK5Q4cOTaFbkqRRegV/kvcDR4HblqlySVX9GnAl8I4kv7HctqpqR1XNVtXszMxMn25Jkk5i4uBPch1wFfD7VVWj6lTV/u79IHAHsGXS9iRJ0zFR8CfZCrwHeH1V/WSZOuuSnHFiGrgC2DOqriRp7YxzOuftwFeAi5LMJ7keuBE4A9jdnap5U1f3/CS7ulXPBb6c5BvAvcDnq+qLq/IpJElje95KFarq2hHFNy9Tdz+wrZt+FHhFr95JkqbOK3clqTEGvyQ1xuCXpMYY/JLUGINfkhpj8EtSYwx+SWqMwS9JjTH4JakxBr8kNWbFWzZoPJs3b2FhYX6Qto8c+THr1g3S9GCOHHmSM888f4B2h9nXQ31egPXrN7B3772DtK3VYfBPycLCPOvW7R+k7cOHzxik3SEdO3Z0kP091L4e6vMCLCwM84Wj1eNQjyQ1xuCXpMYY/JLUGINfkhpj8EtSY8YK/iQ7kxxMsmdR2dlJdid5uHs/a5l1r+vqPNw9oF2SNKBxj/hvAbYuKXsv8KWquhD4Ujf/M5KcDdwAvArYAtyw3BeEJGltjBX8VXUP8MSS4quBW7vpW4E3jFj1t4DdVfVEVf0A2M3Tv0AkSWuozxj/uVV1AKB7f/GIOuuBxxbNz3dlT5Nke5K5JHOHDh3q0S1J0sms9o+7GVFWoypW1Y6qmq2q2ZmZmVXuliS1q0/wP57kPIDu/eCIOvPABYvmNwDDXHcuSQL6Bf+dwImzdK4DPjeizl3AFUnO6n7UvaIrkyQNZNzTOW8HvgJclGQ+yfXAXwCXJ3kYuLybJ8lsko8DVNUTwJ8DX+9eH+zKJEkDGevunFV17TKLLhtRdw5466L5ncDOiXonSZo6r9yVpMYY/JLUGINfkhpj8EtSYwx+SWqMwS9JjTH4JakxBr8kNcbgl6TGGPyS1BiDX5IaY/BLUmMMfklqjMEvSY0x+CWpMQa/JDVm4uBPclGSBxa9Did515I6lyb54aI6H+jfZUlSH2M9gWuUqvo2cDFAktOABeCOEVX/o6qumrQdSdJ0TWuo5zLgP6vqv6e0PUnSKplW8F8D3L7Mstck+UaSLyT51Sm1J0maUO/gT/J84PXAP41YfD/w0qp6BfC3wGdPsp3tSeaSzB06dKhvtyRJy5jGEf+VwP1V9fjSBVV1uKqOdNO7gNOTnDNqI1W1o6pmq2p2ZmZmCt2SJI0yjeC/lmWGeZK8JEm66S1de9+fQpuSpAlNfFYPQJJfAC4H3rao7O0AVXUT8Ebgj5McBZ4Erqmq6tOmJKmfXsFfVT8BXrSk7KZF0zcCN/ZpQ5I0XV65K0mNMfglqTEGvyQ1xuCXpMYY/JLUGINfkhpj8EtSYwx+SWqMwS9JjTH4JakxBr8kNcbgl6TGGPyS1BiDX5IaY/BLUmMMfklqjMEvSY3pHfxJvpvkW0keSDI3YnmS/E2SR5J8M8mv9W1TkjS5Xo9eXOS1VfW9ZZZdCVzYvV4FfKx7lyQNYC2Geq4GPlHHfRV4YZLz1qBdSdII0wj+Au5Ocl+S7SOWrwceWzQ/35VJkgYwjaGeS6pqf5IXA7uTPFRV9yxanhHr1NKC7ktjO8DGjRun0C1Jp7LNm7ewsDA/SNvr129g7957B2l7LfQO/qra370fTHIHsAVYHPzzwAWL5jcA+0dsZwewA2B2dvZpXwyS2rKwMM+6dU+LijVq+/xB2l0rvYZ6kqxLcsaJaeAKYM+SancCf9Cd3fNq4IdVdaBPu5KkyfU94j8XuCPJiW39Q1V9McnbAarqJmAXsA14BPgJ8Ec925Qk9dAr+KvqUeAVI8pvWjRdwDv6tCNJmh6v3JWkxhj8ktQYg1+SGmPwS1JjDH5JaozBL0mNMfglqTEGvyQ1xuCXpMYY/JLUGINfkhpj8EtSYwx+SWqMwS9JjTH4JakxBr8kNWYaD1t/VhnqAc1HjvyYdevWvFlp1R058iRnnrn2z6D1b2r1TBz8SS4APgG8BDgG7Kiqv15S51Lgc8B/dUWfqaoPTtrmOIZ6QPPhw2eseZvSWjh27Kh/U88xfY74jwLvrqr7uweu35dkd1XtXVLvP6rqqh7tSJKmaOIx/qo6UFX3d9M/AvYB66fVMUnS6pjKj7tJNgGvBL42YvFrknwjyReS/Oo02pMkTa73j7tJXgB8GnhXVR1esvh+4KVVdSTJNuCzwIXLbGc7sB1g48aNfbslSVpGryP+JKdzPPRvq6rPLF1eVYer6kg3vQs4Pck5o7ZVVTuqaraqZmdmZvp0S5J0EhMHf5IANwP7qurDy9R5SVePJFu69r4/aZuSpP76DPVcArwZ+FaSB7qyPwU2AlTVTcAbgT9OchR4ErimqqpHm5KkniYO/qr6MpAV6twI3DhpG5Kk6XvOXbkrSX0NdbXy+vUb2Lv33lVvx+CXpCWGulp5YWFtvmy8SZskNcbgl6TGGPyS1BiDX5IaY/BLUmMMfklqjMEvSY0x+CWpMQa/JDXG4Jekxhj8ktQYg1+SGmPwS1JjDH5JaozBL0mN6fuw9a1Jvp3kkSTvHbH855N8qlv+tSSb+rQnSeqvz8PWTwM+ClwJbAauTbJ5SbXrgR9U1S8DHwH+ctL2JEnT0eeIfwvwSFU9WlU/BT4JXL2kztXArd30PwOXJTnpc3olSaurT/CvBx5bND/flY2sU1VHgR8CL+rRpiSppz7P3B115F4T1DleMdkObO9mjyT59grtnwN8b9SCw4eH+U/FgQOD/WfmnAMHMnJfrLYBP/NybS/772KV2111E7Q7tX1xCn3m5TzjfTHUZ+4xKPLScSv2Cf554IJF8xuApU8nPlFnPsnzgDOBJ0ZtrKp2ADvGbTzJXFXNPqMeP0e5L57ivniK++Ip7ouf1Weo5+vAhUl+McnzgWuAO5fUuRO4rpt+I/CvVTXyiF+StDYmPuKvqqNJ3gncBZwG7KyqB5N8EJirqjuBm4G/T/IIx4/0r5lGpyVJk+sz1ENV7QJ2LSn7wKLp/wXe1KeNkxh7WKgB7ounuC+e4r54ivtikTjyIklt8ZYNktSYUzr4k/xVkoeSfDPJHUleOHSfhpLkTUkeTHIsSXNnL6x0+5CWJNmZ5GCSPUP3ZWhJLkjyb0n2dX8ffzJ0n54NTungB3YDL6uqlwPfAd43cH+GtAf4HeCeoTuy1sa8fUhLbgG2Dt2JZ4mjwLur6leAVwPvaPzfBnCKB39V3d1dEQzwVY5fS9CkqtpXVStd9PZcNc7tQ5pRVfewzPUyramqA1V1fzf9I2AfT7/DQHNO6eBf4i3AF4buhAYxzu1D1Lju7sCvBL42bE+G1+t0zrWQ5F+Al4xY9P6q+lxX5/0c/y/dbWvZt7U2zr5o1Ni3BlGbkrwA+DTwrqo6PHR/hvasD/6q+s2TLU9yHXAVcNlz/arglfZFw8a5fYgaleR0jof+bVX1maH782xwSg/1JNkKvAd4fVX9ZOj+aDDj3D5EDepuA38zsK+qPjx0f54tTungB24EzgB2J3kgyU1Dd2goSX47yTzwGuDzSe4auk9rpfuB/8TtQ/YB/1hVDw7bq+EkuR34CnBRkvkk1w/dpwFdArwZeF2XEQ8k2TZ0p4bmlbuS1JhT/YhfkvQMGfyS1BiDX5IaY/BLUmMMfklqjMEvSY0x+CWpMQa/JDXm/wF3E9LRZ4dMXwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(data, alpha=0.9, color=\"blue\", edgecolor=\"black\")" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "([,\n", + " ,\n", + " ,\n", + " ],\n", + " [Text(-1.04616,0.339919,'Facebook'),\n", + " Text(0.172078,-1.08646,'Twitter'),\n", + " Text(1.04616,0.339919,'Instagram'),\n", + " Text(0.172078,1.08646,'Linkedin')],\n", + " [Text(-0.570634,0.18541,'40%'),\n", + " Text(0.0938607,-0.592613,'25%'),\n", + " Text(0.570634,0.18541,'30%'),\n", + " Text(0.0938606,0.592613,'5%')])" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "labels =[\"Facebook\", \"Twitter\", \"Instagram\", \"Linkedin\"]\n", + "size = [40, 25, 30, 5]\n", + "plt.pie(size, labels=labels, shadow=False, startangle=90, autopct=\"%1.i%%\")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(labels, size, color=\"black\", alpha=0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.barh(labels, size, color=\"black\", alpha=0.5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/Pandas Built-in Data Visualization.ipynb b/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/Pandas Built-in Data Visualization.ipynb new file mode 100644 index 0000000..1a0b9ff --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/Pandas Built-in Data Visualization.ipynb @@ -0,0 +1,948 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "# Pandas Built-in Data Visualization\n", + "\n", + "In this lecture we will learn about pandas built-in capabilities for data visualization! It's built-off of matplotlib, but it baked into pandas for easier usage! \n", + "\n", + "Let's take a look!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## The Data\n", + "\n", + "There are some fake data csv files you can read in as dataframes:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "df1 = pd.read_csv('df1.csv',index_col=0)\n", + "df2 = pd.read_csv('df2.csv')" + ] + }, + { + "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", + "
ABCD
2002-09-221.013897-0.288680-0.342295-0.638537
2002-09-23-0.642659-0.104725-0.631829-0.909483
2002-09-240.3701360.2332190.535897-1.552605
2002-09-250.1833391.285783-1.052593-2.565844
2002-09-260.775133-0.8503740.486728-1.053427
\n", + "
" + ], + "text/plain": [ + " A B C D\n", + "2002-09-22 1.013897 -0.288680 -0.342295 -0.638537\n", + "2002-09-23 -0.642659 -0.104725 -0.631829 -0.909483\n", + "2002-09-24 0.370136 0.233219 0.535897 -1.552605\n", + "2002-09-25 0.183339 1.285783 -1.052593 -2.565844\n", + "2002-09-26 0.775133 -0.850374 0.486728 -1.053427" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df1.tail()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Style Sheets\n", + "\n", + "Matplotlib has [style sheets](http://matplotlib.org/gallery.html#style_sheets) you can use to make your plots look a little nicer. These style sheets include plot_bmh,plot_fivethirtyeight,plot_ggplot and more. They basically create a set of style rules that your plots follow. I recommend using them, they make all your plots have the same look and feel more professional. You can even create your own if you want your company's plots to all have the same look (it is a bit tedious to create on though).\n", + "\n", + "Here is how to use them.\n", + "\n", + "**Before plt.style.use() your plots look like this:**" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nNgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df1['A'].hist()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Call the style:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "plt.style.use('ggplot')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now your plots look like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAE4hJREFUeJzt3X9M1Pfhx/HXHbRWZJwHH6qBQhpE05jQWQNxmlq6eusWa4xfYkxJf8T+Ih1dTSU1dt2Gf1jXW+oVa4JxmZtpXbLVJYM1aVKTKykkpYlH0bSpqR3GrrXD4nEnKNNN4PP9w+xSJnAH3IfP8fb5+Kd3n37uPq/7wYs3bz/3Po9t27YAAMbyuh0AAOAsih4ADEfRA4DhKHoAMBxFDwCGo+gBwHAUPQAYjqIHAMNR9ABgOIoeAAyX7XaA//rnP/8py7IUjUbdjpISsjqDrOk3V3JKZJ2qoqKilPZjRA8AhqPoAcBwFD0AGI6iBwDDUfQAYDiKHgAMR9EDgOEoegAwHEUPAIbLmE/GAplq5JmN427/1uHjZv3uHYePgJsFI3oAMBxFDwCGo+gBwHAUPQAYjqIHAMNx1g3mhInOfAGQHCN6ADAcRQ8AhqPoAcBwFD0AGI6iBwDDUfQAYDiKHgAMR9EDgOEoegAwHEUPAIaj6AHAcEnXuolGo2pubtbFixfl8XgUCAS0fv16HT16VO+//77y8vIkSbW1tVq5cqUkqaWlRW1tbfJ6vXriiSe0YsUKZx8FAGBCSYs+KytLjz32mMrKynTlyhW99NJLuvvuuyVJDz30kDZuHLvY1Llz59TZ2anXX39d8Xhcu3fv1htvvCGvlz8eAMANSdvX7/errKxMkjR//nwVFxcrFotNuH8kEtGaNWt0yy236Pbbb9fixYvV09OTvsQAgCmZ0jLFfX19Onv2rMrLy/X555/r2LFj6ujoUFlZmR5//HHl5uYqFotp6dKlidvk5+eP+4shHA4rHA5LkoLBoCzLUnZ2tizLmuFDmh1kdcZEWZ3+Iu5MlK7XzITXPxPNqayp7nj16lWFQiFt3bpVOTk5evDBB7V582ZJ0ttvv6233npL9fX1sm07pfsLBAIKBAKJ69FoVJZlKRqNTvEhuIOszphLWZ2WrudhLj2nZJ2aoqKilPZLaeJ8eHhYoVBIa9eu1apVqyRJCxculNfrldfr1bp163TmzBlJUkFBgfr7+xO3jcViys/Pn2p+AECaJC1627Z18OBBFRcXa8OGDYnt8Xg8cfn48eMqKSmRJFVWVqqzs1PXrl1TX1+fent7VV5e7kB0AEAqkk7dnD59Wh0dHSotLdWOHTskXT+V8sMPP9SXX34pj8ejwsJC1dXVSZJKSkq0evVqNTQ0yOv16qmnnuKMGwBwUdKiv+uuu3T06NEbtv/3nPnx1NTUqKamZmbJAABpwVAbAAxH0QOA4Sh6ADAcRQ8AhqPoAcBwFD0AGI6iBwDDUfQAYDiKHgAMR9EDgOEoegAwHEUPAIaj6AHAcBQ9ABiOogcAw1H0AGA4ih4ADEfRA4DhKHoAMBxFDwCGo+gBwHAUPQAYjqIHAMNR9ABgOIoeAAxH0QOA4Sh6ADAcRQ8AhstOtkM0GlVzc7MuXrwoj8ejQCCg9evX6/Lly2pqatKFCxdUWFio7du3Kzc3V7Zt6/Dhwzpx4oTmzZun+vp6lZWVzcZjAQCMI+mIPisrS4899piampq0Z88eHTt2TOfOnVNra6sqKiq0f/9+VVRUqLW1VZJ04sQJnT9/Xvv371ddXZ0OHTrk+IMAAEwsadH7/f7EiHz+/PkqLi5WLBZTJBJRdXW1JKm6ulqRSESS1NXVpfvuu08ej0fLli3T0NCQ4vG4gw8BADCZpFM339XX16ezZ8+qvLxcAwMD8vv9kq7/MhgcHJQkxWIxWZaVuE1BQYFisVhi3/8Kh8MKh8OSpGAwKMuylJ2dPea2mYyszpgo67cuZHFbul4zE17/TDSnsqa649WrVxUKhbR161bl5ORMuJ9t2zds83g8N2wLBAIKBAKJ69FoVJZlKRqNphrJVWR1xlzK6rR0PQ9z6Tkl69QUFRWltF9KZ90MDw8rFApp7dq1WrVqlSTJ5/MlpmTi8bjy8vIkXR/Bf/fB9/f33zCaBwDMnqRFb9u2Dh48qOLiYm3YsCGxvbKyUu3t7ZKk9vZ2VVVVJbZ3dHTItm198cUXysnJoegBwEVJp25Onz6tjo4OlZaWaseOHZKk2tpabdq0SU1NTWpra5NlWWpoaJAk3XPPPeru7ta2bdt06623qr6+3tlHAACYVNKiv+uuu3T06NFx/19jY+MN2zwej55++umZJwMApAWfjAUAw1H0AGA4ih4ADEfRA4DhKHoAMBxFDwCGo+gBwHAUPQAYjqIHAMNR9ABgOIoeAAxH0QOA4Sh6ADAcRQ8AhpvSd8YCmD0jz2xMy/1M9ft2s373TlqOi8zBiB4ADEfRA4DhKHoAMBxFDwCGo+gBwHAUPQAYjqIHAMNR9ABgOIoeAAxH0QOA4Sh6ADAcRQ8AhqPoAcBwSVevPHDggLq7u+Xz+RQKhSRJR48e1fvvv6+8vDxJUm1trVauXClJamlpUVtbm7xer5544gmtWLHCwfgAgGSSFv3999+vn/zkJ2pubh6z/aGHHtLGjWOXUT137pw6Ozv1+uuvKx6Pa/fu3XrjjTfk9fKHAwC4JWkDL1++XLm5uSndWSQS0Zo1a3TLLbfo9ttv1+LFi9XT0zPjkACA6Zv2F48cO3ZMHR0dKisr0+OPP67c3FzFYjEtXbo0sU9+fr5isdi4tw+HwwqHw5KkYDAoy7KUnZ0ty7KmG2lWkdUZE2Wd6pdnYPrcfK+Y8F7NRNMq+gcffFCbN2+WJL399tt66623VF9fL9u2U76PQCCgQCCQuB6NRmVZlqLR6HQizTqyOmMuZTWVm8//XHr9MyFrUVFRSvtNa/J84cKF8nq98nq9Wrdunc6cOSNJKigoUH9/f2K/WCym/Pz86RwCAJAm0yr6eDyeuHz8+HGVlJRIkiorK9XZ2alr166pr69Pvb29Ki8vT09SAMC0JJ262bdvn06dOqVLly7p2Wef1ZYtW/TZZ5/pyy+/lMfjUWFhoerq6iRJJSUlWr16tRoaGuT1evXUU09xxg0AuCxp0b/wwgs3bHvggQcm3L+mpkY1NTUzSwUASBuG2wBgOIoeAAxH0QOA4Sh6ADAcRQ8AhqPoAcBwFD0AGG7ai5rh5jTyzMbkO80Ai5cB6ceIHgAMR9EDgOEoegAwHEUPAIaj6AHAcBQ9ABiOogcAw1H0AGA4ih4ADEfRA4DhKHoAMBxFDwCGo+gBwHAUPQAYjqIHAMNR9ABgOIoeAAxH0QOA4Sh6ADAcRQ8Ahkv65eAHDhxQd3e3fD6fQqGQJOny5ctqamrShQsXVFhYqO3btys3N1e2bevw4cM6ceKE5s2bp/r6epWVlTn+IAAAE0s6or///vv18ssvj9nW2tqqiooK7d+/XxUVFWptbZUknThxQufPn9f+/ftVV1enQ4cOOZMaAJCypEW/fPly5ebmjtkWiURUXV0tSaqurlYkEpEkdXV16b777pPH49GyZcs0NDSkeDzuQGwAQKqmNUc/MDAgv98vSfL7/RocHJQkxWIxWZaV2K+goECxWCwNMQEA05V0jn4qbNu+YZvH4xl333A4rHA4LEkKBoOyLEvZ2dljflFksps167dpuRdkMjff1zfrz5XTplX0Pp9P8Xhcfr9f8XhceXl5kq6P4KPRaGK//v7+xMj/fwUCAQUCgcT1aDQqy7LG3D6TkRWmcvO9Mpfeq5mQtaioKKX9pjV1U1lZqfb2dklSe3u7qqqqEts7Ojpk27a++OIL5eTkTFj0AIDZkXREv2/fPp06dUqXLl3Ss88+qy1btmjTpk1qampSW1ubLMtSQ0ODJOmee+5Rd3e3tm3bpltvvVX19fWOPwAAwOSSFv0LL7ww7vbGxsYbtnk8Hj399NMzTwUASBs+GQsAhqPoAcBwFD0AGI6iBwDDUfQAYDiKHgAMR9EDgOEoegAwHEUPAIZL6+qVAOa+kWc2unfwlk73jm0wRvQAYDiKHgAMR9EDgOEoegAwHEUPAIaj6AHAcBQ9ABiOogcAw1H0AGA4ih4ADEfRA4DhKHoAMBxFDwCGo+gBwHAUPQAYjqIHAMNR9ABgOIoeAAw3o68SfO6553TbbbfJ6/UqKytLwWBQly9fVlNTky5cuKDCwkJt375dubm56coLAJiiGX9n7K5du5SXl5e43traqoqKCm3atEmtra1qbW3Vo48+OtPDAACmKe1TN5FIRNXV1ZKk6upqRSKRdB8CADAFMx7R79mzR5L0ox/9SIFAQAMDA/L7/ZIkv9+vwcHBmR4CADADMyr63bt3Kz8/XwMDA3rllVdUVFSU8m3D4bDC4bAkKRgMyrIsZWdny7KsmUSaNTdr1m/Tci/A+G7Wnyunzajo8/PzJUk+n09VVVXq6emRz+dTPB6X3+9XPB4fM3//XYFAQIFAIHE9Go3KsixFo9GZRJo1ZAXSb3h4eM68VzPh5yrVwfW05+ivXr2qK1euJC5/8sknKi0tVWVlpdrb2yVJ7e3tqqqqmu4hAABpMO0R/cDAgPbu3StJGhkZ0b333qsVK1ZoyZIlampqUltbmyzLUkNDQ9rCAgCmbtpFv2jRIr322ms3bP/e976nxsbGGYUCAKQPn4wFAMNR9ABgOIoeAAxH0QOA4Sh6ADAcRQ8AhpvxWjeYfSPPbJzS/ixbANzcGNEDgOEoegAwHEUPAIaj6AHAcBQ9ABiOogcAw1H0AGA4ih4ADEfRA4DhKHoAMBxFDwCGo+gBwHAUPQAYjqIHAMNR9ABgONajn4GprgsPAG6g6AFkjG//b40rx8363TuuHHe2MHUDAIaj6AHAcBQ9ABiOogcAwzn2j7EnT57U4cOHNTo6qnXr1mnTpk1OHQoAMAlHRvSjo6P6/e9/r5dffllNTU368MMPde7cOScOBQBIwpERfU9PjxYvXqxFixZJktasWaNIJKI77rjDicMBwIxM5zMx36bp2LNxaqcjRR+LxVRQUJC4XlBQoL///e9OHMq1Dy2l60UGAKc5UvS2bd+wzePxjLkeDocVDoclScFgUEVFRZKU+G/K3u2aXkgAuEk4MkdfUFCg/v7+xPX+/n75/f4x+wQCAQWDQQWDwcS2l156yYk4jiCrM8iafnMlp0RWpzhS9EuWLFFvb6/6+vo0PDyszs5OVVZWOnEoAEASjkzdZGVl6cknn9SePXs0OjqqH/7whyopKXHiUACAJBw7j37lypVauXLllG4TCAQcSpN+ZHUGWdNvruSUyOoUjz3ev5wCAIzBEggAYLiMXY/+nXfe0R//+EcdOnRIeXl5bscZ15///Gd1dXXJ4/HI5/Opvr5e+fn5bsca15EjR/Txxx8rOztbixYtUn19vRYsWOB2rHF99NFH+stf/qJvvvlGv/71r7VkyRK3I40xV5b3OHDggLq7u+Xz+RQKhdyOM6loNKrm5mZdvHhRHo9HgUBA69evdzvWuP7zn/9o165dGh4e1sjIiH7wgx9oy5YtbseanJ2BLly4YL/yyiv2T3/6U3tgYMDtOBMaGhpKXH733Xft3/72ty6mmdzJkyft4eFh27Zt+8iRI/aRI0dcTjSxr7/+2v7mm2/sXbt22T09PW7HGWNkZMT+2c9+Zp8/f96+du2a/eKLL9pff/2127HG9dlnn9lnzpyxGxoa3I6SVCwWs8+cOWPbtm3/61//srdt25axz+vo6Kh95coV27Zt+9q1a/bPf/5z+/Tp0y6nmlxGTt28+eabeuSRR274kFWmycnJSVz+97//ndF5v//97ysrK0uStGzZMsViMZcTTeyOO+6Y+gfnZsl3l/fIzs5OLO+RiZYvX67c3Fy3Y6TE7/errKxMkjR//nwVFxdn7HvU4/HotttukySNjIxoZGQko3/2pQycuunq6lJ+fr7uvPNOt6Ok5E9/+pM6OjqUk5OjXbt2uR0nJW1tbVqzxp2vbJvrZnN5j5tVX1+fzp49q/LycrejTGh0dFQ7d+7U+fPn9eMf/1hLly51O9KkXCn63bt36+LFizdsf/jhh9XS0qJf/vKXLqQa32RZq6qqVFtbq9raWrW0tOi9995zda4uWVZJ+utf/6qsrCytXbt2tuONkUrWTGSnsLwHpu/q1asKhULaunXrmL+YM43X69Vrr72moaEh7d27V1999ZVKS0vdjjUhV4r+V7/61bjbv/rqK/X19WnHjh2Sri+dsHPnTr366qtauHDhbEZMmCjr/7r33nsVDAZdLfpkWT/44AN9/PHHamxsdL2cUn1eM00qy3tgeoaHhxUKhbR27VqtWrXK7TgpWbBggZYvX66TJ09mdNFn1Bx9aWmpDh06pObmZjU3N6ugoEC/+c1vXCv5ZHp7exOXu7q6MnZeWbp+psjf/vY37dy5U/PmzXM7zpzF8h7OsG1bBw8eVHFxsTZs2OB2nEkNDg5qaGhI0vUzcD799FMVFxe7nGpyGf2Bqeeee06vvvpqxp5euXfvXvX29srj8ciyLNXV1WXs6ZXPP/+8hoeHE/84t3TpUtXV1bmcanzHjx/XH/7wBw0ODmrBggW688479Ytf/MLtWAnd3d168803E8t71NTUuB1pXPv27dOpU6d06dIl+Xw+bdmyRQ888IDbscb1+eefq7GxUaWlpYm/Nmtra6f86frZ8I9//EPNzc0aHR2VbdtavXq1Nm/e7HasSWV00QMAZi6jpm4AAOlH0QOA4Sh6ADAcRQ8AhqPoAcBwFD0AGI6iBwDDUfQAYLj/B3oq6bWyervfAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df1['A'].hist()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.style.use('bmh')\n", + "df1['A'].hist()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXMAAAD1CAYAAACiJBXjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X9Mlff5//EXVstWMcXhKj+0sEROte2pPcEfpc2Ss6pUVhAbWiPMCLXJIW2pcSPdiO16dFkasmQzTZbpXGikydC50U5gU3F0J+s61GERoUAPrh6FAnbBrh+pG1Z7f//o1xNFftzgfbjeL3o9kzuznMPxce69zwWe8z4QBcCCpmmaRt00aYCmaZp26+kw1zRNmwLpMNc0TZsC6TDXNE2bAukw1zRNmwLpMNc0TZsCTZf6iy1Ld0RqmqZNpKioqGE/bkkc1pfT3PL7/SJ//0QOFiuLU61qVev4j2uzc+gh/jRLf3+/NMF2LFYWJ6DWSKXWyGS6VfSry/333y/+lc7uwWJlcapVrWod/2Hsd+a5ubnSBNuxWFmcgFojlVojk8lW8WEeCASkCbZjsbI4AbVGKrVGJpOt4sM8MTFRmmA7FiuLE1BrpFJrZDLZKj7MXS6XNMF2LFYWJ6DWSKXWyGS6VfRJ/ISEBPEXFOweLFYWp1rVqtbxH8a+AOrz+aQJtmOxsjgBtUYqtUYmk61i7wC9Vm9vrzTBdixWFidgpvXnLQ0jX/bk6oj+3SXudEdux8TzOlJqdSbx78wbGxulCbZjsbI4AS4rU0znVa3OJD7Ms7OzpQm2Y7GyOAEuK1NM51WtziQ+zOvq6qQJtmOxsjgBLitTTOdVrc4kPsxN3+pzfSxWFifAZWWK6byq1ZnEh3lKSoo0wXYsVhYnwGVlium8qtWZovDlHsVJz7IsREVFISEhwehXiK+PxcriBEa3jrarZKrm1G6WqbIGTMsE67XZOTTx78xN3rc5NBYrixPgsjLFdF7V6kziwzwUCkkTbMdiZXECXFammM6rWp1JfJgHg0Fpgu1YrCxOgMvKFNN5VasziQ/zjIwMaYLtWKwsToDLyhTTeVWrM4kP85qaGmmC7VisLE6Ay8oU03lVqzOJD/MlS5ZIE2zHYmVxAlxWppjOq1qdSXyYJyQkSBNsx2JlcQJcVqaYzqtanUn3mY8jFiuLE9B95kPTfeZmZ4JV95k7EIuVxQlwWZliOq9qdSbxYW7yVp+hsVhZnACXlSmm86pWZxIf5j09PdIE27FYWZwAl5UppvOqVmcac5jPmzcPb7/9Ntra2tDa2orNmzcDAPx+P7q7u9HU1ISmpiZkZmaGP6e0tBSdnZ3o6OgYc1+m1+u9tXswibFYWZwAl5UppvOqVmca89fGXblyBSUlJWhqakJMTAxOnDiBI0eOAAB27NiBn//85zdcf9GiRVi/fj3uu+8+JCYm4i9/+QtcLhe++OKLYW+/qqrKgbsxObFYWZwAl5UppvOqVmca8zvzvr4+NDU1AQAGBgbQ3t6OpKSkEa+fk5ODffv24fLlywiFQjh9+jSWLVs24vVN/ko3NBYrixPgsjLFdF7V6kzjes48OTkZHo8Hx44dAwAUFxejubkZ5eXliI2NBQAkJSWhq6sr/Dnd3d2jDv+4uLiJuEVisbI4AS4rU0znVa3OdBuAbXauOHPmTBw8eBAvvfQSmpub0d7ejrKyMuzatQtLly5Fbm4uqqur8fjjj6O7uxstLS0AgDVr1qCzsxPt7e033N62bdvg8/ngcrnw4osv4tFHH0UgEEBJSQni4uIwf/58bNiwAb29vSgoKIDX60VXVxe2bNmCWbNmweVyIS8vD6FQCM899xyWLVuG/v5+FBcXIzo6GosXL8a6desQDAZRUlICt9uNS5cu4dlnnwUAPPzww8jNzQ1ffs8998CyLPh8Ply+fBkrVqzA2rVrw5enpKTgww8/RF5eHi5evIjs7GxkZWWFL09MTERcXBwKCwvR39+PdevWITMzM3z5ZN6nAwcOoKioyNZ9uuOOO/DMM8+I3aeoqCisWbNm2PsUfe8C51Y6SRdPtjny/9PcuXPR0tJi9OPp2n1qaGjAihUrjH08XX+fWltbsWHDBtHHU35+PrZv337T2rH1pqHp06ejtrYWhw8fxo4dO266PDk5GbW1tXC73SgtLQUAlJWVAQAOHTqEbdu24ejRozd8zrWN736/f1iYibFYWZzA6FZ909DEmyprwLRMsN7Sm4bKy8vR3t5+wyCPj48P//mJJ55Aa2srAKC6uhrr16/H7bffjpSUFKSmpuL48eMj3va17+AZYrGyOAEuK1NM51WtzjTmbpZHHnkEGzduxKlTp8IvhG7duhV5eXl48MEHYVkWQqEQioqKAABtbW3Yv38/2tracOXKFTz//PMj7mQBvnxRlSUWK4sT4LIyxXRe1epMY35n/u677yIqKgqLFy+Gx+OBx+PBwYMHsXHjRjzwwANYvHgxcnJy0NfXF/6cV199FQsWLMDChQtx6NChUW8/Pd2Zf1ZORixWFifAZWWK6byq1ZnE3wG6d+9eaYLtWKwsToDLyhTTeVWrM4kP86ysLGmC7VisLE6Ay8oU03lVqzOJD/Po6Ghpgu1YrCxOgMvKFNN5Vaszif888+TkZJw9e1aCMO5YrCxOYHSrbk2ceFNlDZiWCVZjf555YWGhNMF2LFYWJ8BlZYrpvKrVmcSH+YkTJ6QJtmOxsjgBLitTTOdVrc4kPsw1TdO0W098mKelpUkTbMdiZXECXFammM6rWp1JXwAdRyxWFiegL4AOTV8ANTsTrMa+AJqfny9NsB2LlcUJcFmZYjqvanUm8WE+ODgoTbAdi5XFCXBZmWI6r2p1JvFhXltbK02wHYuVxQlwWZliOq9qdSbxYZ6XlydNsB2LlcUJcFmZYjqvanUm8WHe0MDzIheLlcUJcFmZYjqvanUm8WEeExMjTbAdi5XFCXBZmWI6r2p1JvFh7na7pQm2Y7GyOAEuK1NM51WtziS+zzwhIQG9vb0ShHHHYmVxAqNbdZ/5xJsqa8C0TLAau8/c5/NJE2zHYmVxAlxWppjOq1qdSXyY9/f3SxNsx2JlcQJcVqaYzqtanUl8mAcCAWmC7VisLE6Ay8oU03lVqzOJD/Pc3Fxpgu1YrCxOgMvKFNN5VasziQ9zk7/SDY3FyuIEuKxMMZ1XtTqT+DBPTEyUJtiOxcriBLisTDGdV7U6k/gwd7lc0gTbsVhZnACXlSmm86pWZ9J95uOIxcriBHSf+dB0n7nZmWDVfeYOxGJlcQJcVqaYzqtanUl8mEt/lRtPLFYWJ8BlZYrpvKrVmcSHeWNjozTBdixWFifAZWWK6byq1ZnGHObz5s3D22+/jba2NrS2tmLz5s0AgNmzZ6Ourg7BYBB1dXWIjY0Nf85rr72Gzs5ONDc3w+PxjHr72dnZt3gXJi8WK4sT4LIyxXRe1epMYw7zK1euoKSkBPfeey8eeughPP/881i0aBFKS0tRX18Pl8uF+vp6lJaWAgAyMzORmpqK1NRU+Hw+7Ny5c9Tbr6urc+aeTEIsVhYnwGVlium8qtWZxhzmfX19aGpqAgAMDAygvb0dSUlJyMnJQUVFBQCgoqICa9euBQDk5OTgjTfeAAAcO3YMsbGxiI+PH/H2Td7qMzQWK4sT4LIyxXRe1epM43rOPDk5GR6PB8eOHcPcuXPR19cH4MuBf9dddwEAkpKS0NXVFf6c7u5uJCUljXibKSkpE2DLxGJlcQJcVqaYzqtanWm63SvOnDkTVVVV2LJlCy5evDji9Ybb/2hZw29l/+ijj3Dx4kVs2rQJzc3NKCoqgs/nQ0tLCwYGBpCeno69e/ciKysL0dHRqKysRGFhIU6cOAEASEtLw549e5Cfn4/BwUHU1tYiLy8PDQ0NiImJgdvtxu7du+Hz+dDf349AIIDc3FwEAgEkJibC5XKFL+/t7UVjYyOys7NRV1cHl8uFlJSU8OWhUAjvvfce/H4/ampqsGTJEiQkJIQvDwaD6OnpgdfrRVVVFbxeL+Li4sKXT+Z9OnDgAPx+v637FAwGkZGRIXafuru74ff7h71PX8XS09Md+f9p1qxZSEhIMPrxdO0+NTQ0wOfzGft4uv4+NTQ0wO/3iz6eRsrWm4amT5+O2tpaHD58GDt27AAAdHR0wOv1oq+vD/Hx8QgEAli4cCF27dqFQCCAffv23XS967u28d3v92P79u3jXvQSsVhZnMDoVn3T0MSbKmvAtEyw3tKbhsrLy9He3h4e5ABQXV2NgoICAEBBQQEOHDgQ/vjGjRsBAMuXL8enn3560yC/vlAoZPtOSMdiZXECXFammM6rWp1pzKdZHnnkEWzcuBGnTp0KvxC6detWlJWVYf/+/XjmmWdw7tw5PPXUUwCAP//5z/jud7+L06dP49KlS3j66adHvf1gMOjA3ZicWKwsToDLyhTTeVWrM405zN99991hv6UHgJUrVw778eLiYtuAa8+ZMcRiZXECXFammM6rWp1J/B2gNTU10gTbsVhZnACXlSmm86pWZxIf5kuWLJEm2I7FyuIEuKxMMZ1XtTqT+DBPSEiQJtiOxcriBLisTDGdV7U6k/4883HEYmVxAvrzzIemP8/c7Eyw6s8zdyAWK4sT4LIyxXRe1epM4sPc5K0+Q2OxsjgBLitTTOdVrc4kPsx7enqkCbZjsbI4AS4rU0znVa3OJD7MvV6vNMF2LFYWJ8BlZYrpvKrVmcSHeVVVlTTBdixWFifAZWWK6byq1ZnEh7nJX+mGxmJlcQJcVqaYzqtanUl8mMfFxUkTbMdiZXECXFammM6rWp1J95mPIxYrixPQfeZD033mZmeCVfeZOxCLlcUJcFmZYjqvanUm8WHe0tIiTbAdi5XFCXBZmWI6r2p1JvFhPjAwIE2wHYuVxQlwWZliOq9qdSbbvwM0UqWnp6Ourk6aYSsWK4sT4LJORk6+TvAY7P96M6eeq59ITGvAZKv4d+Z79+6VJtiOxcriBLisWmRiWgMmW8WHeVZWljTBdixWFifAZdUiE9MaMNkqPsyjo6OlCbZjsbI4AS6rFpmY1oDJVvF95snJyTh79qwEYdyxWFmcwOjWr+I+c6kknzOfKut1sjJ2n3lhYaE0wXYsVhYnwGXVIhPTGjDZKj7MT5w4IU2wHYuVxQlwWbXIxLQGTLaKD3NN0zTt1hMf5mlpadIE27FYWZwAl1WLTExrwGSrvgA6jlisLE5AXwA1JX0B1F4mWI19ATQ/P1+aYDsWK4sT4LJqkYlpDZhsFR/mg4OD0gTbsVhZnACXVYtMTGvAZKv4MK+trZUm2I7FyuIEuKxaZGJaAyZbxxzm5eXlOH/+/A0/+tHv96O7uxtNTU1oampCZmZm+LLS0lJ0dnaio6MDGRkZYwLy8vImSJ/8WKwsToDLqkUmpjVgsnXMYb5nzx6sXr36po/v2LEDHo8HHo8HBw8eBAAsWrQI69evx3333YfVq1fjV7/6FaZNG/2vaGjgeZGLxcriBLisWmRiWgMmW8cc5u+88w4uXLhg68ZycnKwb98+XL58GaFQCKdPn8ayZctG/ZyYmBh7UgNisbI4AS6rFpmY1oDJ1gk/Z15cXIzm5maUl5cjNjYWAJCUlISurq7wdbq7u5GUlDTq7bjd7okSJj0WK4sT4LJqkYlpDZhsvQ3AtrGuFBsbi/z8fOzcuRMA0N7ejrKyMuzatQtLly5Fbm4uqqur8fjjj6O7uzv8/PqaNWvQ2dmJ9vb2m25z27Zt8Pl8cLlcePHFF/Hoo48iEAigpKQEcXFxmD9/PjZs2IDe3l4UFBTA6/Wiq6sLW7ZswaxZs+ByuZCXl4dQKITnnnsOy5YtQ39/P4qLixEdHY3Fixdj3bp1CAaDKCkpgdvtxqVLl/Dss88CAB5++GHk5uaGL7/nnntgWRZ8Ph8uX76MFStWYO3ateHLU1JS8OGHHyIvLw8XL15EdnY2srKywpcnJiYiLi4OhYWF6O/vx7p165CZmRm+fDLv04EDB1BUVGTrPt1xxx145plnxO5TVFQU1qxZM+x9ir53gUPLXBur27vOT/rj6draa2howIoVK4x9PF1/n1pbW7FhwwbRx1N+fj62b7/5F4/YetNQcnIyamtrh/2qdP1lpaWlAICysjIAwKFDh7Bt2zYcPXr0ps+7tvHd7/cPCzMxFiuLExjdqm8amrwk3zQ0VdbrZOXom4bi4+PDf37iiSfQ2toKAKiursb69etx++23IyUlBampqTh+/Piot9Xf3z8RgkgsVhYnwGXVIhPTGjDZOubvAK2srITX68WcOXPQ1dUFv98Pr9eLBx98EJZlIRQKoaioCADQ1taG/fv3o62tDVeuXMHzzz+PL774YtTbDwQCjtyRyYjFyuIEuKxaZGJaAyZbxxzmw7199fXXXx/x+q+++ipeffVV24Dc3Nzwd/amx2JlcQJcVi0yMa0Bk63i7wA1+Svd0FisLE6Ay6pFJqY1YLJVfJgnJiZKE2zHYmVxAlxWLTIxrQGTreLD3OVySRNsx2JlcQJcVi0yMa0Bk63iP888ISEBvb29EoRxx2JlcQKjW3Vr4uQluTVxqqzXycrYn2fu8/mkCbZjsbI4AS6rFpmY1oDJVvFhLv1VbjyxWFmcAJdVi0xMa8Bkq/gwb2xslCbYjsXK4gS4rFpkYloDJlvFh3l2drY0wXYsVhYnwGXVIhPTGjDZOuabhiJdXV2dNMF2LFYnnZPxIuTPn7z55+VrX51YHleA2Vbx78xN3uozNBYri1PTAK71arJVfJinpKRIE2zHYmVxahrAtV5Ntuo+83HEYnXSqXu9vxrpPnN7mWDVfeYOxGJlcWoawLVeTbaKD/NQKCRNsB2LlcWpaQDXejXZKj7Mg8GgNMF2LFYWp6YBXOvVZKv4MM/IyJAm2I7FyuLUNIBrvZpsFR/mNTU10gTbsVhZnJoGcK1Xk63iw3zJkiXSBNuxWFmcmgZwrVeTreLDPCEhQZpgOxYri1PTAK71arJV95mPIxar7jPXxpvuM7eXCVbdZ+5ALFYWp6YBXOvVZKv4MDd5q8/QWKwsTk0DuNaryVbxYd7T0yNNsB2LlcWpaQDXejXZKj7MvV6vNMF2LFYWp6YBXOvVZKv4MK+qqpIm2I7FyuLUNIBrvZpsFR/mJn+lGxqLlcWpaQDXejXZKj7M4+LipAm2Y7GyODUN4FqvJlt1n/k4YrHqPnNtvOk+c3uZYJ3wPvPy8nKcP38eLS0t4Y/Nnj0bdXV1CAaDqKurQ2xsbPiy1157DZ2dnWhubobH4xkTZvK+zaGxWFmcmgZwrVeTrWMO8z179mD16ht/4W5paSnq6+vhcrlQX1+P0tJSAEBmZiZSU1ORmpoKn8+HnTt3jgm4/ouE6bFYWZyaBnCtV5OtYw7zd955BxcuXLjhYzk5OaioqAAAVFRUYO3ateGPv/HGGwCAY8eOITY2FvHx8aPe/sDAwITgErFYWZyaBnCtV5OtE3oBdO7cuejr6wMA9PX14a677gIAJCUloaurK3y97u5uJCUljXpb6elyz9WNNxYri1PTAK71arJ1upM3NtyT8pY18uurH330ET777DNs2rQJzc3NKCoqgs/nQ0tLCwYGBpCeno69e/ciKysL0dHRqKysRGFhIU6cOAEASEtLw549e5Cfn4/BwUHU1tYiLy8PDQ0NiImJgdvtxu7du+Hz+dDf349AIIDc3FwEAgEkJibC5XKFL+/t7UVjYyOys7NRV1cHl8uFlJSU8OWhUAgdHR3w+/2oqanBkiVLkJCQEL48GAyip6cHXq8XVVVV8Hq9iIuLC18+mfepvr4efr/f1n0KBoPIyMgY8T5pX42ysrIm/fF0be2dOnUKPp/P2MfT9ffp1KlT8Pv9E348OXGfRsrWbpbk5GTU1tbC7XYDADo6OuD1etHX14f4+HgEAgEsXLgQu3btQiAQwL59+2663tCuvSL7gx/8AL/4xS/Gu/ZEYrE66dTdLF+NJHezsDyuADOsjv7UxOrqahQUFAAACgoKcODAgfDHN27cCABYvnw5Pv3002EH+fVFR0dPhCASi5XFqWkA13o12Trmd+aVlZXwer2YM2cOzp8/D7/fjz/+8Y/Yv38/7r77bpw7dw5PPfUUPvnkEwDAL3/5S6xevRqXLl3C008/PeI/Da59dUlOTsbZs2cdv2ORiMXqpFO/M/9qJPmdOcvjCjDDOuHvzPPz85GYmIjbb78d8+fPx+uvv44LFy5g5cqVcLlcWLlyZXiQA0BxcTEWLFiABx54YMzneACgsLBwfPdEMBYri1PTAK71arJV/O38dga+KbFYWZyaBnCtV5Ot4sNc0zRNu/XEh3laWpo0wXYsVhanpgFc69Vkq/gP2jLhBQW7sVj1BVBtvOkLoPYywWrsL3TOz8+XJtiOxcri1DSAa72abBUf5oODg9IE27FYWZyaBnCtV5Ot4sO8trZWmmA7FiuLU9MArvVqslV8mOfl5UkTbMdiZXFqGsC1Xk22ig/zhgaeF9hYrCxOTQO41qvJVvFhHhMTI02wHYuVxalpANd6Ndnq6I/AnUhutxtvvvmmNMNWLFYWp2ZOUltQS9zpVOvVZKv4PnMTfkGq3Vis+gudNZZK3Ok0jyvAjBlg7D5zk39B6tBYrCxOTQO41qvJVvFh3t/fL02wHYuVxalpANd6NdkqPswDgYA0wXYsVhanpgFc69Vkq/gwz83NlSbYjsXK4tQ0gGu9mmwVH+Ymf6UbGouVxalpANd6NdkqPswTExOlCbZjsbI4NQ3gWq8mW8WHucvlkibYjsXK4tQ0gGu9mmzVfebjiMWq+8w1lnSf+fjTfeYOxGJlcWoawLVeTbaKD3Ppr3LjicXK4tQ0gGu9mmwVH+aNjY3SBNuxWFmcmgZwrVeTreLDPDs7W5pgOxYri1PTAK71arJVfJjX1dVJE2zHYmVxahrAtV5NtooPc5O3+gyNxcri1DSAa72abBUf5ikpKdIE27FYWZyaBnCtV5Otus98HLFYdZ+5xpLuMx9/us/cgVisLE5NA7jWq8nWW/q1cWfOnMHFixdx9epVXLlyBUuXLsXs2bPxu9/9DikpKQiFQli3bh3+85//jHgboVDoVgiTGouVxalpANd6Ndl6y9+Zf+c734HH48HSpUsBAKWlpaivr4fL5UJ9fT1KS0tH/fxgMHirhEmLxcri1DSAa72abHX8aZacnBxUVFQAACoqKrB27dpRr5+RkeE0IWKxWFmcmgZwrVeTrbf0AuiHH36ITz75BJZl4de//jV+85vf4JNPPsHs2bPD17lw4QK+8Y1v3PS5lmWhp6cH//3vfzFjxgw0NzejqKgIPp8PLS0tGBgYQHp6Ovbu3YusrCxER0ejsrIShYWFOHHiBAAgLS0Ne/bsQX5+PgYHB1FbW4u8vDw0NDQgJiYGbrcbu3fvhs/nQ39/PwKBAHJzcxEIBJCYmAiXyxW+vLe3F42NjcjOzkZdXR1cLhdSUlLCl4dCIURFRSE5ORk1NTVYsmQJEhISwpcHg0H09PTA6/WiqqoKXq8XcXFx4csn8z41NDQgPT3d1n0KBoPIyMgY8T4t2bp5ostD08bs//5wCJ2dnYiJiTH28XT9jBgYGEBqauqEH09O3KeampphXwC9pWF+7ZXdb37zmzhy5AheeOEFVFdX2x7mUVFR8Pl82L1790QJkxqL1Umn7mbRIlmJO53mcQWYMQMispvl2hadf//733jrrbewbNkynD9/HvHx8QCA+Ph4fPzxx6PeRkJCwq0QJjUWK4tT0wCu9WqydcLD/I477kBMTEz4zxkZGWhtbUV1dTUKCgoAAAUFBThw4MCotyP9VW48sVhZnJoGcK1Xk60THuZz587F3//+d5w8eRLHjx/Hn/70Jxw+fBhlZWVYtWoVgsEgVq1ahbKyslFvx+R9m0NjsbI4NQ3gWq8mWye8z/zMmTN48MEHb/r4hQsXsHLlStu3Y/JWn6GxWFmcmgZwrVeTreLvAO3p6ZEm2I7FyuLUNIBrvZpsFR/mXq9XmmA7FiuLU9MArvVqslV8mFdVVUkTbMdiZXFqGsC1Xk22ig9zk7/SDY3FyuLUNIBrvZpsFR/mcXFx0gTbsVhZnJoGcK1Xk63688zHkaRV34mpTcX055mPP/155g7EZNU0lpgeVyZbxYd5S0uLNMF2TFZNY4npcWWyVXyYDwwMSBNsx2TVNJaYHlcmW8WHeXp6ujTBdkxWTWOJ6XFlslV8mO/du1eaYDsmq6axxPS4MtkqPsyzsrKkCbZjsmoaS0yPK5Ot4sM8OjpammA7JqumscT0uDLZKj7MKysrpQm2Y7JqGktMjyuTreLDvLCwUJpgOyarprHE9Lgy2So+zK/9klKGmKyaxhLT48pkq/gw1zRN02498WGelpYmTbAdk1XTWGJ6XJlsFR/me/bskSbYjsmqaSwxPa5MtooP8/z8fGmC7ZismsYS0+PKZKv4MB8cHJQm2I7JqmksMT2uTLaKD/Pa2lppgu2YrJrGEtPjymSr+C+n8Pv92L59uwRh3OkviNC0qVOJe/w/NMuEeWXsL6doaNABqWkaRybPK/FhHhMTI03QNE2zlcnzSnyYu91uaYKmaZqtTJ5X4sN89+7d0gRN0zRbmTyvxIe5yb8gVdM07fpMnlcRG+aPPfYYOjo60NnZiR/96EcjXu+ee+6JFEHTNM3RTJ5XEdmaOG3aNASDQaxatQrd3d345z//iby8PLS3t4evc217TWtrK+6//36nCRFJtyZqmnarTWRL5PVN6tbEZcuW4fTp0zhz5gw+//xz7Nu3Dzk5OcNed/bs2ZEgaJqmfaWaHokbTUpKQldXV/i/u7u7sXz58puuZ1nWDf+raZo21ftBhOZdRIb5cP8EGDqwh7uOpmmaNrEi8jRLd3c35s+fH/7vefPmoaenJxJ/laZpmvb/s5w+brvtNutf//qXlZKSYs2YMcM6efKkde+99zr+9+ihhx566PHlEZHvzK9evYri4mIcPnwY7e3t2L9/P9ra2sb8vJKSEliWhbi4uEiwbrmf/OQnaG5uRlNTEw4fPoyEhARp0oj97Gc/Q3t7O5qbm/Hmm29xfSwXAAAD7UlEQVTizjvvlCaN2JNPPonW1lZcvXrV2N/kYnerrXTl5eU4f/48WlpapCmjNm/ePLz99ttoa2tDa2srNm/eLE0asejoaBw7dgwnT55Ea2srtm3bJk0aMfGvKACsefPmWYcOHbJCoZAVFxcn7hnumDVrVvjPL7zwgrVz505x00jHqlWrrNtuu80CYJWVlVllZWXippGOhQsXWi6Xy/rrX/9qpaWliXuGHtOmTbNOnz5tfetb3wr/S3PRokXiruGOb3/725bH47FaWlrELaMd8fHxlsfjsQBYMTEx1gcffGDsOQVgzZw50wJgTZ8+3Tp69Ki1fPlycdPQQ/wdoNfasWMHfvjDHxq9s+XixYvhP8+cOdNo65EjR3D16lUAwNGjRzFv3jxh0ch1dHQgGAxKM0ZsPFttpXvnnXdw4cIFacaY9fX1oampCQAwMDCA9vZ2JCUlCatG7rPPPgMAzJgxAzNmzDDysW/EMM/OzsZHH32EU6dOSVPG7Kc//SnOnTuH733ve3jllVekObbatGkTDh48KM2gbbittiYPHraSk5Ph8Xhw7NgxacqITZs2DU1NTfj4449x5MgRHD9+XJp0UxHZmjhcR44cQXx8/E0ff+mll7B161ZkZGRMFmXURnNWV1fj5Zdfxssvv4zS0lIUFxeLPn82lhUAtm7diitXruC3v/3tZPNuyI7V1OxstdUm1syZM1FVVYUtW7bc8C9f0/riiy/g8Xhw55134q233sJ9992H999/X5p1U6LP89x///3W+fPnrTNnzlhnzpyxPv/8c+vs2bPW3LlzxZ+DGu24++67jX9ecuPGjdY//vEP6+tf/7q4xc5h6nPmDz30kHXo0KHwf5eWllqlpaXirpGO5ORk49cm8OXzz4cOHbK+//3vi1vGc7zyyitWSUmJuGOYQxxww3HmzBljXwBdsGBB+M/FxcXW73//e3HTSMdjjz1mvf/++9acOXPELXYPU4c521ZblmFeUVFh7dixQ9wx1jFnzhzrzjvvtABYX/va16y//e1v1uOPPy7uGuYQB9xwmDzM//CHP1gtLS1Wc3OzVV1dbSUmJoqbRjo6Ozutc+fOWU1NTVZTU5PRO2/Wrl1rdXV1Wf/73/+svr6+G74LNuXIzMy0PvjgA+v06dPW1q1bxT0jHZWVlVZPT491+fJlq6ury9q0aZO4abjjkUcesSzLspqbm8NrNDMzU9w13OF2u6333nvPam5utlpaWqwf//jH4qbhDrFf6KxpmqY5lxG7WTRN07RbS4e5pmnaFEiHuaZp2hRIh7mmadoUSIe5pmnaFEiHuaZp2hRIh7mmadoUSIe5pmnaFOj/AWXbEaJCAs7YAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.style.use('dark_background')\n", + "df1['A'].hist()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.style.use('fivethirtyeight')\n", + "df1['A'].hist()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "plt.style.use('ggplot')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's stick with the ggplot style and actually show you how to utilize pandas built-in plotting capabilities!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Plot Types\n", + "\n", + "There are several plot types built-in to pandas, most of them statistical plots by nature:\n", + "\n", + "* df.plot.area \n", + "* df.plot.barh \n", + "* df.plot.density \n", + "* df.plot.hist \n", + "* df.plot.line \n", + "* df.plot.scatter\n", + "* df.plot.bar \n", + "* df.plot.box \n", + "* df.plot.hexbin \n", + "* df.plot.kde \n", + "* df.plot.pie\n", + "\n", + "You can also just call df.plot(kind='hist') or replace that kind argument with any of the key terms shown in the list above (e.g. 'box','barh', etc..)\n", + "___" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's start going through them!\n", + "\n", + "## Area" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df2.plot.area()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Barplots" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "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", + "
abcd
00.0397620.2185170.1034230.957904
10.9372880.0415670.8991250.977680
20.7805040.0089480.5578080.797510
30.6727170.2478700.2640710.444358
40.0538290.5201240.5522640.190008
\n", + "
" + ], + "text/plain": [ + " a b c d\n", + "0 0.039762 0.218517 0.103423 0.957904\n", + "1 0.937288 0.041567 0.899125 0.977680\n", + "2 0.780504 0.008948 0.557808 0.797510\n", + "3 0.672717 0.247870 0.264071 0.444358\n", + "4 0.053829 0.520124 0.552264 0.190008" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df2.plot.bar()" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df2.plot.bar(stacked=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Histograms" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df1['A'].plot.hist(bins=30)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Line Plots" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAswAAADFCAYAAABAQaT7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsXXecHbW1/jR3+6693vVijA2mEyDk\nUUNLSCA4EEgjCSGQQiCkkLy8UBLAEIJDN8WY3kuooZdQTDFgDJhiiungGIw7tnfX6/X2vVd6f8yd\nuzMaSSNNufeuPd/vB947RdLMSEdHR985hzDGGFKkSJEiRYoUKVKkSCGEVeoGpEiRIkWKFClSpEhR\nzkgV5hQpUqRIkSJFihQpFEgV5hQpUqRIkSJFihQpFEgV5hQpUqRIkSJFihQpFEgV5hQpUqRIkSJF\nihQpFEgV5hQpUqRIkSJFihQpFEgV5hQpUqRIkSJFihQpFEgV5hQpUqRIkSJFihQpFEgV5hQpUqRI\nkSJFihQpFEgV5hQpUqRIkSJFihQpFKgodQNEWLZsWambkKLM0NLSgtbW1lI3I0WZIe0XKURI+0UK\nEdJ+kUKEcePGaV2XWphTpEiRIkWKFClSpFAgVZhTpEiRIkWKFClSpFAgVZhTpEiRIkWKFClSpFCg\nLDnMPBhj6OvrA6UUhJBSN0cIxhgsy0JNTU3ZtrEYYGs7gWWLgK23B7HS9ViKFClSpEiRYvhjWCjM\nfX19qKysREVFeTc3m82ir68PtbW1pW5KScAGB0DP+BPQ1Qly0KEgPz6y1E1KkSJFihQpUqSIjGFh\nAqSUlr2yDAAVFRWglJa6GSUDe3Um0NVp/z39/tI2JkWKFClSpEiRIiYMC4V5OFEchlNbY8fgQKlb\nkCJFIBilYL09pW5GihQpUqQYRkjUbDswMIDJkycjm80il8thzz33xGGHHZZklSlSpEghBRvoBz3r\neKB9FazfnwSy0x6lblKKFClSpBgGSFRhrqysxOTJk1FTU4NsNoszzjgDO+20E7bZZpskq00Em2yy\nCbbddlswxpDJZHDOOefgq1/9aqmbVV5Yn63rKYYF2DOPACuWAgDoVecic8N/StyiFClSpEgxHJCo\nwkwIQU1NDQAgl8shl8sNW8pCTU0NnnnmGQDAzJkzMWXKFDzwwAMlblW5YXh+2xTrEVYtL3ULUqRI\nkSLFMETinnSUUpxyyin44osvcOCBB2Lrrbf2XTNjxgzMmDEDADBlyhS0tLR4zq9YsaLg9Nd/9MGJ\ntbX6lieU55029PT0YNSoUUJHxOrqal/71xWwbBbIZKSLnp4RDVjr+h3ne6ioqFhn32uK8DDtF2uq\na9Dn+p32qXUTqbxIIULaL1JEQeIKs2VZuOiii9Dd3Y2LL74YixYtwoQJEzzXTJw4ERMnTiz85nO9\n9/f3I5PJJN1UZLNZ6bm+vj7st99+6O/vx8qVK3HvvfcKr+/v718nc9WzhZ+CXn4mUNcAa9KFIPUN\nvmtoV5fnd5zvoaWlZZ18rymiwbRf0L4+z++0T62bSOVFChHSfpFChHHjxmldV7QoGfX19dh+++0x\nd+7cYlUZKxxKxqxZs3DHHXfguOOOA2Os1M0qGujlZwKdHcAXS8Ae+JfkqpSSkSJFihQpUqRY95Co\nhbmzsxOZTAb19fUYGBjAe++9hx/+8IeRyiwHJ53ddtsN7e3taGtrW3+2dzo7Cn+yhZ+Krxmm/PQU\nKVKkSJEiRQoVElWYV69ejauuugqUUjDGsNdee2HXXXdNssqiYP78+cjlcmhqaip1U8oLqb6cotyx\nHu0KpUiRQg226DOwF6aD7LwXyA67lLo5KcociSrMm266KS688MIkqyga+vr68O1vfxsAwBjDpZde\nWhRedYoUKVKkSJEiftALJwH9fWCznoJ1xT0gNbWlblKKMkb555suEyxevLjUTSgfSKkXqYk5Rbkj\ntTCnSJEij36XE3DrF8DGm5euLSnKHsMiNXaKYYKUw5wiRYoUKYYjaLqYTqFGqjCnSJEiRYoUKdZz\npApzMcCWL0Humimg04df4rdhQckYTuHbhlNbU6RY75AOzxQpUoiQyoaigF55DrByGdhbs8G22g5k\n6+1L3SRtDAsLs2VZyqQicYBRCtbTDUZzocvIZrOwrGHxSpNBSslIUfZIZ8UUKVKIkMqGomDlssKf\n7P03S9gQcwwLC3NNTQ36+vrQ398vTcscFfSDt+1YwyMaYYUIL8MYg2VZqKmpSaB1wwSpwpwiD5bL\ngaRRZFKkSDFckHKYUwRgWCjMhBDU1iYb7iV3/QWFv62rHwCprEy0vuECtuRzsOVLvAfTKBkp8mCM\nAf/9EKiqAtlsawAAfekZsLtvBNlpd1i//WtpG5giRYoUWkgV5qJjmFFYh4XCnDRS3rENxhjYv68H\nW7YI1hG/B0aMBD3nRCCXLB0mRXJgnR1gTz4AjNkI1r4HRy9vcNC7mHznNdCrzgMAWJMuBNlyW7Bb\nr7Cvfe0FsG8fArLplpHrjQ3pWE+RIoUIqWwoPobZO1+PCbcuMKr+vb7gzZfBnn8c+OQ90CvOBnvq\nYTNlOTUwlx3oXdeCPfMI2J3Xgn30TrSynn4Y9C8/A73lsqFjeWUZAOiNU/03da6OVGeKFClSFAXD\nTHkrJuhDtyN31nGR5xAfhtk7TxVmAKC8wjy8PmJcYB/OHfrRttL/XgKRasxlhzdnF/5kLz4dqSh2\n381ANgs2+1mwVV/4LxgcENxVZn1i/RzaKVKkCMJ6Ou8HgS2cD/bEfcDiBaCX/CPu0mMuL1mkCjPg\nHyjrq4U5qsBInf7WH/R2Cw6m3z9FihTDFcNLeSsW2ML5CRaeXNFJIFWYAb8ldX31luUVZqlvn+QE\ndz8ztlCnSBSKBQ3rXmtamNahVIdOkSJFOcLnu5TOV2IM9CdY+PDStVKFGUgpGQVEfG6fpX59fY/D\nC/S+m0GP/wXozdOiFURE4qTcNOa0T6ZIMdzAsoNgn34MlgufJ8FfKG8oSxVmIfr1FWZGc2Arl+uX\nPcyMk6nCDCTi9Me+WAp6z03xk+TDtOXDuaA3XQI27/2ACyPX5P2ZCqBhAfb0w/a/rzwP1iOiWggg\nslYLLcwKq/aHbyN3xv+C/vt6vTpTpEixXoJedibolJNBr7sg+GLtQtP5SgsDXt8UOvs50NnP+RYv\njDHQCyaB/v0PoA/eqln48FKY07ByQCIWZnrF2Xb6xxmPwLrs3yB19ZHLDAOWy4FOO8P++9WZyNzw\nH8XFPCXD0Droe4+pACovaHzPSCEEzfoLnTYZAMCWLwbb7evFSZGa7nqkSDGswHp7gI/ftX+8/WqM\nBfMKc4zW6zICW7wA7MWnQHb9OsiXdjAvgKNksFsutf/IZED2+ObQic/nA599Yl8z/QHgx7/WaNzw\nksephRlIxunPlf4RixdELy8sjPhHMVMy0hX7ugtda7KmDs2WLozUnBQpUkQHW7IAdPazYP19pW7K\nEJLKA7CeUDLolJPBnn8C9OLTwAYHzQuQ6BCMDyM6UEZ9JiEkamFubW3FVVddhY6ODhBCMHHiRBx8\ncPTkCbEjcae/YbKKitrMlMO8fkO4I6FrdR4+fYVRCvR0gTSMLHVTUqSIDay7C/T8k+wt+MULQH72\n21I3yQY3PzPGQOKIyLS+GHjcCm/namD0mPD3x41hpiMkamHOZDL41a9+hWnTpuHcc8/FU089hSVL\nlgTfWGwMM6c/xhjYm7NBX3waLGgbiVtFqyNX8M8tEUqaUTLWWQG0DiF8lkuRNZkI+ld5jyVTMJoD\nPfdE0L8eCTrrqVI3J8V6CLboU7C1nfGXO+vJAl+VzVBQ94oNfo6Li+q3nliYvTBfaDBthTnEIiZm\n2ibr7AAzcFI0RaIKc1NTE7bYYgsAQG1tLcaPH4/29vYkqwyH4Zbp7+N3Qa+dAnbblWAP36G+1mc9\nVzxb1IVCGs8aAEBnPwt686VgyxeXuileiORZnH2fELP+VgpE7ONszkvAos8ASsFuvyqmRqVIoQc6\nczro2SeAnvpbsK6YleZyNRRlOUpGXDLF5/S3bnKYPQhjmNdVmMOUHWOXY++/CXry0aAnHw3W2RFf\nwS4Uzelv5cqVWLBgAbbaaivfuRkzZmDGjBkAgClTpqClpaVYzQIA5OggWl2/m0eNQiZiG1a4/m4c\nORJVMT5T1/JFcGIZsOkPoOmwo5EZ1Sy8llZYWOX63dLcBFJVLbx2TXU13Cyk2ro69Aiuq6yoQLPg\neXrq6+CO5jt61ChYknaZoqKiouj9whRscBBdd12PnofvBACQTz9Cy3UPlLRN7n5YXV2NRu4dssFB\nrHT9bh7VhEyz/z0zxjzXjWpqQmVLi6f8TKYCo5uaPNeNbGhAteS7ue9tqK9HXYjva9ovOqqr4Rb/\npn2qm2bRFeH+ckf2i6XILV6Aqp33BKkYvj7hw0FehMGKO6+x/+jvQ81zj2LEb46Lrezu+vqy7NvZ\ngV60uX63NDWBVNeEKsvdL2hXlWduHFFfj5oyeWYA6Hv5WfTOeBR13/0pqnf7Wuhy3HK2uXm0sW7T\nDgYZ89ndRwZWjsJqyTlZe2pqqjEypne+4rIz7T96ulD16L/ReFzcWQmLpDD39fVh6tSpOOqoo1BX\nV+c7P3HiREycOLHwu7W11XdNkmBcfe1tbSBWZWzlr+noAInxmSgX+qv9vbdBtttReC3raPP8bl21\nCqS6BmzpItDbrgBpGQvym+NBMhnQPi9pv7dXpC4Dg9ms8BvRtd7kF21tbSDZeKwBLS0tRe8XumBr\n1wANI8FemA6WV5YBgK5cXlZt7u/v97WHcems21tbQQSfjA8h1NHeDlLf6DmWYxStq1Z4jnVq9v2u\nrm70hHhXpv2Cctt1pt+HdnvHXjl936hg3V2gJx8NDPSDfPcwWIf8stRNCo1ylhemYEsXgc19FWT3\nb3iO97a3oj/gGVkuB5LJaNVTrn2brVrl+d26aiVIjV+P0IG7X/AW+s41a9DV2grWthJoagGxShcT\ngWUHQS+2Fb6Bua+ro1sZoH31ahBDYkGuu0t6zt1H2JpO6TkZ+np7MZBAP+tbvgSDBuWOGzdO67rE\nFeZsNoupU6din332wR577JF0dQWwd+eAvToTZN+DQbb5csDFxXdWMxFkPnBxEX1bVm5IQr3RK88G\nWleAffYJsNV2IPsdHD8lo9y24xMAffRusP/cBeywK/D+m6Vujhoi7rkuf1+LukGAXPlSMlh/P9gb\nL5W6GWULNvOJwvYre/xeYBgrzOsKGM2BXnwa0NUJ9toL3En1vfSxe8CeuA/kW9+FdejRyTUyafBR\nMuKSKYKwcvTBW+2QaNvsgMxJ58VTTxj09Xp+hnV09PmUhJnjk4yYkpSuFYdTqACJLqEYY7j22msx\nfvx4fO9730uyKm+9gwOgV5wNNudF0ItODb6hiLxLxhjotReAHv9z0FefD1cIzynKKULFyJ6tdcgS\nyD6aK7k5otPfesBhZv+5y/5DoSyznm7Qmy6xk8foJgYpFnyOLxIen47gJSSCg04RFqlPPxS9EGE2\nw3UE2RAhpziwhfNBn344MQ7heoeuTvs/ADD0iWCP3AkMDoA99VCijlCJIzGF2T83sul5Ct2898GW\nlDAcLJ/RMGxovTgU5iQ5zEkhIYU5UQvzJ598glmzZmHChAk46aSTAABHHHEEdtllF+V9bOlC28Kx\n3Y6w9jnAvOK1a8yu91nPIjoGqSzW//0A7M2X7cM3TQP23M+8Aj6Q+GBW3leL6vRXvtbFUoI9dBvY\nqzPtH43NIIcelUw9894He+0FkK9/G2TzbfRu0rYw89YYicLMZ3+itGRylHV3gT33GLDBWFh77ju0\nuImCcpoUYke0h2N9PaAXngoM9IN9+jEyf5wUU7uGJ1hfD1BdGy0Emkokm8jr7CBQLfZdCVVeMZGU\nwhyU6a+UiwxeSR0cBCpC0ETjcOrmaHtyhImSUXwLc5SwhIkqzNtuuy3uvfde4/vopf8EOtqAOS+C\nbb09yNiNzQow/QhxZ6hTKKmsbRUig98iCWNhdsN5XVEz/aVxmIVgM6e7/n4CSEBhZtks6EWn2X+/\n/Cwy1z4ouErwPXW/mc4YEVmYdSe3BPoKe+g2sBeetP/eYGzs5ccB9sUSYGAAZMIWpW5K5MUAe+/N\noYn+rdnR2zOMQWc9BXbXtcBW28P66znhlWbluJCf8xtthrHxIqkoGSXO9McolfOk+d2ewQGgNgRv\nOw4Ls67CHKaPF1lhpi8+DfbInSB7fwuWTiZCDuW5v+hyVGPzPjC/XxDo3OT6yB/RpzS4fscguHxZ\nmJQcZn0Fhq3nmf7oc4+B3n41WHsMixoZJBFKIqPH5ZgRsH3HGAOd/gDoLZcBrSu9J2XfTHeM8FuJ\nJewDjrIMQBpX1jgOdYyUDLbwU9B//An07OPB3nsjtnJDI+KzxZJMYh0Bu/0qeyx88h7w0TsRCgop\nk9el3T5ufmP33xIhfry7oNK9I/beG6B/PRK5y88S50bgldQwGfqAeIyBMVC1pAj5Hdlbs5G7+O+g\ncyQ+KZwsY5Qid9k/wW67ElizGmz6A76ACDooT4XZjTCd2HTSjns17rPquhXmaEUD8G/XmDj9Cd8F\n8/wTCN1t+2Fk1WDz3gf79/Vgs54EvfnS5CoKGQ4pEDwVQiWIPnkP7MFbwWY/C3rjxd5zsm+ms7VH\nrPKNw6zbZwGwFcuQO+dE5Kad4V+cxqgT0punDf19+VnxFRwWUZ8thsUEW7kcdOYTYJ2rgy8eJmCK\nKAOATd3ITT0dubOPB1uxzHtStfhVyWve+ZafE0Uo1wUPL9teewF4+9Xo5ZbQwEMvP8vmpr/3Btic\nF/0X8I792rQIvqIYshir9AsF1EnSnIvCKUT0min2PHb9heLkba6+zDpX27s977/lvSZEHPPyV5jD\nvFAf5ylAWMSdGttH2HeXH4PG7HP6M4+S4T1W4GTo1a9rhSwXZUkD7LVZQz8+eS+5ipKyMPMCVajQ\n5k/lOfQAgC+Weq/R/rYiDjPUuysqRN3cGBwIZ3USPC+9/kJg4Xzgw7lgj/47WsNU0FAKmSS0oynY\nymXITT3dTqgjVZ4iKkwRFS5Gc6CX/APszmuTXbQWGaRSzT1lD98JfPwusOgz0Bunek+GpQnw/Tqs\n01g5QEA5ZO++Hr1clWFLANbRDvbOHLC4La4iZ05enmflCjPr6wGb+6rYoTzi7jljzIBWp6CivvES\nctdOAZv/kf+2Tz9G7oz/Bb1hqpaS7btGJM/ysoj1dIGe/ifPbuNQ+8zni/JXmMMoXfyKKEhYxOz0\nxw88zwooDiWSd0ZQrQBNtp10LfOyMDMxcJhZdhD0wVtB774hFmWB5XKailQyXCr6COdolpSFmRew\nKouSKoap9u6BSGG2/PUWIUoGe+8N0BN/ZVMbDLcu6bVT/AcXfTZUNm+ViNXErH5mesNU0OOOAP3P\nXWBrVoN9sQQsOxgq0gq99gLg43fBXnkO7EVJSu+oFsaocWuXLwXa8hShD96OVlY5obJKedrTxz7/\nr/ckbyn23qk4FXLhWoYQLvDioEYZWJjZ4ADoWceBXnk22H23RK87qF4fh1ku1+hV59n/XfZP/0lf\nPzDUP0wWWrw8y8t+1t0Fet2FwJuzQS84hbuGgV4wCVi+GOz1F8De1PB90Ikg4ijMTz8M9MYXmWoY\nKMwhBjrf2ZRCB8k7/bk/cARlnD5yJ3KTfgvw4W5UK14TBUY3lM3yxZKOHX2Liz37mM0vevZRsMfu\nMb7fU9ZH74D+7UjQ808yVqS0ytf4luyxu70HklKY+S08pcJcKz8n6x/aTn/F32Wgl59lxy1dvMCO\niiGAlJ//zut2NANdhImF2r4KdM5L/tBeirHIOtrBXn8BYAzs0btBTznG5jv/8SegJ/0a7ON3zRqx\neEhmsHcT4ktz78acHx5jW5w2tLeCPvsY2Kov4i9cVif/3AEWZqVMVs1/qvcbhpJRrk7aIoNQHPQR\nE4X5rVcK0bdkMia2dgBmlAxHFnz2iZ9CZqjbsLZVtrXa0Sl0Q8oB8vfZusJ/rfsed5sWfRpcD6+X\niPQ7p3+sVvGU10ULcyiSuqGFWbBtwTrawLjg4dpQbkuHJLm3t9oKZNtK/8nIHOY8+PekUMSFljnJ\nCtME7Mn7h/6OGDeXXvIPoGstsGAe2CzBloyn4ni28wPR0wX6yJ1gAY5AbOlC5K45H/SZR/TK9dF0\nRBNkXoiovK1lz6S7C6PpZKoMvRgFXywxv8ekatPAMdlB0HP/anPt/n2t96Sq//h2DFxjc2DAjiQU\nFhm94EhCbqAK/PPk5RJb+CnYZ5/E46hlCHrtFLC7rwe9/Kzi1c/LzSDLu1LxjSn+7rCmZIgU5jgs\nzAZzY0ger147BH4Umk5/vj4dFIJP0ddYfx/oWX8Bveo8sAdusw/yirsKUj8Xg0gvOqHzTCzMPQr/\ngRDioPwV5lBOf7yFOUDwc52IzX3Ntuic8hthAH6Wzao9LFWr+7D8aBXfMXJYuXyb+PdkytWKw4ki\naDcgLJaZBf3XQpjdj0WfgT12j83VXCt3OqCXnwW89QrYvTeB8du0IgxyCrOqbdUqC3OEsHKWgJJR\nbL574o6mhhrzB28DeRnCXn7We0652xMwQUdRgDISsc+XOWhWB+OViuwg2LwPQM85AfT8k4APeHpL\nEbBgnv3vF0tCOfmEArd4pRdMAn3wVuGlbOGngMr6rZKHqqmEH/9JydUAsOwg6AN5il3YpE1CC3NA\nvQP9YO+/GaAwmYSVUyia7avMF5eeAnSiZEgUV/7eoBB8ql2tV54H8t+IzXhEXa+wAMn8r1oQmu7G\nAAILs4Kyo+xz66KFWWcriQcv6AOd/jjO8RP32R+7pxvswdu85wYHQP/xR9CTfwP60jNa5Xk7bdgw\nQYr7YuMwR5swY+GChxA8rL/Pjq/46cfyiwK3RQWr/CAOdZi+6S7/Y4WV2RXajn0k3n5nXZ1DgtpH\nyVB8O9VkI7UwayQuEd2vrTDHxLGUtUtp5FCMiaULQWc9OeRoYroVrOojqrFoYtkxBJFZmAUKrxF8\n8mMA9N/XF37Sy84MaFjCURoMfCIYDfZ9YG0rwd582U+1Efh4sOkPCOUTveR0dUOGidOfzBGOPfsY\n2JN5it3j5jkZAKgVInddvT1gK+0oI/Sa80EvOxN02mS5I1lQ4hJP4eK+QKc/YBvXzv2rXlQInXYA\nPkVVSink7+WvM3H6E/WRKBbmgsKsuof7HWBhZoyB3c9xyAVjpBDi0mTBpIHyV5hDRcngLcyGTn/u\nU6tbvb9nTrc5OYyB3XqF+KaYw8qxRZ+BPvmA/AKVwqxj8ZNYmI29gflnCyNAwvCeH78H7LYrQS86\nVR5DucIsRw996A7b4coV+st/UTSrDclkNK/0dxr62gugf/s16D/+F2xwEMxHyVDwupQrfl0Os8jp\nzyA1dtgEJ0FIgFrDbr86QixdRXtMKBlxQtbvDChZ2vcrvPuLDk2uOlu6CPTU34NO/jOYxCrN+vtA\nzz4B9NoLwO69yXtSwvtkLmfSAoKsrsq5y6BvRVzcF4p97B7kLpwENv/DoWMvPwt63M+Ru/o83yKD\nTY+BYifaQeX58j1doJOOAf37saCznxsKIfb5f4HPPgG99ybQJx/wKrUxxGFmzs7Bos8i7KCIFGZB\n4hLhrd420+suAHM7zEaNAMbvXKogXYAYzDdBhq23X7Et4W4oKBlqhVldlQjlrzCH6cQ+DnOQ05/q\nzXFWD06BFpfHb4eFT1zCBgfs7cy3XpFfFDWsXG+3HWqMTykeMGHSV2eCvTNHXnaY7XHu3dHbr7YF\noAJsen4xkct5BLQHAZ7qPlrOE/fai6JXnpdTJ6JaRS2x4uKbpEXW7xun2v1q5TKwF54Am8vFJTXp\nE55zMgutptNfaEpGTBbmMH1OQ8mml062LYTG2S9VhZZKYU7IwszfPzgIjBxlVoYLUTnH/P102hla\nRgB601R7h2f5YrB7bhSX/e4bQPda+2/eP0KWUjmOnAKeRqgU5uhRMvjoFGzhfLBH7gT++6GHQ8/+\ndZm9SHj7VYAPGxaHZVsRNqzQhifuH6IT3OINSUgvPxPsmUfAHrgV/a/MdN1kQMnQcfDuWht4jXbZ\nvKIqW3jyfWrBPFtWOYvDqHOykYVZ4pei4k3z/SPAv0IYbEDVP7rXN0pGHJlpIliYfdvXOkJPaWE2\n/EiLPgueuFQRIHRW0fM/ssNO8Q6FAfWymy6xw+w41jcJh4nlcmAfv6vmkznghfSsJ8FuuRTZxZ8H\n3wsUtl19k22gM0EIx5uoSp5AONBZT4GeeKT3YP5Z2OAg6M2XInfF2d7T78wBeEGinGhVW48xW5h1\nFea4OJbS8RXS0uu+7IJJguqCxnNIpS9JhVmyUBMqvCYQUDIwolH//hgTHzHGgFXLvQe71oIFLL4B\neCOKSOhQyu8qiyxgKC/sjJwSA0AQwlAyOCWUnvALj4LiiaErCy26pp1rRwwLYZ0oGV1r/Nc4cFFx\neh6/b+g43798EaUMx25oSoaIw6wZVk5W5yfvi8+b8IkBwygZISz2PE0q6B6RA62KstOvCNxAKdgn\n74MtnK+u01299pWlgkEnZMsWgc1736/oBXKYFZ2I50pxgof199lhWNxWQVXikiQ8tU2siSaDWtPC\nVKAtSDjM7O4bQKeeDnrW8ULnCLZ8MejNlyotyf068RmBocgm/Mo4ynu3JFbFqEqeYGuc3X6V/D0+\n8zDYK88B787xnheFGFP1eaWFWZPDLFRmiP+dFNvpL0w5uooZo+ZKnW6/4xWAklAyuPFuSqcQWKgJ\npzArnaMM+wRrW2U7zQnQecW5oH8/1n9i3vvKMn2QbEnzdCrPrqZMmTS0trI5L4anAoWhZPB9tbfH\njjLy6cfIXXkO2HOPB5fBKzRxUEF0omToRs1wt88kwoTOOA67wBNamDWd/mRRiD6cKz5vKh+Tdvrj\nKUlBuproO4v6mGzOdoG98TLoxaeBnnNi4LUOzIidpYDmB2bLFoFO/rP9Y8ttvScDo2QozvMTGVcW\nvflS4K3ZwIbjYZ11FYhlCVZa0cPKqcBenwV29PEgIp5u6EQS0LcwdeStChIOM5v5hP27baWt3G2/\ns/eyK862PcVf0bD+BMFRmHlYMizaAAAgAElEQVS+oiwsD6V2pqUwzlkJWJiFcBTm12cFXOiCcJLx\nlqeqywcdLpxlYmFOJrECC0UDMhiTvkmWyi22gsul4BQNlqDTn1Rh9lmYDbfT+TE0OOif4BYvANtk\ncxDROzOY3NmKZaBnHQcM9IMcfRysvff3nO97/gnxjaOapWUKIfkOPp+BnrXAyKb8PRKrnKHyyPik\nRyZQ0QJNi5pysv7FPgOT4TMP9AOfzwe23HZoUaITJUOTKkXc44wf91w99IF/wfrbeflMjRoDOeyi\nXytKhmQulsi7QtxxXZ8SWdMCLMxscMCmLVEKbLW996RTt0oI8hbmoP4iUoSFC1ENhXmGZshWF4aB\nwqw34OjdNwz94L2Rgz6CSUfn2/NW3vK5Yimwcjkwdrw6TmDUtNsSsJdngHzzO4ITyVuYpXWJBqfI\nKhtnUgFHYeaz+8i8uG+4GOyNl9Rlyt5ZVOuJbmY0R+CYfDvRex4ctBcImhZmNvdV0OkPgOz1LZAt\nthG3yQORwix5R4lxmMN41ZqMf9PxpGth5vpCOVAyjJ3+eAv1oN/AcM6JwPhNYZ1xqV9pNpBV9IaL\nC4ope+h2sOYNgNFjQDYYq45WYKowy95BH2dFXjukMLMBiYXZVKFShS4FAjjMyTj9BUKluAbIO8YY\n6MV/BxbMA9nt6yB/yCvqOlEydGWpx8Ic8I4++wTs+cdBDjhEr2wVV7e3B+yNl0A23RJkwpbB90W0\nMBfkqQklQ+h8qJZD7In7h9JOL+DCnzrvVyXb+Xk6jIVZdE9CEXfKn5Kha+VUfVjDOMwe+CzMCqHn\nOJapYmAaZ7/S+/DsjqvFxyNRMvQtTKynS74l40bU9LlBcDhLvRx3STDxsWw2WFkG5P2naOlmw0SK\n8X879vos0H/+nzq8lusb0qvOsyeNO6/xx7Bl1M/fJcSfxrbolIz4o2R44KNkRJAtbvDjogSUDJ8D\njobCzAYHQZ96EHTGI37L6uCAeIwsXQi8/Zr/uEmYLzfvsKPdpnyd8Sew1W3q+6qq5ecc6CRP4LmR\n7vERE4c5iD+qprdwviAJhZXzywCFfFfsxACwdyDzcbM9clkjSoa+wuxqA992wXxnFNlDtSPy0G12\nJKcpp4B1c86BQoU5IofZOZ4wJcOTyZbPQOyMZ5X+5TNsBfRTTQ4z6+8Ffe0FdVkhUP4Ks66VQxUF\nIUBQKS0SPoVZ/kHpdRfYMTmV1rNkFGZ5o4pkYe4WKMwyx7Ak0WtgYVY5irghtTBHVPLyK3C2thPs\nw7l+ZbNwHfNcrwVZn1++GOypBxX35dvERw1p58Ir8ilNnXaGpWTEZQELFSXDRGE2dFbU5jAbKsy6\ndB7hvfFZmNmsJ8Hu/xfYPTeBzXraf79EXvqUBkB7+1gakzabBXvkDvX31FlQVQVE1AGGdrIcuBVm\nSZQM9tg94Z34RDChkSVlYVb4C7HlXLKooD4ry6yrw1ENxWH2viOmSgCmM4xVCrNDERocAJvDGWkE\n9/koWbpRMhx89A7o0w8XIrkMFWyof0ShhjGJ0u5GUKIVHiL9QSRj3nrFjiQVMxKnZFx99dV46623\n0NjYiKlTQzyArpVTZRUwTY3tBiF2gpIln4Mc+GO5UgPYKZgfvxtku5248uVRMlhHG8io0er2RYGu\nxU8EEy/5gf5ELcwD778JunQRyDcOBNloE/mFBUoGz2EWDHxBFkchkuIwM2Zb6KacBKxcDvK1idLr\n7H8Niv5iiS0wRVClfHeEHD8R8pxwSv3KIhMcK3riEk2nRc89Bi82Jsu4b5FuETsRxsfvguy0Z/BE\npRFXnLWvApv7GsiOu3N1acZh1hj/zE2F4yZnNjgoX1CI5EDQFrmDXnm0Hda5BkQlo1e3gT7/OMgO\nu4JsMFZ8TWUVAHk4KpbNgi1d6D3W1TnEmlRYhtmDt4F9eWeQCVsqI6wo5xkHJgpzUrthXD9l2Wzh\nPdDrLvReK8sw6UDmLCnkMPNOfzFwmMOG8Ctco/mOa+u8v0UyhJe/0jjMij50381g4zfVvl44v5jE\nYeZRsHIb9L0gXU1oYY5pd1IDiSvM++67L77zne/gqquuCldAHBbmQCuQ4vziBWBz7e1DtmJpcCaa\n6Q/ARzjPyRVmes6JsM6/Me9YkACixGE0sTD39WrVRW+9AtYZl4HwQiMAA2/acajZgnnITLpQfmF+\nq9TnrCASumt0FeaEKBmU2n1rpR3+ir08Q3xdCAszu11M0Qm+MV8Xv+DgY1HLrMnaiUuiK55scAC9\nvFUzFIc5gtNfWEqGIDEBveg0oG0l2E6vqReFgJaFmV59PrBw/pB1K6hN3Hhn2UHTROBeyCgZgHji\n06Vk9CgoRf19akvfE3a2OeZ20uahmEtYLmc7G/LWU4+FWaL4OWV89onNY1UpaDpJVlTKhcqPRtSm\nXA5Yszq4Tvc9lPoVObeVlltUBPZZqbOkRlg5XQuzuw0alAzXxf4jOgYi+BfHpL7BW5poPPoUZhkl\nI0D+8N/AdAdOFlNcBzJaiApBC0VhlIxks1i6kTglY/vtt0dDQ0Po+3nuFXvrFdAbp4J97iWYk6Qs\nzO7YxO+/pbW15UueoYrDvGa1P0xYGMgsTsWiZPT3CS3MPqHSugLsP//WL5fHpx8jd9GpyP3z/8C+\nWGofE/ESeQ6fQOCwTs0JIimnP8aAhf/VuI4OXZ8w6OznwDra/RM2n9SGMbFDiW9HIzmnP/bE/eic\n9k/uYJ5SYtLvjTjMMTn9+RITZIdkzdzXgikZAQtsRukQz/eLJfxJ8U1R4zD7yhuUc2d1LMyyd7ts\nofg4kFeYNfrSiqWAbPyrFOa3XvEry4B31yYodq1j4VfJVx0Ou6rv6VrrYS+M6OQ/gz2vETbOXf1V\n54JeeY73oErpDOIwy55Zx8Ici9Ofou2iYcy/U9mzc/RAegO/0y5SmDm9RzPTXyBM5xCe2mgCp3+a\nzJOBTn8iSkZOnuE3ZpRFlIwZM2ZgxgzbujZlyhTPuSpC0NTSAgCg3V1Ydc35AAD25svY8L6hMFtr\nRoyAbF0/or4eNfkyROitr4ckl5sPVRUZmLJ6aiqrMDJff1dtrW+zr6G6CrWS9g2uXol24RkvSG09\nWgRl9NTVwb1ROqLBfhcrdBpu4PQ3oroKA1XVcG/2j2hoQHVTE7h0KGAzn0DL/55S+K3VFjfmfQAA\nsG6aitHTbsOqunpQ1yTV0tLie+4qgkI/ctCdHYBGKhWMGjkClYJ3O7BqGcxsMl6MHDkCPSuXBfan\n2spKjGhpQatlIXE3w7mvgrStQONx//D0u6r+XrjVgBH1dageNQpuMVWRyaCWe+81VdUY2dKCrvv+\nhf45L4H19YL19qB2v4M846C6shKNijEqwgq3w4nTzooKNLW0gA0OePpdVUY+bkeNavR8X1V/rK+t\n8/SZ5sZGZJSypcEjW5wxmgOFKmdojWVBQZyBVVUlHO8OWH+/b9w5qKupQeXC/yK76DPUHvADWPUj\nAABtBHCP+IaaatQFfJMVliVV3OqrqjBQUSF87yNGNhZkHu3phlVXj/5lI+De82ke5X+3uZXL0XqN\nd45wI5PLopnrlzI0jxpVKJ/2dINUVoJUVqGtts7zHkY3Nxcs0T10EKJ8bjVgBRnfSaD8ds6z0841\nwna2tLQgm+1HQIwMVBKCZsH3YbksVl5+pudYQ02N9Fv2PP0I1q5YGlCbAAJDj7sefhxZlZXKPttX\nXQ33sty5tiNjgV+C1NXXoa4yA6vRjkyytr4eOonPrUymUG7/yJGe/lZJCPgljGVZ9nzSUO/57i0t\nLWD9fZ4xVldZiQbB82X7u73fkkvgJZJ9/Fisgn/+EpYdgJENDaiWfIPuOq9sa2lpQUcu63v3uhjV\nOBKVLS3oq6+HprcQaiorC+NIBNF3rvrgTfRdd0HIVpqhLBTmiRMnYuJEMX9zoKcbra321MIWuYLU\nZ7OF4wBAFbSLzo7V6GqVT0+0U1ddBgb46Asa6OvpxkC+ftrtV9HWrulAt6R9rEOPNsCqqj3vwwH/\nbGs71ijfhQcGFubOVSt93NjONWtAVghCxhEibKspsp/PR2trKyhnEVq1ahUY99zufuSALtebJDra\n20Ea/e1lq3WWMnJ0dnSAamQw7F27Fv2trcgZLGCiILd4AVZ/9J7nWH+bd2pf29mJrlVelSw7MICu\nTq9o7OvpRv97b4Pedb3nePd9//KW39MbS58YGBhAa2vrUAIb57giMkhHWxtIvV5Gum4u/W17aysI\nkYtRfvytWrUKhBCwVTJ11kZvQMxtSizl+2ICOeOge/4nwP232n8vXwLrsGMAADkuVFrX6jb0BH0T\nhcLcvaYDTPLe13Z3o7u1FblrpgBvvwryw5+DbLa155r2tjYQy2tJp3dcp2xOrqcbba161qb2VatA\nkAGb/yHotMlAdQ2syZeDcta81mVLQGpsChldI576+zpWD8n4TrV6sLbHfnYmCRvX2toa2D8AYLC/\nTyzzZ073cYu7Ojul35IuE1jMQ6JrTYe8HkDZZyn33VYt/Bzo7Ra+z+57bkb3PTeDfPM7sH75J1A+\nzJ8EzDX3sA6vuWNQQKWhuZw9x3R5x1NraysYl3Sjp3MN+gTPxxZ+rmxTf5//O+Z4+SWYvwCAtZmo\ny0Dnmg4Q2ffh0ki3trYi1xF+jutobwdpbQXt0Dcr9XV3o//jD+wY5OM2gXXQod429vnV974Xnwnd\nRlOUf5QM9zYJR7vwbPcrKRkJxmHWgYfDLDpvkKlPhuoayf3RApdrY0BMydAKOh8VoggD/HMLo2To\nLZRY6wrkLp0MesPF3q2xqJSMoJjIDpy2F4GSUQCfgUmLkiHgMFMKtkSxhV64LmanP5MoHCbvVfTM\nzqnnn0DuqnO92edkUUOCvnvQRBXEB1Utdue+WviTPeMK3s+PVR0lRLXNPjggfe+EEJtS9dZsgFGw\nhwXRLUTvKIjuMCCIUiRDvj46bbJ939o1dhIGvs1u5UXyPO4FWlCyhwItQLUA1qFk5NvCBge9c+Hn\n8wTXclv8784BffxesLWdiFUgR6FkcKH66N9+DXra78WZTPNgLzyZf3bd8I2uNgQkLvFWJCjfR8mQ\njLmgaExCDrMgzbzuvSoYODiz/n47+lVYhOIwZ0Fvmgb26vO2gyyf6TLhIFtBKAsLsxLzPgC97UqQ\n/b/v5ylls0NcPhWnL4jDbKJEhlGSVBzmoDIjKElMoNQwSpPpc30CZxtGJTE0Y16n8d9P5PgjEoaa\n35L96zJgYMAWyRttDPK9w+0TUWMHM6bn3e20vaQKsz8Os18ZZOIoGRrKsDKmrAmcd2Ti9OTqP4Ht\nkDj6sC+WgN11rX1o3gfIXHaX57zn+kwmet8JipIRJo4z/45kCTjckIWoA+xvIBtjluXbmtbyt2gY\nqW7PQJ++jHaucym4bPkSv6xw92lZP3IrewFOf3ocZo3dvVwW7KN3QK+ZAozeANapF4FUVUOoVbjD\nva1YZmdXBYAVy4ANxwXXpQvVM2UyoK/OBHvzZVgH/giEzwzHvzfdHc6sIhoLD1VqbIMdVXrDVLC1\n3O6vZMyxAGdKYVhb3SgZpnLEIHEJPf7n5smLPAWEiJJBc8D8D4da9ObLINvtOHS+iBExREjcwnzp\npZfi9NNPx7Jly3DsscfiueeeMy6Dvfg06CX/8Asyt5AqloU5lMLsKl+oMMdgYXZ1bDbQj9zFfwc9\n40/Aos/ClWcKoYWZSSzMMavs/DP19fq/08L5oNPv91hilPG33XBtb7LXX3TVG9Xpz/DbJrU7IALv\n7OHLyCRw8BMp0YzqeTHH1S+dd8TXqRmCi91ymbp8X3zbvMLszi7qVgRlFumkxqGDMBNd3BbmbFY+\nRoQZuzQcQRtGqNszMGAwriS7X3zfcbdD1o8MnP4KkTlU30jn+1Fqz4u93cCSz4d2CySOUQ7YrKeG\n/n7FfD5WQjXW+3vBbroEmPsa6AWT/OdV4S5VUEVj4UBMMv25wQfHef0FgLd+ipJj9fWAvfysulHC\njLiaDriGcoT99wPQ5x+XUqU8iKIsA+FkHf8NePlStGRhYiRuYT7++OPjKaizw9+J+vuGLA4qJczU\naqRCCMuNJ6amqPOEtTA3bwA43qGuAcWeuA/4xOagFiJJqOqPA30ChZlJKBl9vWA0B2JllLFIteGz\nMAtC3AFgD94GstnWgLNiDfMu3O2NTMnQe/ZCpIFSWph5iBKXUCqO+x01pqwJCp7ZJh7wrkXUqzPV\n5cvCyunG6nau043ZKkNQ3zWMcMEY8yt6OhZmVXSCXFb+XUVKgijKzsJPbYUwl7PHrc7ulO6zy6Iv\n+BRmDQuzW9kLCsUVGyWDu9+JhhKY3MGfoTM2qJ4piGYUZJmXYdCfgl0KVaa/qOHJ8v2OvvAk2Nuv\ngOz+jeAFOCBmk+hSMkwV5mcftf9YsQzk8N8NHW9bBXbfLUZlBdb13hsgX/qKmWznr+WpZ+u6whwr\nVNwylVUhTgtzmDArHkqGoC1K7pSibSMahxTm1a1gH84FttsRbN774cqLAklYOWmmr3tvtgdsRAWe\nznlJz8LsXP/so7C23NbeugzzLtx1xZC4pFwpGcJMbJ4LqCBxiSQ2s47ANHyXTGb9KFAy+Kx1Mezi\nAHo8WzdkiYPioPOoYGodWrHUL9t0LMwqSkZWociInp+njz39kGcBQ476i1bkHvrP/wu8ptA+HoSo\nQyPK3mu/QVg5orAwO/JA5/v5lAsVPcYttzQysoaFSumsrPIoxSybBXFTi8JamAf6DRRmhYXZMA6z\n74rXZ4FmKgpWe/bB23ptEs1DfFvaVoLN+wDYajsu+Uq4OYg9+yjgUpjpvzQUe9M6nnoI7FvfN2qj\nL2EP36eTylipifJ3+nODH4wehVmVyStGhTnI8iZCoIXZfi7W16sdDB0AUO2NP0ynnRG8xZaUhbm/\nzz/wZRZmDK102a1XRKqWXX+h36Ik4lM7eOd10Em/BevpCmlhdm3fx5QaOxDvzgG9/WqjMH+REeTs\nIVKOBceYtsJs+C5l1igZh1llsXNiN+soDj5udIACLHO6jdp3Ai3MZjthPucaINh5DQiwMOfkC2ZK\nfTKbp0jx1n72r8vFPhFhIVNYVel6ZdZjDyUjYKHh9AGRJZwxsDWr5em/3QiyxnmuzYIxBvrArWAz\nHvGcYg/fEVyXLlQyis9eyXPYwyrM2UF9pcydbdCX6c/Q6U90WRiKiyZNk150KtiLMSRqEkHhWBkF\n7JXnzJR6/rnLzMI8zBRm7mW5J03V9naQomFiaQwzqD0cODElg856CvT4X4BOPd07casGRJU/MkbQ\nFhC77Uo71XdYbLqVuFyhhVnCYXbuWbwgHg4dbw3t71UPrLVrwB67J9zgi9HCLHLKlF4760n/BJMk\ngrZHGRVzTkXZ2pLgMMusn5Tajnv8OFUpIDKrtAg+ZSrfB2QyRGphTpiSYWphFkUycbJmzvsAuSvO\nBp0t4GIGcphlCwmRhVnjncS5aJRlkBPw39nn/7XTYfdL5L/b2BG00HCukzwLvXmattOfB863EGZD\nywHvvwX25APB5UZB/pmEi09+jHDyjIWmZMijsfAgKkqG6p0n6XOgEyXDufQOLoNr0r4QEcEevgNY\noJGcywH/PK4Fjk0bC+HMHCOGFyXD5/TnGmAqpTeoUyXd6RxPesbEIWZyWbDb86nDP3kP+HAu8OWd\n7d+q5xJluNNAJKvuqGZAFCVsoA/I1HMVUbVFqM04ZYkWmMrC7KCjPdx39/AZixRWrhQImvQp8yvV\nIl6zyBFQBNN3KVu49nSB/uNPhXTjBagsrs430NoG564pZGGUXC9LFx+VGhV0v2mWPtGz562p9KJT\n7SrfnQP2la+CjHBFqlApzLmsfBEiUhJMQizGASklg88uOxvscTulNvKJMnxw0kRXVQdymOkNU2Ft\n8xW5bPxwLjB246DWC5QLR2EWXZsD++Ct4DKjwnkmncUnv4sVNqucCYfZDX4MiWSeQ5FJ0uGaK5tp\nGhlYf1903nURwAJiynsgWQSygX7bUdSdi6MEGF4KMy/I+nqBxQuAlg3VltgoqbHjQC5nb4ddcArg\n9qZ3nXeDdXYMyTxF20hFBVgmU1ReDxnVLNYN+vqAfHD/AgIszEmFiGE6fCxCwn331a2g110IcsCP\nwG6/0vx+N0QKZrkgYEufvfES2H03cwcFFnNdSobpe5BZ+lYJEuUAaut8YYs8jIU5QAEWhdlz/xsW\ncVuYRTJS9I7bVgBuhVnBm2Uqpz9Rv9Bpc5wWZlkEH14eO8oyAKhChPX1glmZ4PkmlwWd9g+Qg34q\nvYQ995i6jHw5Hjjb1zKnP0XK79jgvFMN2c7eeAlky22HDoShOwL52Nuac6DbwdfE6S9JHcEXeUf9\nLCw7CHzyPug154d3lCxX+J7H/kbsqYdKriwDw05h5gTZo/8GW/UFMKIRZNevye/LDybW2QH29MPA\nRhvD+pors2DSzlQ0B7z/plhZBsBee8F7QBUr0nNdxg6n5wvvFbKdOhghyYiWy4L5rGmKOKzwcxaL\nCkJCK6vsjZfA3ngpehsMKBlFRxAHdoEgOULbSrAZ//Eeo+o+UIDpoi/OiSKbBXtnjiYlgFPqnHbz\nfFzGQAiRR8mI7PTnv599+jHYqzNB9v6WN8GODkTKo8hSynOWVRzmrEphFvCbi6wws2zWb4yN8F3Y\nO6+r5yE3Fi8Ali8KXRcAgRN8D1g2C6GJOZdLfp4DXAqzhoV0xn/Avn0ISHM+FXJICzNbtngoklDQ\nte5xo/OtnXeWpJz2+UUEjIPWlaCXTvYf33QrYOH8+NpVCvDh7hyKz5IFJWiMH8NKYfYNCseatHYN\n2Mwn5Dc6GZEevA3s5Rn232PGgWydD5xeDAuzyjLBZ1FzWwhUbbMsW2Eu5iqzotK26LdydIoF8/xK\nVJCFuZQEfiJP6Vs0MFq+Fua4uGKtK8HaNVJem/YFmYU5BOiLz3iy3ynB92dZ3GcnQUlSUTIECYno\nlJPtv2c/6wkZpUSe1uXzTgfE75hXkFVRXlRxmEUceB1lOGlKRoTdOnbblcHZ7NzQGRcqcO1ns54C\ne3cOyLY7+q8tksJcmKN1k0J99A7I1/a3f4S0MLO7rwcmbKF3sdvybfI+kpTTNGcvdHI5kOrq4HEg\n20ULSmY0HMD3gWI6umtgeDv9acLZ3nKUZfcx+0fCSsvggNHgVAZXdyOTUSdsSQIVFbD+9zSQ/Q4G\n+dlv1dcGcZhLqCyyd+cA8z8qWf12I8rZwqwRIUEHK5YCyxcHX5fLgc17H+y9N7SiVbCwHvUi6CrL\ngD+cnfP9eM6wI+hFkUTc94WFL5SiyzIz0K+vWDqyRkjJEHE6uSlDJZODKBk66es56FoStbB2Ddhi\nznIV1ZHXJDxXmGyMnsoE46SjHezV5/2XLl0INve1aPXpwMDCDKBgDGfZwWC/CRX4BF0y6DrU80hS\nTne0g576O9C//gps/ofBSqIsCkuxdYEkwFuYy4yjPbwU5rDWhWzWZ9L3TLhJKy0hLMDMmQBVg5pY\nklVlgpaEikqQjTeH9fNjQXbYRX1tNpvfIpSglDEVixlxQoZydvor9sp+6ULQi04DvfwsP0VJhCiT\naxTIOMy88uMsFGXpnuOI4e1GL7eA0H0/fb2gt14BvPeG/1wu6w8t5+N9BijMsucUcZh1HBXjpGQ8\neBvoWcd5DxZRJrGugFjncWLZImB1RIu2DgwtzFjbaf8blr9sCreRxsRgk6ScXvUF0NEG9PeBXvrP\nQD1HOqcaWpjZmy8jN/nPoNPvN7ovUfC7WnHuKMWA4WXDj7AiZwu5FWgxFeY+ceY5Geh1FwLEAjn0\n10BTi/zCjAVUcqtKVSzOOOAuP6iu3m6v5YtHiUPElByMFYdXOMzAbroE2HNf9UU6DnpJgKciOQoh\nL9hlFuaknP7CJB3Jg6nCTM77gKuX51sqvkNWESUjtNNfwhNoMS1aTtKpdQlZgygZwBAdsUgKs8dv\nplwszG709wUvCmVtMbQw02svAGAvHMsWZUbJGGYKcwRhWcV5CPdrJj2JA/296jjRIjAKdt8tIL/9\nq/waS0DJSHpbpkJfYWZPPaQuq1hWwuqa8vQmjpuSUa7PGQGsv89eQPZ0wTrmRJANxtonSmV54Okl\nzvfjLbyOMphwlAzWvgro7PDLRp201jJU1xbkI33mYe85X8rxIEqGPA4zM1G+HSQ9gRZz56J9ZfHq\nKhayWdsR30nTHQQnzGrYkHKm8MTRNxiDxTRsaERZEULlgJskRjXbcoD3xYoDqcIcAVF4lbx1upgW\n5gH9wOo+KKNkWH4FubIS+NwgULgp3ApzVCeDYk1OSVvdw0Lk+BQFNXXrjMLMujpBGkaCPfNwgS5A\n/3UZrL+dZ0efKJetOkrBli+2E8u44bTPx2EOSHRiUm/bStC//8F2Ftrt697zBhZmHuRbB4NNzye4\n4ONZd60BvXEqUFUN8rPfhbcws5CUjKQtwMUcP+viDtuCeXaf1M2MV3RKRhlymDkExsuW6RKWJXY0\nThobbwYs+TyZssuMw1ymmoQEUQQMP8HmFWa2eIEvVWgiUFETVNCJkuFGV2e4enSRcdU3XBRmnrZS\nLojbwlxTCySwyC8JvlgCbLU92Nsuh7x5H4CefDSw6VYg4zcrWdPcYLmcP/sWIOdy5neaIodUZBTs\noduHIgDxYQ6jWJjHjBv6m5Nb9O4bhpToDTZS99+gZDEhnP4i7TLqYB1ZcJYUJopo3irJishhZms7\ngYYR5asw33eL+gKJXwCxMmDEAlBchZmMmwC2LGKIRAl8TtYlxvBSmKMIS/7etWtAp9+ffKrQPNiH\nb4e7UdVhLAuo8afHThLEgJIRiKhe4rooVwszjTmsXF198DXDBd35CZRPttDRDnS8DqbhFU9+8muQ\nnfawM/8lBUb9PF9AESUjPkoG4zOluauJYmGuqR1yG+apJi6LM3thutoCpFoQh3X6S9riVIZOuGTv\n/YEttwV6ukB23gv0+hRrgo4AACAASURBVAv1o0KUOxwDT29xnLD7Zj4JzHzSjpc9drz2fWzBJwm2\nyhCyMUCs0tAyGkaahVM0wduvgj56dzJlh0CZahISxEnJQJHJ7qJJVQeq8FlWBqR5TKJ5SnyIU2Eu\nloW5XMPtxD05N4wMvmaYgPV22RGnZNnJdDz+KyqAynDp47VBqb1Q4S1kzqQmi5IRte8zqsyyF8nC\nXFM79LdKQa2ptfnT0jYYKszlwGEuBUY0qvmfm28D6xsHFn6SsRtrLRiHBZz5rVgW5jzYmy/rXzv3\nNWnSMS24fAJiQRAlIwkQIrfI19Qmqqiz/9xVnCyVGhheYeWiWJizg96JYLiAj0vohmXZSUSKCU+U\njGiDk734dMTGaCIpIRIVMVvLSH1DrOWVFD0SC7MJMhVAZcI2AUqBWoFl38lQxVuYe3vAWlfYSS6i\n1quiREWhFujKyeoadR9WLfaZn5LBdOT7iqV6bRtOEPUfBxuOB3FnpQXs976uwFH+yiHMpwiMgV51\nbqQirEvvBDnwxzE1CHKFmRB/nPS4oJIJ1TXJWZgdFGs3OgCJW5jnzp2LW265BZRS7L///jjkkEPC\nFxblpQ3mFeY4Ex4UAyrvYStTfIXZNUkTQmylpMyI+T6UawakuJ0z6kfEW14p4UygURY7mYyXc+9g\n7Hjgi5gUr8FBscJT4DB7Lcx02hnANl+OXi9jIJlK+e5SFIudrsL8WYRt6rAc5nUR1ZJdkG12gPXX\ns0F4ZaR6GBp+ZHD6QJEtzNqIoU+SigowS5ER0xQqC3NSlt6aOqnxjlTXgpUqQkeRkehTUkpx0003\n4bTTTsO0adPw8ssvY8kSzXAzAviC6JtgcKB8uawKMD7uqxuWBdLYVLzGAP53WK7KqBvlSsmIe3u5\nYV1SmPMTaBRLaaZS/O3rR4B8/dvhy3WB3XUtwCVFAuzdEzr7OfGEG5aexUM1SXVHSIpRUxf+Xl2E\npWQME/iilqggUYBJY5NfWQaK7rcSiChyp9wVZtUOrwlIjBZYWTKgJCkZpbYwlwkSVZjnz5+PsWPH\nYsMNN0RFRQX23ntvzJkzJ3yBppQMd+zl7GBJUzGHxjuvy89lMsDYcfLzSaDYiVLiQLkq9VGzvfFo\naIy3vFLCsTBH2RHKZMTfvq/X3r5MEOzVmWC3XAq8/2ZylageQeEQGIhiUNfCOv2VEcjPjwW229F/\nYqc9ga220y9IZmGWya2q8lKYraOPD39zjoIN9KsNQ+sCYrUwK+Iwl4KSUVNTuhjQRUaiT9ne3o7R\no0cXfo8ePRrt7e2+62bMmIFJkyZh0qRJyvIqYabwWq4t6upMZpgRtoNR3zACG2yxNar3+EbR6mxq\n2QAtLS2F/6wShmyr2vGreteVafSIWj6ZTkSM2sZgki5zVGWzaGlpQSYCDWtkUxM22NBPWSKdHagp\n0z5hgqqMQqJFsNaO3nBs4ovM2ppq1HGW0gpT9+US7hyRunqM+emRqKr1W+Prv7Q9GkboO+BWjxQv\ndGvqGzyy1vmvYbQi+2sJMLJlg/A357JgpxwDLJinvMxqGq08X85oaWlBXUNI/xLBOJTNGzW1dYnN\nx5UK/5hRG26ECtmibx1DolKRCbwqicCyM3HiREycONF3nMdgj9n2CHU5R/Sv7dRzKhlG6O7rQ29r\nK9j+PwBem1WUOlev7QJpHYpQQEu4FTOgNLG5rjPNspgAyF7fAnvlOc+x3q4I2+YCrKlbdygZ/R3t\naG1tRS6CpXRtTy+6Wv3RNNjaNejrL2JGt4TQvyaZoNtta9bYymiCESl6u7uBnHdcZk13EyqrSsZ7\nZozZ/VPwjnpyzIhiIJNjfdkcBgT9l5ZZpJBOw3mZB9PIHUA33wZkuzqw2c9GqqsUaG1tBeXDM2qC\n7P8DsKce9Bzr7RLLxL6BgcQiZg0q5vmO3j7QMgzHmAQSNbqOHj0abW1thd9tbW1oaorAuTW1Nrmc\ncVh2sCxjbEaCsw2S8PayB/yKt4R0B6IbQaEcaCMiz/Y4OZv1I/QoGcXmvIdFgZIRYTJW8fmKOWaS\nQlJhGTMVyYdxotTf/00VwXKIfiPqR1XVZlvjMic+iWwlVWVmzSuGpZ8QkN2+lnw9SSEEVYLscwAg\n2MFQOv0lRMkgqsgspaJklGCXMNGn3HLLLbF8+XKsXLkS2WwWs2fPxm677Ra+wKULza53d7bBwfg5\no6WGs+orZmflV5qlnLT4SV2iBJFy4DCLJrlcjAu40RvoPedwiaTR023vUEXhMKvex7rAuUso4g8h\nJPnsmKIoGavbxNfKwMkectChIAcfFrFhhhD1o+pq//ENxsrLkHKYJd+gTGLSFmDobEYO+aXXv0jn\nHmIN70VuGHmz4TjxOMxlxe9C9B3iMhapZGl1bWmc/uqKH0Y10Vkjk8ngN7/5Dc4991yccMIJ2Guv\nvbDJJpskWaUHxB3uaXCg+DnWk4YzCIs5+fOOk6W03vITh2ySL4coGaIJIk4Lc/MYzXaUmXVKhr5e\nO0KGSfpaHqq+mZRzTDGRZBrnimJYmDlZYpDcgRxzgu8bku12BPnGAXG0Th+CfkQ23tyv0KhkkKGF\nuewUZqKvMJODD4P13cPM5w1ChvciV0PZt44/03vLhuPF/YbmxO9bkOnP+qPaL0wbKnlZJVggFgMl\nMP4kru3ssssu2GWXXZKuRgy3yT47uA4qzPlBU6zJf4OxwCjO+aKUyiivhI5ssieT5Yu9x8vBwiya\n5GLsj2RUs96Fw0lhjmpBlUzi5Hs/AwbKIxB+JCSpMCdtYRYkLjEB2f2bYA/f6T1YWVlEZdJWgIhl\neXmjYzcGmbAF2GIu1KCqXTILs0ypLDeF2bLybdUYUwUjj6FFkiQYAaIY0FEoN98a5BfHgj10BzB+\nArDDLsDs5/zX5XL2++YpTJYgcclGG4McejTY/beEbzugVPiJajGz8eZAfQPwyXvR6hehBIm6ykCT\nSBAeC/O6SMkokoV5x91BvrwLyA67gJTTKp+f1K0MrBPOAj35aO/xclCYk7Yw63rll0phFqWPViGX\nBXvusWh1ipKWACDf+QnYo3dHK7scYKIwT9gSWPSp/vVJL4RpLlL/J6IkDZVVxe/fnCJh/eTXwuPK\nBYiphTnm6DqRYULJCDtnWWRYUjLIEb/P/6HxvJYFa9+Dwb5xYCH+NhONw5zMwpwRUzLieG9B30u0\nANrmy8icdD4AgN5zI9iM/0Rvh7s9PL9blb47rmoTLb3UcL/Qgf7EX2bRUSSnPzJmI1j7HQwi4uGV\nMmVlJTc5WhZI02h/IP1yoGQItrh9aZOjoCEhhTkuyk2IhRabfn+0OkWTysab2w4sccZFLRU0FWZy\n8GGwfnaMWdnFcPqL6oTNT9KVVcVXJvl+TSQKoep9ysaGTG4lTZcxBbH05YTzrKa+LzqUDH73s8Qg\nBx0Kss+B+R8a8ibfnz3JagQLLeZYmH33CxaRViYeWRek8Au+jSc+d9yGtopKkKYW37GksY4rzC4L\nc5Lbl26UwgEv6TpVqVhLqjBzA8QRSrwwSZBnTSb+EGjWiEMqmiBMKRmjFTxlTYXZ2MM+NqfOEiio\nou/uPE+cmbdKBR0L7U57wPrRL4ERo8zKjkLJGKERrYWx6JQkgVIqzIyXJHwKisSIoVKYZdFBho2F\nmZhbmI05zBqUjAgZEMnu3wx9r7TMgw8FccaRzhwt6LtEaGHOit+3SGHOZOKhskiUbvL9I4bqcR8/\n6i8gLa4Y+HHTaSoqgPGb+o+ZYKShTMS6rjDXlUBhLuK2EXESFyTN7VIJoqhc0NoIoWF4YSITxklS\nMiorYB03Ofg6kcA0VBis866XhtIhiVmYMyAHHWp2D484FnTVtSD7Hmx2j+i7O8fWBQuzBgrhoEy/\nQRQLs06SCVGUDFP4FOYS7CTxsldGOVC1TRZLerhwmMNYmE37I9GgZKgMOwFguQTiebtlrSYlwweR\nDKMUQgOETGGOQ/7y1KPJl8M673pYPzgif5rfaeHaF7dRL1MBsvFm3mOGFmbrrKuNq12nFWbipmQU\nS2EuZqznYnGYVTEYI8aCtf44KW89CKHA8EJatt2XpMJcUan3/kUC05DDSVRxNnWseoC5wmxlYP34\nSFhTbwM55kSzex0QC4gYUp/suDusXxxrFkpIZIVxhGpS8Uq/uk+8BUbl5Dr3m46vKMonr9BttrX/\nGlFqbAnIt74nPmFCe4gbzuv0UTKGnAE9hxU0CrLNl8Unkggrt8WXwt8rgyXgzspAJDI6sA6NOSJK\nSvcEksF4djs0xp/QP0hmYeajVTl1iMK+xmHE4+Xl6DFeiib/PZM24lkZYKMJ3mMC4x056Cfi+zfa\nJJRsHb4K89jxwdfwYeWKgWLypIsUJYO0KGKIDkZMnrD51rCm3ADr3OvM7+VTAzvvgRcySXKbMhWa\n220CoRVmS1pWV97CbP3lDHuBM35T29GLR0hKBhk5KvzCjCCqvgzU5idDE2VBtFByBHtSFmZdS78u\nouzAAEPf2/DbaScF4rHDrr7xRrbfyXcZe+MlsPZVemVWVwNbbe8/zisHpeD2yixpuk5/o0aDbLqV\n+FwClAyy9/6wTjof1llXwfrHtNDleFCIkqF5LRAiSoZAGeQRSWFOOGNkWNkpc/oTGeYsy69/VBom\n0ZGB15/4d81/G77/x51kybJA+OgyBmEpnTKMqzW+o0xgnTYV5Mg/A7vsJb+oBGFHioqC8Elwe3nD\n8YBgwisgaGXe3AJy9HHy81YGpHkDsUNhEPhBWgoLc0ebnvAXWpjjVJhtR0fyld1gTb0d1uTLxf2f\nm2zJ9w4PqM9tJSmhuHAEtInlU8hhzh8Lk3krKClGpiKUgksO/53wuHXi2dF3jwoW5oQpGVttB/L9\nw2Ed+Wf/+JN9s08/1is7UwHhiqscKBlSDrOe9Zt8V96niEwJ1TUAiCyLmQzINl8G2WgTQDcUpU49\nunGYnWx9oRRm9TynzEYXhKTTjYe18soUZpGF2bKAXm8kIhKThZl1r/WWG0S54M/zO/yyRaIunPK3\n21F9ney7MrYOKcxbbmtPFgqQ2jpY+xwAa/8fyC+qrVPTCZJAMbcFi0DJIJtuGS2UXEWlWjhGcdKR\nUjJ4DnOCE+lW22u9f6HFLkxYLYni4y6fVFeDEAKyyeb+C7lVOdn7W2pF0DURklLyfmvy9CqTb+lY\nx3f/RuGQ9c2D8n8Y9ukNx4Psd5D6morKcFYuSVvIdjvGpzCryhHt1hkuMsnOe8L6wc/tKDX8+Isq\nE2UygpuESxLyUjtKhqTfKhRN1isOw2hnYtR4p6I63e3iowyFRYCFmRzxe5BDfgnrxLNBnEgWxlEy\nkqZkJG1hDjnPVQreay4rtzBzii2AeCgZXYJy3eC/J9//ubFq/e5v0dqTL9868s8F7jrZ77v+6xTf\nlejw4jmUQYBaPzKTLgQAkK/tD/byswEXKzpiZaW9RVos/jIAbLwZsGDe0G/LSo7XXKBkJOgZXiPI\nZW+Cyioo9+NNJ7lMhS0wNtlcvqrlJ/uwUTJU327LbUHGTQDZaU+gtyu4rK/sBjQ2AWtWDx2LycJM\nfnGs8FLy/cPBXnjKu1XFUzIsC2TzreVfyD2+ogjeqFQliYW57ke/RC/JAKtbwd5+BehoHzqZj8NM\nDjvG5j63bAj8z272OYNnIbt/07YCB91SWSGe4AIrUIyB2CzMgsbXj7DjxC6YB/bFUu8500WmW1nh\nx1/UBWsmAzJ6DNj8j7zHO1eLry8mZE5/ulEyVN+3SmHsqawKphlmKgEy6B17npBlMRl3AuIwk9Eb\nguz4Va5tZnMW2XmP4LGwvliY+3rFMe2JBXQL5qI4FpIiRZyv2/2Te17GUzKiyoT8M5GWDWFNvgxY\n3QqMHgP2/OPe64K+q2UZzcPlaWHOg/xUI3aoauVWURU/pzAAZMIW3gNJpo4uhJVL0PJXG2HVDgQK\nZVOrkHXqhfbW7x9PtbebPCfjtTBbJ50n9by2fn8yrCP/bPOotCzMlbBOn2Yrzg7CWJh5Z6Kf/BqW\nJHoEqamDdd613oO8VYkIskN56isTSoaj+HH9qXbf78A66Cewfv4HfxxWx8Lc2ATrF8fCOvBHQ4Lc\noN+RXfYEGTEyeCxnKsONd1VbooZJcyg4ooXWgT+Gtcc3Qbb9n6GDjvOo6XO4+MM+KkFUC1cmA3Lo\n0fZYJBasP59uHw+yeiUKST9ynpUfKzIZJPu+4ybYSqIMOspuJiN2AsuDhKWq8XUHcZhFnGuDfk0O\n+SXI9jsHy5+ytjDHqDDzmWwLdVhe42ChL0Ycf8TSsDBLdloc8FlbwxgWJOWTDcaCbLODuH8MBnxX\nQ/la3gpzfQPInvuqL+I/lBuVlf4kFrr40ldC3UYO+NHQRL3nfsnmO3fCvSWpyAQIocDICQ0jojt8\nuevbdCt763eDsQIOc/53TBxmstX2IPt+R3zSPVFqWvjJqGaQnXYfOhBm50HGmZRez8XHFFiYldae\nuCzMUeFY07jJmrj7py/LleK5TMZMwZk0oB9VVISLW61UmBPkMDvPs+PuIPt/36bCOSESTceM2/LP\n3xt1dyGTARnVDOuiW2BNuRFkx93914SIqRoLojr9iRYyP/oVrMmXiWPwOtBx/BM4JMcSp9oX/z5A\nhogcjXU5z3t9C5bD804wrJyKSx4Lws7RJsYevg7HhyWqfpDJAF2d6mtMnf4kWVi1IZKLokVJ0ELI\n1GBndHUpEJhhRmVhrtSPT8tXu9lW8pAkqvvGbATr/84A+cHPQX56FDBmo1D1a8FRFpK0MAdQMsju\n+8D68+mw/nau+HzdCBA+wHhc8IWycSgZnJd+FCu/rP+5B5rJoHOXF4OFObBuvv385EUstbNUJgYL\nMyv8b6iovfYz20J1FhdcWz0Kc9tK7znVBGui/DvjK2iSr6wMNxFYGVh/OFlyLpqIJioOs7OwJwTW\n4b9DZtKFQxEbDMcMcX8X/t6YMvqR2jqQ5hbxNY1NQ21xkikUA7LxqBvyznm2I/9s98kxG4EccEiw\nYqujSIli8MaxPS/IsKq2MIdXmI3kbEhKBjnsGJBd9w51rzbCvncTR1a+jroR0ep2kKkAcWUKJYce\nFVw3r5PwtIeolAyR/BbMT2y9U5iDBpbigQkhgZQM69hJkhMZ20IcAuTLO8P6/uEgI5tATBTmrbYz\nq8hZUSfJYebztXMgVgZkx91BZBb5unqQCVuA7Pb1+NsmiZJBeGtTFO95nmLD1eX7WwT34Hb/HYbD\n7AsQH/DtecEisjCrhJd7IoxxYWb95gRYl/0b2GaH4Isrq0D2yGfi4hdDbquSh78coPAZLXIEKWtF\nyFTIFbqAtpDdvi7O5BjVOqRSmFWLBlML89hNhv7m333UlMU6ynvjUMQHcuCP0XDU/0WrMwhb58Pc\n+cajmYXZoaRZ+xwA68JbYJ11tdqy7EAnPKRQYU7Awhy0SyVaLOi2w7OTlwAlo3kDWN/+YeIZIkM7\npJq0i68jpihhZO9vgXxtIsj3jwD54c/t3aigurlvZR3x+6FTR/0lOiVDV54FKcyG8rX8FWbDLWcf\ngigZ2/4PrNMv8afGzGTiCUfGZ6NRgOy1H8jPjhGv4EQwzeJFiM1RHLuxfpsMnP6sv0wGNt/GezCv\ncJNDfqldjjZ4Oo7zHvgQdREszGS3r4Ps+jXBCX2F2TrlAvF9YRxNjCkZGgqzakHhmbDi3ckgognd\nZSkEAIweA+vUi4YWQfx4l21N77BLQOUGok93odC8AbDt/5jTuWTce/e5sFA5/YkchxwYyD7yg5+D\nuCNtcPeSTTYD+dpE7fJ8kL0Dlz+A9bX9h+qrrkbdQT8OX59Ok37xx/wfmhZmWYxolwwjo5r9fhky\n6BgBMhUCDnMcFmbuWRKkZJjIHxImNXYYClUYhJWd1TXS7K7+OizbwTkP65f5Phplh2fnPUF+9CuQ\nqmpYPzgC1vcOFy/ogigZW24L64QzYf3hZJA994u+QBEqzCE4zIbff3gqzM0bDP0teeCC0hlEybAs\nkE23AnEJXPt4JjrPBrAnikbNeJeZClgTfwjrQE1hb5LFq2EkrAtuhjXlxkCrsQcGq3bylV2ROe1i\n70EnLm0SIZ98gzRfhzuHPRBu4ZMvixAC69hT/BZyXQtzRQXIltuKrw2TGljmla97vY+SQfQtzDIl\nc1RzcPpsGY2V/4acNZLsc4A3PB4n/N20C/Kz39p/VNd6LBri9hhMIprKtXXYb+z+8tdz9MsG1OM3\n6pa6wsJM/uervmMF6Mo+YsH6PhfL2+eMm4F11F9gnXS+Xpm+tojHr3X474Bd9rb5p/yiNkFFyPrf\nv9vh8wD59/HFYZa8z7C7g9pOfwlYmH2LbqKmvfEJJgD9fmyyYFdFFZGWn0w/sf5yhvdAyJ0iYlmw\nTjofZJ8DNCq1QPY9GOTo42CdcCaIk7gqgkNj5k+neTMmK+r2QBA1g2y/s22AimNsit6nwLBBNgxI\ncLfOUTIEHdr606nq86ddPKR0BjkCOC+Md84L2mbSBKmphXXGpTbHN3AbzWwVSmTWDBEyFSBNo21O\no8lqN4rnMTC0OtZJDfrbv5plopNRMvitbZ33w1MDgiYaj8Js4FzmoWQUg8PMW5gFHu6qyVfT6c/6\n8ZHhKEz8GOOTKfD9QbHIIPt/H9YpU2CdeYW/D/AwWazoWpjzCzUStAjxtUWhvEdVeGROfzvtIY7T\n7SDK7posrGNYeSoziozZCJk/ToJ1yC8FiRQStBy6n4+vtxCFxXucSOMwh5yCtSgZgiykpgsuUWKw\nGJz+tC2M7ut0eN2mu4kJGHKsSRfaGS9jqodsvBnIj47UqNiyozHtvb8dVcRBGOqfKYIszLHXp0fJ\nID8K2NkuF0rGK6+8ghNPPBE/+9nP8Omnn4YviPfy/cUfvalERQLHPWiChLTzknm+T1yUDNicWvKl\nrySXNlunc4aNdhBVYXZWpxod09rjm7Auu0u/bFn++pYx4uOqunkuO/+OZPQP/m8esgkViCcOc9Ak\nwj87b+0hARxmEwtPDBEiCpY7B7wyr1AuCSF2ZJMgZRkAclw5qns0haoW91QElVzgv7eptUhiYSY7\n7am+T1fxEHUJ3jrtjJ2QSmwYi5TS4TMqVGNfZmGWUTJCKlJafS2TEexImXFiM388dWjnplAuR7kh\nRC3LRG3V7l8G8qey0lwG6V5vkJmObLmtv/9FDq0Y3E98EZAchDHMmCLI6S/p+gC/Vfv3JwcHfSgX\nC/Mmm2yCv/3tb9huO0NHNh78APdZggUd3vWxAiMkSC3M8SnMBQRZtUL2Ma3JIax1x8TiKwBxOOSa\nAsNI6fBZffN1NDYPpczcdW+tSYKM4AZWkGXGTQVQRmNQlFMSC7Mhh9nj9Cepy6FIKfuYRCnky+Qd\nxHiLeBgaiwhcOdbZ19jbmKIwlu42iixuIph8WxOF2YROBUhpWyTIt0NX9onaLqBk2P8WwfGpGPAo\ncZKtaP5ZZVz7sM+mG1bOJNQiD9l3E/QN1tsjLUYoH0UK4IhGkH25bJqexUnAHFIRQmHW7JNkwhaA\nm1pnisih3TTGYykVZpnxKimIyudlnIbuYv19Kqypt2lXm9hTbbzxxhg3blz0gnjLCD+5iwaI+2Xq\nRtngLamMxcJh9iDQopjgqiyshTlEqB6yd54PvsFY4Ev5pAhJrDi5b0vcvOO/TIZ1+iWwfn9SuIk6\nyDKjKnPchKFiOH4nCWthdiapqE5/ogWJ0sIc0G8qKmAddZz/Wk34tmbruJ0e3qIc1/YiVw6prLS3\nMUX93dUXrF//BeTo44PLN9lNUvGp+fez9Zf1ywUKk6jPSz8gPrx2KEbRc/ooGYYKszuRCpBs8qcw\n0LEw8+9F9gyhw42F5TAb1Cf7biJ5IUnjLYWISnnedX4KZUbxrnlUVJrLIN3ra+v9MmP3b+jvwEal\nfui0U8QVB4pDyeB36BOnZGiEldNY9JORo/xRtRQoC0k0Y8YMzJgxAwAwZcoUtLQMhWbqamiAeyiO\nbGlBtes8ravFKq68puZmVOSv6W9qRoei7pYNxhSUmBWu43UWQf2GG2Kl+DZ5eS3ysFIrpGdsjBg5\nArX5+3uPOwOdV52njKTgriuo7ExlVeH69soquDd26w8/Bt133+S7p3KHXdC8hf5WlAN2wmQMTPwu\nKrfcDtZIO3NYLkPQKrhW9L5Uz+K+Ptu9Bm2uc1W1NRjlLm+sHS1jsLsTroBj0nLd9ZJMxlNXZ109\n3LmK3P2Gb/PIw45GduGnIBWVqP/pr0Fck1tfYyPWOD90lapMBk2TL0VVSwvaq6o9325kYyNqFH2O\nMebpwy1jNsSa3fdB/+svomqn3dG00TiwXFbaz6vr6grvdKB1NNzJiK1RzRh92R2w8gKns977jgog\n9lLQ/bTOu+2orYU7pP2I0aPhDpHfUF2FOtfztWcynuevqKhQjjkZumprPHLFKaOzptb3DI1NTagq\n1NECTNgUK2651FembDyS2jrUH/5bdN1yubAtI+rrUdvSgtaMBffU1tLSgtU1NXAnQG7+5R/QfvKc\noMcbKmPc+EJGN3ebmsZvUpCRIvQ3q+Wmpw6unO7GUXAn6B09Zgys2nrfeHVQ+91D0fv4/YXf1U3N\nnj4xsqnJI/N1UBEXna5hBEb++TSsmTLkN9PY2FjoD90NDZ5nbR7dgkxLCwZal3vGSmNjI0SJvBub\nR7v6lj7WjmyE3KZro6q2FrmKSk+fGtU8GpWa8wbJ2GOrZ8RIuPO8VdfVeb5PS0sL2gb6IZupROOT\nlxVVO34VTRtPwNr6es9z1dU3oCF/P63MeOb6qp33xMDbrxZ+N48Zg/bKSpjEhKisrkZzvnzVu6hr\naUH/fOJ5xjGnTgHL5bDysG96Fvai5+0fNSpwPKnkGGMMKzMZpfI7asyGnm/roKu6GobLGa02udE3\nfsLQvAagcVRTYL8O0llUqKwa+m4O2EC/Zx5rbG5GFTevO8hw87suIkmVs88+Gx0d/m5w+OGH46tf\nVXhgc5g4cSImDuX4kgAAIABJREFUThwKO9TaOqRa0T5vhpjO7l4Q13nmTgWZx+qONSC19jWsW91V\n2tpEIhzoaW9FX3uQmuWHu+2mWNvVhW7n/h12g3X53aB/kkcfMKkr57o+x/Ege8BZag/+KchOeyK3\nyWbhn2eTrYCBQSB/P+sUiwvT8t3Xs05vus6BgaywPNYZkKVI0A5GiLcfcv1M1m8AoCubAznYzhzV\nt8ZbN1vbJbpFCmvyZcCIUehsbAJaW5HjBOba7m50Bb3DXfYC3noF2GUvtLW3g/3mRFj7/wD/396Z\nx0dRZX3/d2+H7CEk6ZBAEIhABGRVFtllU0TcUDGCgoyAJAEcFQUHxfFBJI4yOOM2jNv44Lw4ow+M\nfh7XBzfGZYSAiMujAzjOgxiBkH1f+r5/dNLprr2qq7o7yfn+k1TXcm9Vnbr33HPPPae57wDd59/Y\n3P5MRW2gKulJcaO0sdn3jj2NjbLzvSd6G3x/2q7pkQwIqxsDZbO6rAy1fnVskbyH5mbld66HpypQ\ndnz1UWhPKiorA9ocAF7LrSR7lWo9zpuAWnem8j4AVZWVqFF4tyUlJWiR+FqXV1Z5Q1X++IPq9Xwk\nJuGMQvsMAGUNjfJ78kPUaKhjQ0cB3xzy/n/uaNl9e+ol30pZOVhNHURZYHvKNz0JNDWhoa4G8FOY\nGyUze5U1NZp1VcJKZyiF/eI2sPFTUS2x7lVUVPjq46kL/CZKy8vAwCHKAtXjCpX3oChbBvAYsBo2\neoRsUF5eJSnP/11KEJyjpKQEHkkf2iiRyZKSErRIM8ElpwIVpWDjpip+F9J+vXn5nd6yJL/X1jeg\nvq39kZTRNHI84Kcwl1ZVwWNylrappcVQ+1HrYRANxr53xT6oSj+Nu1492KTZEHvfUt1fXluvKEue\nygqFoyXEJyiGmTTatgqJs4JVuTaK0nuTJimp0Gg3WiTnG/WGCEphvvfee4M53RgyXzCpD6aSS4bf\nR2N1Ok/DJ8sqbPEqiP98XOuIwC0j025GCZha13HQd7nAsgfZV7ZSmXagtRAvoGwL00Oyc0xcQzNM\nmMm6JHYH849NLJVnA1N1/JZ1QPFxoJc3uQRzuYCzzzFWvr/bi1QeZf6RFr41WVzlGK+7QI23g2FS\nv0G7Fs6aipIhlyt+1xZ4HlBPC8+mXgyx920gORXsmqXA8X+pX9+MDzNjhqd3ZeHtBg4Fjn4DZPWT\nx7uWomGhZeeOBoaMhPj2MLhSfHU1GW0KHByx1njw4ti3gcdL3XJCFStXCuf60RzUXB5ki1NV3rHV\ne1NbRCi9tpo/edvmjQXwPP+o95kf+ky5btL2TNElI3DgwO/+DcSRb8BGKaQxB2SLV5kvp4BKqnFA\nvqgrITHwqVrxYTbansQnBBfP2Ib+j112HcQX+4AKFUOems+uXhzn4WPAV66DeP91iFf+ZK1yUrcG\nG1ww2ZSLIP7+jspO/UV/Wv0R629+5hxw0IfZNqSWST//UADKiwf8X5bFBknUexVmX/zDHqlgUy4C\nv32TpesBAJswA2zRSvUDnIhV3IZ/AyVbwRtk6CEjOOHDbDSUjZX7kSkqQZwbcB2TdZElHjDhS+0r\nkoNl9bOWbcq/fFmGL+3OOADVOMzyATG/7X5gyEiwedfJFGbut2LfP12raVQ7P4UXrRTDuN9A7QZ5\n4UrwW+8D37DVu1Jbq7M1qzAbjdrRJzBsHM//FdhNa8Bv/bX+QmEthbl3P/A5V8P1y/vB+isMrKXP\npU1m1SJ8SBUwaQcfrkV/RspVy7xpdEBmVZEysOiPuaJ023bmzoDrzi1wFWwAX/tg4LGqPsxy2fCP\nE8wmzABL6wl+wYXqia/UZEGrvnp++FHdguu7NHxZWVx8cL7ANvj0sh5p4IVPt+c2kKKy3ohNm+tN\nWKZ23YQkb2ISo/kflJBd34b71YoTbySsnFr73LMX2IJlyvt0cMyHed++fXjuuedQWVmJwsJC9O/f\nHxs2bDB9HVEeOJpiSmGxpAQs+jNxi8POA746CADgrZn/2I0FYHOuBtIzgw5VxKKiwC6ci5a/PCP3\nTU5MAhs1XvsCaT2BM61eOmaziWlZzKXKrBPWYCcWARhdiGfHoj9TFmYTYeb0kNZdZr1zeMxrxsIc\nrEIOADGxYP0GwqUyMGVnnwNesAGishxsgrXU9QDkYeV8BSj9pvLONFafM5crMBZrssbCEq1QedwV\nONYwYWGWXSupu/GMe1oLnvXaHulq9bbtXn4ZRv07d5nCLLUwh2epjfoA0+/+1MJpSQdBamMiqxZm\nBxKXsHOGgc3Lhfjvl7zbVyxq3aGviLC510KUnASERx6GTgHp9Hl7/bQszJJ90oVmVhb9+Re1ZqP6\nrFF8grlkR7KL29NOs6hu3uzFSossVSzMLCYGfMvTQFkJPBsL5LKpOjNrvM5MuvhRwbVNds7EmRCf\nvOvd6NkLOFUceICWjFtVmHukgW96ynKqcsdaonHjxmHcOJXpGBPwqRfDc8jrp8Ta0pH6wRjzNgz+\noz9mzcLMF6+G2PWf3jBZrcorY8z7MtWISwBS0oCffwRbvMpYQRJ5ZcvuAMvO0Q2Dwi6eD/H1QaCu\nFtzISn1//D+wcFiYHXHJkLzbVBW/RStla4SR08VMmDndekj8y6OiJApUKBVmnQg1VsZE0hkiaSeo\nABs1Pnj7hZnOz8j3oKPAsD7ZYBNmQBz6B9h1yyD+1L4AUHN6UPaMrSvMplCxMLOpF6sn4WhDZTaJ\nJXYHX7ke4tBnYLMv9ztecj9SC7Md6ZytoFqu3xeo1pZKB0FqswiORskwH1aOXXyVt06xce0hFg1M\ndbOERLjy1st+V0UtZbFWXyTdF58A9B8E/HDEGyfZ5ZK9D37HA/C88zfgyyLl8vzeC+s3EPzxvwI/\nHIXnkV8FHqcQJcMUdhqM1Np8rVmhmFggsw/YTWsgnv9d4E41mQiinRHVlbptNLt2KZCZBdYnG549\nryoozBrtjFKSEr3cCYA3824Q9xURUTI0OXc02Iq7gKYG9UxiXKowW7Mws5Q0sJtvM1e/6Gjw+34P\n1FTLY/mqEth48vHTDJYVA9eqe8zVrw1/C7MsK1YoXDKcuKZEmVSzfFmxOjimMJtsOPU6PKeVJ65l\nYZZ8W5rKu5rCoBNWzinMdH5q9zVkJPC/X3gPGalvHOC/+CWEp8VrNc7Igue//gQ2eCRYdo7GSXKF\nmWWfI/f7lVZ5yWrd+mgi7XxHjvOmtR2tk/DEW7r6nvMngp0/MfBHifuCbFAYrrByRtJWq7Wd/lkU\nY+JgWP6NYtXCrDPAZrFxslCYch9mG96HqoVZo77SfbHx4KvugTi8H2z4GK/CJJ3dGDwCfOAQePKu\nNlQtFhMLnDMMbNJMiI/fbd8RnxBcDHg73YrUBqRGsuleMN27jkpNX/LH7EA1PRM4/bP3kgZiVrPE\n7mCXtAY1+J+/yQ8wmlArmGNMEvE+zIxz8LGTvekeVafcNXxZnV4w4nJ5fUQNK8tBYNQqlqmTP12K\n3VmJjJRhB1I/PrWFbJZcMoKor+aHbtYlQyK/0s7KcZcMv/Kk9+WE3OgtULEJNudqX0fRFtFE42jF\nX/mNBd6FlGdlgy28xVi5re+TDRwC17qHwK9Y2L5TMQmIXIFgl+UCGVlAfCL4LXcF1mnzH8Dv+a1x\n1ws1pNnc+g30+qQaictuVg6k2bh0FqqFDDWFIcOvfVVJXMKSU7wzh+Omgd/1oHEffoMwSdvH739c\nno5ZyYfZhmycptK+q2FUYdZyyYiJBUtOAZ9yEViPVOVjAO1BgprlX+ofHawPs51reIKYVWScy7N8\nGtWrdOBrNoJNnAm29FYwd4a5iim5pQWrMBtIbmKWyLcwG0EWLSGUCnMIH6HRFb090oCfT6jv13PB\n6CAuGSwmFuySayD+/jbYvFz1qCJWPhKTFmY2YQbEp+95R9kDNCJQmH0OUtm2ECUjKPzKl1kwpPJo\n5TlLfN10oxLYBEtLB79rC0TxcW8CgvY9xq+Rngl+/+MOp2GWu72w+ARvSLbmZqBesjYhNd16im5/\npHJmJuOnyefBklPArrwB4h/vg12+UH+ha6jwawP4XYXwvPkK2OgL2pUzyTGyc8ZPA1pnD0Wr5U1e\nhk0W5phYhfUO5nyYVbGQEEIXtfwCGrOfLCrKF32GzbxM+bsz+pse0pmu2Dj1tQZGri89ZvgY4F/f\nAdX64eYslaeFVHZsUphZZh+wpbdaq5OSMVBDzvi8XNV9PhxoNzqHwqw1jRMCC7NprIbGMmph1k2X\nLN02N21nCYeUCj5/McRVN2orLXrPQ2k63eQzYIsLwMZNAbJztJU+s89Bz38wlC4ZUqQWF617U5F5\nYTZDmI2wgUPABg6R/KjU4Wpcw+mMViopZxljQLduEE0OWWOlnZUphdm8TPJLFwCXei394uvPA3c6\n0IazG/OB4hMQe171/tAWqzzgID9lbdBQuAZtVLiQMWMDS8/0Du7ffMXQ8brIlB4F5VjRh9l8eYwz\nSfg2G9QGNR9mHeMNv7EAYv4SMLW1DgqyZ8lnVZpFlruCdMmQRCdJSIRITg2PwiydmfWvW49UoC3Q\nQu+zgivHBCwtAwJfq9fL/+c1G8H69Ne/qAPGl4h3yTCEpkuGA2MC/wYjw6T7QzAYjQPJOZiWX3RY\nfJidUyx0lRat+xkxFvyGfAPn6FiYo7qBDTsfTCflsGlFXG/lbyhdMqRI5dFKQ16nmBuQaEMvdKI0\nNq1d8hCEwhz0GMLkQjVLMA529RKw5WvBb9+k7EdupFxZhCH1m+fzF3tDJgaUYZPC7OLKFmY7FnQb\nDddlBrUFXQbqq6osA/b1M0rKVlCL/oJYE6N3LbNoWJh5/q+8CnVsHLhVa7EF2DVL5GHxFN4BuyEf\nbPgY9QsNGen927uvfqx5C3QSC7OyFQaAI40tv/XX8Pzu10C3GHCFyB26WM29YNQyzTjYNTdB/PsY\n8POP3p/mXut/QODhjMlDV9mN09EctNDoJPiS1cq55IOJw6xFsM821D7MWteXWlys3JvUpSDc2DWl\naxd6CnNMrHe6uL7Oax2yixC6ZMgwE9/bKt2ivVP8re44QimxjKFvS9KW6s7uSdsVm1wyuAuMcfli\nSek3auY9tuGASwZflAfPA94F9mz5Wr8dwc52mpQ9tT5VyVdf1cJswSWDc+u6SbCDAqmF2X8mJTsH\n/Dd/8q7NkoaKcxDWPQV86w6IfR9CHC4Cnz5XbpVfshp88mzN6/Bb7oI4XAQ2ZKQjs3+dQ2GWLRJx\n1sLMBo8A/83zQHSMsUUwdmFUYeYcrEcaXJuehOej/wHKzoDNvKx9fxjCyjk+da2F1v2odSBOLYQM\ntrELdZQMrc5RpjBbiJLhQEbNToVs0Z9cQePrCiGKPtaeVTKL5L3rhbwMPNhmGXeiDU/rqV0m4Iyi\nLvPPtvj9yqbVFbL6uVxAVWBaZEtrBBywMLN+A8Dv2QbUVgfG9ZYplibra1b2VPpUNnYKxH+9ANTV\ngE2f6/1RLXa7ERR8yfni1e2DBjNRbYK2MEu+Zan7iYHQnk7AYmK8CXBak+CI0sC01ixOJQmO/zEJ\nScHF59ehcyjMWgu0HPJhZhqZc/SxKb2vGn73rDci8x4fAh/mcKJ1P2oZs0y6ZNhSFyNEtA+zhes3\nNlg4KdRE0GBPKf5on2xZVr+gkVmYDYQxa2PwiPb/26ZIzSAdpDkRh1mqMCt9R4ZW4ptdk6DjDmcU\npRCPSj7MEoXZEtJB2pCR7T2Y2WgI/tfpN0D+Y7DugXYlCIlPAP/VIxD/dwxsZGtCsWASlyi4ZLB+\nA8Dv3ALUVAFaWe1k11JoA+YvMX6+LGNrhPb30nrFhM7irUaEPimTqCyM8e7r2GMCn2U4Jg5swgxj\n5+gpZVJBzOgTuB1Oa7ATaDQIqhYXWQNnU11sd8mwZ0DILr5KeYfWgFPmw6wVvkn5Z35Du0sTu7FA\n/fyuitH07zYj9503LmcsPhH8rkKwKxaaT7CkVJbdbbgrSu6+omRpDEU8eruiZLi4/PtzuYDKcmvX\n90fybJg7wxsyb9JM8DUKCyGDQWr9NPsObPw+WGYW+Lip8uzCQPCKfOs2yznXG3nFjGFPmpwlb31g\nIiA9pM84Ug1k0mdiwMKsC4WVg3anEqmjJ4OwqxZ7Iy/0G2BoSgKA+XuWxm2WZtzp6NiR6c8ujTlY\neXTIJYPNuw6IT/QmxDi83+/6ZhRmCwUPHe31YWzUSEwUSkxGyXAcrfUZ4ayHDmzQULBBQ+0py27X\niLR0ua+xosLshEuGTe5vRqJkSAfXVmOcKzwb/5B5dsJS0gLH1k67ZJjBP4KEWcu6nhukGaS+vedN\nVDlQBa0oGZGELFENWZjtQaNTCavvrBomwsqxmBjw8dPAMvvoH9yG7sIT+aK/ANIzjZflNP4+4oay\njClgR7B+u+QoaJcMZ6bTWGw8+NxrwadIXHg0LcxmfJhVyuUcfNxU8MmzwewIV2U3Ud2CmnYOGjvS\nj9tBKGMhOx21R+l9Kk23GynXbIhQ2XoRqxbmwHaAcaUoGZLvKUlhcbMRgnFFMEuKO2DTdNQXlTaI\n3ZAPJKciIffmwB0m3h9fud63WC8gYZCRb1Jar+7BuHQGidE4zOFG+m1EgMIcgT2UBWQNbAQqyaFE\n9wOQPx++YSs8T2wGUtxgY6c4Uy8LsEuuAX7+EdGeFjQtWGbtGox5/dE++xDi28PAiX8bOUmybalo\nheuaOLR18UMAWu5HdiDtZE25ZKjdnLAeezzM8LsfticRiOUKRIiFOaQLgXQG9MFeXeq/DACeUFmY\nTUbVUIF1i/Ymv/iyCGizMCot+uvew+eWwXLOtVSW4XCmdpCSFrht9tWr9P182hxg2hwkut2oeelZ\nS1VjAwaDFz7r9T82G5FGaqRq84u2VJHg2gAWHS2x4ncUhdkGl4wgO/LOoTDLlIiurjDrNPRKs879\nB3kjfyDCrPIxMeA3344ebjdKSkr0j1eBZeeAZefA89w2CDWFOTkFqCjzHn/2YOkVLJcdgFqGK/+S\nFuWBnZUNKMWGdciH2YeZtMR2xGGOOCQdW9+zw1SPVmQLckNXNLvqRohX/ww2ZjJYz96hK9hplBRm\nRZcMBx62jQNHvmoD8OO/gbYkDgpJjvgtd8Hz+ANAQhLYNTdZKkeEcLArjcYiqivNibxpZdLcvTGp\nQm+UpGSvS0xtjXcG10jiDTWClUsld55IRHqfZGG2Caf8TTsqVq0WEanw2Fwnjcafr94Iz5MPAskp\nYJdfb2+5bTSrZLjyp1s3sAFShb0Vp6NkyCzMDicuIXyw7HPaUyi3uUWF0cLM514LMWNeSOOxhoTU\ndPlvSlZUJatzsNh4ScZdgP+ATsGHmeUMA3/4BW+bYrWtCKWFWUqbz7BThGgwwLp1A1+9EeKLfWCT\nZwfX1wbbBsgShESohbnNHa7kJJDW09zCSDVo0R+04zB3RcwGzw8X4YhgotEJsn4DwLc8rdyx2PXM\n1FLC+qPVQTkdckuioDGt68sC+Wt9dx3TJSOUsNxlEP8+CjTUeTNuAWGfPQuLstzDpgxdI8YGLmBt\nhSkpzEp+uo747jr4HUgXg7VaEhWjPJgh1ArzsPOBrw4AgHn3wEhV/gCwgUPABg6x4UJBtgF9zwbi\nE70xsKHyPUQAjDHw1fdCHPwUbMzkcFcHQGdRmKVTDJGiEIYLnUaDz18Mz8FPAABs/uJQ1Ei5Hqvu\n0T/ISmYqTbQ7LFUrjF16SpCjZOZySbIyOuySIRnUsEsXQLz+V+//ly8MPFZroNpR9OUwjrVZUjL4\npicBj6fdmhKmsHLhhMXGgy27A+KzD8FnX2H5OvzGAohX/wykpkO89v/ad7gNumSE07JqBWnbZSZ2\nthahXPQHgC9ZDfHObqBPf7BeZ5k72Wzf31HaJX+CbANYbDz4rx+DePMVIC7BXAzoEMN69wXr3dfG\nCwZ3umMK844dO3DgwAFERUUhIyMD+fn5SEiwGNZGBxaXECD3kelaoIITddXxSWIZvcHv3AJR8nPY\nFvix6XOBc0cr72tTypKSbc/awy7Lhdi31/u/VOELBTnDgIws4OQJ9WO0pglD7ZIhtThfco33t9hY\nsHES2ekMA9Uwtx2MscBBi1PRWiIcO8KWsR6pvgxqLd9/C3x10LsuwIiFOTUdMBOZyChOugBIZUUa\nb9cqIR44sB6pYAtu1j9Q8WR76xKRhdrQzrKUNLCFt9hQma6FYwrziBEjsHDhQrhcLrz44ovYvXs3\nbrjhBmcKsyOgdWfCgBLFcs61vmraBtg5I1QHNuyKRWDDzgN69fVNK9pWbmYf8Ns3QZwuBhtvQhnv\n2cue8jkH3/goPAXXqh8UVoVZO3Uvi4lV9e9mw8d0SINNRCObkegaCrPd8PxfAd99CZw9WLndkSiF\n/I5N9vhMSnFUYZbUV5rRzSodKcKNw4v+IoKu7nIaRhwzCY0cORKu1gYnJycHpaUOOu/HOWO57kiw\nSbPa/586J4w1MYjGN88YAxs41LGc9mzISPCpc0z59rELLgQGDgViYsHz1gdXfnSMfOGFP1pToA4l\nLmm/volFfxJYj1TwX94PNneBwt4O2DFFAhQy0xZYt2iwYeeDqSXvkEz9d8ioIE5ZmCM1ioISRmZg\n/PzybZ3uDxWdYSavgxISH+b33nsPEyeqZ6PZs2cP9uzZAwAoLCyE2+1WPVaJarcbNX7b0vNPapxr\ntiw7KJ8wHQ2fvg8AiJk0Az1sqIPnlrWoyx6IqP4DETNsZNDXcwL/95CUlIRYE/cdFRUVlncVwMPP\nQDQ12mL1PtkiXTDXTmJ8AuJV7rUxzY0yv213erosFFMwNDfV44zfdnJKKqLNPPdps4Fps3Hyjb9q\nHmbXu7RbLqri4lHrtx1umatP7oEKv223O73zRa1wALNyIS6+AuUHP0HzkW/QffU9iDF4bl1SEir9\ntvXK9EQPx2kTx5uhOjEpoB9MychAlA3XF3OuwOlXnoOorkL8vAVICnc7rEFZTAwa/balzzcqKgop\n9z2K8v+4DSw2Hml5d4Gbjaks4aRESXe6zdC7RyIQf73D5XIF9byCUpg3bdqE8nJ5rvrc3FyMHet1\nJN+1axdcLhemTFH3lZ01axZmzWq3kJqNt+vxBAqsmfODie1rFXHNTcCZ0wBjaLpqiX11mDYXAFAV\nhnsyS1VlFapN1NMdZBzmiEMaXm7kOOCLfQCAmpzhqFW5V1FdHbBdUlZu69SxqKwK2K6orgaz8txz\nhgH//Mr7/zkjvClvP/YOitm4aba9S7vlwlNfF7AdbpkTtbUB2yVnSoOPetAFsCQXt6wDPB5UcW64\nDfVUBX4vRspkK+4EDnwCNvsKe2W3LlB2y6prrH27CrB7HwX7v2OoP/d8NERwO9wiiXMvfb5utxuV\n7l5gD/8JcEWhtNkDBHs/EpcVp9uMFkmkpXC3UR2JlhaP4vPq3dvYjFJQCvO9996ruf+DDz7AgQMH\nsHHjRmcX4nUwH2bWPQWuOx8MdzXCC80st9MtGnxxAcTeQWADBmtnkQq5D7M1ZZwvvRWebRsBxsEX\nrwJiYyGqKrwRIHKtZWzskkinw8klw1Esxyo2AR87BXBisbXMh9m+9R8sNV15sWTEYez7YFoucWaJ\njjYWX98uyCUjbDjmknHo0CG8+uqruP/++xHjsEWExceThyTRcRk4BKx7Cti86/SPlS7Cs3sgqhMl\nwyjMnQG+6Snv/61KiGu19gCbUED2/ElhjiRY/0HtfY8TiwTNII2ZbldYuY5EGAaUfOV6eH7rbdt4\nKNo4GjRbJ1ITlzz77LNobm7Gpk2bAACDBg3CihUrnCmMFv0RHY3+g4AfjgAA+IVzjZ/ntHXBJgsz\nEBprnf1EWGckS40dYfXr4rDMLLDrV0B8dRD8stxwVyeQKJuiZHQkwvF9DB4BfucWbyKnc4Y7Xhyf\nNAueg596N0aOc7w8oh3HFObHHnvMqUvL6WAuGQQQcYpJiOFXLITnr8+BDR0FjL7AxIlOK8z2WJgJ\nmyCXjIiHz5gHzJgX7moAkoXEHSofgU0wxkM+28wYA0IZonX4GLBrlwKnisHmRdggrZPTOTL9ZWS1\n/5/YXbabLbsD4tltQHIP77HffRnCyhE+kpKBqtY1/9k54a1LmGHDzodr2PlWzrS9LgHYaGHukESa\nkkFxmAmjtDTrH9PZibTv1wEYY2AXXRXuanRJOoXCzGJiwX95P8SBj8GmyWMQ8/HTIM4ZBiR0h3j1\nRQhSmMMCv+MBiHf+Bgw7DywlLdzV6Zg43SHI4jx3NYU53BWQIHXB6QIKAWGRZlKY6fsgnKRTKMwA\nwM4dDaaSahkAWI9WBW1eLsShfUBlGXje3SGqHQEALKsf2NJbw12Njk2QMUP16IrTuAHEO5MsxzLc\n4UWeROeBFGZSmAltInXRX6TCYuPA/+MJoLnJ1oQPBBEKWGwceN7d8Hz2IfjMUPhNdq34M2z6PO8s\nSFUFWK5Di5TN0CEXThJhQSMZUpeBvhfCQbqcwgy0rt4nZZnooLDzJsB13oTQFNbFFtSymBjwB/8I\nlJ6OjLS5FHOVMEpLCGMBRyxkYSY0CNLCTK0xQRABsJtvBzKzwK5ZChZpLgohgMXGRYayDFBUDMI4\nZGH2LiwnCDVEcDOmXdLCTBCEOvyCC4ELLgx3NQiAfDIJ45APM9il10L8/R2grgZs8apwV4foZJDC\nTBAEEamQSwZhlLSOkLraWVh8InjhM0BFKVivs8JdHSLSIJcMgiCITgotYiIMwi66CkjrCURFgRds\nCHd1wgaLTyBlmXAEsjATBEFEKuSSQRiExcaBb94ONNR1ybUHBOE0pDATBEFEKuSSQZiAuVyRF0uc\nIDoJ1BoTBEFEKuSSQRAEYQ/kw0wQBNFJSeoe7hoQBEF0WNi4ae3/T50T1LXIJYMgCCJCYfGJYIvy\nID55F3zO1eGuDkEQRIeC5S4DYmKA+ESwqRcHdS1SmAmCICIYfuElwIWXhLsaBEEQHQ6WlGxbTG5y\nySAIgiCg3aM+AAAMIUlEQVQIgiAIDRyzML/00ksoKioCYwzJycnIz89HamqqU8URBEEQBEEQhCM4\npjBffvnlyM3NBQC88cYbeOWVV7BixQqniiMIgiAIgiAIR3DMJSM+Pt73f0NDAxgF4CcIgiAIgiA6\nIEwIIZy6+M6dO7F3717Ex8fjvvvuQ/fuyiGS9uzZgz179gAACgsL0djY6FSViA5KVFQUmpubw10N\nIsIguSCUILkglCC5IJSIjo42dFxQCvOmTZtQXl4u+z03Nxdjx471be/evRtNTU1YsGCB1aIIgiAI\ngiAIIiw4amFu4/Tp0ygsLMTWrVt1j12/fj0KCwudrhLRwSC5IJQguSCUILkglCC5IILBMR/m4uJi\n3/9FRUXo3bu3U0URBEEQBEEQhGM4FiXjz3/+M4qLi8EYg9vtpggZBEEQBEEQRIfEMYV57dq1ls6b\nNWuWzTUhOgMkF4QSJBeEEiQXhBIkF0QwhMSHmSAIgiAIgiA6KpQamyAIgiAIgiA0IIWZIAiCIAiC\nIDTQ9WEuKSnBE088gfLycjDGMGvWLMydOxfV1dXYtm0bTp8+jfT0dNx2221ITEyEEALPP/88Pv/8\nc8TExCA/Px9nn302AOCDDz7Arl27AADz58/HhRdeqFjm7t278d5774FzjqVLl2LUqFEAgCeffBIH\nDx5EcnKyZoi6Q4cO4fnnn4fH48HMmTNx5ZVXAgDeeustvP766zh58iSeeeYZ1UQqhD6RIhc//fQT\ntm3b5jvm1KlTWLBgAS699FLZ+Wry88MPP+Dpp59GfX090tPTsWbNmoBMlYRx7JSLzZs348iRIxg8\neDDWr1+vWqaS/DQ0NOC3v/0tTp48Cc45zj//fCxatEjx/O+//x5PPPEEGhsbMXr0aCxdujQgM+lr\nr72GF198kdqMIIgUuQCAjz76CLt37wZjDCkpKVi9erXsvarVFwBeeuklFBUVgTGG5ORk5OfnIzU1\n1YGn1vmxSy7a2vC6ujpwzjF//nxMnDhRsUw1udi8eTPKy8vR0tKCwYMHY9myZeBcblNU60c+/fRT\nvPzyyzhx4gQefPBBDBgwwP4HRoQXoUNpaak4duyYEEKI2tpasWbNGnH8+HGxY8cOsXv3biGEELt3\n7xY7duwQQghx4MABsXnzZuHxeMR3330n7r77biGEEFVVVaKgoEBUVVUF/C/l+PHjYu3ataKxsVGc\nPHlSrFq1SrS0tAghhPj666/FsWPHxO23365a35aWFrFq1Srx888/i6amJrF27Vpx/PhxIYQQ33//\nvTh58qTIz88XFRUVerdOaBBJctFGS0uLWLZsmTh16pRindXkZ/369eLrr78WQgjx7rvvip07dwbx\nZLo2dsmFEEIcPnxY7N+/X2zZskW1PDX5qa+vF19++aUQQoimpiZx7733ioMHDypeY/369eK7774T\nHo9HbN68OeC406dPiwceeEDk5eVRmxEEkSIXzc3N4uabb/a9yx07doi//OUvhusrhBA1NTW+415/\n/XWxffv2YB5Nl8YuuThx4oT46aefhBBCnDlzRixfvlxUV1fLytPqb9req8fjEQ8//LD46KOPFOus\n1o8cP35cnDhxQtx3333i6NGjwT4aIgLRdclISUnxjezj4uKQlZWF0tJS7N+/H9OmTQMATJs2Dfv3\n7wfgjbk8depUMMaQk5ODmpoalJWV4dChQxgxYgQSExORmJiIESNG4NChQ7Ly9u/fj4kTJ6Jbt27o\n2bMnMjMzcfToUQDA0KFDkZiYqFnfo0ePIjMzExkZGYiKisLEiRN9dcvOzkbPnj1NDCcINSJJLtr4\n8ssvkZmZifT0dMU6q8nPTz/9hCFDhgAARowYgc8++8z6g+ni2CUXADB8+HDExcVplqcmPzExMRg2\nbBgAbzrc7OxsnDlzRnZ+WVkZ6urqkJOTA8YYpk6d6qsbALzwwgtYtGhRgMWZME+kyIUQAkIINDQ0\nQAiB2tpaReuwWn0BBMw+NTQ0kGwEgV1y0bt3b/Tq1QsAkJqaiuTkZFRWVsrK0+pv2t5rS0sLmpub\nVd+rWj/Sp08fyjfRyTHlw3zq1Cn861//wsCBA1FRUYGUlBQAXqFvE87S0lK43W7fOWlpaSgtLUVp\naSnS0tJ8v6empvoaIH+MHqeG9Py28gnniBS5+PjjjzFp0iTT9T/rrLNQVFQEAPjHP/6hqFgR5glG\nLoxiRC5qampw4MABDB8+XPd8//KLioqQmpqK/v37G64PoU845SIqKgrLly/H2rVrccstt+DEiROY\nMWOG4fq2sXPnTuTl5eGjjz7CddddZ7hehDp2ycXRo0fR3NyMjIwMWRl67cXmzZuxfPlyxMXF4YIL\nLrD1/oiOj2GFub6+Hlu3bsVNN92k6d8pFKLUqY3UlH5XOt8MZsongidS5KK5uRkHDhyw1Mjl5eXh\n7bffxrp161BXV4eoKMfCk3cZnJALo/if39LSgt/97ne45JJLFDtQNblqaGjArl27SBmymXDLRXNz\nM9555x089NBD2L59O/r27Yvdu3ebru/111+Pp556CpMnT8Zbb70VVL0I++SirKwMjz32GPLy8hT9\nj5XwP3/Dhg3Yvn07mpqa8NVXX5m4A6IrYEgzaG5uxtatWzFlyhSMHz8eAJCcnIyysjKkpKSgrKzM\nt2giLS0NJSUlvnPPnDmDlJQUpKam4ptvvvH9XlpaiqFDh2Lfvn14+eWXAQArV65EWlpagIWvtLRU\nc0FFSUkJHnroIQDA7Nmz0b9//4Dz28on7CeS5OLzzz9HdnY2evToAUAuFxdddJHqfWRlZeGee+4B\n4HXPOHjwYFDPpatjh1yoceTIEfzxj38EAFx33XWq8tPG9u3bkZmZ6VsE6vF4sG7dOgDAmDFjcNFF\nF8nai9TUVJw8eRKnTp3CnXfe6ft93bp12LJli0/GCHNEglz88MMPAIDMzEwAwIQJE/Dqq68qthdK\n9ZUyefJkFBYWYsGCBRafCmGXXNTW1qKwsBC5ubnIyckBYL69AIDo6GiMGTMG+/fvR+/evQ33I0Tn\nR1dhFkLgD3/4A7KysjBv3jzf72PGjMGHH36IK6+8Eh9++CHGjh3r+/2tt97CpEmTcOTIEcTHxyMl\nJQWjRo3Czp07UV1dDQD44osvsHDhQiQmJmLcuHG+60ZHR+P3v/895s2bh7KyMhQXFwdMhUlxu914\n+OGHfdstLS0oLi7GqVOnkJqaik8++QRr1qwx/2QITSJNLqTuGFK50KKiogLJycnweDzYtWsXZs+e\nHdSz6crYJRdqDBo0KOC9VldXK8oP4I1mUFtbi5UrV/qO55zL5CIuLg7//Oc/MWjQIOzduxdz5sxB\n37598cwzz/iOKSgowJYtWyhKhkUiRS4aGxvx448/orKyEt27d8fhw4eRlZUlay/U6gsAxcXFPn/Z\noqIi8lsNArvkorm5GY888gimTp2KCRMm+K5jVC7q6+tRV1eHlJQUtLS04PPPP8eQIUNM9SNE50c3\n09+3336LjRs3om/fvr6pi+uvvx6DBg3Ctm3bUFJSArfbjdtvv90X9uXZZ5/FF198gejoaOTn5/vC\nq7z33nu+6a/58+dj+vTpimXu2rUL77//PjjnuOmmmzB69GgAwKOPPopvvvkGVVVVSE5OxoIFCxT9\nzw4ePIgXXngBHo8H06dPx/z58wEAb7zxBl577TWUl5cjOTkZo0ePDuhMCeNEklw0NDQgLy8Pjz/+\nuOZ0npr8vPHGG3j77bcBAOPGjcPChQvJjccidsrFxo0bceLECdTX1yMpKQkrV670hZj0R0l+zpw5\ng7y8PGRlZflcbObMmYOZM2fKzj927BiefPJJNDY2YtSoUfjFL34he/+kMAdHpMgFALzzzjt48803\n4XK54Ha7UVBQgKSkJEP1Pe+88/DII4+guLgYjDG43W6sWLGCwspZxC652Lt3L5566in06dPHd+2C\nggLF9QdKclFeXo6HHnoITU1N8Hg8GDZsGJYsWQKXyyU7X60f2bdvH5577jlUVlYiISEB/fv3x4YN\nG5x5cERYoNTYBEEQBEEQBKEBZfojCIIgCIIgCA1IYSYIgiAIgiAIDUhhJgiCIAiCIAgNSGEmCIIg\nCIIgCA1IYSYIgiAIgiAIDUhhJgiCIAiCIAgNSGEmCIIgCIIgCA3+P40hU2Vy2Qs2AAAAAElFTkSu\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df1.plot.line(x=df1.index,y='B',figsize=(12,3),lw=3)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Scatter Plots" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df1.plot.scatter(x='A',y='B')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can use c to color based off another column value\n", + "Use cmap to indicate colormap to use. \n", + "For all the colormaps, check out: http://matplotlib.org/users/colormaps.html" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nyTlHMNqs+rVWdu7ciZSZS9ixYwcTExNLbjcxMcFjjz3GO97xjlM6l5Mhd1g5OTk55wjGmFW/ToX7\n77+fq6++esm/ffWrX+X973//ugg8bIg1rJycnJyclTH61OqwVqqHBfjGN76BUoobbrjhuPc/+uij\nVKtVtm7dytNPP33WlTdyh5WTk5NzjnCqShcf//jHT/j3Bx54gMcee4xPfOITS/79ueeeY/fu3Tz2\n2GNEUYTv+3z+85/ngx/84CnZtVpyh5WTk5NzjnAmI5rHH3+ce+65h0996lPYtr3kNjfffDM333wz\nAM888wz33nvvWXNWkK9h5eTk5JwznMmkiy996UsEQcCnP/1pbrvtNv72b/8WgKmpKe68887TfSon\nRR5h5eTk5JwjnMnC4c997nNL/r5Wq/GRj3zkuN9ffvnlXH755WfMnqXIHVZOTk7OOYI257f4be6w\ncnJycs4RdJI7rJycnJycc4AN1lzjrJM7rJycnJxzBH2KdVjnOrnDysnJyTlHyNXac3JycnLOCUye\ndJGTk5OTcy6QR1g5OTk5OecEucPKycnJyTknyOuwcnJycnLOCfIIKycnJyfnnOBU24uc6+QOKycn\nJ+ccIY+wcnJycnLOCc73tPYN1V7k3nvv5X3vex/NZnO9TcnJycnZcGhtVv16LbJhIqyJiQmeeOIJ\nBgYG1tuUnJycnA3J+b6GtWEirK9+9au8//3vX28zcnJycjYsOk1X/XotsiEirN27d9Pf38/Y2Nh6\nm5KTk5OzYcmTLs4St99+OzMzM92fjTEIIbjpppv45je/yX/7b/9twd9ycnJychZyvk8JCrPO3mHv\n3r3cfvvtuK6LMYbJyUn6+vr44z/+Y6rV6nqalpOTk5OzgVh3h7WYW2+9lT/5kz+hXC6vtyk5OTk5\nORuIDZN0MYsQYr1NyMnJycnZgGy4CCsnJycnJ2cpNkSW4Fq5++67+dd//dfuGtev/Mqv8IY3vGFd\nbLn33nu56667+Lu/+7t1mcb8+te/zu7duxFCUK1WufXWW+nt7T2rNtx111088sgjWJbF8PAwt9xy\nC8Vi8aza8OCDD3L33Xezf/9+7rjjDrZt23bWjv3444/zla98BWMMP/mTP8mNN9541o49y1/91V/x\n6KOPUq1W+bM/+7OzfnzIaik///nPMzMzgxCCd7zjHbzrXe8663bEccwnP/lJkiQhTVOuv/563vOe\n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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df1.plot.scatter(x='A',y='B',c='C',cmap='coolwarm')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Or use s to indicate size based off another column. s parameter needs to be an array, not just the name of a column:" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df1.plot.scatter(x='A',y='B',s=df1['C']*200)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## BoxPlots" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nmTYDAEjK8gqaRCKhV199VY7jqKmpSS0tLRoYGFAkElFzc7MkKRaLKZFIaOHChdq8ebNWrFhhvHgA\ngP/N+V1nAID8ws0A8KXR0VF2kCEvvfHGG3rvvfe8LsNVBA18KxKJeF0CABewvTkLzz77rGzb1vnz\n5/WPf/xDt912m9cl5YWJiQnt2bNH33//vZYuXaqtW7dq/vz5XpcVeocPH9Z7772nSCSiK6+8Ulu3\nbvW6pNB76623dPjwYS1evFiWZemqq67yuiRXETRZ2LJli4qLi3X+/Hnt2LFD119/vUpKSrwuK/SG\nh4e1efNm1dbW6qWXXtKHH36ou+66y+uyQu3nn3/WwYMH1d3drZKSEp09e9brkkLv+PHj+uSTT/Tc\nc8/pwoULeuyxxwiafPT++++nrt2xbVsjIyOqqanxuKrwu+yyy1RbWytJuummm/TBBx8QNIZ99dVX\nuuGGG1K/SBUXF3tcUfh9++23WrNmjebNm6d58+alHR8JA4Img2+++UZff/21nnrqKc2bN0+7du3S\n+fPnvS4LAAKDzQAZjI+Pq7i4WPPmzdPQ0JCOHTvmdUl5Y2xsTN99950k6ciRI1q1apXHFYXf1Vdf\nrU8//VRnzpyRpNR/Yc7q1asVj8f1559/6vfff9fnn3/udUmu4x1NBnV1dRoYGNC2bdsUjUZTUzkw\nLxqN6tChQ9q7d6+WLl2q22+/3euSQq+6ulr33HOPnnzySRUWFmrZsmXasmWL12WF2vLly3XjjTdq\n+/btWrx4cejWZyQObAIADGPqDABgFEEDADCKoAEAGEXQAACMImgAAEYRNAAAowgaAIBRBA0AwKj/\nB58uy0GSh833AAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df2.plot.box() # Can also pass a by= argument for groupby" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Hexagonal Bin Plot\n", + "\n", + "Useful for Bivariate Data, alternative to scatterplot:" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nA1OXZwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.DataFrame(np.random.randn(1000, 2), columns=['a', 'b'])\n", + "df.plot.hexbin(x='a',y='b',gridsize=25,cmap='Oranges')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "____" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Kernel Density Estimation plot (KDE)" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df2['a'].plot.kde()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df2.plot.density()\n", + "\n", + "plt.savefig(\"newplot.png\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That's it! Hopefully you can see why this method of plotting will be a lot easier to use than full-on matplotlib, it balances ease of use with control over the figure. A lot of the plot calls also accept additional arguments of their parent matplotlib plt. call. \n", + "\n", + "Next we will learn about seaborn, which is a statistical visualization library designed to work with pandas dataframes well.\n", + "\n", + "Before that though, I have a quick exercise for you guys!\n", + "\n", + "# Great Job!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/Perfecting_Pandas2.ipynb b/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/Perfecting_Pandas2.ipynb new file mode 100644 index 0000000..3356041 --- /dev/null +++ b/Notes-on-Data-science-for-beginners/DAY 3 PYTHON/Perfecting_Pandas2.ipynb @@ -0,0 +1,908 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# SF Salaries Exercise - Solutions\n", + "\n", + " [SF Salaries Dataset](https://www.kaggle.com/kaggle/sf-salaries) from Kaggle! " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "sal = pd.read_csv('Salaries.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Checking out the head of the dataframe**" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
01NATHANIEL FORDGENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY167411.180.00400184.25NaN567595.43567595.432011NaNSan FranciscoNaN
12GARY JIMENEZCAPTAIN III (POLICE DEPARTMENT)155966.02245131.88137811.38NaN538909.28538909.282011NaNSan FranciscoNaN
23ALBERT PARDINICAPTAIN III (POLICE DEPARTMENT)212739.13106088.1816452.60NaN335279.91335279.912011NaNSan FranciscoNaN
34CHRISTOPHER CHONGWIRE ROPE CABLE MAINTENANCE MECHANIC77916.0056120.71198306.90NaN332343.61332343.612011NaNSan FranciscoNaN
45PATRICK GARDNERDEPUTY CHIEF OF DEPARTMENT,(FIRE DEPARTMENT)134401.609737.00182234.59NaN326373.19326373.192011NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle \\\n", + "0 1 NATHANIEL FORD GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY \n", + "1 2 GARY JIMENEZ CAPTAIN III (POLICE DEPARTMENT) \n", + "2 3 ALBERT PARDINI CAPTAIN III (POLICE DEPARTMENT) \n", + "3 4 CHRISTOPHER CHONG WIRE ROPE CABLE MAINTENANCE MECHANIC \n", + "4 5 PATRICK GARDNER DEPUTY CHIEF OF DEPARTMENT,(FIRE DEPARTMENT) \n", + "\n", + " BasePay OvertimePay OtherPay Benefits TotalPay TotalPayBenefits \\\n", + "0 167411.18 0.00 400184.25 NaN 567595.43 567595.43 \n", + "1 155966.02 245131.88 137811.38 NaN 538909.28 538909.28 \n", + "2 212739.13 106088.18 16452.60 NaN 335279.91 335279.91 \n", + "3 77916.00 56120.71 198306.90 NaN 332343.61 332343.61 \n", + "4 134401.60 9737.00 182234.59 NaN 326373.19 326373.19 \n", + "\n", + " Year Notes Agency Status \n", + "0 2011 NaN San Francisco NaN \n", + "1 2011 NaN San Francisco NaN \n", + "2 2011 NaN San Francisco NaN \n", + "3 2011 NaN San Francisco NaN \n", + "4 2011 NaN San Francisco NaN " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Geting the information of how many entries are available**" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 148654 entries, 0 to 148653\n", + "Data columns (total 13 columns):\n", + "Id 148654 non-null int64\n", + "EmployeeName 148654 non-null object\n", + "JobTitle 148654 non-null object\n", + "BasePay 148045 non-null float64\n", + "OvertimePay 148650 non-null float64\n", + "OtherPay 148650 non-null float64\n", + "Benefits 112491 non-null float64\n", + "TotalPay 148654 non-null float64\n", + "TotalPayBenefits 148654 non-null float64\n", + "Year 148654 non-null int64\n", + "Notes 0 non-null float64\n", + "Agency 148654 non-null object\n", + "Status 0 non-null float64\n", + "dtypes: float64(8), int64(2), object(3)\n", + "memory usage: 14.7+ MB\n" + ] + } + ], + "source": [ + "sal.info() # 148654 Entries" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** average BasePay **" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "66325.4488404877" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['BasePay'].mean()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Highest amount of OvertimePay in the dataset **" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "245131.88" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['OvertimePay'].max()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** What is the job title of JOSEPH DRISCOLL ? Note: Use all caps, otherwise you may get an answer that doesn't match up (there is also a lowercase Joseph Driscoll). **" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "24 CAPTAIN, FIRE SUPPRESSION\n", + "Name: JobTitle, dtype: object" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['EmployeeName']=='JOSEPH DRISCOLL']['JobTitle']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Alternatively" + ] + }, + { + "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", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
2425JOSEPH DRISCOLLCAPTAIN, FIRE SUPPRESSION140546.8697868.7731909.28NaN270324.91270324.912011NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle BasePay OvertimePay \\\n", + "24 25 JOSEPH DRISCOLL CAPTAIN, FIRE SUPPRESSION 140546.86 97868.77 \n", + "\n", + " OtherPay Benefits TotalPay TotalPayBenefits Year Notes \\\n", + "24 31909.28 NaN 270324.91 270324.91 2011 NaN \n", + "\n", + " Agency Status \n", + "24 San Francisco NaN " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "joseph = sal[sal['EmployeeName']=='JOSEPH DRISCOLL']\n", + "# salname['JobTitle']\n", + "joseph" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** How much does JOSEPH DRISCOLL make (including benefits)? **" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "24 270324.91\n", + "Name: TotalPayBenefits, dtype: float64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['EmployeeName']=='JOSEPH DRISCOLL']['TotalPayBenefits']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** The name of highest paid person (including benefits)**" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "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", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
01NATHANIEL FORDGENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY167411.180.0400184.25NaN567595.43567595.432011NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle \\\n", + "0 1 NATHANIEL FORD GENERAL MANAGER-METROPOLITAN TRANSIT AUTHORITY \n", + "\n", + " BasePay OvertimePay OtherPay Benefits TotalPay TotalPayBenefits \\\n", + "0 167411.18 0.0 400184.25 NaN 567595.43 567595.43 \n", + "\n", + " Year Notes Agency Status \n", + "0 2011 NaN San Francisco NaN " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['TotalPayBenefits']== sal['TotalPayBenefits'].max()] #['EmployeeName']\n", + "# or\n", + "# sal.loc[sal['TotalPayBenefits'].idxmax()]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** The name of lowest paid person (including benefits)**" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
IdEmployeeNameJobTitleBasePayOvertimePayOtherPayBenefitsTotalPayTotalPayBenefitsYearNotesAgencyStatus
148653148654Joe LopezCounselor, Log Cabin Ranch0.00.0-618.130.0-618.13-618.132014NaNSan FranciscoNaN
\n", + "
" + ], + "text/plain": [ + " Id EmployeeName JobTitle BasePay OvertimePay \\\n", + "148653 148654 Joe Lopez Counselor, Log Cabin Ranch 0.0 0.0 \n", + "\n", + " OtherPay Benefits TotalPay TotalPayBenefits Year Notes \\\n", + "148653 -618.13 0.0 -618.13 -618.13 2014 NaN \n", + "\n", + " Agency Status \n", + "148653 San Francisco NaN " + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[sal['TotalPayBenefits']== sal['TotalPayBenefits'].min()] #['EmployeeName']\n", + "# or\n", + "# sal.loc[sal['TotalPayBenefits'].idxmin()]['EmployeeName']\n", + "\n", + "## ITS NEGATIVE!! VERY STRANGE" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Average (mean) BasePay of all employees per year (2011-2014) **" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Year\n", + "2011 63595.956517\n", + "2012 65436.406857\n", + "2013 69630.030216\n", + "2014 66564.421924\n", + "Name: BasePay, dtype: float64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal.groupby('Year').mean()['BasePay']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Unique job titles **" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2159" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['JobTitle'].nunique()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** What are the top 5 most common jobs? **" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sal['JobTitle'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Transit Operator 7036\n", + "Special Nurse 4389\n", + "Registered Nurse 3736\n", + "Public Svc Aide-Public Works 2518\n", + "Police Officer 3 2421\n", + "Name: JobTitle, dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal['JobTitle'].value_counts().head(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** How many Job Titles were represented by only one person in 2013? (e.g. Job Titles with only one occurence in 2013?) **" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "202" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sum(sal[sal['Year']==2013]['JobTitle'].value_counts()== 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "202" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sum(sal[sal['Year']==2013]['JobTitle'].value_counts() == 1) # pretty tricky way to do this..." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** How many people have the word Chief in their job title, cool way to do this **" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def chief_string(title):\n", + " if 'chief' in title.lower():\n", + " return True\n", + " else:\n", + " return False" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "627" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sum(sal['JobTitle'].apply(lambda x: chief_string(x)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Finding a correlation between length of the Job Title string and Salary? **" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "sal['title_len'] = sal['JobTitle'].apply(len)" + ] + }, + { + "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", + "
title_lenTotalPayBenefits
title_len1.000000-0.036878
TotalPayBenefits-0.0368781.000000
\n", + "
" + ], + "text/plain": [ + " title_len TotalPayBenefits\n", + "title_len 1.000000 -0.036878\n", + "TotalPayBenefits -0.036878 1.000000" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sal[['title_len','TotalPayBenefits']].corr() # No correlation." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}