From 0f6cf54aae79d17c9123b3e82946233a18512ba1 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sat, 17 Apr 2021 19:58:13 +0200 Subject: [PATCH 01/25] version 1 ofsolutions --- Assigments/Assignment_1.ipynb | 890 +++++++++++++++++++++++++--------- 1 file changed, 666 insertions(+), 224 deletions(-) diff --git a/Assigments/Assignment_1.ipynb b/Assigments/Assignment_1.ipynb index 45cc8723..fcbf19bc 100644 --- a/Assigments/Assignment_1.ipynb +++ b/Assigments/Assignment_1.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 39, "metadata": {}, "outputs": [], "source": [ @@ -25,10 +25,46 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dichlorodiphenyltrichloroethane\n" + ] + } + ], + "source": [ + "# since the string we are trying to achieve contains only elements of the second half of the given string: \n", + "# we need to find the correct startpoint to match the word given above. that's why rfind is used. \n", + "\n", + "x = x[x.rfind('Di'):].capitalize().replace(' ', '')\n", + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dichlorodiphenyltrichloroethane\n" + ] + } + ], + "source": [ + "# fun version using regex to find the correct starting point.\n", + "\n", + "import re\n", + "\n", + "y = re.findall('Di[cC]h[\\w ]+$', x)\n", + "print(''.join(y).capitalize().replace(' ', ''))" + ] }, { "cell_type": "markdown", @@ -39,10 +75,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "word 15 3.14 list\n" + ] + } + ], + "source": [ + "A, B, C, D = 'word', 15, 3.14, 'list'\n", + "print(A, B, C, D, sep=' ')" + ] }, { "cell_type": "markdown", @@ -57,10 +104,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter your weight(in kg) and height(in m) as floating point numbers separated by a space 72 1.8\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "22.22222222222222\n" + ] + } + ], + "source": [ + "x = input('Enter your weight(in kg) and height(in m) as floating point numbers separated by a space')\n", + "w, h = float(x.split()[0]), float(x.split()[1])\n", + "bmi = w / h ** 2\n", + "print(bmi)" + ] }, { "cell_type": "markdown", @@ -76,10 +143,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "normal weight\n" + ] + } + ], + "source": [ + "if bmi < 18.5:\n", + " print('underweight')\n", + "elif 18.5 < bmi < 24.9:\n", + " print('normal weight')\n", + "elif 25.0 < bmi < 29.9:\n", + " print('pre-obesity')\n", + "elif 30.0 < bmi < 34.9:\n", + " print('obesity class I')\n", + "elif 35.0 < bmi < 39.9:\n", + " print('obesity class II')\n", + "else:\n", + " print('obesity class III')" + ] }, { "cell_type": "markdown", @@ -90,10 +178,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "enter an integer 10\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3628800\n" + ] + } + ], + "source": [ + "i = input('enter an integer')\n", + "y = 1\n", + "for x in range(1, int(i) + 1):\n", + " y *= x\n", + "print(y)" + ] }, { "cell_type": "markdown", @@ -104,10 +213,77 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "enter an integer 3\n", + "enter an integer 4\n", + "enter an integer 5\n", + "enter an integer 6\n", + "enter an integer 7\n", + "enter an integer 8\n", + "enter an integer -1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[3, 4, 5, 6, 7, 8, -1] 33\n" + ] + } + ], + "source": [ + "su = []\n", + "while True:\n", + " x = int(input('enter an integer'))\n", + " su.append(x)\n", + " if x == -1:\n", + " break\n", + "print(su, sum(su[:len(su) - 1]))\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "enter an integer 3\n", + "enter an integer 4\n", + "enter an integer 5\n", + "enter an integer 6\n", + "enter an integer 7\n", + "enter an integer 8\n", + "enter an integer -1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "33\n" + ] + } + ], + "source": [ + "# alternate version\n", + "su = 0\n", + "while True:\n", + " x = int(input('enter an integer'))\n", + " if x == -1:\n", + " break\n", + " su += x\n", + "print(su)" + ] }, { "cell_type": "markdown", @@ -118,10 +294,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas. Michael,40.0,35.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Michael has a total salary of 1400.0\n" + ] + } + ], + "source": [ + "x = input('Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas.')\n", + "name, amh, sah = x.split(',')[0], float(x.split(',')[1]), float(x.split(',')[2])\n", + "totalsal = round(amh * sah, 2)\n", + "print(f'{name} has a total salary of {totalsal}')" + ] }, { "cell_type": "markdown", @@ -132,10 +328,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter three floats separated by a space 2.0 4.0 6.0\n" + ] + } + ], + "source": [ + "inp = input('Enter three floats separated by a space') \n", + "A, B, C = float(inp.split()[0]), float(inp.split()[1]), float(inp.split()[2])" + ] }, { "cell_type": "markdown", @@ -146,10 +353,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6.0\n" + ] + } + ], + "source": [ + "areatri = (A * C) * 0.5\n", + "print(areatri)" + ] }, { "cell_type": "markdown", @@ -160,10 +378,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "113.09724\n" + ] + } + ], + "source": [ + "pi = 3.14159\n", + "areacirc = pi * (C ** 2)\n", + "print(areacirc)" + ] }, { "cell_type": "markdown", @@ -174,10 +404,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "18.0\n" + ] + } + ], + "source": [ + "areatrap = (C/2) * (A + B) \n", + "print(areatrap)" + ] }, { "cell_type": "markdown", @@ -188,10 +429,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "16.0\n" + ] + } + ], + "source": [ + "areasquare = B ** 2\n", + "print(areasquare)" + ] }, { "cell_type": "markdown", @@ -202,10 +454,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "8.0\n" + ] + } + ], + "source": [ + "arearect = A * B\n", + "print(arearect)" + ] }, { "cell_type": "markdown", @@ -216,10 +479,81 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter three values separated by a space 2.0 16.0 3.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are two solutions which are -0.19211344706804567 and -7.807886552931954\n" + ] + } + ], + "source": [ + "inp1 = input('Enter three values separated by a space')\n", + "a, b, c = float(inp1.split()[0]), float(inp1.split()[1]), float(inp1.split()[2])\n", + "d = b ** 2 - 4*a*c\n", + "x1 = (-b + d ** (1/2))/(2 * a)\n", + "x2 = (-b - d ** (1/2))/(2 * a)\n", + "if a == 0:\n", + " print('The equation is now linear, not quadratic, as there is no ax^2 term.')\n", + "else:\n", + " if d < 0:\n", + " print('There are no real roots')\n", + " elif d == 0:\n", + " print(f'There is one solution which is {x1}') #since x1 == x2 is true.\n", + " else:\n", + " print(f'There are two solutions which are {x1} and {x2}')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter three values separated by a space 2.0 16.0 3.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There are two solutions which are -0.19211344706804567 and -7.807886552931954\n" + ] + } + ], + "source": [ + "# alternate version importing math module\n", + "\n", + "import math\n", + "\n", + "inp1 = input('Enter three values separated by a space')\n", + "a, b, c = float(inp1.split()[0]), float(inp1.split()[1]), float(inp1.split()[2])\n", + "d = b ** 2 - 4*a*c\n", + "x1 = (-b + math.sqrt(d))/(2 * a)\n", + "x2 = (-b - math.sqrt(d))/(2 * a)\n", + "if a == 0:\n", + " print('The equation is now linear, not quadratic, as there is no ax^2 term.')\n", + "else:\n", + " if d < 0:\n", + " print('There are no real roots')\n", + " elif d == 0:\n", + " print(f'There is one solution which is {x1}') #since x1 == x2 is true.\n", + " else:\n", + " print(f'There are two solutions which are {x1} and {x2}')" + ] }, { "cell_type": "markdown", @@ -232,21 +566,34 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 59, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'you can type anything'" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter the coordinates of the first point as floating point numbers separated by a space 2.0 2.0\n", + "Enter the coordinates of the second point as floating point numbers separated by a space 4.0 4.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The distance of the two points is 2.8284271247461903\n" + ] } ], - "source": [] + "source": [ + "import math\n", + "\n", + "inp1 = input('Enter the coordinates of the first point as floating point numbers separated by a space').split()\n", + "inp2 = input('Enter the coordinates of the second point as floating point numbers separated by a space').split()\n", + "x1, y1 = float(inp1[0]), float(inp1[1]) \n", + "x2, y2 = float(inp2[0]), float(inp2[1]) \n", + "print(f'The distance of the two points is {math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)}')" + ] }, { "cell_type": "markdown", @@ -257,10 +604,43 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter the coordinates of a point as floating point numbers separated by a space. 0.0 3.0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y axis\n" + ] + } + ], + "source": [ + "inp = input('Enter the coordinates of a point as floating point numbers separated by a space.').split()\n", + "x, y = float(inp[0]), float(inp[1])\n", + "if x == 0 and y == 0:\n", + " print('origin')\n", + "elif x == 0:\n", + " print('y axis')\n", + "elif y == 0:\n", + " print('x axis')\n", + "else:\n", + " if x > 0 and y > 0:\n", + " print('q1')\n", + " elif x < 0 and y > 0:\n", + " print('q2')\n", + " elif x < 0 and y < 0:\n", + " print('q3')\n", + " elif x > 0 and y < 0:\n", + " print('q4')" + ] }, { "cell_type": "markdown", @@ -273,166 +653,19 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 36, "metadata": {}, "outputs": [ { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
CountryCountry calling code
0Austria43
1Belgium32
2Bulgaria359
3Croatia385
4Cyprus357
5Czech Republic420
6Denmark45
7Estonia372
8Finland358
9France33
10Germany49
11Greece30
12Hungary36
13Iceland354
14Ireland353
15Italy39
16Latvia371
17Liechtenstein423
18Lithuania370
19Luxembourg352
\n", - "
" - ], - "text/plain": [ - " Country Country calling code\n", - "0 Austria 43\n", - "1 Belgium 32\n", - "2 Bulgaria 359\n", - "3 Croatia 385\n", - "4 Cyprus 357\n", - "5 Czech Republic 420\n", - "6 Denmark 45\n", - "7 Estonia 372\n", - "8 Finland 358\n", - "9 France 33\n", - "10 Germany 49\n", - "11 Greece 30\n", - "12 Hungary 36\n", - "13 Iceland 354\n", - "14 Ireland 353\n", - "15 Italy 39\n", - "16 Latvia 371\n", - "17 Liechtenstein 423\n", - "18 Lithuania 370\n", - "19 Luxembourg 352" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" + "ename": "ModuleNotFoundError", + "evalue": "No module named 'pandas'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_html\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'https://en.wikipedia.org/wiki/Telephone_numbers_in_Europe'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pandas'" + ] } ], "source": [ @@ -444,10 +677,43 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter a phone code. 43\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Austria\n" + ] + } + ], + "source": [ + "phoco = {'Austria':43,\n", + "'Belgium':32,\n", + "'Bulgaria':359,\n", + "'Croatia':385,\n", + "'Cyprus':357,\n", + "'Czech Republic':420,\n", + "'Denmark':45,\n", + "'Estonia':372,\n", + "'Finland':358,\n", + "'France':33,\n", + "'Germany':49,}\n", + "inp = int(input('Enter a phone code.'))\n", + "for a in phoco:\n", + " if phoco[a] == inp:\n", + " print(a)\n", + "if inp not in phoco.values():\n", + " print('not available')" + ] }, { "cell_type": "markdown", @@ -456,12 +722,59 @@ "#### 12) Write a piece of code that reads 6 numbers in a row. Next, show the number of positive values entered. On the next line, print the average of the values to one decimal place. " ] }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter a number 2\n", + "Enter a number 3\n", + "Enter a number 4\n", + "Enter a number -5\n", + "Enter a number -6\n", + "Enter a number -7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Positive numbers entered: 3\n", + "Average of the values: -1.5\n" + ] + } + ], + "source": [ + "# version 1\n", + "numb = []\n", + "for a in range(6):\n", + " inp = float(input('Enter a number'))\n", + " numb.append(inp)\n", + "count = 0\n", + "for nu in numb:\n", + " if nu > 0:\n", + " count += 1\n", + "print(f'Positive numbers entered: {count}' + '\\n' + f'Average of the values: {round(sum(numb)/len(numb), 1)}')" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "# version 2\n", + "inp = input('Enter 6 numbers in a row spearated by a space').split()\n", + "count = 0\n", + "for nu in inp:\n", + " if nu > 0:\n", + " count += 1\n", + "print(f'Positive numbers entered: {count}' + '\\n' + f'Average of the values: {round(sum(numb)/len(numb), 1)}')" + ] }, { "cell_type": "markdown", @@ -472,10 +785,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter an integer 6\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n", + "16\n", + "36\n" + ] + } + ], + "source": [ + "inp = int(input('Enter an integer'))\n", + "for a in range(1, inp + 1):\n", + " if a % 2 == 0:\n", + " print(a ** 2, end='\\n')\n" + ] }, { "cell_type": "markdown", @@ -486,10 +821,43 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter an integer -4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "negative even\n" + ] + } + ], + "source": [ + "inp = int(input('Enter an integer'))\n", + "cl1 = ''\n", + "cl2 = ''\n", + "if inp == 0:\n", + " print('null')\n", + " \n", + "if inp > 0:\n", + " cl1 = 'positive'\n", + "else:\n", + " cl1 = 'negative'\n", + " \n", + "if inp % 2 == 0:\n", + " cl2 = 'even'\n", + "else:\n", + " cl2 = 'odd'\n", + "print(f'{cl1} {cl2}')\n", + " " + ] }, { "cell_type": "markdown", @@ -500,6 +868,80 @@ "#### At the end, print the six numbers in ascending order on a single line separated by spaces. " ] }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-10 -7 -2 0 2 8 " + ] + } + ], + "source": [ + "# bubble sort problem\n", + "# version 1 generating random numbers by random module\n", + "import random\n", + "mylist1 = []\n", + "for b in range(6):\n", + " y = random.randint(-10, 10)\n", + " mylist1.append(y)\n", + "\n", + "\n", + "while True:\n", + " ct = 0\n", + " for a in range(len(mylist1) - 1):\n", + " if mylist1[a] > mylist1[a + 1]:\n", + " mylist1[a], mylist1[a + 1] = mylist1[a + 1], mylist1[a]\n", + " ct += 1\n", + " if ct == 0:\n", + " break\n", + "\n", + "for el in mylist1:\n", + " print(el, end=' ')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter 6 integers in random order separated by a space -100 1000 3 200 567 4\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-100 3 4 200 567 1000 " + ] + } + ], + "source": [ + "# bubble sort problem\n", + "# version 2 entering numbers myself\n", + "inp = input('Enter 6 integers in random order separated by a space').split()\n", + "\n", + "while True:\n", + " ct = 0\n", + " for a in range(len(inp) - 1):\n", + " if int(inp[a]) > int(inp[a + 1]):\n", + " inp[a], inp[a + 1] = inp[a + 1], inp[a]\n", + " ct += 1\n", + " if ct == 0:\n", + " break\n", + "\n", + "for el in inp:\n", + " print(el, end=' ')\n" + ] + }, { "cell_type": "code", "execution_count": null, @@ -524,7 +966,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, From ccfd5d79ba6f51b51467f141b337824b91cf02de Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sat, 17 Apr 2021 20:10:46 +0200 Subject: [PATCH 02/25] safety --- Assigments/Assignment_1_solutions.ipynb | 22 +++------------------- Notebooks/01_Python_Datatypes.ipynb | 2 +- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/Assigments/Assignment_1_solutions.ipynb b/Assigments/Assignment_1_solutions.ipynb index 023be216..cdf060e2 100644 --- a/Assigments/Assignment_1_solutions.ipynb +++ b/Assigments/Assignment_1_solutions.ipynb @@ -457,25 +457,9 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter coordinates x1 and y1: 3,5\n", - "Enter coordinates x2 and y2: 2,6\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "d = 1.4142135623730951\n" - ] - } - ], + "outputs": [], "source": [ "x1, y1 = [float(i) for i in input(\"Enter coordinates x1 and y1: \").split(\",\")]\n", "x2, y2 = [float(i) for i in input(\"Enter coordinates x2 and y2: \").split(\",\")]\n", @@ -921,7 +905,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, diff --git a/Notebooks/01_Python_Datatypes.ipynb b/Notebooks/01_Python_Datatypes.ipynb index 1d38400a..08a27784 100644 --- a/Notebooks/01_Python_Datatypes.ipynb +++ b/Notebooks/01_Python_Datatypes.ipynb @@ -4159,7 +4159,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, From e478aeb725da6b9961dbd6a8bedbf685e3039282 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sat, 17 Apr 2021 20:49:27 +0200 Subject: [PATCH 03/25] solutions ver 2 --- Assigments/Assignment_1.ipynb | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/Assigments/Assignment_1.ipynb b/Assigments/Assignment_1.ipynb index fcbf19bc..0dadcef1 100644 --- a/Assigments/Assignment_1.ipynb +++ b/Assigments/Assignment_1.ipynb @@ -294,24 +294,9 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdin", - "output_type": "stream", - "text": [ - "Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas. Michael,40.0,35.0\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Michael has a total salary of 1400.0\n" - ] - } - ], + "outputs": [], "source": [ "x = input('Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas.')\n", "name, amh, sah = x.split(',')[0], float(x.split(',')[1]), float(x.split(',')[2])\n", From f2f07c562d0a040f311e99b60f3a8c6e38e76f72 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sat, 17 Apr 2021 20:51:21 +0200 Subject: [PATCH 04/25] solutions ver 3 --- Assigments/Assignment_1.ipynb | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Assigments/Assignment_1.ipynb b/Assigments/Assignment_1.ipynb index 0dadcef1..5692bf72 100644 --- a/Assigments/Assignment_1.ipynb +++ b/Assigments/Assignment_1.ipynb @@ -294,9 +294,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas. Thomas,34.05,25.99\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Thomas has a total salary of 884.96\n" + ] + } + ], "source": [ "x = input('Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas.')\n", "name, amh, sah = x.split(',')[0], float(x.split(',')[1]), float(x.split(',')[2])\n", From d579ebaaf3a6b231e653bf37eb8a198e40934b66 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sat, 17 Apr 2021 20:54:59 +0200 Subject: [PATCH 05/25] solutions ver 4 --- Assigments/Assignment_1.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assigments/Assignment_1.ipynb b/Assigments/Assignment_1.ipynb index 5692bf72..97c07532 100644 --- a/Assigments/Assignment_1.ipynb +++ b/Assigments/Assignment_1.ipynb @@ -706,7 +706,7 @@ "'Estonia':372,\n", "'Finland':358,\n", "'France':33,\n", - "'Germany':49,}\n", + "'Germany':49}\n", "inp = int(input('Enter a phone code.'))\n", "for a in phoco:\n", " if phoco[a] == inp:\n", From 9648f01ac6c20a1c0fe5c44d7ac18f7c796eb3b4 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sat, 17 Apr 2021 21:06:32 +0200 Subject: [PATCH 06/25] solutions ver 5 --- Assigments/Assignment_1.ipynb | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/Assigments/Assignment_1.ipynb b/Assigments/Assignment_1.ipynb index 97c07532..347eff16 100644 --- a/Assigments/Assignment_1.ipynb +++ b/Assigments/Assignment_1.ipynb @@ -763,17 +763,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter 6 numbers in a row spearated by a space 2 3 4 -5 -6 -7\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Positive numbers entered: 3\n", + "Average of the values: -1.5\n" + ] + } + ], "source": [ "# version 2\n", "inp = input('Enter 6 numbers in a row spearated by a space').split()\n", + "inp1 = [] \n", "count = 0\n", "for nu in inp:\n", + " nu = int(nu)\n", + " inp1.append(nu)\n", " if nu > 0:\n", " count += 1\n", - "print(f'Positive numbers entered: {count}' + '\\n' + f'Average of the values: {round(sum(numb)/len(numb), 1)}')" + "print(f'Positive numbers entered: {count}' + '\\n' + f'Average of the values: {round(sum(inp1)/len(inp1), 1)}')" ] }, { From 0e6f9f40e6865c9a89b27c3589efcd50b7f3a107 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sun, 18 Apr 2021 16:54:09 +0200 Subject: [PATCH 07/25] solutions var1 --- Assigments/Assignment_2.ipynb | 309 +++++++++++++++++++++++++++++++--- 1 file changed, 281 insertions(+), 28 deletions(-) diff --git a/Assigments/Assignment_2.ipynb b/Assigments/Assignment_2.ipynb index 71a5e107..2d884427 100644 --- a/Assigments/Assignment_2.ipynb +++ b/Assigments/Assignment_2.ipynb @@ -16,10 +16,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[4, 16, 36, 64, 100]\n" + ] + } + ], + "source": [ + "def even_squared(N):\n", + " les = []\n", + " for i in range(1, N + 1):\n", + " if i % 2 == 0:\n", + " les.append(i ** 2)\n", + " return les\n", + "\n", + "print(even_squared(10))" + ] }, { "cell_type": "markdown", @@ -30,10 +47,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Enter a number 2\n", + "Enter a number 3\n", + "Enter a number 4\n", + "Enter a number 5\n", + "Enter a number 1\n", + "Enter a number 0\n", + "Enter a number -1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 2, 4]\n", + "[1, 3, 5]\n" + ] + } + ], + "source": [ + "eveni = []\n", + "oddi = []\n", + "while True:\n", + " inp = int(input('Enter a number'))\n", + " if inp == -1:\n", + " break\n", + " elif inp % 2 == 0:\n", + " eveni.append(inp)\n", + " else:\n", + " oddi.append(inp)\n", + "print(sorted(eveni), sorted(oddi), sep='\\n')" + ] }, { "cell_type": "markdown", @@ -44,10 +95,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] + } + ], + "source": [ + "def even_account(LoI):\n", + " count = 0\n", + " for v in LoI:\n", + " if v % 2 == 0:\n", + " count += 1\n", + " return count\n", + "\n", + "print(even_account([2, 3, 4, 5, 6, 1]))" + ] }, { "cell_type": "markdown", @@ -58,10 +126,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[4, 9, 16, 1, 25]\n" + ] + } + ], + "source": [ + "def squared_list(LOI):\n", + " LOI1 = []\n", + " for v in LOI:\n", + " LOI1.append(v ** 2)\n", + " return LOI1\n", + "\n", + "print(squared_list([2, 3, 4, 1, 5]))" + ] }, { "cell_type": "markdown", @@ -72,10 +156,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[6, 5, 4, 3, 2, 2]\n" + ] + } + ], + "source": [ + "def descending(Loi, Loi1):\n", + " Loi.extend(Loi1)\n", + " return sorted(Loi)[::-1]\n", + "\n", + "print(descending([2, 4, 5], [6, 2, 3]))" + ] }, { "cell_type": "markdown", @@ -92,10 +190,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[10, 20, 30, 6, 4, 7, 8]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def adding(L, *args):\n", + " for v in args:\n", + " L.append(v)\n", + " return A\n", + "\n", + "A = [10, 20, 30]\n", + "adding(A, 6, 4, 7, 8)" + ] }, { "cell_type": "markdown", @@ -113,10 +230,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[5, 6]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def intersection(L1, L2):\n", + " L3 = []\n", + " for x in L1:\n", + " if x in L2:\n", + " L3.append(x)\n", + " L4 = []\n", + " for y in L3:\n", + " if y not in L4:\n", + " L4.append(y)\n", + " return sorted(L4)\n", + " \n", + "intersection([3, 5, 6,], [5, 5, 6, 6, 2])" + ] }, { "cell_type": "markdown", @@ -134,10 +275,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[-4, -2, -1, 0, 1, 2, 10, 11]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def union(LI1, LI2):\n", + " LI1.extend(LI2)\n", + " LI3 = []\n", + " for v in LI1:\n", + " if v not in LI3:\n", + " LI3.append(v)\n", + " return sorted(LI3)\n", + "\n", + "A = [-2, 0, 1, 2, 10, 11]\n", + "B = [-4, -2, -1, 1, 2, 10, 11]\n", + "union(A, B)" + ] }, { "cell_type": "markdown", @@ -148,10 +312,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[-3, 5, 6, 7]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def intersection2(*args):\n", + " LIx = []\n", + " ct = 0\n", + " for a in args[0]:\n", + " for b in range(1, len(args)):\n", + " if a in args[b]:\n", + " ct += 1\n", + " if ct == (len(args) - 1):\n", + " LIx.append(a)\n", + " ct = 0\n", + " LIy = []\n", + " for c in LIx:\n", + " if c not in LIy:\n", + " LIy.append(c)\n", + " return sorted(LIy)\n", + "\n", + "A = [-3, 4, 5, 6, 7]\n", + "B = [-3, 3, 4, 5, 6, 7]\n", + "C = [-3, 9, 3, 5, 6, 7]\n", + "D = [-3, -9, 3, 4, 5, 6, 7]\n", + "\n", + "intersection2(A, B, C, D)" + ] }, { "cell_type": "markdown", @@ -178,6 +376,61 @@ "The **\"matrix\"** funtion must receive two matrices $A$ e $B$ in the specified format and return $A\\times B$" ] }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[[7, 8], [9, 2]]" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def matrix(M1, M2):\n", + " Am = len(M1)\n", + " An = len(M1[0])\n", + " Bm = len(M2)\n", + " An = Bm\n", + " Bn = len(M2[0])\n", + " C = []\n", + " for x in range(Am):\n", + " C.append([])\n", + " if An != Bm:\n", + " print('The multiplication of the two matrices is not possible')\n", + " else:\n", + " c = 0\n", + " d = 0\n", + " for a in range(Am):\n", + " for b in range(Bn):\n", + " for a1 in range(An):\n", + " c = M1[a][a1] * M2[a1][b]\n", + " d += c\n", + " C[a].append(d)\n", + " c = 0\n", + " d = 0\n", + " return C\n", + "\n", + "A = [[3, 2, 1], [1, 0, 2]]\n", + "B = [[1, 2], [0, 1], [4, 0]]\n", + "C = [[3, 3], [5, 5]]\n", + "D = [[6, 6], [7, 7]]\n", + "matrix(A, B)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, @@ -202,7 +455,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, From b10d28cb0cb1c4abaf1cbfd6fde2e321b0b455ca Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sun, 18 Apr 2021 16:56:39 +0200 Subject: [PATCH 08/25] solutions ver1 --- Assigments/Assignment_2.ipynb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Assigments/Assignment_2.ipynb b/Assigments/Assignment_2.ipynb index 2d884427..b4bd4cce 100644 --- a/Assigments/Assignment_2.ipynb +++ b/Assigments/Assignment_2.ipynb @@ -378,7 +378,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 93, "metadata": {}, "outputs": [ { @@ -387,7 +387,7 @@ "[[7, 8], [9, 2]]" ] }, - "execution_count": 92, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } @@ -419,8 +419,6 @@ "\n", "A = [[3, 2, 1], [1, 0, 2]]\n", "B = [[1, 2], [0, 1], [4, 0]]\n", - "C = [[3, 3], [5, 5]]\n", - "D = [[6, 6], [7, 7]]\n", "matrix(A, B)" ] }, From 644c8c6761e6061a7c54ac8175f7796c3c895151 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sun, 18 Apr 2021 23:15:55 +0200 Subject: [PATCH 09/25] new version of solutions. --- Assigments/Assignment_1.ipynb | 291 +++++++++++++++++++++++++--------- 1 file changed, 219 insertions(+), 72 deletions(-) diff --git a/Assigments/Assignment_1.ipynb b/Assigments/Assignment_1.ipynb index 347eff16..6a41cb99 100644 --- a/Assigments/Assignment_1.ipynb +++ b/Assigments/Assignment_1.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -46,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -143,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -178,21 +178,21 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "enter an integer 10\n" + "enter an integer 8\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "3628800\n" + "40320\n" ] } ], @@ -213,18 +213,18 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ + "enter an integer 2\n", "enter an integer 3\n", "enter an integer 4\n", "enter an integer 5\n", - "enter an integer 6\n", - "enter an integer 7\n", + "enter an integer 1\n", "enter an integer 8\n", "enter an integer -1\n" ] @@ -233,7 +233,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "[3, 4, 5, 6, 7, 8, -1] 33\n" + "[2, 3, 4, 5, 1, 8, -1] 23\n" ] } ], @@ -244,24 +244,23 @@ " su.append(x)\n", " if x == -1:\n", " break\n", - "print(su, sum(su[:len(su) - 1]))\n", - "\n" + "print(su, sum(su[:len(su) - 1]))" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ + "enter an integer 2\n", "enter an integer 3\n", "enter an integer 4\n", "enter an integer 5\n", - "enter an integer 6\n", - "enter an integer 7\n", + "enter an integer 1\n", "enter an integer 8\n", "enter an integer -1\n" ] @@ -270,7 +269,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "33\n" + "23\n" ] } ], @@ -294,21 +293,21 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas. Thomas,34.05,25.99\n" + "Enter the first name of an employee, his amount of hours worked and the salary per hour separated by commas. Thomas,78.50,88.98\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Thomas has a total salary of 884.96\n" + "Thomas has a total salary of 6984.93\n" ] } ], @@ -335,7 +334,7 @@ "name": "stdin", "output_type": "stream", "text": [ - "Enter three floats separated by a space 2.0 4.0 6.0\n" + "Enter three floats separated by a space 3.5 6.8 2.9\n" ] } ], @@ -360,7 +359,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "6.0\n" + "5.075\n" ] } ], @@ -385,7 +384,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "113.09724\n" + "26.4207719\n" ] } ], @@ -411,7 +410,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "18.0\n" + "14.935\n" ] } ], @@ -436,7 +435,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "16.0\n" + "46.239999999999995\n" ] } ], @@ -461,7 +460,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "8.0\n" + "23.8\n" ] } ], @@ -479,21 +478,21 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter three values separated by a space 2.0 16.0 3.0\n" + "Enter three values separated by a space 2.5 16.3 4.6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "There are two solutions which are -0.19211344706804567 and -7.807886552931954\n" + "There are two solutions which are -0.29561136151145 and -6.22438863848855\n" ] } ], @@ -516,21 +515,21 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter three values separated by a space 2.0 16.0 3.0\n" + "Enter three values separated by a space 2.5 16.3 4.6\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "There are two solutions which are -0.19211344706804567 and -7.807886552931954\n" + "There are two solutions which are -0.29561136151145 and -6.22438863848855\n" ] } ], @@ -566,22 +565,22 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter the coordinates of the first point as floating point numbers separated by a space 2.0 2.0\n", - "Enter the coordinates of the second point as floating point numbers separated by a space 4.0 4.0\n" + "Enter the coordinates of the first point as floating point numbers separated by a space 2.4 5.6\n", + "Enter the coordinates of the second point as floating point numbers separated by a space 6.7 8.9\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "The distance of the two points is 2.8284271247461903\n" + "The distance of the two points is 5.420332093147062\n" ] } ], @@ -604,21 +603,21 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter the coordinates of a point as floating point numbers separated by a space. 0.0 3.0\n" + "Enter the coordinates of a point as floating point numbers separated by a space. 3.5 0.3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "y axis\n" + "q1\n" ] } ], @@ -653,19 +652,166 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 2, "metadata": {}, "outputs": [ { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'pandas'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mpandas\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_html\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'https://en.wikipedia.org/wiki/Telephone_numbers_in_Europe'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'pandas'" - ] + "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", + "
CountryCountry calling code
0Austria43
1Belgium32
2Bulgaria359
3Croatia385
4Cyprus357
5Czech Republic420
6Denmark45
7Estonia372
8Finland358
9France33
10Germany49
11Greece30
12Hungary36
13Iceland354
14Ireland353
15Italy39
16Latvia371
17Liechtenstein423
18Lithuania370
19Luxembourg352
\n", + "
" + ], + "text/plain": [ + " Country Country calling code\n", + "0 Austria 43\n", + "1 Belgium 32\n", + "2 Bulgaria 359\n", + "3 Croatia 385\n", + "4 Cyprus 357\n", + "5 Czech Republic 420\n", + "6 Denmark 45\n", + "7 Estonia 372\n", + "8 Finland 358\n", + "9 France 33\n", + "10 Germany 49\n", + "11 Greece 30\n", + "12 Hungary 36\n", + "13 Iceland 354\n", + "14 Ireland 353\n", + "15 Italy 39\n", + "16 Latvia 371\n", + "17 Liechtenstein 423\n", + "18 Lithuania 370\n", + "19 Luxembourg 352" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -677,7 +823,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -724,27 +870,27 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter a number 2\n", "Enter a number 3\n", "Enter a number 4\n", "Enter a number -5\n", - "Enter a number -6\n", - "Enter a number -7\n" + "Enter a number 6\n", + "Enter a number -7\n", + "Enter a number 1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Positive numbers entered: 3\n", - "Average of the values: -1.5\n" + "Positive numbers entered: 4\n", + "Average of the values: 0.3\n" ] } ], @@ -763,22 +909,22 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter 6 numbers in a row spearated by a space 2 3 4 -5 -6 -7\n" + "Enter 6 numbers in a row spearated by a space 3 4 -5 6 -7 1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Positive numbers entered: 3\n", - "Average of the values: -1.5\n" + "Positive numbers entered: 4\n", + "Average of the values: 0.3\n" ] } ], @@ -804,14 +950,14 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter an integer 6\n" + "Enter an integer 9\n" ] }, { @@ -820,7 +966,8 @@ "text": [ "4\n", "16\n", - "36\n" + "36\n", + "64\n" ] } ], @@ -840,14 +987,14 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter an integer -4\n" + "Enter an integer -6\n" ] }, { @@ -889,14 +1036,14 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "-10 -7 -2 0 2 8 " + "-10 -9 -2 1 2 10 " ] } ], @@ -925,21 +1072,21 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdin", "output_type": "stream", "text": [ - "Enter 6 integers in random order separated by a space -100 1000 3 200 567 4\n" + "Enter 6 integers in random order separated by a space 34 -10 100 45 2 230\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "-100 3 4 200 567 1000 " + "-10 2 34 45 100 230 " ] } ], From 4c77b61ae2eff41804f91c1ba830f262071b0565 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 4 May 2021 11:32:57 +0200 Subject: [PATCH 10/25] solutions Ass3 var1 --- Assigments/Assignment_3.ipynb | 285 +++++++++++++++++++++++++++++++--- 1 file changed, 266 insertions(+), 19 deletions(-) diff --git a/Assigments/Assignment_3.ipynb b/Assigments/Assignment_3.ipynb index e7a0eb24..76d5fd64 100644 --- a/Assigments/Assignment_3.ipynb +++ b/Assigments/Assignment_3.ipynb @@ -16,10 +16,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(9, 5) (3, 7)\n" + ] + } + ], + "source": [ + "def swap(a, b):\n", + " def swapa(a, b):\n", + " a = (a[0], b[1])\n", + " return a\n", + " def swapb(a, b):\n", + " b = (b[0], a[1])\n", + " return b\n", + " print(swapa(a, b), swapb(a, b), sep=' ')\n", + " \n", + "swap((9,7), (3,5))" + ] }, { "cell_type": "markdown", @@ -30,10 +49,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "5.6" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def dist(point1, point2):\n", + " d = ((point1[0] - point2[0])**2 + (point1[1] - point2[1])**2)**0.5\n", + " return d\n", + " \n", + " \n", + "dist((5, 2.4), (5, 8))" + ] }, { "cell_type": "markdown", @@ -56,10 +93,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 101, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "113.21043286476178" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from math import pi \n", + "class Ball:\n", + " def __init__(self, params):\n", + " self.radius = params[0]\n", + " self.color = params[1]\n", + " def weight(self):\n", + " if self.color == 'blue':\n", + " sv = (4/3) * math.pi * (self.radius ** 3) * 1000\n", + " sa = 4 * math.pi * (self.radius ** 2)\n", + " return (sa + sv) * 0.001\n", + " elif self.color == 'yellow':\n", + " sv = (4/3) * math.pi * (self.radius ** 3) * 1000\n", + " sa = (4 * math.pi * (self.radius ** 2)) * 2\n", + " return (sa + sv) * 0.001\n", + " elif self.color == 'red':\n", + " sv = (4/3) * math.pi * (self.radius ** 3) * 1000\n", + " sa = (4 * math.pi * (self.radius ** 2)) * 3\n", + " return (sa + sv) * 0.001\n", + " \n", + "Ball((3, 'blue')).weight()" + ] }, { "cell_type": "markdown", @@ -83,17 +152,143 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 383, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "'MXLIV'" + ] + }, + "execution_count": 383, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def int_to_Roman(n):\n", + " list1 = 'I', 'V', 'X', 'L', 'C', 'D', 'M' \n", + " list2 = 1, 5, 10, 50, 100, 500, 1000\n", + " Roman = dict(zip(list2, list1))\n", + " if n in Roman:\n", + " return Roman[n]\n", + " if n < 10:\n", + " # rules for 1 - 3 and 5 - 8:\n", + " if 0 < n < 4 or 5 < n < 9:\n", + " return (Roman[5] * (n // 5)) + Roman[1] * (n % 5)\n", + " # rules for 4 and 9:\n", + " elif n % 5 == 4:\n", + " return Roman[1] + Roman[5] * (n // 5 == 0) + Roman[10] * (n // 5 == 1)\n", + " elif 10 < n < 100:\n", + " # rules for 1 - 3 and 5 - 8:\n", + " if 0 < int(str(n)[1]) < 4 or 4 < int(str(n)[1]) < 9:\n", + " b = (Roman[5] * (int(str(n)[1]) // 5)) + Roman[1] * (int(str(n)[1]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[1]) % 5 == 4:\n", + " b = Roman[1] + Roman[5] * (int(str(n)[1]) // 5 == 0) + Roman[10] * (int(str(n)[1]) // 5 == 1)\n", + " else:\n", + " b = ''\n", + " # first digit\n", + " if 0 < int(str(n)[0]) < 4 or 4 < int(str(n)[0]) < 9:\n", + " a = (Roman[50] * (int(str(n)[0]) // 5)) + Roman[10] * (int(str(n)[0]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[0]) % 5 == 4:\n", + " a = Roman[10] + Roman[50] * (int(str(n)[0]) // 5 == 0) + Roman[100] * (int(str(n)[0]) // 5 == 1)\n", + " return a + b \n", + " elif 100 < n < 1000:\n", + " # rules for 1 - 3 and 5 - 8:\n", + " if 0 < int(str(n)[2]) < 4 or 4 < int(str(n)[2]) < 9:\n", + " c = (Roman[5] * (int(str(n)[2]) // 5)) + Roman[1] * (int(str(n)[2]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[2]) % 5 == 4:\n", + " c = Roman[1] + Roman[5] * (int(str(n)[2]) // 5 == 0) + Roman[10] * (int(str(n)[2]) // 5 == 1)\n", + " else:\n", + " c = ''\n", + " # second digit\n", + " if 0 < int(str(n)[1]) < 4 or 4 < int(str(n)[1]) < 9:\n", + " b = (Roman[50] * (int(str(n)[1]) // 5)) + Roman[10] * (int(str(n)[1]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[1]) % 5 == 4:\n", + " b = Roman[10] + Roman[50] * (int(str(n)[1]) // 5 == 0) + Roman[100] * (int(str(n)[1]) // 5 == 1)\n", + " else:\n", + " b = ''\n", + " # first digit\n", + " if 0 < int(str(n)[0]) < 4 or 4 < int(str(n)[0]) < 9:\n", + " a = (Roman[500] * (int(str(n)[0]) // 5)) + Roman[100] * (int(str(n)[0]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[0]) % 5 == 4:\n", + " a = Roman[100] + Roman[500] * (int(str(n)[0]) // 5 == 0) + Roman[1000] * (int(str(n)[0]) // 5 == 1)\n", + " return a + b + c\n", + " elif 1000 < n < 4000:\n", + " # rules for 1 - 3 and 5 - 8:\n", + " if 0 < int(str(n)[3]) < 4 or 4 < int(str(n)[3]) < 9:\n", + " d = (Roman[5] * (int(str(n)[3]) // 5)) + Roman[1] * (int(str(n)[3]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[3]) % 5 == 4:\n", + " d = Roman[1] + Roman[5] * (int(str(n)[3]) // 5 == 0) + Roman[10] * (int(str(n)[3]) // 5 == 1)\n", + " else:\n", + " d = ''\n", + " # second digit\n", + " if 0 < int(str(n)[2]) < 4 or 4 < int(str(n)[2]) < 9:\n", + " c = (Roman[50] * (int(str(n)[1]) // 5)) + Roman[10] * (int(str(n)[1]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[2]) % 5 == 4:\n", + " c = Roman[10] + Roman[50] * (int(str(n)[2]) // 5 == 0) + Roman[100] * (int(str(n)[2]) // 5 == 1)\n", + " else:\n", + " c = ''\n", + " # first digit\n", + " if 0 < int(str(n)[1]) < 4 or 4 < int(str(n)[1]) < 9:\n", + " b = (Roman[500] * (int(str(n)[1]) // 5)) + Roman[100] * (int(str(n)[1]) % 5)\n", + " # rules for 4 and 9:\n", + " elif int(str(n)[1]) % 5 == 4:\n", + " b = Roman[100] + Roman[500] * (int(str(n)[1]) // 5 == 0) + Roman[1000] * (int(str(n)[1]) // 5 == 1)\n", + " else:\n", + " b = ''\n", + " if 0 < int(str(n)[0]) < 4 or 4 < int(str(n)[0]) < 9:\n", + " a = Roman[1000] * (int(str(n)[0]) % 5)\n", + " return a + b + c + d \n", + "\n", + "int_to_Roman(1044)" + ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 382, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "1048" + ] + }, + "execution_count": 382, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def Roman_to_int(rom):\n", + " list1 = 'I', 'V', 'X', 'L', 'C', 'D', 'M' \n", + " list2 = 1, 5, 10, 50, 100, 500, 1000\n", + " ints = dict(zip(list1, list2))\n", + " # defining exceptions\n", + " fournine = ['IV', 'IX', 'XL', 'XC', 'CD', 'CM']\n", + " # looking for exceptions\n", + " dfn = [rom.find(i) for i in fournine if rom.find(i) != -1]\n", + " adfn = [rom[a:a+2] for a in dfn]\n", + " # sum of exceptions\n", + " sum1 = sum([ints[b[1]] - ints[b[0]] for b in adfn])\n", + " # rest of string\n", + " ndfn = [b for b in rom if b not in ''.join(adfn)]\n", + " # sum of rest\n", + " sum2 = sum([ints[a] for a in ndfn])\n", + " # whole sum\n", + " return sum1 + sum2\n", + "\n", + "Roman_to_int('MXLVIII')" + ] }, { "cell_type": "markdown", @@ -112,10 +307,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 401, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "20.0" + ] + }, + "execution_count": 401, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def area(lioop):\n", + " a = 0\n", + " for i in range(len(lioop)):\n", + " a += ((lioop[i][0] * lioop[(i + 1) % len(lioop)][1]) - (lioop[i][1] * lioop[(i + 1) % len(lioop)][0]))\n", + " area = abs(a / 2)\n", + " return area\n", + "\n", + "area([(0,0),(5,0),(13,8)]) " + ] }, { "cell_type": "markdown", @@ -133,6 +348,38 @@ "> [(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]\n" ] }, + { + "cell_type": "code", + "execution_count": 400, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]" + ] + }, + "execution_count": 400, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def matches(l, n):\n", + " lalt = [l[(x + y) % len(l)] for x in range(len(l)) for y in range(len(l))]\n", + " lb = []\n", + " lc = []\n", + " for ni in range(len(lalt)):\n", + " for i in range(n):\n", + " lb.append(lalt[(ni + i) % len(lalt)])\n", + " if tuple(set(lb)) not in lc:\n", + " lc.append(tuple(set(lb)))\n", + " lb = []\n", + " return sorted(lc)\n", + "\n", + "matches([1, 2, 3, 4], 2)" + ] + }, { "cell_type": "code", "execution_count": null, @@ -157,7 +404,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, From 5da4dd507c64065d752ecd262ff9d5eac7cc1755 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 4 May 2021 14:42:25 +0200 Subject: [PATCH 11/25] fixed round --- Assigments/Assignment_3.ipynb | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/Assigments/Assignment_3.ipynb b/Assigments/Assignment_3.ipynb index 76d5fd64..e3dbb494 100644 --- a/Assigments/Assignment_3.ipynb +++ b/Assigments/Assignment_3.ipynb @@ -307,16 +307,16 @@ }, { "cell_type": "code", - "execution_count": 401, + "execution_count": 425, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "20.0" + "28.0" ] }, - "execution_count": 401, + "execution_count": 425, "metadata": {}, "output_type": "execute_result" } @@ -327,9 +327,9 @@ " for i in range(len(lioop)):\n", " a += ((lioop[i][0] * lioop[(i + 1) % len(lioop)][1]) - (lioop[i][1] * lioop[(i + 1) % len(lioop)][0]))\n", " area = abs(a / 2)\n", - " return area\n", + " return round(area, 2)\n", "\n", - "area([(0,0),(5,0),(13,8)]) " + "area([(2,0), (6, 0), (10,4), (0,4)]) " ] }, { @@ -380,6 +380,13 @@ "matches([1, 2, 3, 4], 2)" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "code", "execution_count": null, From d162ec5b644ef78fc0e22a23b89d1b1b6390ba34 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 4 May 2021 14:44:33 +0200 Subject: [PATCH 12/25] little correction --- Assigments/Assignment_3.ipynb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Assigments/Assignment_3.ipynb b/Assigments/Assignment_3.ipynb index e3dbb494..1f5ffa84 100644 --- a/Assigments/Assignment_3.ipynb +++ b/Assigments/Assignment_3.ipynb @@ -350,7 +350,7 @@ }, { "cell_type": "code", - "execution_count": 400, + "execution_count": 429, "metadata": {}, "outputs": [ { @@ -359,7 +359,7 @@ "[(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]" ] }, - "execution_count": 400, + "execution_count": 429, "metadata": {}, "output_type": "execute_result" } @@ -368,14 +368,14 @@ "def matches(l, n):\n", " lalt = [l[(x + y) % len(l)] for x in range(len(l)) for y in range(len(l))]\n", " lb = []\n", - " lc = []\n", + " r = []\n", " for ni in range(len(lalt)):\n", " for i in range(n):\n", " lb.append(lalt[(ni + i) % len(lalt)])\n", - " if tuple(set(lb)) not in lc:\n", - " lc.append(tuple(set(lb)))\n", + " if tuple(set(lb)) not in r:\n", + " r.append(tuple(set(lb)))\n", " lb = []\n", - " return sorted(lc)\n", + " return sorted(r)\n", "\n", "matches([1, 2, 3, 4], 2)" ] From 85c38f1508d4a3a1a18a9c4741a95576a04e446d Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 4 May 2021 18:33:33 +0200 Subject: [PATCH 13/25] solutions ver2 --- Assigments/Assignment_2.ipynb | 114 ++++++++++++++++------------------ 1 file changed, 52 insertions(+), 62 deletions(-) diff --git a/Assigments/Assignment_2.ipynb b/Assigments/Assignment_2.ipynb index b4bd4cce..1c09a52f 100644 --- a/Assigments/Assignment_2.ipynb +++ b/Assigments/Assignment_2.ipynb @@ -20,22 +20,22 @@ "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "[4, 16, 36, 64, 100]\n" - ] + "data": { + "text/plain": [ + "[4, 16, 36, 64, 100]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ "def even_squared(N):\n", - " les = []\n", - " for i in range(1, N + 1):\n", - " if i % 2 == 0:\n", - " les.append(i ** 2)\n", + " les = [i ** 2 for i in range(1, N+1) if i % 2 == 0]\n", " return les\n", "\n", - "print(even_squared(10))" + "even_squared(10)" ] }, { @@ -95,26 +95,26 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 7, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "3\n" - ] + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ "def even_account(LoI):\n", - " count = 0\n", - " for v in LoI:\n", - " if v % 2 == 0:\n", - " count += 1\n", + " count = len([v for v in LoI if v % 2 == 0])\n", " return count\n", "\n", - "print(even_account([2, 3, 4, 5, 6, 1]))" + "even_account([2, 3, 4, 5, 6, 1, 2, 4, 7])" ] }, { @@ -126,25 +126,26 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 9, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "[4, 9, 16, 1, 25]\n" - ] + "data": { + "text/plain": [ + "[4, 9, 16, 1, 100]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ "def squared_list(LOI):\n", - " LOI1 = []\n", - " for v in LOI:\n", - " LOI1.append(v ** 2)\n", + " LOI1 = [v ** 2 for v in LOI]\n", " return LOI1\n", "\n", - "print(squared_list([2, 3, 4, 1, 5]))" + "squared_list([2, 3, 4, 1, 10])" ] }, { @@ -190,28 +191,27 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[10, 20, 30, 6, 4, 7, 8]" + "[3, 4, 5, 6, 10, 100, 200]" ] }, - "execution_count": 10, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "def adding(L, *args):\n", - " for v in args:\n", - " L.append(v)\n", - " return A\n", + "def adding(A, *args):\n", + " A1 = [a for a in args]\n", + " return A + A1\n", "\n", - "A = [10, 20, 30]\n", - "adding(A, 6, 4, 7, 8)" + "A = [3,4,5,6]\n", + "adding(A, 10, 100, 200)" ] }, { @@ -230,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -239,24 +239,23 @@ "[5, 6]" ] }, - "execution_count": 4, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def intersection(L1, L2):\n", - " L3 = []\n", - " for x in L1:\n", - " if x in L2:\n", - " L3.append(x)\n", + " L3 = [x for x in L1 if x in L2]\n", " L4 = []\n", " for y in L3:\n", " if y not in L4:\n", " L4.append(y)\n", " return sorted(L4)\n", - " \n", - "intersection([3, 5, 6,], [5, 5, 6, 6, 2])" + "\n", + "A = [3, 5, 6,]\n", + "B = [5, 5, 6, 6, 2]\n", + "intersection(A, B)" ] }, { @@ -312,7 +311,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -321,7 +320,7 @@ "[-3, 5, 6, 7]" ] }, - "execution_count": 35, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -378,7 +377,7 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -387,7 +386,7 @@ "[[7, 8], [9, 2]]" ] }, - "execution_count": 93, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -399,9 +398,7 @@ " Bm = len(M2)\n", " An = Bm\n", " Bn = len(M2[0])\n", - " C = []\n", - " for x in range(Am):\n", - " C.append([])\n", + " C = [[] for x in range(Am)]\n", " if An != Bm:\n", " print('The multiplication of the two matrices is not possible')\n", " else:\n", @@ -422,13 +419,6 @@ "matrix(A, B)" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "code", "execution_count": null, From dbba942d418d10f7e69d99ddae46c0782a33f98e Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Wed, 12 May 2021 14:57:23 +0200 Subject: [PATCH 14/25] first go at it --- Assigments/Assignment_4.ipynb | 865 +++++++++++++++++++++++++++++++++- 1 file changed, 847 insertions(+), 18 deletions(-) diff --git a/Assigments/Assignment_4.ipynb b/Assigments/Assignment_4.ipynb index feb1e974..3e15a9ac 100644 --- a/Assigments/Assignment_4.ipynb +++ b/Assigments/Assignment_4.ipynb @@ -21,10 +21,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "{'Calculus II': {'A1': 3, 'A2': 4, 'A3': 5},\n", + " 'Programming Language': {'A1': 4, 'A2': 4, 'A3': 5}}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def grades(gra1, gra2):\n", + " ass = ['A1', 'A2', 'A3']\n", + " grades1 = {}\n", + " grades1 = {ass[i]:gra1[i] for i in range(len(ass))}\n", + " grades2 = {}\n", + " grades2 = {ass[i]:gra2[i] for i in range(len(ass))}\n", + " answer = {}\n", + " answer['Calculus II'] = grades1\n", + " answer['Programming Language'] = grades2\n", + " return answer\n", + "\n", + "grades([3, 4, 5], [4, 4, 5])" + ] }, { "cell_type": "markdown", @@ -43,10 +68,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "{'fish': 1, 'beef': 5, 'pork': 8, 'chicken': 10}" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def sorts(d):\n", + " return dict(sorted(d.items(), key=lambda x: x[1]))\n", + "\n", + "sorts({\"fish\":1, \"chicken\":10, \"beef\":5, \"pork\":8})" + ] }, { "cell_type": "markdown", @@ -65,10 +106,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "{'a': 1, 'b': 2, 'e': 5, 'd': 4, 'c': 3, 'f': 6}" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def concatenate(*args):\n", + " answer = {}\n", + " for a in args:\n", + " answer.update(a)\n", + " return answer\n", + "\n", + "concatenate({'a':1,'b':2,'e':5},{'d':4,'c':3,'f':6})" + ] }, { "cell_type": "markdown", @@ -91,10 +151,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class Triangle:\n", + " def __init__(self, A, B, C):\n", + " self.A = A\n", + " self.B = B\n", + " self.C = C\n", + " \n", + " def type(self):\n", + " if len([self.A, self.B, self.C]) != 3:\n", + " return 0\n", + " elif self.A == self.B and self.A == self.C:\n", + " return 1\n", + " \n", + "\n", + "Triangle(5, 5, 5).type() " + ] }, { "cell_type": "markdown", @@ -123,10 +209,111 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 70, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "class Point:\n", + " def __init__(self, x, y):\n", + " self.x = x\n", + " self.y = y\n", + " \n", + " def show(self):\n", + " return self.x, self.y\n", + " \n", + " def move(self, x2, y2):\n", + " self.x += x2\n", + " self.y += y2\n", + " return self.x, self.y\n", + " \n", + " def dist(self, p2):\n", + " d = ((self.x - p2.x) ** 2 + (self.y - p2.y) ** 2) ** 0.5\n", + " return d\n", + " \n", + " \n", + "p1 = Point(2, 3)\n", + "p2 = Point(3, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(2, 3)" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p1.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(12, -7)" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p1.move(10, -10)" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3, 3)" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p2.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "13.45362404707371" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p1.dist(p2)" + ] }, { "cell_type": "markdown", @@ -182,13 +369,655 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 99, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "({'the': 92,\n", + " 'she': 80,\n", + " 'to': 75,\n", + " 'it': 67,\n", + " 'and': 65,\n", + " 'was': 53,\n", + " 'a': 52,\n", + " 'of': 43,\n", + " 'i': 35,\n", + " 'alice': 28},\n", + " {'the': 92,\n", + " 'she': 80,\n", + " 'to': 75,\n", + " 'it': 67,\n", + " 'and': 65,\n", + " 'was': 53,\n", + " 'a': 52,\n", + " 'of': 43,\n", + " 'i': 35,\n", + " 'alice': 28,\n", + " 'that': 27,\n", + " 'her': 26,\n", + " 'in': 26,\n", + " 'down': 23,\n", + " 'very': 23,\n", + " 'but': 22,\n", + " 'for': 21,\n", + " 'had': 20,\n", + " 'you': 19,\n", + " 'not': 16,\n", + " 'on': 15,\n", + " 'little': 15,\n", + " 'so': 14,\n", + " 'as': 14,\n", + " 'be': 13,\n", + " 'out': 13,\n", + " 'way': 13,\n", + " 'this': 13,\n", + " 'herself': 13,\n", + " 'or': 12,\n", + " 'up': 12,\n", + " 'there': 12,\n", + " 'me': 12,\n", + " 'no': 11,\n", + " 'with': 11,\n", + " 'think': 11,\n", + " 'at': 11,\n", + " 'like': 11,\n", + " 'what': 10,\n", + " 'when': 10,\n", + " 'all': 10,\n", + " 'see': 10,\n", + " 'if': 10,\n", + " 'rabbit': 9,\n", + " 'do': 9,\n", + " 'into': 9,\n", + " 'time': 9,\n", + " 'how': 9,\n", + " 'one': 9,\n", + " 'll': 9,\n", + " 'which': 9,\n", + " 'thought': 8,\n", + " 'could': 8,\n", + " 'about': 8,\n", + " 'were': 8,\n", + " 'said': 8,\n", + " 's': 8,\n", + " 'get': 7,\n", + " 'nothing': 7,\n", + " 'well': 7,\n", + " 'would': 7,\n", + " 'went': 7,\n", + " 'found': 7,\n", + " 'eat': 7,\n", + " 'door': 7,\n", + " 'by': 6,\n", + " 'is': 6,\n", + " 'much': 6,\n", + " 'say': 6,\n", + " 'either': 6,\n", + " 'wonder': 6,\n", + " 'going': 6,\n", + " 'they': 6,\n", + " 'off': 6,\n", + " 'through': 6,\n", + " 'key': 6,\n", + " 'use': 5,\n", + " 'suddenly': 5,\n", + " 'shall': 5,\n", + " 'then': 5,\n", + " 'never': 5,\n", + " 'before': 5,\n", + " 'after': 5,\n", + " 'tried': 5,\n", + " 'too': 5,\n", + " 't': 5,\n", + " 'things': 5,\n", + " 'dinah': 5,\n", + " 'my': 5,\n", + " 'table': 5,\n", + " 'hole': 4,\n", + " 'once': 4,\n", + " 'book': 4,\n", + " 'oh': 4,\n", + " 'quite': 4,\n", + " 'looked': 4,\n", + " 'moment': 4,\n", + " 'again': 4,\n", + " 'fell': 4,\n", + " 'first': 4,\n", + " 'here': 4,\n", + " 'upon': 4,\n", + " 'fall': 4,\n", + " 'right': 4,\n", + " 'got': 4,\n", + " 'people': 4,\n", + " 'soon': 4,\n", + " 'might': 4,\n", + " 'cats': 4,\n", + " 'bats': 4,\n", + " 'now': 4,\n", + " 'ever': 4,\n", + " 'hall': 4,\n", + " 'any': 4,\n", + " 'garden': 4,\n", + " 'poor': 4,\n", + " 'bottle': 4,\n", + " 'marked': 4,\n", + " 'having': 3,\n", + " 'pictures': 3,\n", + " 'hot': 3,\n", + " 'getting': 3,\n", + " 'did': 3,\n", + " 'dear': 3,\n", + " 'over': 3,\n", + " 'seemed': 3,\n", + " 'seen': 3,\n", + " 'just': 3,\n", + " 'large': 3,\n", + " 'under': 3,\n", + " 'another': 3,\n", + " 'look': 3,\n", + " 'dark': 3,\n", + " 'from': 3,\n", + " 'such': 3,\n", + " 'even': 3,\n", + " 'come': 3,\n", + " 'sort': 3,\n", + " 'good': 3,\n", + " 'nice': 3,\n", + " 'words': 3,\n", + " 'began': 3,\n", + " 'rather': 3,\n", + " 'them': 3,\n", + " 'know': 3,\n", + " 'remember': 3,\n", + " 'hand': 3,\n", + " 'came': 3,\n", + " 'long': 3,\n", + " 'passage': 3,\n", + " 'round': 3,\n", + " 'trying': 3,\n", + " 'glass': 3,\n", + " 'golden': 3,\n", + " 'small': 3,\n", + " 'however': 3,\n", + " 'head': 3,\n", + " 'drink': 3,\n", + " 'poison': 3,\n", + " 'candle': 3,\n", + " 'cake': 3,\n", + " 'tired': 2,\n", + " 'sister': 2,\n", + " 'conversations': 2,\n", + " 'without': 2,\n", + " 'considering': 2,\n", + " 'own': 2,\n", + " 'mind': 2,\n", + " 'made': 2,\n", + " 'feel': 2,\n", + " 'sleepy': 2,\n", + " 'stupid': 2,\n", + " 'whether': 2,\n", + " 'white': 2,\n", + " 'eyes': 2,\n", + " 'ran': 2,\n", + " 'close': 2,\n", + " 'hear': 2,\n", + " 'late': 2,\n", + " 'have': 2,\n", + " 'took': 2,\n", + " 'watch': 2,\n", + " 'waistcoat': 2,\n", + " 'pocket': 2,\n", + " 'feet': 2,\n", + " 'across': 2,\n", + " 'falling': 2,\n", + " 'deep': 2,\n", + " 'happen': 2,\n", + " 'make': 2,\n", + " 'anything': 2,\n", + " 'noticed': 2,\n", + " 'cupboards': 2,\n", + " 'shelves': 2,\n", + " 'saw': 2,\n", + " 'jar': 2,\n", + " 'great': 2,\n", + " 'put': 2,\n", + " 'why': 2,\n", + " 'top': 2,\n", + " 'an': 2,\n", + " 'end': 2,\n", + " 'many': 2,\n", + " 'miles': 2,\n", + " 've': 2,\n", + " 'must': 2,\n", + " 'somewhere': 2,\n", + " 'earth': 2,\n", + " 'several': 2,\n", + " 'though': 2,\n", + " 'still': 2,\n", + " 'latitude': 2,\n", + " 'longitude': 2,\n", + " 'among': 2,\n", + " 'their': 2,\n", + " 'didn': 2,\n", + " 'ask': 2,\n", + " 'fancy': 2,\n", + " 'air': 2,\n", + " 'should': 2,\n", + " 'wish': 2,\n", + " 'bat': 2,\n", + " 'saying': 2,\n", + " 'sometimes': 2,\n", + " 'felt': 2,\n", + " 'begun': 2,\n", + " 'thump': 2,\n", + " 'bit': 2,\n", + " 'turned': 2,\n", + " 'corner': 2,\n", + " 'ears': 2,\n", + " 'behind': 2,\n", + " 'low': 2,\n", + " 'doors': 2,\n", + " 'other': 2,\n", + " 'alas': 2,\n", + " 'rate': 2,\n", + " 'inches': 2,\n", + " 'high': 2,\n", + " 'opened': 2,\n", + " 'larger': 2,\n", + " 'those': 2,\n", + " 'go': 2,\n", + " 'telescope': 2,\n", + " 'only': 2,\n", + " 'happened': 2,\n", + " 'few': 2,\n", + " 'indeed': 2,\n", + " 'back': 2,\n", + " 'find': 2,\n", + " 'rules': 2,\n", + " 'shutting': 2,\n", + " 'beautifully': 2,\n", + " 'forgotten': 2,\n", + " 'finding': 2,\n", + " 'finished': 2,\n", + " 'curious': 2,\n", + " 'size': 2,\n", + " 'thing': 2,\n", + " 'reach': 2,\n", + " 'generally': 2,\n", + " 'box': 2,\n", + " 'two': 2,\n", + " 'makes': 2,\n", + " 'grow': 2,\n", + " 'can': 2,\n", + " 'happens': 2,\n", + " 'beginning': 1,\n", + " 'sitting': 1,\n", + " 'bank': 1,\n", + " 'twice': 1,\n", + " 'peeped': 1,\n", + " 'reading': 1,\n", + " 'day': 1,\n", + " 'pleasure': 1,\n", + " 'making': 1,\n", + " 'daisy': 1,\n", + " 'chain': 1,\n", + " 'worth': 1,\n", + " 'trouble': 1,\n", + " 'picking': 1,\n", + " 'daisies': 1,\n", + " 'pink': 1,\n", + " 'remarkable': 1,\n", + " 'nor': 1,\n", + " 'itself': 1,\n", + " 'afterwards': 1,\n", + " 'occurred': 1,\n", + " 'ought': 1,\n", + " 'wondered': 1,\n", + " 'natural': 1,\n", + " 'actually': 1,\n", + " 'its': 1,\n", + " 'hurried': 1,\n", + " 'started': 1,\n", + " 'flashed': 1,\n", + " 'take': 1,\n", + " 'burning': 1,\n", + " 'curiosity': 1,\n", + " 'field': 1,\n", + " 'fortunately': 1,\n", + " 'pop': 1,\n", + " 'hedge': 1,\n", + " 'world': 1,\n", + " 'straight': 1,\n", + " 'tunnel': 1,\n", + " 'some': 1,\n", + " 'dipped': 1,\n", + " 'stopping': 1,\n", + " 'slowly': 1,\n", + " 'plenty': 1,\n", + " 'next': 1,\n", + " 'coming': 1,\n", + " 'sides': 1,\n", + " 'filled': 1,\n", + " 'maps': 1,\n", + " 'hung': 1,\n", + " 'pegs': 1,\n", + " 'passed': 1,\n", + " 'labelled': 1,\n", + " 'orange': 1,\n", + " 'marmalade': 1,\n", + " 'disappointment': 1,\n", + " 'empty': 1,\n", + " 'drop': 1,\n", + " 'fear': 1,\n", + " 'killing': 1,\n", + " 'somebody': 1,\n", + " 'underneath': 1,\n", + " 'managed': 1,\n", + " 'past': 1,\n", + " 'tumbling': 1,\n", + " 'stairs': 1,\n", + " 'brave': 1,\n", + " 'home': 1,\n", + " 'wouldn': 1,\n", + " 'house': 1,\n", + " 'likely': 1,\n", + " 'true': 1,\n", + " 'fallen': 1,\n", + " 'aloud': 1,\n", + " 'near': 1,\n", + " 'centre': 1,\n", + " 'let': 1,\n", + " 'four': 1,\n", + " 'thousand': 1,\n", + " 'learnt': 1,\n", + " 'lessons': 1,\n", + " 'schoolroom': 1,\n", + " 'opportunity': 1,\n", + " 'showing': 1,\n", + " 'knowledge': 1,\n", + " 'listen': 1,\n", + " 'practice': 1,\n", + " 'yes': 1,\n", + " 'distance': 1,\n", + " 'idea': 1,\n", + " 'grand': 1,\n", + " 'presently': 1,\n", + " 'funny': 1,\n", + " 'seem': 1,\n", + " 'walk': 1,\n", + " 'heads': 1,\n", + " 'downward': 1,\n", + " 'antipathies': 1,\n", + " 'glad': 1,\n", + " 'listening': 1,\n", + " 'sound': 1,\n", + " 'word': 1,\n", + " 'name': 1,\n", + " 'country': 1,\n", + " 'please': 1,\n", + " 'ma': 1,\n", + " 'am': 1,\n", + " 'new': 1,\n", + " 'zealand': 1,\n", + " 'australia': 1,\n", + " 'curtsey': 1,\n", + " 'spoke': 1,\n", + " 'curtseying': 1,\n", + " 're': 1,\n", + " 'manage': 1,\n", + " 'ignorant': 1,\n", + " 'girl': 1,\n", + " 'asking': 1,\n", + " 'perhaps': 1,\n", + " 'written': 1,\n", + " 'else': 1,\n", + " 'talking': 1,\n", + " 'miss': 1,\n", + " 'night': 1,\n", + " 'cat': 1,\n", + " 'hope': 1,\n", + " 'saucer': 1,\n", + " 'milk': 1,\n", + " 'tea': 1,\n", + " 'are': 1,\n", + " 'mice': 1,\n", + " 'm': 1,\n", + " 'afraid': 1,\n", + " 'catch': 1,\n", + " 'mouse': 1,\n", + " 'dreamy': 1,\n", + " 'couldn': 1,\n", + " 'answer': 1,\n", + " 'question': 1,\n", + " 'matter': 1,\n", + " 'dozing': 1,\n", + " 'dream': 1,\n", + " 'walking': 1,\n", + " 'earnestly': 1,\n", + " 'tell': 1,\n", + " 'truth': 1,\n", + " 'heap': 1,\n", + " 'sticks': 1,\n", + " 'dry': 1,\n", + " 'leaves': 1,\n", + " 'hurt': 1,\n", + " 'jumped': 1,\n", + " 'overhead': 1,\n", + " 'sight': 1,\n", + " 'hurrying': 1,\n", + " 'lost': 1,\n", + " 'away': 1,\n", + " 'wind': 1,\n", + " 'whiskers': 1,\n", + " 'longer': 1,\n", + " 'lit': 1,\n", + " 'row': 1,\n", + " 'lamps': 1,\n", + " 'hanging': 1,\n", + " 'roof': 1,\n", + " 'locked': 1,\n", + " 'been': 1,\n", + " 'side': 1,\n", + " 'every': 1,\n", + " 'walked': 1,\n", + " 'sadly': 1,\n", + " 'middle': 1,\n", + " 'wondering': 1,\n", + " 'three': 1,\n", + " 'legged': 1,\n", + " 'solid': 1,\n", + " 'except': 1,\n", + " 'tiny': 1,\n", + " 'belong': 1,\n", + " 'locks': 1,\n", + " 'open': 1,\n", + " 'second': 1,\n", + " 'curtain': 1,\n", + " 'fifteen': 1,\n", + " 'lock': 1,\n", + " 'delight': 1,\n", + " 'fitted': 1,\n", + " 'led': 1,\n", + " 'than': 1,\n", + " 'rat': 1,\n", + " 'knelt': 1,\n", + " 'along': 1,\n", + " 'loveliest': 1,\n", + " 'longed': 1,\n", + " 'wander': 1,\n", + " 'beds': 1,\n", + " 'bright': 1,\n", + " 'flowers': 1,\n", + " 'cool': 1,\n", + " 'fountains': 1,\n", + " 'doorway': 1,\n", + " 'shoulders': 1,\n", + " 'shut': 1,\n", + " 'knew': 1,\n", + " 'begin': 1,\n", + " 'lately': 1,\n", + " 'really': 1,\n", + " 'impossible': 1,\n", + " 'waiting': 1,\n", + " 'half': 1,\n", + " 'hoping': 1,\n", + " 'telescopes': 1,\n", + " 'certainly': 1,\n", + " 'neck': 1,\n", + " 'paper': 1,\n", + " 'label': 1,\n", + " 'printed': 1,\n", + " 'letters': 1,\n", + " 'wise': 1,\n", + " 'hurry': 1,\n", + " 'read': 1,\n", + " 'histories': 1,\n", + " 'children': 1,\n", + " 'who': 1,\n", + " 'burnt': 1,\n", + " 'eaten': 1,\n", + " 'wild': 1,\n", + " 'beasts': 1,\n", + " 'unpleasant': 1,\n", + " 'because': 1,\n", + " 'simple': 1,\n", + " 'friends': 1,\n", + " 'taught': 1,\n", + " 'red': 1,\n", + " 'poker': 1,\n", + " 'will': 1,\n", + " 'burn': 1,\n", + " 'hold': 1,\n", + " 'cut': 1,\n", + " 'your': 1,\n", + " 'finger': 1,\n", + " 'deeply': 1,\n", + " 'knife': 1,\n", + " 'usually': 1,\n", + " 'bleeds': 1,\n", + " 'almost': 1,\n", + " 'certain': 1,\n", + " 'disagree': 1,\n", + " 'sooner': 1,\n", + " 'later': 1,\n", + " 'ventured': 1,\n", + " 'taste': 1,\n", + " 'fact': 1,\n", + " 'mixed': 1,\n", + " 'flavour': 1,\n", + " 'cherry': 1,\n", + " 'tart': 1,\n", + " 'custard': 1,\n", + " 'pine': 1,\n", + " 'apple': 1,\n", + " 'roast': 1,\n", + " 'turkey': 1,\n", + " 'toffee': 1,\n", + " 'buttered': 1,\n", + " 'toast': 1,\n", + " 'feeling': 1,\n", + " 'ten': 1,\n", + " 'face': 1,\n", + " 'brightened': 1,\n", + " 'lovely': 1,\n", + " 'waited': 1,\n", + " 'minutes': 1,\n", + " 'shrink': 1,\n", + " 'further': 1,\n", + " 'nervous': 1,\n", + " 'altogether': 1,\n", + " 'flame': 1,\n", + " 'blown': 1,\n", + " 'while': 1,\n", + " 'more': 1,\n", + " 'decided': 1,\n", + " 'possibly': 1,\n", + " 'plainly': 1,\n", + " 'best': 1,\n", + " 'climb': 1,\n", + " 'legs': 1,\n", + " 'slippery': 1,\n", + " 'sat': 1,\n", + " 'cried': 1,\n", + " 'crying': 1,\n", + " 'sharply': 1,\n", + " 'advise': 1,\n", + " 'leave': 1,\n", + " 'minute': 1,\n", + " 'gave': 1,\n", + " 'advice': 1,\n", + " 'seldom': 1,\n", + " 'followed': 1,\n", + " 'scolded': 1,\n", + " 'severely': 1,\n", + " 'bring': 1,\n", + " 'tears': 1,\n", + " 'remembered': 1,\n", + " 'cheated': 1,\n", + " 'game': 1,\n", + " 'croquet': 1,\n", + " 'playing': 1,\n", + " 'against': 1,\n", + " 'child': 1,\n", + " 'fond': 1,\n", + " 'pretending': 1,\n", + " 'pretend': 1,\n", + " 'hardly': 1,\n", + " 'enough': 1,\n", + " 'left': 1,\n", + " 'respectable': 1,\n", + " 'person': 1,\n", + " 'eye': 1,\n", + " 'lying': 1,\n", + " 'currants': 1,\n", + " 'smaller': 1,\n", + " 'creep': 1,\n", + " 'don': 1,\n", + " 'care': 1,\n", + " 'ate': 1,\n", + " 'anxiously': 1,\n", + " 'holding': 1,\n", + " 'growing': 1,\n", + " 'surprised': 1,\n", + " 'remained': 1,\n", + " 'same': 1,\n", + " 'sure': 1,\n", + " 'eats': 1,\n", + " 'expecting': 1,\n", + " 'dull': 1,\n", + " 'life': 1,\n", + " 'common': 1,\n", + " 'set': 1,\n", + " 'work': 1})" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def read_text():\n", " with open('../Data/TXT/alice.txt','r') as f:\n", - " alice = f.read()" + " alice = f.read()\n", + " words = {}\n", + " for w in alice.split():\n", + " if w not in words:\n", + " words[w] = 1\n", + " else:\n", + " words[w] += 1\n", + " topten = {}\n", + " words = dict(sorted(words.items(), key=lambda x: x[1], reverse=True))\n", + " for l, x in enumerate(words):\n", + " if l > 9:\n", + " break\n", + " else:\n", + " topten[x] = words[x]\n", + " return topten, words\n", + "\n", + "read_text()" ] }, { @@ -215,7 +1044,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, From 5d746ff9703a8b45dd9edb89648bd69163bd5df3 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Fri, 14 May 2021 10:15:58 +0200 Subject: [PATCH 15/25] save befor merge --- Assigments/Assignment_1.ipynb | 4 ++-- Assigments/Assignment_3.ipynb | 22 +++++++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Assigments/Assignment_1.ipynb b/Assigments/Assignment_1.ipynb index 6a41cb99..7b97a8da 100644 --- a/Assigments/Assignment_1.ipynb +++ b/Assigments/Assignment_1.ipynb @@ -652,7 +652,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -809,7 +809,7 @@ "19 Luxembourg 352" ] }, - "execution_count": 2, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } diff --git a/Assigments/Assignment_3.ipynb b/Assigments/Assignment_3.ipynb index 1f5ffa84..b38c4c2a 100644 --- a/Assigments/Assignment_3.ipynb +++ b/Assigments/Assignment_3.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -252,6 +252,15 @@ "int_to_Roman(1044)" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# first solve then optimize" + ] + }, { "cell_type": "code", "execution_count": 382, @@ -290,6 +299,17 @@ "Roman_to_int('MXLVIII')" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# test for specific cases\n", + "# release early, release often\n", + "# what kind of errors?" + ] + }, { "cell_type": "markdown", "metadata": {}, From 4be8a74b72943b3fcff3e28c9c50ac2d5de571ce Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Fri, 14 May 2021 10:22:32 +0200 Subject: [PATCH 16/25] another save --- Notebooks/01_Python_Datatypes.ipynb | 6 +- Notebooks/02_Flow_Control.ipynb | 26 +- Notebooks/03_Functions.ipynb | 235 +++++++++++++++--- .../16_Pandas_Descriptive_statistic.ipynb | 2 +- 4 files changed, 211 insertions(+), 58 deletions(-) diff --git a/Notebooks/01_Python_Datatypes.ipynb b/Notebooks/01_Python_Datatypes.ipynb index a3d3da5a..2a2647f6 100644 --- a/Notebooks/01_Python_Datatypes.ipynb +++ b/Notebooks/01_Python_Datatypes.ipynb @@ -95,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -111,7 +111,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -120,7 +120,7 @@ "int" ] }, - "execution_count": 2, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } diff --git a/Notebooks/02_Flow_Control.ipynb b/Notebooks/02_Flow_Control.ipynb index 1433bc6d..ac49a032 100644 --- a/Notebooks/02_Flow_Control.ipynb +++ b/Notebooks/02_Flow_Control.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -656,14 +656,14 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "linux\n" + "darwin\n" ] } ], @@ -673,23 +673,11 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 9, "metadata": {}, - "outputs": [ - { - "ename": "AssertionError", - "evalue": "This code runs on Linux only.", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m'windows'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatform\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"This code runs on Linux only.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;31m#assert ('linux' in sys.platform), \"This code runs on Linux only.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mAssertionError\u001b[0m: This code runs on Linux only." - ] - } - ], + "outputs": [], "source": [ - "assert ('windows' in sys.platform), \"This code runs on Linux only.\"\n", + "assert ('darwin' in sys.platform), \"This code runs on Linux only.\"\n", "#assert ('linux' in sys.platform), \"This code runs on Linux only.\"" ] }, @@ -939,7 +927,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.5" + "version": "3.9.2" } }, "nbformat": 4, diff --git a/Notebooks/03_Functions.ipynb b/Notebooks/03_Functions.ipynb index 5dc53185..b132ce63 100644 --- a/Notebooks/03_Functions.ipynb +++ b/Notebooks/03_Functions.ipynb @@ -399,19 +399,19 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "def many_args(*args):\n", " print(f\"the tuple contaims {len(args)} arguments\")\n", " for arg in args:\n", - " print(arg)" + " print(arg, end=' ')" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -419,12 +419,7 @@ "output_type": "stream", "text": [ "the tuple contaims 6 arguments\n", - "5\n", - "1\n", - "2\n", - "string\n", - "6\n", - "(2+5j)\n" + "5 1 2 string 6 (2+5j) " ] } ], @@ -685,7 +680,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -696,7 +691,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -714,7 +709,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -732,20 +727,23 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ + "The umidity is low\n", + "The weather forecast is sunny\n", "The umidity is low\n", "The weather forecast is sunny\n" ] } ], "source": [ - "forecast(umidity = 'low', weather='sunny')" + "forecast(umidity = 'low', weather='sunny')\n", + "forecast('sunny', 'low')" ] }, { @@ -757,7 +755,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 80, "metadata": {}, "outputs": [ { @@ -765,7 +763,7 @@ "output_type": "stream", "text": [ "9227465\n", - "1.2516372203826904\n" + "2.03210186958313\n" ] } ], @@ -917,7 +915,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 34, "metadata": {}, "outputs": [], "source": [ @@ -929,16 +927,16 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 42, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -951,6 +949,53 @@ "cell_type": "code", "execution_count": 43, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "25" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def gen(num):\n", + " while True:\n", + " yield num**2\n", + " num += 1\n", + " \n", + " \n", + "a = gen(5)\n", + "next(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "64" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, "outputs": [], "source": [ "gen1 = squares(5)\n", @@ -986,14 +1031,14 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "25\n" + "49\n" ] } ], @@ -1191,7 +1236,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -1205,26 +1250,30 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "*****************************************\n", "***************************************\n", "*************************************\n", - "*****************************************\n", - "*****************************************\n", + "************************************\n", "***************************************\n", - "******************************************\n", - "The winner is Malhado!\n", - "[41, 39, 37, 41, 41, 39, 42]\n" + "*****************************************\n", + "**************************************\n", + "****************************************\n", + "The winner is Pepper!\n", + "[39, 37, 36, 39, 41, 38, 40]\n" ] } ], "source": [ + "import random \n", + "import time\n", + "from IPython.display import clear_output\n", + "\n", "Apollo = horse()\n", "Rosie = horse()\n", "Dexter = horse()\n", @@ -1235,9 +1284,10 @@ "\n", "horses = [Apollo, Rosie, Dexter, Connie, Pepper, Bobby, Malhado]\n", "\n", + "\n", "while True:\n", " positions = []\n", - " clear_output()\n", + " clear_output(wait=True)\n", " for racer in horses:\n", " positions.append(next(racer))\n", " for position in positions:\n", @@ -1251,6 +1301,21 @@ "print(positions)" ] }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n" + ] + } + ], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -1385,7 +1450,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -1457,12 +1522,112 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "TypeError", + "evalue": "can only concatenate str (not \"int\") to str", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mnewaddTwo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'two'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mnewaddTwo\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mnewaddTwo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" + ] + } + ], "source": [ "newaddTwo('two')" ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def pow2(N):\n", + " while True:\n", + " yield N**2\n", + " N += 1\n", + "\n", + " \n", + "mult2(8)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(mult2(8))" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "36\n", + "49\n", + "64\n", + "81\n", + "100\n", + "121\n", + "144\n", + "169\n", + "196\n", + "225\n", + "256\n", + "289\n", + "324\n", + "361\n", + "400\n", + "441\n" + ] + } + ], + "source": [ + "gen3 = pow2(6)\n", + "for i in range(16):\n", + " print(next(gen3))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -1481,7 +1646,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.9.2" } }, "nbformat": 4, diff --git a/Notebooks/16_Pandas_Descriptive_statistic.ipynb b/Notebooks/16_Pandas_Descriptive_statistic.ipynb index 108d8c15..30a71c7f 100644 --- a/Notebooks/16_Pandas_Descriptive_statistic.ipynb +++ b/Notebooks/16_Pandas_Descriptive_statistic.ipynb @@ -2158,7 +2158,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.6" + "version": "3.9.2" } }, "nbformat": 4, From 85422f10d8e32d5008888061761ff8a7ab5f69ca Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Fri, 14 May 2021 11:18:44 +0200 Subject: [PATCH 17/25] bring back --- .../16_Pandas_Descriptive_statistic.ipynb | 2166 +++++++++++++++++ 1 file changed, 2166 insertions(+) create mode 100644 Notebooks/16_Pandas_Descriptive_statistic.ipynb diff --git a/Notebooks/16_Pandas_Descriptive_statistic.ipynb b/Notebooks/16_Pandas_Descriptive_statistic.ipynb new file mode 100644 index 00000000..30a71c7f --- /dev/null +++ b/Notebooks/16_Pandas_Descriptive_statistic.ipynb @@ -0,0 +1,2166 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction to Python \n", + "\n", + "### Pandas Descriptive Statistics and Visualization" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Reading Dataframe from Excel" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "id": "_A1F6vrCL8ZQ", + "outputId": "74993dc2-e50b-426e-886a-e4627e9397d7" + }, + "outputs": [], + "source": [ + "dfvote = pd.read_excel(os.path.join('../Data','votesurvey.xls'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### First steps examining data" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "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", + "
GenderAgeSalary before SternExpected salaryCandidate
0Male2760000110000Bush
1Male30125000125000Bush
2Male2750000120000Bush
3Male2656000100000Bush
4Male2782000100000Bush
5Male32150000150000Bush
\n", + "
" + ], + "text/plain": [ + " Gender Age Salary before Stern Expected salary Candidate\n", + "0 Male 27 60000 110000 Bush\n", + "1 Male 30 125000 125000 Bush\n", + "2 Male 27 50000 120000 Bush\n", + "3 Male 26 56000 100000 Bush\n", + "4 Male 27 82000 100000 Bush\n", + "5 Male 32 150000 150000 Bush" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfvote.head(6)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
GenderAgeSalary before SternExpected salaryCandidate
44Female275600095000Undecided
45Male2890000150000Undecided
46Female2765000100000Undecided
47Male293900090000Undecided
\n", + "
" + ], + "text/plain": [ + " Gender Age Salary before Stern Expected salary Candidate\n", + "44 Female 27 56000 95000 Undecided\n", + "45 Male 28 90000 150000 Undecided\n", + "46 Female 27 65000 100000 Undecided\n", + "47 Male 29 39000 90000 Undecided" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfvote.tail(4)" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 48 entries, 0 to 47\n", + "Data columns (total 5 columns):\n", + "Gender 48 non-null object\n", + "Age 48 non-null int64\n", + "Salary before Stern 48 non-null int64\n", + "Expected salary 48 non-null int64\n", + "Candidate 48 non-null object\n", + "dtypes: int64(3), object(2)\n", + "memory usage: 2.0+ KB\n" + ] + } + ], + "source": [ + "dfvote.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AgeSalary before SternExpected salary
count48.00000048.00000048.000000
mean27.18750070145.833333109166.666667
std2.03852537886.72342725730.463221
min24.0000005000.00000075000.000000
25%25.75000048750.00000090000.000000
50%27.00000059500.000000100000.000000
75%29.00000080500.000000121250.000000
max33.000000225000.000000180000.000000
\n", + "
" + ], + "text/plain": [ + " Age Salary before Stern Expected salary\n", + "count 48.000000 48.000000 48.000000\n", + "mean 27.187500 70145.833333 109166.666667\n", + "std 2.038525 37886.723427 25730.463221\n", + "min 24.000000 5000.000000 75000.000000\n", + "25% 25.750000 48750.000000 90000.000000\n", + "50% 27.000000 59500.000000 100000.000000\n", + "75% 29.000000 80500.000000 121250.000000\n", + "max 33.000000 225000.000000 180000.000000" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfvote.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "K1wsHQAnL8ZV" + }, + "source": [ + "### Plotting: Histogram " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "8mjoMA6wL8ZW", + "outputId": "5b53a59f-ea7a-4963-9dee-2ce0acfbe1e6" + }, + "outputs": [ + { + "data": { + "image/png": "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VvNI3WuSPHyPx85Nclx33yfJPyV59iruHwAA4KC3alHX3e9Jcu0ej72ru2+e3X1/krut1v4BAADWgynfU/fzSf5qwv0DAAAMr7p79V68anOSc7r7uD0e//UkW5I8tpcYoKpOSXJKkmzatOmE7du3r9qct9Q1116Xq78w9RTr0/HHHDn1CEPYtWtXNm7cOPUYsCRrlLXOGmWts0bXj23btu3s7i1727Zh3sNU1clJHpXkYUsFXZJ095lJzkySLVu29NatW+cz4H546Vln54xL5v5bSJIrTto69QhD2LFjR9binx3YzRplrbNGWeusUZI5R11VPTzJs5L8SHd/fp77BgAAOBit5kcavD7J3ye5V1V9qqqemuQPkxyR5NyquqiqXrFa+wcAAFgPVu1IXXefuJeHX7la+wMAAFiPprz6JQAAAN8kUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADCwVYu6qnpVVV1TVR9a9Ni3VtW5VfXR2a9Hrdb+AQAA1oPVPFL3miQP3+Ox05L8bXd/Z5K/nd0HAADgFlq1qOvu9yS5do+HfyrJa2e3X5vkMau1fwAAgPVg3u+p29TdVybJ7Nc7zXn/AAAAB5Xq7tV78arNSc7p7uNm9z/X3bdftP2z3b3X99VV1SlJTkmSTZs2nbB9+/ZVm/OWuuba63L1F6aeYn06/pgjpx5hCLt27crGjRunHgOWZI2y1lmjrHXW6Pqxbdu2nd29ZW/bNsx5lqur6i7dfWVV3SXJNUs9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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Using Matplotlib calls\n", + "\n", + "fig = plt.figure(figsize=(15,8))\n", + "#Create one or more subplots using add_subplot, because you can't create blank figure\n", + "ax = fig.add_subplot(1,1,1)\n", + "\n", + "#Variable\n", + "ax.hist(dfvote['Age'],bins = 8) # Here you can play with number of bins Labels and Tit\n", + "\n", + "plt.title('Age distribution')\n", + "plt.xlabel('Age')\n", + "plt.ylabel('#Citizens')\n", + "plt.grid()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "id": "THnZpgO-L8ZY", + "outputId": "725871b6-2c2d-4407-8778-fc032211ff13" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plotting within Pandas\n", + "\n", + "dfvote.Age.hist(figsize=(15,8), bins=8);" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "id": "ckyox8U5L8Za", + "outputId": "4ca012e0-594f-4081-8b6c-3b633d4b2234" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Using Matplotlib calls\n", + "\n", + "fig = plt.figure(figsize=(15,8))\n", + "ax = fig.add_subplot(1,1,1)\n", + "\n", + "ax.boxplot(dfvote['Age'])\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "K7jcd1MbL8ZY" + }, + "source": [ + "### Box Plot " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "id": "wRP_I20RL8Zc", + "outputId": "0f5c7bbf-f077-43c0-83bc-dbe24160c901" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/conda/lib/python3.7/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", + " return array(a, dtype, copy=False, order=order)\n", + "/opt/conda/lib/python3.7/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", + " return array(a, dtype, copy=False, order=order)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Plotting within Pandas\n", + "\n", + "dfvote.boxplot(by='Age', figsize=(15,8));" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-wNQLVtZL8Zd" + }, + "source": [ + "### Violin Plot (using Seaborn) " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "id": "_39rh8npL8Ze", + "outputId": "a476add0-dd75-4287-c4f2-99479a926bf1" + }, + "outputs": [ + { + "data": { + "image/png": "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lt7eXrq7uwmHw3/xJxKJ4HK5vvzjdrtxu91kZGR8+Sc1NVUL0oiIiMiYpWAUkVHNGPNl/ImIiIjImXE5PYCIiIiIiIgMTwpGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAZkrLVOz+AoY0wrcHiIP+0E4OQQf04ZfNqvo5P26+ik/To6ab+OTtqvo5P26/By0lq7ZKANYz4YnWCM2WytrXN6Djm3tF9HJ+3X0Un7dXTSfh2dtF9HJ+3XkUOHpIqIiIiIiMiAFIwiIiIiIiIyIAWjMx5yegAZFNqvo5P26+ik/To6ab+OTtqvo5P26wihcxhFRERERERkQHqHUURERERERAakYBxExpgyY8waY8wuY8xOY8w/9d/+L8aYPcaYz40xrxhjspyeVc5Msn172vb/2RhjjTETnJpRzty37VdjzG/6H7c7jTH/r5Nzypn5lp/Fc4wx640xnxljNhtjFjo9q3x3xpgUY8xGY8y2/v36f/bfXmmM2WCMqTfGvGCM8Tk9q3x337Jflxpj9hpjdhhjHjPGeJ2eVb67ZPv1tO2/Ncb0ODWffDsdkjqIjDFFQJG19lNjTCawBfghUAqsttZGjTH/DcBa+785OKqcoWT71lq7yxhTBjwC1ADzrbW6xtAI8S2P2QLgPwHXWWvDxph8a22Lk7PKd/ct+/V/AP9qrV1pjLkW+A/W2sscHFXOgDHGAOnW2p7+eFgL/BPwPwHLrbXPG2P+BGyz1j7g5Kzy3X3Lfs0BVvbf7VngQ+3XkSPZfrXWrjfG1JHYxz+y1mY4OqgMSO8wDiJrbbO19tP+j7uB3UCJtfYda220/27rSQSkjCDJ9m3/5n8F/gOgV2NGmG/Zr78E/h9rbbh/m2JxBPmW/WqBcf13Gw80OTOhnA2b8MU7Et7+Pxa4Ani5//YnSbw4ICNEsv1qrX2rf5sFNqLnTiNKsv1qjHED/0LieZMMUwrGIWKMmQjMBTZ8bdPP+OoVMxmBTt+3xpibgGPW2m2ODiXf29ces1OARf2HuX1gjFng5Gxy9r62X/8d8C/GmKPA/wf8s3OTydkwxriNMZ8BLcAq4ADQcdqLso189WKejBBf36/W2g2nbfMC9wBvOzWfnJ0k+/XXwOvW2mZnp5Nvo2AcAsaYDGAZ8O+stV2n3f6fgCiw1KnZ5Ps5fd+S2Jf/EfjfHR1KvrcBHrMeEodDnQ/8r8CL/YfXyAgywH79JfDvrbVlwL8HHnVyPjlz1tqYtXYOiXebFpI4FUBGuK/vV2NM7Wmb/0jicNSPnJlOztYA+/US4MfA75ydTP4aBeMg638lbBmw1Fq7/LTb/w64HrjL6kTSEWmAfVsNVALbjDGHSPxA/NQYU+jclHKmkjxmG0mcE2WttRuBOKAFjUaQJPv1b4EvPn6JRHDICGSt7QDWABcAWcYYT/+mUuCYY4PJ93Lafl0CYIz5P4A8Euepygh12n69HJgE1Pc/b0ozxtQ7OZsMTME4iPrfgXgU2G2t/e+n3b6ExLHaN1prA07NJ2dvoH1rrd1urc231k601k4kERnzrLXHHRxVzkCyxyzwKolfbBhjpgA+QIsZjRDfsl+bgEv7P74C2D/Us8nZM8bkfbHKuDEmFbiKxPmpa4Bb+u/2t8BrzkwoZyPJft1jjLkXuBq4w1obd3JGOXNJ9usWa23hac+bAtbaSU7OKQPTKqmDyBhzMfARsJ3EOxKQOGTxt4AfONV/23pr7S+GfkI5W8n2rbX2rdPucwio0yqpI8e3PGbfBR4D5gB9wP9irV3tyJByxr5lv3YB/0bikOMQ8Ctr7RZHhpQzZoyZRWJRGzeJF8BftNb+F2NMFfA8icPItwJ3f7FglQx/37Jfo8BhoLv/rsuttf/FoTHlDCXbr1+7T49WSR2eFIwiIiIiIiIyIB2SKiIiIiIiIgNSMIqIiIiIiMiAFIwiIiIiIiIyIAWjiIiIiIiIDEjBKCIiIiIiIgNSMIqIiAwyY8wPjTHWGFPj9CwiIiJnQsEoIiIy+O4A1vb/LSIiMmIoGEVERAaRMSYDuBj4e+D2/ttcxpg/GmP2GGNWGWPeMsbc0r9tvjHmA2PMFmPMn40xRQ6OLyIiY5yCUUREZHDdBLxtrd0HnDLGzAduBiYC04F7gAsAjDFe4HfALdba+cBjwH91YmgREREAj9MDiIiIjHJ3AP/W//Hz/f/tAV6y1saB48aYNf3bpwK1wCpjDIAbaB7acUVERL6iYBQRERkkxpgc4ApgpjHGkghAC7yS7J8AO621FwzRiCIiIt9Kh6SKiIgMnluAp621FdbaidbaMuAg0Ab8Tf+5jAXAZf333wvkGWO+PETVGDPDicFFRERAwSgiIjKY7uCb7yYuAwqBRmAX8AzwKdBpre0jEZn/zRizDfgMuHDoxhUREflLxlrr9AwiIiJjjjEmw1rbY4zJBTYCF1lrjzs9l4iIyOl0DqOIiIgz3jTGZAE+4P9SLIqIyHCkdxhFRERERERkQDqHUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEB/f8UxAowqGcNYwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(15,8))\n", + "\n", + "sns.violinplot(dfvote['Age'], dfvote['Gender'])\n", + "\n", + "sns.despine()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "jL_NbWFOL8Zf" + }, + "source": [ + "### Bar Chart " + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
GenderAgeSalary before SternExpected salaryCandidate
0Male2760000110000Bush
1Male30125000125000Bush
2Male2750000120000Bush
3Male2656000100000Bush
4Male2782000100000Bush
6Female2455000100000Bush
10Female245900090000Bush
19Female2972000120000Gore
22Female26150000180000Gore
23Female254500085000Gore
\n", + "
" + ], + "text/plain": [ + " Gender Age Salary before Stern Expected salary Candidate\n", + "0 Male 27 60000 110000 Bush\n", + "1 Male 30 125000 125000 Bush\n", + "2 Male 27 50000 120000 Bush\n", + "3 Male 26 56000 100000 Bush\n", + "4 Male 27 82000 100000 Bush\n", + "6 Female 24 55000 100000 Bush\n", + "10 Female 24 59000 90000 Bush\n", + "19 Female 29 72000 120000 Gore\n", + "22 Female 26 150000 180000 Gore\n", + "23 Female 25 45000 85000 Gore" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfvote.groupby('Gender').head()" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "id": "VEM-ndjsL8Zf", + "outputId": "f2e37e4b-08b6-4de0-dec8-3d5fb33fb585" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2cAAAIsCAYAAAB2o9F+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de7Sld13f8c+XXEiABAKZxKCBYArhTi7DzUTkXiIqxKLI4lawhFooIK66EOkiVpelVrCt0kAwYMQUgQISATExIjEtt0mIJCGwQAgISZMJQYgQIZdv/9jP4DHMZCbnzMzz23Ner7XOOnv/9j5nf+ePvWbe8zzPb1d3BwAAgHndbu4BAAAAEGcAAABDEGcAAAADEGcAAAADEGcAAAAD2Ht3vtjBBx/cRxxxxO58SQAAgGFccMEF13T3hq09tlvj7IgjjsimTZt250sCAAAMo6q+tK3HnNYIAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwgL3nHgBY3454xfvnHoFbcflrnjz3CGyH99DYvIeA28KRMwAAgAE4cgYAwLrl6PP41tMRaEfOAAAABiDOAAAABuC0xjVwGHx86+kwOAAAy82RMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAFsN86q6vCq+lBVXVZVl1bVS6f1U6rqq1V10fT147t+XAAAgD3T3jvwnBuT/FJ3X1hVByS5oKrOmR77ne7+7V03HgAAwPqw3Tjr7iuTXDndvq6qLkvyg7t6MAAAgPXkNl1zVlVHJDkmycempRdX1aeq6s1VddA2fubkqtpUVZs2b968pmEBAAD2VDscZ1V1pyTvSvKy7v5mklOTHJnk6CyOrL12az/X3ad198bu3rhhw4adMDIAAMCeZ4firKr2ySLMzuzudydJd1/V3Td1981J3pTkYbtuTAAAgD3bjuzWWElOT3JZd79uxfphK552UpJLdv54AAAA68OO7NZ4fJJnJ7m4qi6a1l6Z5BlVdXSSTnJ5khfukgkBAADWgR3ZrfH8JLWVhz6w88cBAABYn27Tbo0AAADsGuIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgANuNs6o6vKo+VFWXVdWlVfXSaf2uVXVOVX1u+n7Qrh8XAABgz7QjR85uTPJL3X2/JI9I8qKqun+SVyQ5t7vvneTc6T4AAACrsN046+4ru/vC6fZ1SS5L8oNJnpLkjOlpZyR56q4aEgAAYE93m645q6ojkhyT5GNJDu3uK5NFwCU5ZBs/c3JVbaqqTZs3b17btAAAAHuoHY6zqrpTkncleVl3f3NHf667T+vujd29ccOGDauZEQAAYI+3Q3FWVftkEWZndve7p+Wrquqw6fHDkly9a0YEAADY8+3Ibo2V5PQkl3X361Y8dFaS5063n5vkvTt/PAAAgPVh7x14zvFJnp3k4qq6aFp7ZZLXJHlHVf18ki8n+ZldMyIAAMCeb7tx1t3nJ6ltPPy4nTsOAADA+nSbdmsEAABg1xBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAA9hunFXVm6vq6qq6ZMXaKVX11aq6aPr68V07JgAAwJ5tR46c/UGSJ21l/Xe6++jp6wM7dywAAID1Zbtx1t3nJbl2N8wCAACwbq3lmrMXV9WnptMeD9rWk6rq5KraVFWbNm/evIaXAwAA2HOtNs5OTXJkkqOTXJnktdt6Ynef1t0bu3vjhg0bVvlyAAAAe7ZVxVl3X9XdN3X3zUnelORhO3csAACA9WVVcVZVh624e1KSS7b1XAAAALZv7+09oareluTRSQ6uqq8keXWSR1fV0Uk6yeVJXrgLZwQAANjjbTfOuvsZW1k+fRfMAgAAsG6tZbdGAAAAdhJxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMIDtxllVvbmqrq6qS1as3bWqzqmqz03fD9q1YwIAAOzZduTI2R8kedIt1l6R5NzuvneSc6f7AAAArNJ246y7z0ty7S2Wn5LkjOn2GUmeupPnAgAAWFdWe83Zod19ZZJM3w/Z1hOr6uSq2lRVmzZv3rzKlwMAANiz7fINQbr7tO7e2N0bN2zYsKtfDgAAYCmtNs6uqqrDkmT6fvXOGwkAAGD9WW2cnZXkudPt5yZ5784ZBwAAYH3aka3035bkI0mOqqqvVNXPJ3lNkidU1eeSPGG6DwAAwCrtvb0ndPcztvHQ43byLAAAAOvWLt8QBAAAgO0TZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAPYey0/XFWXJ7kuyU1JbuzujTtjKAAAgPVmTXE2eUx3X7MTfg8AAMC65bRGAACAAaw1zjrJ2VV1QVWdvLUnVNXJVbWpqjZt3rx5jS8HAACwZ1prnB3f3ccmOTHJi6rqUbd8Qnef1t0bu3vjhg0b1vhyAAAAe6Y1xVl3XzF9vzrJe5I8bGcMBQAAsN6sOs6q6o5VdcCW20memOSSnTUYAADAerKW3RoPTfKeqtrye/5Xd39wp0wFAACwzqw6zrr7C0keshNnAQAAWLdspQ8AADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADCANcVZVT2pqj5bVZ+vqlfsrKEAAADWm1XHWVXtleT1SU5Mcv8kz6iq+++swQAAANaTtRw5e1iSz3f3F7r7u0n+OMlTds5YAAAA60t19+p+sOppSZ7U3f9muv/sJA/v7hff4nknJzl5untUks+uflx2g4OTXDP3ELDEvIdgbbyHYG28h8Z3z+7esLUH9l7DL62trH1f6XX3aUlOW8PrsBtV1abu3jj3HLCsvIdgbbyHYG28h5bbWk5r/EqSw1fc/6EkV6xtHAAAgPVpLXH2iST3rqp7VdW+SX4uyVk7ZywAAID1ZdWnNXb3jVX14iR/nmSvJG/u7kt32mTMxSmosDbeQ7A23kOwNt5DS2zVG4IAAACw86zpQ6gBAADYOcQZAADAAMQZAADAAMQZADCLqtqrqv7r3HMAjEKcAaxRVZ1QVc+bbm+oqnvNPRMsg+6+KclxVVVzzwIwArs1kqr66ST/JckhSWr66u4+cNbBYAlU1auTbExyVHffp6runuSd3X38zKPBUqiq1ya5d5J3JvnWlvXufvdsQ8GSqKrfTbLNf8x390t24zjsBKv+nDP2KL+V5Ce7+7K5B4EldFKSY5JcmCTdfUVVHTDvSLBU7prka0keu2Ktk4gz2L5N0/fjk9w/ydun+z+T5IJZJmJNxBlJcpUwg1X7bnd3VXWSVNUd5x4Ilkl3P2/uGWBZdfcZSVJV/zrJY7r7hun+G5KcPeNorJI4W8em0xmTZFNVvT3JnyT5zpbHnVICO+QdVfXGJHepqhckeX6SN808EyyNqrpPklOTHNrdD6yqByf5qe7+jZlHg2Vy9yQHJLl2un+naY0l45qzdayq3nIrD3d3P3+3DQNLrKqekOSJWVyv+efdfc7MI8HSqKoPJ/kPSd7Y3cdMa5d09wPnnQyWx7Qp1SlJPjQt/ViSU7YcWWN5iDOAVaqqvbKIscfPPQssq6r6RHc/tKo+uSLOLuruo+eeDZZJVf1AkodPdz/W3f9vznlYHVvpk6r6rao6sKr2qapzq+qaqnrW3HPB6KZtwL9dVXeeexZYYtdU1ZGZdpyrqqcluXLekWC5TB9H8fgkD+nu9ybZt6oeNvNYrIIjZ3zvfyir6qQkT03yi0k+1N0PmXk0GF5VvSPJI5Kck3++Dbjti2EHVNUPJzktyY8k+XqSLyZ5Znd/adbBYIlU1alJbk7y2O6+X1UdlOTs7n7ozKNxG9kQhCTZZ/r+40ne1t3X+jxQ2GHvn76AVejuLyR5/LTT6e26+7q5Z4Il9PDuPraqPpkk3f31qtp37qG47cQZSfKnVfWZJNcn+XdVtSHJP848EyyF7j5j+gvwPtPSZ7dsZQxsX1X9bZKPJvnrJOcl+fS8E8FSumG6DnrL6cEbsjiSxpJxWiNJkunw9ze7+6aqukOSA11ICttXVY9OckaSy7PYrfHwJM/t7vNmHAuWRlXdPotNDH40iw/SvW+Sv+nuk2YdDJZIVT0zydOTHJvF30lPS/Kq7n7nrINxmzlyRqrqOStur3zoD3f/NLB0Xpvkid392eR7n9n0tiTHzToVLI+bktwwfb85yVVJrp51Ilgy3X1mVV2Q5HFZ/EfhU7v7spnHYhUcOSNV9bsr7u6XxRv7wu5+2kwjwdKoqk9194O3twZsXVV9O8nFSV6X5C+6+2szjwRLo6ruemuPd/e1t/Y44xFnfJ9pW/C3dvdPzT0LjK6q3pzFOf5vnZaelWSv7n7efFPB8qiqpyQ5IcnDknw3yf9Ncl53nzvrYLAEquqLWfwdVEnukcWOp5XkLkm+3N33mnE8VkGc8X2qap8kn+ru+809C4xuul7mRVlcK1NZbGjwP7v7u7MOBkumqu6b5MQkL0tySHfvP/NIsDSq6g1JzuruD0z3T0zy+O7+pXkn47YSZ6Sq/jTT7j5ZfDD5/ZO8o7tfMd9UMLbpf/t/qLtfP93/eJINWbyXfrm7//ec88GyqKp3JTk6yeeTnJ/Ff3B8rLvtGgw7qKou6O7jbrG2qbs3zjUTq2NDEJLkt1fcvjHJl7r7K3MNA0vil5P83Ir7+2axCcidkrwliTiDHfOaLK5zvmnuQWCJXVNVr0ryR1n8J+Gzkrh+cwndbu4BmF93f3jLV5LPJvnq3DPBEti3u/9uxf3zu/va7v5ykjvONRQsoSOS3CFJqupVVfXuqjp23pFg6Twji7M33pPkT5IcMq2xZJzWuI5V1SOy+B/La5P8ehYbGhycRbQ/p7s/OON4MLSq+nx3/4ttPPa33X3k7p4JltGW3U2r6oQk/zmLszle2d0Pn3k0gN3OaY3r2+8leWWSOyf5yyQndvdHp4uy35ZEnMG2fayqXtDdb1q5WFUvTPLxmWaCZbTldMYnJzm1u99bVafMOA8sjar6b939slvsH/A9dt5ePo6crWNVdVF3Hz3dvmzl7oxV9cnuPma+6WBsVXVIFqeOfCfJhdPycUlun8WHf14112ywTKrqfVmcTv/4LN5D1yf5eHc/ZNbBYAlU1XHdfUFV/djWHp8uWWGJiLN1rKou7O5jb3l7a/eBrauqxyZ5wHT30u7+yznngWVTVXdI8qQkF3f356rqsCQP6u6zZx4NlkZV3THJ9d1983R/ryS37+5vzzsZt5U4W8eq6qYk38ris5n2T7LlDVxJ9uvufeaaDYD1Y/qH5KFZcbnFtLkOsAOq6qNZfK7ZP0z375Tk7O7+kXkn47Zyzdk61t17zT0DAOtbVf37JK9OclWSm6flTvLg2YaC5bPfljBLku7+h+moNEtGnAEAc3ppkqO622cywep9q6qO7e4Lk8W1aFlcv8mSEWcAwJz+Lsk35h4CltzLkryzqq6Y7h+W5OkzzsMqueYMAJhNVZ2e5Kgk789i99MkSXe/brahYAlV1T5ZvJcqyWe6+4aZR2IVHDkDAOb05elr3+kLuI2m68tenuSe3f2Cqrp3VR3V3e+bezZuG0fOAABgiVXV25NckOQ53f3Aqto/yUe2fJ4ty8ORMwBgNlW1IckvZ/F5gfttWe/ux842FCyfI7v76VX1jCTp7uurquYeitvudnMPAACsa2cm+UySeyX5tSSXJ/nEnAPBEvrudLSsk6SqjsyKazhZHuIMAJjT3br79CQ3dPeHu/v5SR4x91CwZF6d5INJDq+qM5Ocm8URaZaM0xoBgDlt2VHuyqp6cpIrkvzQjPPA0unuc6rqwiz+Y6OSvLS7r5l5LFbBhiAAwGyq6ieS/HWSw5P8bpIDk/xad58162CwBKrq2Ft7fMuHUrM8xBkAACyhqvrQdHO/JBuT/E0WR84enORj3X3CXLOxOq45AwCAJdTdj+nuxyT5UpJju3tjdx+X5Jgkn593OlZDnAEAwHK7b3dfvOVOd1+SxGecLSEbggAAwHK7rKp+P8kfZbGd/rOSXDbvSKyGa84AgNlU1Z2TnJLkR6elDyf5T939jdmGgiVTVfsl+YUkj5qWzktyanf/43xTsRriDACYTVW9K8klSc6Ylp6d5CHd/dPzTQUwD3EGAMymqi7q7qO3twZsW1Udn8UR6HtmxWVL3f3Dc83E6rjmDACY0/VVdUJ3n5987x+Z1888Eyyb05P8YpILktw08yysgTgDAOb0b5P84XTtWZJ8PclzZ5wHltE3uvvP5h6CtXNaIwAwm6q6V3d/saoOTJLu/uaWtblng2VRVa9JsleSdyf5zpb17r5wtqFYFXEGAMymqi7s7mNvsXbB9EG6wA6oqg9NN7f8w76SdHc/dqaRWCWnNQIAu11V3TfJA5LcuapW7sx4YJL95pkKlktVvXy6+b7peyfZnOR8R5+XkzgDAOZwVJKfSHKXJD+5Yv26JC+YZSJYPgdsZe2eSX61qk7p7j/e3QOxNk5rBABmU1WP7O6PzD0H7Emq6q5J/uKWpwwzvtvNPQAAsH4JM9j5uvvaLK47Y8mIMwAA2INU1WOz+FgKloxrzgAAYAlV1cX5px0at7hrkiuSPGf3T8RaueYMAJhNVR2a5DeT3L27T6yq+yd5ZHefPvNoMLyquuctljrJ17r7W3PMw9qJMwBgNlX1Z0nekuRXu/shVbV3kk9294NmHg1gt3PNGQAwp4O7+x1Jbk6S7r4xyU3zjgQwD3EGAMzpW1V1t0zXzVTVI5J8Y96RAOZhQxAAYE4vT3JWkiOr6v8k2ZDkafOOBDAP15wBALOarjM7KovPZfpsd98w80gAs3BaIwAwm6r6mST7d/elSZ6a5O1VdezMYwHMQpwBAHP6j919XVWdkORfJjkjyakzzwQwC3EGAMxpy86MT05yane/N8m+M84DMBtxBgDM6atV9cYkP5vkA1V1+/j3CbBO2RAEAJhNVd0hyZOSXNzdn6uqw5I8qLvPnnk0gN1OnAEAs6mqe2xtvbu/vLtnAZibOAMAZlNVF2fxAdSVZL8k98piO/0HzDoYwAx8CDUAMJvuftDK+9M2+i+caRyAWbngFgAYRndfmOShc88BMAdHzgCA2VTVy1fcvV2SY5NsnmkcgFmJMwBgTgesuH1jkvcneddMswDMSpwBALtdVb21u5+d5O+7+7/PPQ/ACOzWCADsdlX16SQnJjkryaOz2K3xe7r72hnGApiVI2cAwBzekOSDSX44yYW3eKyndYB1xZEzAGA2VXVqd//C3HMAjECcAQCzqqoTkty7u99SVQcnOaC7vzj3XAC7mzgDAGZTVa9OsjHJUd19n6q6e5J3dvfxM48GsNv5EGoAYE4nJfmpJN9Kku6+Iv98e32AdUOcAQBz+m4vTuPpJKmqO848D8BsxBkAMKd3VNUbk9ylql6Q5C+S/P7MMwHMwjVnAMCsquoJSZ6YxWed/Xl3nzPzSACzEGcAwDCqaq8kP9fdZ849C8Du5rRGAGC3q6oDq+pXqur3quqJtfDiJF9I8rNzzwcwB0fOAIDdrqrem+TrST6S5HFJDkqyb5KXdvdFc84GMBdxBgDsdlV1cXc/aLq9V5Jrktyju6+bdzKA+TitEQCYww1bbnT3TUm+KMyA9c6RMwBgt6uqmzJ98HQWuzTun+Tb0+3u7gPnmg1gLuIMAABgAE5rBAAAGIA4AwAAGIA4AwAAGIA4A2AYVfUDVfXHVfW3VfXpqvpAVd1njb/ziKq6ZLq9sar+xzaed3lVHbyd3/XKtcwCALdGnAEwhKqqJO9J8lfdfWR33z/JK5McurNeo7s3dfdL1vArxBkAu4w4A2AUj0lyQ3e/YctCd1+U5JNVdW5VXVhVF1fVU5LvHRG7rKreVFWXVtXZVbX/9NhxVfU3VfWRJC/a8vuq6tFV9b7p9t2mn/lkVb0xiy3ctzzvT6rqgun3njytvSbJ/lV1UVWdOa09q6o+Pq29cfowZQBYFXEGwCgemOSCraz/Y5KTuvvYLALutdNRtiS5d5LXd/cDkvx9kn81rb8lyUu6+5G38nqvTnJ+dx+T5Kwk91jx2PO7+7gkG5O8pKru1t2vSHJ9dx/d3c+sqvsleXqS47v76CQ3JXnmKv7cAJAk2XvuAQBgOyrJb1bVo5LcnOQH80+nOn5xOrqWLMLuiKq6c5K7dPeHp/W3JjlxK7/3UUl+Okm6+/1V9fUVj72kqk6abh+eRQR+7RY//7gkxyX5xNSK+ye5enV/RAAQZwCM49IkT9vK+jOTbEhyXHffUFWXJ9lveuw7K553UxaBVEl6B1/z+55XVY9O8vgkj+zub1fVX614vX/21CRndPev7OBrAcCtclojAKP4yyS3r6oXbFmoqocmuWeSq6cwe8x0f5u6+++TfKOqTpiWtnWq4XlbHquqE5McNAbg9Y0AAADASURBVK3fOcnXpzC7b5JHrPiZG6pqn+n2uUmeVlWHTL/jrlV1q7MBwK0RZwAMobs7yUlJnjBtpX9pklOSfCDJxqralEVMfWYHft3zkrx+2hDk+m0859eSPKqqLkzyxCRfntY/mGTvqvpUkl9P8tEVP3Nakk9V1Znd/ekkr0py9vTcc5IctsN/YAC4hVr8XQgAAMCcHDkDAAAYgDgDAAAYgDgDAAAYgDgDAAAYgDgDAAAYgDgDAAAYgDgDAAAYwP8Hiu7kdp+i08IAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "var = dfvote.groupby('Candidate').Age.mean() #grouped sum of at Gender level\n", + "fig = plt.figure(figsize=(15,8))\n", + "ax1 = fig.add_subplot(1,1,1)\n", + "\n", + "\n", + "var.plot(kind='bar');" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mYjoJoRML8Zg" + }, + "source": [ + "### Line Chart " + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "id": "8s4tOFqaL8Zg", + "outputId": "f76048e0-4016-40f4-ce60-618e202241d8" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "var = dfvote.groupby('Candidate').Age.mean()\n", + "\n", + "fig = plt.figure(figsize=(15,8))\n", + "ax1 = fig.add_subplot(1,1,1)\n", + "#ax1.set_xlabel('Candidate')\n", + "ax1.set_ylabel('Mean of Ages')\n", + "ax1.set_title(\"Candidate wise mean of ages\")\n", + "\n", + "var.plot(ax=ax1, kind='line')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_JzA2hbCL8Zh" + }, + "source": [ + "### Stacked Column Chart " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "id": "fAgDx-11L8Zi", + "outputId": "c88911de-27d7-4277-fe94-1e4edb3d6912" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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c+655+bP/uzPttx+/vz5WbVqVV75ylfmzDPPzMUXX5zbb789l156aTZs2JAkueSSS7J69eqsWrUq7373u7dsf8CaNWty5ZVX5tOf/nRuvfXW7Lnnnnn/+98/4+/FaY0AAMAua9vTGm+//fbcfvvtOeWUU5Ik999/fw488MAt+88444wkyVFHHZUlS5Zs2feEJzwh3/72t7Pffvvl3e9+d6655pokybe//e3ceeed2W+//bZ8jY997GNZvXp1nvKUpySZDMT9999/xt+LOAMAAMZGay1LlizJZz7zme3u33vvvZMke+yxx5bLD1zfvHlzVq5cmY9+9KP5zGc+k4c//OE56aSTsnHjxgc9xvLly/OXf/mXszq70xoBAICxcdhhh2X9+vVb4mzTpk254447pnz/e++9N495zGPy8Ic/PF/+8pfz2c9+9kG3Ofnkk3PVVVfl7rvvTpJ8//vfzze/+c0Zzy7OAACA2dHa7H5Mw/z583PVVVflDW94Q5785CfnmGOOyb/+679O+f6nn356Nm/enCOOOCLnn39+nva0pz3oNkceeWTe9ra35dRTT83RRx+dU045ZcuLjsxEtWl+09MxMTHRVq1aNbTHY25N8a0nujTEH3sAgLG1Zs2aHHHEEaMeo1vbW5+qWt1am9je7R05AwAA6IA4AwAA6IA4AwAA6IA4AwAA6IA4AwAA6IA4AwAA6IA4AwAAZkXV7H5M7TErL37xi7dc37x5cxYuXJjnPve5v/R+K1eu3OFthk2cAQAAu6xHPOIRuf322/PTn/40SXLDDTfkoIMOGvFU0yPOAACAXdqzn/3s/PM//3OS5PLLL88555yzZd9NN92UE044Iccee2ye/vSn5ytf+cqD7n/ffffl3HPPzdKlS3Psscfm2muvHdrsWxNnAADALu2FL3xhrrjiimzcuDG33XZbnvrUp27Zd/jhh+eTn/xkbrnllrz1rW/Nm970pgfd/8ILL8yyZcty00035cYbb8zrXve63HfffcP8FpIk84b+iAAAALPo6KOPztq1a3P55Zfn2c9+9i/su/fee7N8+fLceeedqaps2rTpQff/yEc+kuuuuy7vfOc7kyQbN27Mt771rRxxxBFDmf8B4gwAANjlnXHGGfnTP/3TrFy5Mhs2bNiy/YILLsgzn/nMXHPNNVm7dm1OOumkB923tZarr746hx12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LTXqEWagjXoAAAD4BY6cAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdGDeqAeYNVWjnmD6Whv1BAAAwIg5cgYAANABcQYAANABcQYAANABcQYAANCBHcZZVV1SVXdX1e1bbdu3qm6oqjsHnx8zt2MCAACMt6kcObs0yenbbDs/ycdaa4cm+djgOgAAANO0wzhrrf2fJN/fZvOZSS4bXL4syVmzPBcAAMBuZbrPOTugtXbX4PJ3kxwwS/MAAADslmb8giCttZbkId9FuarOq6pVVbVq/fr1M304AACAsTTdOPteVR2YJIPPdz/UDVtrK1prE621iYULF07z4QAAAMbbdOPsuiTLB5eXJ7l2dsYBAADYPU3lpfQvT/KZJIdV1bqqemmStyc5paruTPKswXUAAACmad6ObtBaO+chdp08y7MAAADstmb8giAAAADMnDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADowLxRDwAAjFZLjXqEGWijHgBg1jhyBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFvQg0AwNirXfi91pv3Wt9tOHIGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQgXmjHgAAABg/VaOeYPpaG83jOnIGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQ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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "var = dfvote.groupby(['Age','Gender']).Random.sum()\n", + "var.unstack().plot(kind='bar',stacked=True, color=['red','blue'], grid=False, figsize=(15,8))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ZKgC1vcRL8Zj" + }, + "source": [ + "### Scatter Plot " + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "-BdT5bPyL8Zj", + "outputId": "a7d6ceb1-b001-4404-f715-62a3d16ec8a3" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(15,8))\n", + "ax = fig.add_subplot(1,1,1)\n", + "ax.scatter(dfvote['Age'],dfvote['Random'],s=dfvote['Expected salary']/500) #You can also add more variables here to represent color and size.\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "id": "djgdgo3SL8Zk", + "outputId": "282c87e1-d924-4d90-eb2b-0c5dfbeb804e" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "dfvote.plot.scatter(x='Age',y='Expected salary', c='Random', cmap='jet', figsize=(15,8));" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "QPppvTDXL8Zo" + }, + "source": [ + "### Bubble Plot " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "id": "rhPXMOxdL8Zo", + "outputId": "4a70790b-e577-401a-e83f-c8c6ba67fa5c" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(15,8))\n", + "ax = fig.add_subplot(1,1,1)\n", + "# Added third variable income as size of the bubble\n", + "ax.scatter(dfvote['Age'],dfvote['Expected salary'], s=dfvote['Random']**3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "tWOVS7LTL8Zp" + }, + "source": [ + "### Pie chart " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "id": "ynojR8K_L8Zp", + "outputId": "ce5c8e29-61ce-4965-9252-635a9440e10b" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "var=dfvote.groupby(['Gender']).sum().stack()\n", + "temp=var.unstack()\n", + "type(temp)\n", + "x_list = temp['Random']\n", + "label_list = temp.index\n", + "#The pie chart is oval by default. To make it a circle use plt.axis(\"equal\")\n", + "fig = plt.figure(figsize=(15,15))\n", + "plt.axis(\"equal\")\n", + "#To show the percentage of each pie slice, pass an output format to the autopctparameter \n", + "plt.pie(x_list,labels=label_list,autopct=\"%1.1f%%\") \n", + "plt.title(\"Gender Distribution\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ECqcRkf_L8Zs" + }, + "source": [ + "### Heat Map " + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "id": "blEQovsfL8Zs", + "outputId": "335559ff-90dd-420a-c8bd-6b43b0995af2" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2cAAANXCAYAAACxMSfIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3df7Dld13f8dc73CSbhPyAQIiA8quhpaIxsFURxAiCE0AKVrQzJTUobH9oqQqUllEIzDiA09KgTAsL1Cg4OgjFkcpPJQIRRiaYlGDkh4ZkiZAQEvI7y2Y3n/5xb7Y7cXc5d/ecc997v4/HzJnv3vP9nvt5/8Ncnvl+z/dbY4wAAACwsY7a6AEAAAAQZwAAAC2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcQUNVNdZed1fVow5y3EX7HHveEkcEYCL2+TtzoNd5Gz0jbBYrGz0AcEC7s/q/0Z9P8op776yqM5Kcvc9xALBIrz7A+5ctdQrYxPwfOujruiRfS/KCqnrlGGP3vfa/cG37viTPXepkAEzOGOP8jZ4BNjuXNUJvb01yepJn7ftmVR2d5Lwkn0xyxfLHAgBg3sQZ9Pb7SW7P/z9Ldo9nJzktq/EGAMAm4LJGaGyMcWtV/UGS86rqoWOMa9Z2vSjJLUnelf18Hw0A5q2qzt/P21eNMS5c8iiwaYkz6O+tWb0pyM8leU1VPSzJ05K8ZYxxR1Vt6HAATMar9vPex5JcuOQ5YNNyWSM0N8b4yySXJ/m5qjoqq5c4HhWXNAKwRGOM2s/r7I2eCzYTcQZHhrcmeViSc5K8IMlnxhiXbuxIAADMkziDI8M7ktyZ5M1JHpJk+8aOAwDAvIkzOAKMMW5K8u4kD83q3Rt/f2MnAgBg3twQBI4cv5rkfye5foxx60YPAwDAfIkzOEKMMXYk2bHRcwAAsBguawQAAGigxhgbPQMAAMDkOXMGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkcQapq20bPAMC0+VsEiyPO4MjiDyIAG83fIlgQcQYAANBAjTGWtthJxx83vuN+Jy9tPdhsbrr9jpxywvEbPQYcsXamsuW44zZ6DDii3XzLrTn5pBM3egw4Iu3evSdXXr3jG2OMB+5v/8oyh3nEicflMy/4sWUuCQB7vfuUR+dnnvusjR4DgIm6/It/lzOf8dNXH2i/yxoBAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+uKs6p6ZlV9uKquqao7q+rKqvrDqnrCogYEAACYgpnjrKpen+T/JHlckg8meWOSv0ryz5P8RVU9fyETAgAATMDKLAdV1elJXprkuiTfO8b4+j77fjTJR5O8Jsk7FzEkAADAZjfrmbOHrR37l/uGWZKMMS5KcmuSB855NgAAgMmYNc6+lGRXku+vqgfsu6OqnpzkxCR/OufZAAAAJmOmyxrHGDdW1cuTvCHJFVX1R0luSPKoJM9O8pEk/2Z/n62qbUm2JclDTzx+HjMDAABsOjPFWZKMMS6oqquS/K8kL9pn198mufDelzvu87ntSbYnyZkPuv849FEBAAA2r/XcrfE/JXl3kguzesbshCSPT3Jlkt+rqt9YxIAAAABTMFOcVdXZSV6f5I/HGL8yxrhyjHHHGOOvkjw3yd8neUlVPXJxowIAAGxes545e9ba9qJ77xhj3JHk02u/66w5zQUAADAps8bZsWvbA90u/573dx3eOAAAANM0a5x9Ym27raoesu+OqjonyROT7EzyyTnOBgAAMBmz3q3x3Vl9jtmPJfmbqnpvkmuTPCarlzxWkv88xrhhIVMCAABscrM+5+zuqnpGkl9I8i+zehOQ45PcmOT9SX5zjPHhhU0JAACwya3nOWd3Jblg7QUAAMAczfycMwAAABZHnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoYGWZi91wx6686VNXLXNJANjrqw/ZnTuPOX6jxwBgoq6/4caD7l9qnB2/c1d+6Iody1wSAPb6wtOekXPP/VcbPQYAE3X5FZ/Py1/z2gPud1kjAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaGCmOKuq86pqfJvXnkUPCwAAsFmtzHjcZUlefYB9P5zkKUk+MJeJAAAAJmimOBtjXJbVQPsHqupTa//cPq+hAAAApuawvnNWVd+T5AeT/H2SP5nLRAAAABN0uDcE2ba2ffsYw3fOAAAADtEhx1lVHZfk+Un2JHnbQY7bVlWXVNUlN99996EuBwAAsKkdzpmzn05ySpIPjjG+cqCDxhjbxxhbxxhbTz7KnfsBAAD253Bq6Z5LGt8yj0EAAACm7JDirKq+O8kPJbkmyfvnOhEAAMAEHeqZMzcCAQAAmKN1x1lVbUlyblZvBPL2uU8EAAAwQYdy5ux5Se6X5AMHuxEIAAAAszuUOLvnksbt8xwEAABgytYVZ1X1mCRPihuBAAAAzNXKeg4eY/xNklrQLAAAAJPlqdAAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADawsc7EbqvI/jjlmmUsCwF473/NHuexjf7HRYwAwUbfeteug+5caZ3XX7mzZ8fVlLgkAe93nmGNz0me/tNFjADBRu7cce9D9LmsEAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADaw7zqrqqVX13qq6tqq+VVVfraoPVdUzFjEgAADAFKys5+Cq+o0kL0tyTZI/TvKNJA9M8vgkZyd5/5znAwAAmISZ46yqXpTVMPudJNvGGLvutf/oOc8GAAAwGTNd1lhVxyb59SQ7sp8wS5Ixxl1zng0AAGAyZj1z9rSsXr54QZK7q+qZSR6bZGeST48xPrWg+QAAACZh1jj7Z2vbnUkuzWqY7VVVH0/yU2OM6+/9waralmRbkpyQOvRJAQAANrFZ79Z42tr2ZUlGkh9OcmKS703y4SRPTvKH+/vgGGP7GGPrGGPrFnEGAACwX7PG2T3H7U7y7DHGxWOM28YYlyd5blbv3vgjVfWERQwJAACw2c0aZzetbS8dY1y1744xxh1JPrT24/fPaS4AAIBJmTXOvrC2vekA+7+5tj3u8MYBAACYplnj7M+y+l2zf1pV+/vMPTcI+fJcpgIAAJiYmeJsjHF1kvcl+a4k/3HffVX19CQ/ntWzah+c94AAAABTMOut9JPkF5KcleQNa885uzTJI5I8J8meJC8cY9w8/xEBAAA2v5njbIxxTVU9Pskrkzw7q7fPvyWrZ9ReO8b49GJGBAAA2PzWc+Ysaw+Z/g9rLwAAAOZk1huCAAAAsEDiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEADK8tc7OgTjs2DzzpjmUsCwF5/t7uy8tgf2OgxAJioo26/I/nIdQfcv9Q4O+24o/OK73vwMpcEgL3effQD87wzH7HRYwAwUZd/7cZc8JFPHHC/yxoBAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABmaOs6q6qqrGAV7XLnJIAACAzW5lncffnOSC/bx/2xxmAQAAmKz1xtlNY4zzFzEIAADAlPnOGQAAQAPrPXN2bFU9P8l3Jbk9yWeTfHyMsWfukwEAAEzIeuPs9CTvuNd7X66qF4wxPjanmQAAACZnPZc1/naSp2Y10E5I8j1J3pLk4Uk+UFVn7u9DVbWtqi6pqktuvHPXYY4LAACwOc0cZ2OMV48xPjrGuG6McccY43NjjH+b5A1Jjkty/gE+t32MsXWMsfX+xx0zn6kBAAA2mXncEOTNa9snz+F3AQAATNI84uz6te0Jc/hdAAAAkzSPOPvBte2Vc/hdAAAAkzRTnFXVY6rqH5wZq6qHJ3nT2o/vnN9YAAAA0zLrrfR/JslLqurjSa5OcmuSRyV5ZpItSd6f5L8uZEIAAIAJmDXOLkryj5OcleSJWf1+2U1JLs7qc8/eMcYYC5kQAABgAmaKs7UHTHvINAAAwILM44YgAAAAHCZxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKCBlWUuNsbIrj13L3NJANjrrtqTXbt3b/QYAEzUrt17Drq/xhhLGiW5/9FHj5849bSlrQcA+7rphGPzgF3+IyEAG+O2o5J37bj6M2OMrfvbv9QzZ8fsuTuP/OYdy1wSAPa69uT75eFf/epGjwHARH1jyzEH3e87ZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEADhxxnVfX8qhprrxfOcygAAICpOaQ4q6rvTPKmJLfNdxwAAIBpWnecVVUl+e0kNyR589wnAgAAmKBDOXP24iRPSfKCJLfPdxwAAIBpWlecVdVjkrwuyRvHGB9fzEgAAADTM3OcVdVKknck2ZHkFQubCAAAYIJW1nHsK5OcleRJY4w7Z/1QVW1Lsi1JTkqtbzoAAICJmOnMWVX9QFbPlv23Mcan1rPAGGP7GGPrGGPrcSXOAAAA9ufbxtna5Yy/m+SLSX5t4RMBAABM0Cxnzu6b5NFJHpNk5z4Pnh5JXrV2zFvX3rtgUYMCAABsZrN85+xbSd5+gH2Py+r30C5O8oUk67rkEQAAgFXfNs7Wbv7xwv3tq6rzsxpnvzPGeNt8RwMAAJiOQ3kINQAAAHMmzgAAABo4rDgbY5w/xiiXNAIAABweZ84AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGlhZ5mJ3j+SWcfcylwSAvW7budPfIQA2zK137z7o/qXG2X0fenqe+sqXL3NJANjrk1/4cp74hCds9BgATNRVO3Ykv/KyA+5fapyddOJ9c85TnrTMJQFgr1uPPSHnnPPjGz0GABN1+ef++qD7fecMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaGDmOKuq11fVn1XVV6rqzqq6saourapXVdWpixwSAABgs1vPmbNfTnJCko8keWOS30uyO8n5ST5bVd859+kAAAAmYmUdx540xth57zer6teTvCLJf0ny7+c1GAAAwJTMfOZsf2G25l1r2zMOfxwAAIBpmscNQX5ibfvZOfwuAACASVrPZY1Jkqp6aZL7Jjk5ydYkT8pqmL1uvqMBAABMx7rjLMlLkzxon58/mOS8Mcb1+zu4qrYl2ZYkDz39tENYDgAAYPNb92WNY4zTxxiV5PQkP5nkkUkurarHHeD47WOMrWOMrafe75TDmxYAAGCTOuTvnI0xrhtjvDfJ05OcmuR35zYVAADAxBz2DUHGGFcnuSLJd1fVAw5/JAAAgOmZx90ak+TBa9s9c/p9AAAAkzJTnFXVo6vq5P28f9TaQ6hPS/LJMcY35z0gAADAFMx6t8ZnJHltVV2c5MtJbsjqHRt/JKs3BLk2yYsWMiEAAMAEzBpnf5rkH2X1mWZnJTklye1JvpjkHUl+c4xx40ImBAAAmICZ4myM8bkkv7jgWQAAACZrXjcEAQAA4DCIMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANrCxzsTt3fiuXff5Ly1wSAPb6yleuyWWf/dxGjwHARH3hSwdvoaXG2VE335At73n7MpcEgL3uk5Oy5dhbNnoMACZqy9dvOuj+pcbZMfe5T86434nLXBIA9vq/dUrO+I4HbPQYAEzUzlEH3e87ZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEADM8VZVZ1aVS+sqvdW1d9W1Z1VdXNVXVxVP19VIg8AAOAwrMx43POS/M8kX0tyUZIdSR6U5CeTvC3JOVX1vDHGWMiUAAAAm9yscfbFJM9O8idjjLvvebOqXpHk00n+RVZD7T1znxAAAGACZroccYzx0THG+/YNs7X3r03y5rUfz57zbAAAAJMxj++K3bW23T2H3wUAADBJhxVnVbWS5F+v/fjBwx8HAABgmg73zNnrkjw2yfvHGB/a3wFVta2qLqmqS268c9dhLgcAALA5HXKcVdWLk7wkyeeTnHug48YY28cYW8cYW+9/3DGHuhwAAMCmdkhxVlW/mOSNSa5I8qNjjBvnOhUAAMDErDvOquqXkvxWks9lNcyunftUAAAAE7OuOKuqlyf570kuy2qYfX0hUwEAAEzMzHFWVb+W1RuAfCbJU8cY31jYVAAAABOzMstBVfWzSV6TZE+STyR5cVXd+7CrxhgXznU6AACAiZgpzpI8Ym17nyS/dIBjPpbkwsMdCAAAYIpmuqxxjHH+GKO+zevsBc8KAACwaR3uQ6gBAACYA3EGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoIGVZS526+49+ch1ty5zSQDY64pdd+TDxx+90WMAMFFXfv2mg+5fapydtOXYPP3MM5a5JADsdct9H51zzj13o8cAYKIu/+srkrf8wQH3u6wRAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANDBTnFXVT1XVb1XVJ6rqlqoaVfXORQ8HAAAwFSszHverSc5McluSa5L8k4VNBAAAMEGzXtb4y0keneSkJP9uceMAAABM00xnzsYYF93z76pa3DQAAAAT5YYgAAAADYgzAACABhYeZ1W1raouqapLbrhj56KXAwAAOCItPM7GGNvHGFvHGFtPPX7LopcDAAA4IrmsEQAAoAFxBgAA0IA4AwAAaECcAQAANDDTQ6ir6jlJnrP24+lr2ydU1YVr//7GGOOlc54NAABgMmaKsyTfl+Rn7/XeI9deSXJ1EnEGAABwiGa6rHGMcf4Yow7yeviC5wQAANjUfOcMAACgAXEGADVaRcUAAAFRSURBVADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaECcAQAANCDOAAAAGhBnAAAADYgzAACABsQZAABAA+IMAACgAXEGAADQgDgDAABoQJwBAAA0IM4AAAAaEGcAAAANiDMAAIAGxBkAAEAD4gwAAKABcQYAANCAOAMAAGhAnAEAADQgzgAAABoQZwAAAA2IMwAAgAbEGQAAQAPiDAAAoIGVZS52257kz2+8a5lLAsBe19x2bf784k9u9BgATNTVO6456P4aYyxplKSqrk9y9dIWBAAA6OVhY4wH7m/HUuMMAACA/fOdMwAAgAbEGQAAQAPiDAAAoAFxBgAA0IA4AwAAaOD/AdMDMU2KbpmDAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[3.83956703e-01 1.56407904e-02]\n", + " [4.57091220e-01 3.08052492e-01]\n", + " [1.34093019e-01 6.67076030e-04]\n", + " [9.07606873e-01 8.93606893e-01]\n", + " [4.75673472e-01 3.20188565e-01]\n", + " [9.59475447e-01 9.09254577e-01]\n", + " [7.23793269e-01 4.40051873e-02]\n", + " [4.29637529e-01 1.32640987e-01]]\n" + ] + } + ], + "source": [ + "#Generate a random number, you can refer your data values also\n", + "data = np.random.rand(8,2)\n", + "rows = list('12345678') #rows categories\n", + "columns = list('MF') #column categories\n", + "\n", + "fig,ax=plt.subplots(figsize=(15,15))\n", + "#Advance color controls\n", + "ax.pcolor(data,cmap=plt.cm.Reds,edgecolors='k')\n", + "# Here we position the tick labels for x and y axis\n", + "ax.set_xticks(np.arange(0,2)+0.5)\n", + "ax.set_yticks(np.arange(0,8)+0.5)\n", + "ax.xaxis.tick_top()\n", + "ax.yaxis.tick_left()\n", + "#Values against each labels\n", + "ax.set_xticklabels(columns,minor=False,fontsize=20)\n", + "ax.set_yticklabels(rows,minor=False,fontsize=20)\n", + "plt.show()\n", + "print(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "MMk2csgYL8ZR", + "outputId": "7cc4f62c-efbd-4fc2-a36b-e16aef80aed9" + }, + "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", + "
GenderAgeSalary before SternExpected salaryCandidate
6Female2455000100000Bush
10Female245900090000Bush
16Male2560000150000Gore
37Male25125000135000Refuse to answer
14Male2580000100000Bush
15Male2545000100000Gore
39Male255000100000Refuse to answer
33Male254000090000Refuse to answer
23Female254500085000Gore
30Female254900085000Gore
\n", + "
" + ], + "text/plain": [ + " Gender Age Salary before Stern Expected salary Candidate\n", + "6 Female 24 55000 100000 Bush\n", + "10 Female 24 59000 90000 Bush\n", + "16 Male 25 60000 150000 Gore\n", + "37 Male 25 125000 135000 Refuse to answer\n", + "14 Male 25 80000 100000 Bush\n", + "15 Male 25 45000 100000 Gore\n", + "39 Male 25 5000 100000 Refuse to answer\n", + "33 Male 25 40000 90000 Refuse to answer\n", + "23 Female 25 45000 85000 Gore\n", + "30 Female 25 49000 85000 Gore" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dfvote.sort_values(by=['Age','Expected salary'], ascending=[True, False])[0:10]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A Case Study" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SuburbAddressRoomsTypePriceMethodSellerGDatePostcodeRegionnamePropertycountDistanceCouncilArea
0Abbotsford49 Lithgow St3h1490000.0SJellis1/04/20173067Northern Metropolitan40193.0Yarra City Council
1Abbotsford59A Turner St3h1220000.0SMarshall1/04/20173067Northern Metropolitan40193.0Yarra City Council
2Abbotsford119B Yarra St3h1420000.0SNelson1/04/20173067Northern Metropolitan40193.0Yarra City Council
3Aberfeldie68 Vida St3h1515000.0SBarry1/04/20173040Western Metropolitan15437.5Moonee Valley City Council
4Airport West92 Clydesdale Rd2h670000.0SNelson1/04/20173042Western Metropolitan346410.4Moonee Valley City Council
\n", + "
" + ], + "text/plain": [ + " Suburb Address Rooms Type Price Method SellerG \\\n", + "0 Abbotsford 49 Lithgow St 3 h 1490000.0 S Jellis \n", + "1 Abbotsford 59A Turner St 3 h 1220000.0 S Marshall \n", + "2 Abbotsford 119B Yarra St 3 h 1420000.0 S Nelson \n", + "3 Aberfeldie 68 Vida St 3 h 1515000.0 S Barry \n", + "4 Airport West 92 Clydesdale Rd 2 h 670000.0 S Nelson \n", + "\n", + " Date Postcode Regionname Propertycount Distance \\\n", + "0 1/04/2017 3067 Northern Metropolitan 4019 3.0 \n", + "1 1/04/2017 3067 Northern Metropolitan 4019 3.0 \n", + "2 1/04/2017 3067 Northern Metropolitan 4019 3.0 \n", + "3 1/04/2017 3040 Western Metropolitan 1543 7.5 \n", + "4 1/04/2017 3042 Western Metropolitan 3464 10.4 \n", + "\n", + " CouncilArea \n", + "0 Yarra City Council \n", + "1 Yarra City Council \n", + "2 Yarra City Council \n", + "3 Moonee Valley City Council \n", + "4 Moonee Valley City Council " + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('../Data/MELBOURNE_HOUSE_PRICES_LESS.csv')\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SuburbAddressRoomsTypePriceMethodSellerGDatePostcodeRegionnamePropertycountDistanceCouncilArea
63018Roxburgh Park3 Carr Pl3h566000.0SRaine2018-03-313064Northern Metropolitan583320.6Hume City Council
63019Roxburgh Park9 Parker Ct3h500000.0SRaine2018-03-313064Northern Metropolitan583320.6Hume City Council
63020Roxburgh Park5 Parkinson Wy3h545000.0SRaine2018-03-313064Northern Metropolitan583320.6Hume City Council
63021Thomastown3/1 Travers St3uNaNPIBarry2018-03-313074Northern Metropolitan795515.3Whittlesea City Council
63022Williams Landing1 Diadem Wy4hNaNSPAussie2018-03-313027Western Metropolitan199917.6Wyndham City Council
\n", + "
" + ], + "text/plain": [ + " Suburb Address Rooms Type Price Method SellerG \\\n", + "63018 Roxburgh Park 3 Carr Pl 3 h 566000.0 S Raine \n", + "63019 Roxburgh Park 9 Parker Ct 3 h 500000.0 S Raine \n", + "63020 Roxburgh Park 5 Parkinson Wy 3 h 545000.0 S Raine \n", + "63021 Thomastown 3/1 Travers St 3 u NaN PI Barry \n", + "63022 Williams Landing 1 Diadem Wy 4 h NaN SP Aussie \n", + "\n", + " Date Postcode Regionname Propertycount Distance \\\n", + "63018 2018-03-31 3064 Northern Metropolitan 5833 20.6 \n", + "63019 2018-03-31 3064 Northern Metropolitan 5833 20.6 \n", + "63020 2018-03-31 3064 Northern Metropolitan 5833 20.6 \n", + "63021 2018-03-31 3074 Northern Metropolitan 7955 15.3 \n", + "63022 2018-03-31 3027 Western Metropolitan 1999 17.6 \n", + "\n", + " CouncilArea \n", + "63018 Hume City Council \n", + "63019 Hume City Council \n", + "63020 Hume City Council \n", + "63021 Whittlesea City Council \n", + "63022 Wyndham City Council " + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 63023 entries, 0 to 63022\n", + "Data columns (total 13 columns):\n", + "Suburb 63023 non-null object\n", + "Address 63023 non-null object\n", + "Rooms 63023 non-null int64\n", + "Type 63023 non-null object\n", + "Price 48433 non-null float64\n", + "Method 63023 non-null object\n", + "SellerG 63023 non-null object\n", + "Date 63023 non-null object\n", + "Postcode 63023 non-null int64\n", + "Regionname 63023 non-null object\n", + "Propertycount 63023 non-null int64\n", + "Distance 63023 non-null float64\n", + "CouncilArea 63023 non-null object\n", + "dtypes: float64(2), int64(3), object(8)\n", + "memory usage: 6.3+ MB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "df['Date'] = pd.to_datetime(df['Date'])\n", + "df['Type'] = df['Type'].astype('category')\n", + "df['Method'] = df['Method'].astype('category')" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 63023 entries, 0 to 63022\n", + "Data columns (total 13 columns):\n", + "Suburb 63023 non-null object\n", + "Address 63023 non-null object\n", + "Rooms 63023 non-null int64\n", + "Type 63023 non-null category\n", + "Price 48433 non-null float64\n", + "Method 63023 non-null category\n", + "SellerG 63023 non-null object\n", + "Date 63023 non-null datetime64[ns]\n", + "Postcode 63023 non-null int64\n", + "Regionname 63023 non-null object\n", + "Propertycount 63023 non-null int64\n", + "Distance 63023 non-null float64\n", + "CouncilArea 63023 non-null object\n", + "dtypes: category(2), datetime64[ns](1), float64(2), int64(3), object(5)\n", + "memory usage: 5.4+ MB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[h, t, u]\n", + "Categories (3, object): [h, t, u]" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Type'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "h 45053\n", + "u 11655\n", + "t 6315\n", + "Name: Type, dtype: int64" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['Type'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "997898.24\n" + ] + } + ], + "source": [ + "average = df['Price'].mean()\n", + "print('{:.2f}'.format(average))" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "830000.00\n" + ] + } + ], + "source": [ + "med = df['Price'].median()\n", + "print('{:.2f}'.format(med))" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "593498.92\n" + ] + } + ], + "source": [ + "standard_deviation = df['Price'].std()\n", + "print('{:.2f}'.format(standard_deviation))" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "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", + "
RoomsPricePostcodePropertycountDistance
count63023.0000004.843300e+0463023.00000063023.00000063023.000000
mean3.1105959.978982e+053125.6738977617.72813112.684829
std0.9575515.934989e+05125.6268774424.4231677.592015
min1.0000008.500000e+043000.00000039.0000000.000000
25%3.0000006.200000e+053056.0000004380.0000007.000000
50%3.0000008.300000e+053107.0000006795.00000011.400000
75%4.0000001.220000e+063163.00000010412.00000016.700000
max31.0000001.120000e+073980.00000021650.00000064.100000
\n", + "
" + ], + "text/plain": [ + " Rooms Price Postcode Propertycount Distance\n", + "count 63023.000000 4.843300e+04 63023.000000 63023.000000 63023.000000\n", + "mean 3.110595 9.978982e+05 3125.673897 7617.728131 12.684829\n", + "std 0.957551 5.934989e+05 125.626877 4424.423167 7.592015\n", + "min 1.000000 8.500000e+04 3000.000000 39.000000 0.000000\n", + "25% 3.000000 6.200000e+05 3056.000000 4380.000000 7.000000\n", + "50% 3.000000 8.300000e+05 3107.000000 6795.000000 11.400000\n", + "75% 4.000000 1.220000e+06 3163.000000 10412.000000 16.700000\n", + "max 31.000000 1.120000e+07 3980.000000 21650.000000 64.100000" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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urxEP23atLS1taWrqytJ0tXVlba2tiPer2tvb88jjzySoaGhHDx4MI8++mh+8zd/sx4TgRosWbJkzDNQnbo9Rb969eqsW7cuCxcuzLp167JmzZokyfLly7N169Ykycc+9rFMmzYtf/iHf5jLLrssv/7rv57LL7+8XhOBt2nDhg0jvk1uw4YNFS8ChjUMFfIU2/BLFV6ih/q58sor8/rrrx86n3766fn3f//3ChfBqeOtuueT7ICazZkzJ83NbzzK09zcnLlz51a8CBgm8EDNOjo6RrxE39HRUfEiYJjAAzVraWnJhAkTkrzxMbVTp06teBEw7G0F/jvf+U6uv/76fOYzn0nyxkfLfu973zshw4Dxb/v27enr60uSvPrqq9mxY0fFi4BhRx34f/3Xf83q1atz3nnn5b//+7+TvPFFE1/60pdO2DhgfPviF7845hmozlEH/vbbb8/Xv/71XH311WlsfOMvmzVrlv9ih1PYc889N+K8c+fOipYAox114Pv6+g598tzwQzX9/f057bTTTswyYNw744wzRpzf8Y53VLQEGO2oA/97v/d7ueWWW0b87I477sj73ve+4z4KODn09/ePOB88eLCiJcBoRx34v/7rv85DDz2UefPmpa+vLwsXLsyGDRuyYsWKE7kPGMemT58+4jxjxoyKlgCjHfWXzUyfPj333HNPtm7dmhdeeCGtra256KKLDr0fD5x6du/ePeK8a9euipYAox114H/84x9nypQpueiii3LRRRcleeO7n3/605/6Qhg4RTU3N2f//v2Hzp7JgfHjqG+/r7322jd9v+3aa6897qOAk8Pwn4Ef9uqrr1a0BBjtqAP/4osv5pxzzhnxs3PPPTcvvPDCcR8FnBw8RQ/j11EHfubMmXniiSdG/OyJJ5444iEb4NQxMDAw4jz6VT6gOkf9HvwnP/nJXHPNNfn0pz+dc889Nzt37sxtt9126GNrgVPPhRdeeOiTLZMcej4HqN5RB/7KK6/M5MmTc/fdd+ell17KzJkz84UvfCGLFi06kfuAcezxxx8f8wxU56gDnyQf/ehH89GPfvREbQFOMoc/QZ8k+/btq2gJMNqYgb/33ntz2WWXJUnuvvvuX3rd5ZdffnxXAQDHZMzAf/Ob3zwU+Pvuu+9Nr2loaBB4OEW1tLSkt7f30HnatGkVrgEON2bgb7311iTJ0NBQ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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "%matplotlib inline\n", + "\n", + "sns.set(style=\"whitegrid\")\n", + "\n", + "plt.figure(figsize=(8,12))\n", + "ax = sns.boxplot(x='Price', data=df, orient=\"v\")" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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f35Gk0B9ue+++8rW9957b0aTMBjENUCd+sMf/nDUNTA43IqvtolrgDq1Y8eOsrWnxEFlvOlNbypbH/n+B6qbuAaoU7lc7qhrYHD86U9/Klsf+f4Hqpu4BqhTb3zjG8vWp556akaTQH3xg21tE9cAdWrPnj1l6927d2c0CdSXiy++uGx95H2vqW7iGgCggubPnx8NDYcTrKGhIebPn5/xRKQkrgEAKiifz8eYMWMiIqKlpSWam5sznoiUxDUAQAUVCoW+NzHu3LnTkawaI64BACqoo6Mjent7IyKit7c3Ojo6Mp6IlMQ1AEAFbdy4MSWZc+8AAA8ySURBVHp6eiIioqenJzZs2JDxRKQkrgEAKmjixIll67e97W0ZTcJgENcAABW0efPmo66pbuIaoE41NjYedQ0MjhdeeKFsvX///owmYTCIa4A6NXbs2LL1aaedltEkUF+GDx9etj755JMzmoTB0JT1AKS3fv36WLNmTdZjDMh1112X9Qivafr06TFlypSsx4B+27FjR9l6+/btGU0C9eWKK66Ib37zm31rD5GpLXauAerUS3creMlLtwYDBldnZ2fZetWqVRlNwmCwc12DpkyZUlU7qrNnz37Zx2688cYMJoH6cmRcF4vFjCaB+vLUU0+Vrbdt25bRJAwGO9dk7qabbipbf/WrX81oEgCAgRHXZG78+PFl67e85S0ZTQIAMDDimuPCWWedFQ0NDXatAYCqJq45LgwbNizOOeccu9YAQFUT1wAAFXTSSSeVrY+87zXVTVwDAFSQJzTWNnENAFBBpVLpqGuqm7gGAIBExDUAACRSsSc0bt26NRYuXBh79uyJU089NZYtWxZnnnlm2TVf//rX46677orGxsZoamqKz372s3HRRRdVakQAABiQisX1okWLYt68edHW1hYrV66M66+/Pm677baya84777z4xCc+EcOGDYvf/e538Q//8A/x05/+NE488cRKjQkAAP1WkWMhu3btiq6urpg1a1ZERMyaNSu6urqiUCiUXXfRRRfFsGHDIiLi7LPPjlKpFHv27KnEiAAAMGAV2bnu7u6O0aNHR2NjY0RENDY2xqhRo6K7uzvy+fwr/jt33nlnnHHGGTFmzJjX9bk2b9484HmpvD//+c8REfHQQw9lPAnUN38GIRv+7NWOih0LeT1+8YtfxE033RTf+c53Xve/O3Hi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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(12,10))\n", + "ax = sns.boxplot(x='Type', y='Price', data=df, orient=\"v\")" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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1Wouuuii/Pmf/3kaGxvH+/iMwG233ZYHH3wwu3btymtf+9rMnj07DzzwgJ/7JgGBBAAAUPhXWwAAAIVAAgAAKAQSAABAIZAAAAAKb68CAAAc0zo7O7Nhw4Y888wzuf/++3Puuee+4v2//e1v5+abbz78dX9/f17/+tfny1/+8qs+lytIAExI11xzzaD+QQjAse+SSy7JPffck3nz5g3q/hdccEHuu+++w3/OO++8tLW1DWqvK0gAHDeWLFmSXbt2pVKpZMaMGXnb296WFStW5KSTTjrivn/7t387DicEoB4uvPDCo97+3e9+N3feeefH6fEAAAOGSURBVGf27NmTJPnIRz6St7/97S+5T39/f77+9a/nlltuGdRzuYIEwHFl3bp1eeyxx/LlL385jz/+eD796U+/ZL1Wq+XQoUPjdDoAxspzzz2XVatW5a677sqXvvSlrFu3LitXrsxzzz33kvvde++9+aVf+qW87nWvG9TjCiQAjktz587NxRdfnB/84Ae56qqr8rGPfSzve9/7cv7552fHjh256qqrsn79+sP3/+IXv5jLLrssb3nLW3L55Zfne9/7XpJk586d+b3f+738wi/8QpYsWZLPf/7z4/UtATAEjz32WJ5++ulce+21ufLKK3PttdemoaEh27Zte8n9vvSlL+Xd7373oB/XS+wAOC719vbm4Ycfzjvf+c50d3fnvvvuy9/8zd/krLPOSq1We8l9v/rVr+aTn/xk1qxZkze96U3Zvn17Ghsbc+jQofzO7/xOlixZkrvuuis7d+7MBz7wgZx11lm5+OKLx+k7A2AwarVaFi5cmHvuuedl7/Od73wnu3fvztve9rZBP64rSAAcV373d383F154YTo6OvLzP//z+dCHPpQkede73pVzzjknjY2NOeGEE16y51/+5V9yzTXX5LzzzktDQ0Pmz5+fefPm5fHHH8/AwECuv/76TJ06Naeffnre+9735itf+cp4fGsADMFb3vKWbNu2Ld/4xjcO37Zx48aX/Euyf/3Xf82VV16ZxsbBXxdyBQmA48qaNWvyi7/4i0fc3tLS8rJ7ent7c8YZZxxx+zPPPJO+vr6X/PJvtVp92V8GBmB83HbbbXnwwQeza9euXH311Zk9e3YeeOCBrF27NnfccUf+4i/+IgcOHMjpp5+edevWpaGhIS+++GK++tWv5p//+Z+H9FwCCYAJoaGh4WXXWlpasn379qPeftppp+XBBx+s59EAGKEVK1ZkxYoVR9x+3nnn5e677z7qnunTp+db3/rWkJ/LS+wAmPDe85735O///u+zadOm1Gq1bNu2Lc8880zOO++8nHzyyfnsZz+bF198MdVqNZs3b87GjRvH+8gAjBNXkACY8C677LLs3r07f/iHf5i+vr7Mmzcvt99+e+bNm5dPf/rT6ezszCWXXJL9+/fnrLPOyu///u+P95EBGCcNtf/7Vj8AAACTlJfYAQAAFAIJAACgEEgAAACFQAIAACgEEgAAQCGQAAAACoEEAABQCCQAAIDi/wOmtqzhYQ61hgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "filter_data = df.dropna(subset=['Price'])\n", + "plt.figure(figsize=(14,8))\n", + "\n", + "sns.distplot(filter_data['Price'], kde=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "type_counts = df['Type'].value_counts()\n", + "\n", + "df2 = pd.DataFrame({'house_type': type_counts}, index = ['t', 'h', 'u'])\n", + "\n", + "df2.plot.pie(y='house_type', figsize=(10,10), autopct='%1.1f%%')" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/fZJGwYAAACA48u449TNN9/8gttvvfXWSRsGAAAAgOPLi/61vu9973tJktHR0fzrv/5rarXa2Nr27dvzspe97NhNBwAAAMCM9qJxavXq1UmSgwcP5m/+5m/Gtjc0NGTu3Lm59tprj910AAAAAMxoLxqn7r///iTJqlWr8qlPfeqYDwQAAADA8eNF49Sv/WaYGh0dPWRt1ix/9A8AAACAozfuOPVf//VfWbt2bX7wgx/k4MGDSZJarZaGhoZ8//vfP2YDAgAAADBzjTtOdXd354//+I/ziU98IieeeOKxnAkAAACA48S449STTz6Zj370o2loaDiW8wAAAABwHBn3m0W9+c1vzne+851jOQsAAAAAx5lxv3Lq4MGDufLKK7NkyZKcfvrph6z5K34AAAAATMS449RrX/vavPa1rz2WswAAAABwnBl3nLryyiuP5RwAAAAAHIfGHae+973vHXbtDW94w6QMAwAAAMDxZdxxavXq1Yfc3rNnT5555pnMnz8/3/jGNyZ9MAAAAABmvnHHqfvvv/+Q29VqNbfeemte9rKXTfpQAAAAABwfZk30jo2NjfngBz+Yv/u7v5vMeQAAAAA4jkw4TiXJd7/73TQ0NEzWLAAAAAAcZ8Z9Wd955513SIh6+umnMzIykp6enmMyGAAAAAAz37jj1Kc//elDbp900kl59atfnVNOOWXShwIAAADg+DDuOPUHf/AHSZLR0dHs2rUrp59+embNeklXBQIAAABwnBt3Xdq/f39WrVqVs88+O29605ty9tln5+qrr86+ffuO5XwAAAAAzGDjjlPr1q3L008/nc2bN+fRRx/N5s2b8/TTT2fdunXHcj4AAAAAZrBxX9b37W9/O1//+tdz0kknJUle/epX55Of/GTe/OY3H7PhAAAAAJjZxv3KqTlz5mT37t2HbNuzZ0+ampomfSgAAAAAjg/jfuXUu9/97rz//e/PpZdemle84hX52c9+lo0bN+ZP//RPj+V8AAAAAMxg445TV1xxRebPn5/NmzdnaGgo8+bNy+WXXy5OAQAAADBh476sb/369Xn1q1+djRs3ZsuWLdm4cWMWLlyY9evXH8v5AAAAAJjBxh2n+vv787rXve6Qba973evS398/6UMBAAAAcHwYd5xqaGjI6OjoIduq1erztgEAAADAeI07Ti1dujQ33XTTWIwaHR3N5z//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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.set(style='darkgrid')\n", + "plt.figure(figsize=(20,10))\n", + "\n", + "ax = sns.countplot(x='Regionname', data=df)" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "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", + "
SuburbAddressRoomsTypePriceMethodSellerGDatePostcodeRegionnamePropertycountDistanceCouncilArea
0Abbotsford49 Lithgow St3h1490000.0SJellis2017-01-043067Northern Metropolitan40193.0Yarra City Council
1Abbotsford59A Turner St3h1220000.0SMarshall2017-01-043067Northern Metropolitan40193.0Yarra City Council
2Abbotsford119B Yarra St3h1420000.0SNelson2017-01-043067Northern Metropolitan40193.0Yarra City Council
3Aberfeldie68 Vida St3h1515000.0SBarry2017-01-043040Western Metropolitan15437.5Moonee Valley City Council
4Airport West92 Clydesdale Rd2h670000.0SNelson2017-01-043042Western Metropolitan346410.4Moonee Valley City Council
\n", + "
" + ], + "text/plain": [ + " Suburb Address Rooms Type Price Method SellerG \\\n", + "0 Abbotsford 49 Lithgow St 3 h 1490000.0 S Jellis \n", + "1 Abbotsford 59A Turner St 3 h 1220000.0 S Marshall \n", + "2 Abbotsford 119B Yarra St 3 h 1420000.0 S Nelson \n", + "3 Aberfeldie 68 Vida St 3 h 1515000.0 S Barry \n", + "4 Airport West 92 Clydesdale Rd 2 h 670000.0 S Nelson \n", + "\n", + " Date Postcode Regionname Propertycount Distance \\\n", + "0 2017-01-04 3067 Northern Metropolitan 4019 3.0 \n", + "1 2017-01-04 3067 Northern Metropolitan 4019 3.0 \n", + "2 2017-01-04 3067 Northern Metropolitan 4019 3.0 \n", + "3 2017-01-04 3040 Western Metropolitan 1543 7.5 \n", + "4 2017-01-04 3042 Western Metropolitan 3464 10.4 \n", + "\n", + " CouncilArea \n", + "0 Yarra City Council \n", + "1 Yarra City Council \n", + "2 Yarra City Council \n", + "3 Moonee Valley City Council \n", + "4 Moonee Valley City Council " + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVwAAAFsCAYAAACAbAGBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXxU5bnA8d85s2Qyk42EBMIiEDYDgoRVBOUKCGoB16pQtXWpUmqlVqu5WMC1Nmq1igsq6m2vikqrqGiLIG6gKHgR0IDse0hCQkhmksz63j8mM2bPZDsk4fl+Phpy3jPveTKZPPPOux1NKaUQQgjR6vSTHYAQQpwqJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOGeQhYtWsSdd95pyLW+/fZbpkyZQkZGBqtXrzbkmq3hyJEjZGRk4Pf76zxn4MCB7N+/38CoOo7Fixdzzz33GHrNm266iXfeecfQa4ZIwq3Fxo0bufrqqxkxYgSjR4/m6quvZsuWLc2q8+2332bmzJlVjmVmZvLEE080q97qMjMzOeOMM8jIyGD06NFcf/317N69u9H1TJw4kS+//LLJcTz11FP84he/YNOmTUyePLnW+ocOHUpGRgYjR47k6quvZunSpQQCgYjqP3ToEAMHDsTn8zU5xkh069aNTZs2YTKZALj22mtZtmxZq14zJJI3yMrP47hx48jMzMTlchkSX0uYPXs2Dz30UIvXW9vfW8iSJUu49NJLW/yakZCEW43T6WT27Nlcc801fPPNN3z++efceuutWK3Wkx1aDXUlmxtvvJFNmzbx2WefkZiYyH//938bHFmwZdi/f/96z1m8eDGbNm3ik08+4de//jUvvvii4a2djiD0PC5fvpzs7GxeeOGFVrlOfa18ERlJuNXs3bsXgGnTpmEymbDZbIwfP57TTz89fM5bb73FhRdeSEZGBhdddBE//PADAC+88AKTJ08OH1+1ahUAu3fvZuHChXz33XfhFt2bb77J+++/z0svvURGRgazZ88GIDc3l9/97necddZZTJw4kX/84x/h6y5atIjbbruNO++8k+HDhzf4sSg6Oprp06ezc+fOWss//vhjfvaznzFy5EiuvfbacEv4j3/8I0eOHGH27NlkZGTw4osv1vr4t956i/PPP5/Ro0cze/ZscnNzAZg8eTIHDx4MP97j8dQbZ2xsLJMmTeJvf/sb77zzDjt27ADg008/5ZJLLmH48OFMmDCBRYsWhR9zzTXXADBq1CgyMjLYtGkTBw4c4LrrrmPMmDGMGTOGO+64g+Li4lqv+dRTT/HAAw8A4PV6GTZsGI888ggA5eXlDBkyhBMnTlRpST/xxBNs3LiR+++/n4yMDO6///5wfV9++SVTpkxh1KhR3HfffYQWcAYCAZ599lnOO+88xo4dy1133UVJSQkAX3/9Neeee26VuEKfLD7//HOef/55/v3vf5ORkcGMGTPqfQ4BkpOTGT9+PNu2bQsf83g8ZGVl8V//9V+cffbZLFiwgPLy8nD5iy++yPjx4xk/fjzLli2r0j2SmZnJwoUL+fWvf82wYcP4+uuv662vsLCQW265hZEjRzJ69GhmzZoV/sTywgsvcM4555CRkcHUqVP56quvgJqt+Lpek6Hn5qWXXmL69OmMGDGC3//+97jd7gafl+oqf0oJtYSzsrIYNWoUEydO5LPPPgufW1JSwrx58xg/fjznnHMOTzzxRPPeeJSooqSkRI0ePVrddddd6tNPP1VFRUVVyj/88EM1fvx4tXnzZhUIBNS+ffvUoUOHwmVHjx5Vfr9fffDBB+rMM89Uubm5Siml/vWvf6mrr766Sl133323evzxx8Pf+/1+demll6pFixYpt9utDhw4oCZOnKg+//xzpZRSTz31lBo0aJBatWqV8vv9qqysrEb8let0Op3qD3/4g5o5c2b48XfccYdSSqk9e/aoM888U61du1Z5PB71wgsvqMmTJyu3262UUuq8885T69atq/N5+vLLL9Xo0aPV999/r9xut7r//vvVrFmzwuUNPb6u8gkTJqjXXntNKaXU+vXr1fbt25Xf71fbtm1TY8eOVatWrVJKKXXw4EE1YMAA5fV6w4/dt2+fWrt2rXK73aqgoEDNmjVLPfjgg3XGP23aNKWUUt9++62aNGmSuuKKK8Jl06dPr/U611xzjXrrrbeq1DVgwAB18803qxMnTqjDhw+rMWPGqM8++0wppdSyZcvU5MmT1YEDB5TT6VS//e1v1Z133hn++c4555w6n5fKv69InsecnBw1bdo09cADD4TLH3zwQXXLLbeo48ePq5KSEnXLLbeoxx57TCml1GeffabOPvtstWPHDlVaWqruvPNONWDAALVv3z6lVPC1NHz4cLVx40bl9/tVeXl5vfU99thjav78+crj8SiPx6M2bNigAoGA2r17tzr33HPV0aNHw8/p/v37a/yMkbwmL7/8cnX06FF1/PhxdcEFF6jXX3+91ueltr+3kMq/w3/9619q0KBB6s0331Q+n0+99tpraty4cSoQCCillPrNb36j5s+fr1wulzp27Ji6/PLL1dKlS+v9ndRHWrjVxMTE8Prrr6NpGvPnz2fs2LHMnj2bY8eOAfDPf/6Tm266iaFDh6JpGr169aJ79+4AXHjhhXTp0gVd17nooovo1atXo/p+t27dSmFhYbgLo2fPnlx55ZV8+OGH4XOGDRvG5MmT0XUdm81Waz0vv/wyI0eOZMqUKbhcLv7yl7/UOOfDDz9kwoQJjBs3DovFwo033kh5eTmbNm2KKNb333+fyy+/nMGDB2O1WvnDH/7Ad999x6FDhyL+eWuTkpLCiRMnABgzZgwDBw5E13VOP/10fvazn/HNN9/U+dhevXoxbtw4rFYriYmJXH/99WzYsKHWczMyMti3bx/Hjx9n48aNXHHFFeTm5uJyudiwYQOjR49uVNy//vWviYuLo1u3bowZM4bt27cDwefpV7/6FT179sThcPCHP/yBDz/8sEX7nn/729+SkZHBhAkTSExM5LbbbgNAKcWyZcuYN28eCQkJxMTEcMstt/DBBx8A8O9//5vLLruM/v37Ex0dza233lqj7kmTJjFixAh0XcdqtdZbn9lsJj8/nyNHjmCxWBg5ciSapmEymfB4POzevRuv10uPHj047bTTalwrktfktddeS5cuXUhISOC8886r0ppvqm7dunHllVdiMpm49NJLyc/P59ixYxw7dozPP/+cefPmYbfbSUpK4le/+lX4520Kc7Oj7YD69u0bTlK7d+/mj3/8I3/+8595/PHHycnJqfXFArB8+XJeeeUVDh8+DEBpaSnHjx+P+LqHDx8mLy+PkSNHho/5/f4q33ft2rXBem644QZuv/32es/Jy8ujW7du4e91XSc1NTXcLdCQvLw8Bg8eHP7e4XCQkJBAbm4uPXr0iKiO2uTm5hIfHw/A5s2beeyxx9i5cyderxePx8MFF1xQ52MLCgp48MEH2bhxIy6XC6UUcXFxtZ5rs9k444wz2LBhAxs2bGD27Nls27aN//u//2PDhg3hLotIJScnh/8dHR0dHrjKy8sLvyEDdO/eHZ/PR0FBQaPqr88zzzzD2WefzTfffMMdd9zB8ePHiYuLo7CwkLKyMi677LLwuUqp8Mf8vLw8zjjjjHBZampqjborH2uovhtvvJGnn36aG264AYCrrrqKm2++mV69ejFv3jwWLVrErl27GD9+PJmZmXTp0qXKtSJ5TVZ/nvPy8hr3ZNWic+fOVeqE4N/uiRMn8Pl8jB8/PlweCARqfZ4iJQm3AX379uWyyy7jzTffBIIvwAMHDtQ47/Dhw/zpT3/if/7nf8jIyMBkMnHxxReHyzVNq/GY6sdSU1Pp0aMHH330UZ3x1FZPU6SkpIT7SiH4h5OTk1Pjj6C+x4feWCD4Ai0qKor48bXZsmULubm5jBgxAoA77riDa665hiVLlhAVFcVDDz0UfgOr7Xn461//iqZpvPfee3Tq1InVq1dX6WetbvTo0axfv55t27YxZMgQRo8ezdq1a9myZQujRo1q8s9RWfXn6ciRI5jNZpKSksjNza3Sn+r3+yksLAx/39jf9ejRo7nsssvIysri2WefpVOnTthsNj744INafy8pKSlVkllOTk699TdUX0xMDJmZmWRmZrJz506uu+46hgwZwtixY5k+fTrTp0/H6XSyYMECHnvsMR599NEa8TTnNdnSunbtitVqZf369ZjNLZMqpUuhmt27d/Pyyy9z9OhRIPgiXLFiBWeeeSYAV1xxBS+//DLff/89Sin279/P4cOHKSsrQ9M0EhMTAfjXv/5VZbAq9AdWeQApKSmpykfwoUOHEhMTwwsvvEB5eTl+v58dO3Y0e0pabS688EI+++wzvvrqK7xeLy+//DJWq5WMjAwg+K5/8ODBOh8/ffp03n77bbZt24bH4+Hxxx9n6NChTWrdOp1OPvnkE/7whz8wY8YMBg4cCIDL5SI+Pp6oqCi2bNnCihUrwo9JTExE1/UqMbpcLux2O3FxceTm5rJkyZJ6rztq1CiWL19O3759sVqtjB49mmXLltGjR4/w77G6hp6X6qZNm8bf//53Dh48iMvl4oknnuDCCy/EbDbTp08f3G43n376KV6vl+eee67G6+Pw4cMRT5UD+OUvf8mXX37Jtm3b0HWdn//85/z5z38Ot6hzc3P54osvALjgggt4++232b17N2VlZTzzzDP11t1QfZ988gn79+9HKUVMTAwmkwld19mzZw9fffUVHo8Hq9VKVFRUeJpdZQ29JhtLKYXb7a7yX2OkpKQwbtw4/vKXv+B0OgkEAhw4cKDebq2GSMKtJiYmhs2bN/Pzn/+cYcOGceWVVzJgwAAyMzOB4Iti9uzZ3HHHHQwfPpzf/va3nDhxgn79+nHDDTdw9dVXc/bZZ7Njxw6GDx8ervess86iX79+jB8/njFjxgDB5L1r1y5GjhzJnDlzMJlMPPfcc2zfvp1JkyZx1lln8ac//Qmn09niP2daWhqPPvooDzzwAGeddRaffPIJixcvDk9/u/nmm3nuuecYOXIkL730Uo3Hjx07lrlz5/K73/2O8ePHc/DgwUbPKQ7NYpgwYQKLFy/m+uuv5+GHHw6XL1y4kKeeeoqMjAyeeeYZLrzwwnBZdHQ0s2fPZubMmYwcOZLvvvuOW2+9lezsbEaOHMnNN9/MlClT6r1+RkYGbrc73Jrt168fUVFRVbpwqrvuuutYuXIlo0aN4sEHH2zwZ7z88suZMWMG11xzDZMmTcJqtTJ//nwgODtj4cKF/OlPf+Lcc88lOjq6SpdRqPtkzJgxEc8bTUxM5OKLL+bZZ58FgjNOevXqxZVXXsnw4cP51a9+FZ6JM2HCBK699lquu+46zj//fIYNGwZQ7xTI+urbv38/119/PRkZGVx11VXMnDmTMWPG4PF4+Otf/8qYMWMYP348hYWFtXZ5NfSabKxNmzYxdOjQKv81tu/8kUcewev1ctFFFzFq1Chuu+028vPzmxQPgKaUbEAuhAh+ups2bRpbt25tsY/Qoipp4QpxClu1ahUej4cTJ07w6KOPct5550mybUWScIU4hb3xxhuMHTuW888/H5PJxL333nuyQ+rQpEtBCCEMIi1cIYQwiCRcIYQwyCndO15Q4CQQiLxHpVMnO8ePl7ZiRC1PYjaGxGyM9hBzcnJsnWXSwm0Es7nmZO22TmI2hsRsjPYYc2WScIUQwiCScIUQwiCGJ9ynn36agQMHhjep2Lt3L1dddRVTp07lqquuYt++feFzm1omhBBtkaEJ94cffuC7776rsgXbwoULmTVrFitXrmTWrFksWLCg2WVCCNEWGZZwPR4P999/PwsXLgxvO1dQUEB2djbTpk0DgjsrZWdnU1hY2OQyIYRoqwybFvbkk08yY8YMevbsGT4W2usytFWbyWQiJSWFnJwclFJNKqtrWz0hhDjZDEm4mzZtYuvWrQ3e8tloSUkxjX5MfXPs2iqJ2RgSszHaY8whhiTcDRs2sGfPHiZNmgTA0aNHufHGG/nv//5vcnNz8fv9mEwm/H4/eXl5pKamopRqUlljNHbhQ3JyLPn5JY26xskmMRtDYjZGe4j5pC98uPnmm1m7di1r1qxhzZo1dO3alZdeeomLLrqI9PT08E7+K1asID09ncTERJKSkppUdrK5yr0cPubCVe492aEIIdqYk76099577yUzM5Nnn32WuLg4srKyml1mtP25xazbfITNO/PJL6maaK0mCCiwmDR6d4vj/FE9iYm2crykHJ8funW2YzaZSIix4rBZqjzWVe6lyOmptUwI0f6c0tsztkSXwpL3f+DLHyK7021dHDYzsXYrMyf3Z0haEgBb9xSwdPVP90SrXNYY7eEjWHUSszEk5tZx0rsUOqr9ucXNTrYArnIfgYBi6eqduMq9uMq9LF29E13XiLKa0HUtXCaEaL8k4TbDrkMnWqyuQMUHjSKnhyJn8M6tFrNe5WvouBCifTrpfbjtWb8e8S1WVyjhJsT8dIdSry+Axazj9QVqlAkh2h9p4TZDry5xnD24S4vUZTHpzJzcH4fNgsNmYebk/gQCCrfHTyCgwmVCiPZLWrjNdNP0wZw/uifrNh/hu13HKCj2UNcwnK7BtLN7ER1l5j/fHAAFZpPOz8b2ZlR6SpWEOiQtibTr4mSWghAdiCTcFtCrSxy9psQxa0rVqVyl5V52HS7GYtZIiLGRmmQPJ87xQ7s1mExDrV0hRMcgCbeFVU6SDpuF5AR7g+cJIU4N0ocrhBAGkYQrhBAGkYQrhBAGkYQrhBAGkYQrhBAGkYQrhBAGkYQrhBAGkYQrhBAGkYQrhBAGkYQrhBAGkaW9LcBV7iWnoJQyt5cTTjcbf8xjf04Jtigzo05PxhcIbrXYq0sMXZMcpCY5AMgpKAUUqUkOWeYrxClAEm4zbd1TwCsfbuOEs+YuYSdKfaz46mCVYxrgiLYQCARwe4P73MY5rPzqwtObdAsdIUT7IV0KzeAq9/LaRzsoKa17S8bqFOAs81Lq9qOh0HWNYpeH11ftkFvoCNHBScJthiKnJ3ynhqbQNA2t4qs/oOQWOkJ0cJJwmyEhxoquaU1+vFIKVfHVpGtyCx0hOjhJuM3gsFn4xZQBxNqtRJp2NSAm2oI9yoRCIxBQxDmszDp/gAycCdHByaBZMw1JS+KBm8bILAUhRIMk4bYAh81Cv+4/3cF3/NDuET2u8mOEEB2fdCkIIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRB5J5mLSC/qJT1Pxxl16ETON0+3B4/Ho+PlE42+qTGY7WYAI1Yu4U+3eIwm0wkxFjlxpFCnGIk4TbT++v28s4Xe2stO1bsIXt/cZ2PjYsxowWgf894Jo7oSZnbT2JcFF6fotztxRZlITXJDkCR01NvknaVexs8pynnCiFajmEJd86cORw6dAhd17Hb7cyfP5/09HQ++eQTnnzySZRSBAIBfve73zFlyhQA9u7dS2ZmJkVFRSQkJJCVlUXv3r0bLDNKflEpy+tItpEodvoA2PhjARt/LKhRrmtgtejYrGZs1uCvaubk/gxJS6py3tY9BSxdvTP8fW3nNOVcIUTLMqwPNysri/fee4/ly5dzww03MG/ePJRS3HXXXTzyyCO8++67PProo9x9990EAgEAFi5cyKxZs1i5ciWzZs1iwYIF4frqKzPKoXwXqhXrDygo9wQocnrwBwLousbS1TtxlXvD57jKvSxdvRNd14iymmo9pynnCiFanmEJNzY2Nvxvp9OJpmnBAHSdkpISAEpKSkhJSUHXdQoKCsjOzmbatGkATJs2jezsbAoLC+stM1KPZIdh1zpe4sakB5+zIqcnfDz0b4tZr/K18jlNOVcI0fIM7cO95557WLduHUoplixZgqZp/O1vf2POnDnY7XZcLhfPP/88ADk5OXTp0gWTyQSAyWQiJSWFnJwclFJ1liUmJhr28yQn2PnZ2NP44KsDhlzP7fWjaxoJMdbwsdC/vb4AFrOO1xeocryyxpwrhGh5hibchx56CIDly5fzyCOP8Nxzz/H888/z7LPPMmLECL799ltuv/12PvjgA0PiSUqKafRjkpNjq3w/+4oMdJPO+2v3tVBUNYVatmaTzs2XDKF3z5/eVJKB2ZcNZcl73+PzK3Rdq3lORcyRnNtWVH+e2wOJ2RjtMeaQkzJL4ZJLLmHBggX88MMP5OXlMWLECABGjBhBdHQ0u3fvpnv37uTm5uL3+zGZTPj9fvLy8khNTUUpVWdZYxQUOAkEIu+FTU6OJT+/pMbxS8ensX5rDvkn3I26fn0G9Urg6PEyzHrwY/8FY05jVHoKDpulRgyndbZz96yMKjMPQudUj7m+c9uKup7ntkxiNkZ7iLm+NwRDEq7L5aK4uDicENesWUN8fDypqakcPXqUPXv2kJaWxu7duzl27BinnXYaCQkJpKens2LFCi6++GJWrFhBenp6uMugvrKT4c6ZGTzw9404y3wRnW81a4w8PYVune3889OaMx0mZHRjUO+kiKdvOWyWiKd4NeZcIUTLMSThlpWVMXfuXMrKytB1nfj4eBYvXkxKSgr33nsvc+fODQ+iPfzwwyQkJABw7733kpmZybPPPktcXBxZWVnhOusrM1poqlWoTzQS/gB8nZ1HYlwUZh0qPzTKojOod1KNxCjzZ4Vo3zSlVGvObGrTWqJLwVXu5aF/fBvs5jheFnFdJh00Ta9Y6BAAFD6/wmrWue6C0xs117a+RNwePoJVJzEbQ2JuHSe9S6EjC02pCr1taRDR3Fx/AMwmRZTFhK5p3PCz04mOstSaNCvPnw3NLli6eidp18Wx50ixLGQQop2QzWuaKTSlqqJHpFELIeIcVvwVLezUJAfdOztq7Sqoa/5sTkGpLGQQoh2RhNtMDpuFmZP74/b60RrxOF3XMJt0AgHFzMn96+2TrTx/tvLXUHqXhQxCtA/SpdAC0rrFYTHrBGdwaeFWa12iLDo3/CydTrFRgBbeoKYuoaS+dPVO3B4/EOw6SE0KrnSThQxCtA+ScJvJVe5ly+5jOEs9+APQUKdCjN2E3Wql3OPjhfd2o+sauqbV2/fqKveSGGfjlosHUVjspkeyg+SEYJKuLRHLDAYh2iZJuM2wYXsu/7vyx4jn3gI4S/04S8t45cMfw8dsFp1XPtzG9Relk9YtDgh2C/j8fjbtyOerH3Lx+RXFLg+xdgs2q5lLz+1Dt84xpHWL457rRsh0MSHaAUm4TbRhey6L3/2BlphUV+4NUO718Le3NhMdZSLKasbj9eMq/ymR65qGrhNM7hq88F42SXE2dL3+1rEQou2QQbMmcJV7eWP1zhZJtpUpoNTtp6jEXSXZAgSUqlgcoihxBWchmMyazEwQoh2RhNsERU4P/lZcL6LVMd3BH+wkRlUkX5Ouy8wEIdoRSbhNkBBjJcpsarX668rlmqbhsJnRNI04uwWTrsnMBCHaEenDbQKHzcI1Uwfy/LvfU+r2t1i9mgbR1qp9uBU7M3JeRnemjO6Jx6c4cszJO5/vlZkJQrQzknCbaEhaElm/OZs13x7knS/2Nbkeu1XjvOE96ZUaS0KMrcpNI31+f41pYADdOzsY1DtRZiYI0c5Iwm0Gh83C9HFpTBzRk39+upMN2bl4/ApfHY1eu81E7y4xTB7VE6W0Gom0et0AvbrUfW1JtEK0L5JwW4DDZuGXFwzilxcMOtmhCCHaMBk0E0IIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg0jCFUIIg5iNutCcOXM4dOgQuq5jt9uZP38+6enpuN1u/vznP/PVV18RFRXFsGHDeOCBBwDYu3cvmZmZFBUVkZCQQFZWFr17926wTAgh2iLDEm5WVhaxsbEArF69mnnz5vHOO+/w6KOPEhUVxcqVK9E0jWPHjoUfs3DhQmbNmsXFF1/Mu+++y4IFC/jHP/7RYJkQQrRFhnUphJItgNPpRNM0XC4Xy5cvZ+7cuWiaBkDnzp0BKCgoIDs7m2nTpgEwbdo0srOzKSwsrLdMCCHaKsNauAD33HMP69atQynFkiVLOHjwIAkJCTz99NN8/fXXOBwO5s6dy8iRI8nJyaFLly6YTCYATCYTKSkp5OTkoJSqsywxMTHieJKSYhr9MyQnxzZ8UhsjMRtDYjZGe4w5xNCE+9BDDwGwfPlyHnnkEebOncvBgwcZNGgQd999N5s3b2b27NmsWrXKkHgKCpwEAiri85OTY8nPL2nFiFqexGwMidkY7SHm+t4QIu5S8Hq9bNy4kQ8//BCA0tJSSktLmxTQJZdcwtdff03Xrl0xm83hroEzzzyTTp06sXfvXlJTU8nNzcXv9wPg9/vJy8sjNTW13jIhhGirIkq4P/74I1OnTuVPf/oT99xzDwAbNmxg3rx5EV3E5XKRk5MT/n7NmjXEx8eTlJTEmDFjWLduHRCceVBQUECvXr1ISkoiPT2dFStWALBixQrS09NJTEyst0wIIdoqTSnV4GfqmTNnctVVV3HJJZcwatQoNmzYQGlpKVOnTuWLL75o8CLHjh1jzpw5lJWVoes68fHx3H333QwePJiDBw8yb948ioqKMJvN/P73v2fChAkA7N69m8zMTIqLi4mLiyMrK4u0tLQGyyIlXQptk8RsDIm5ddTXpRBRwh01ahTffPMNmqYxevRovvnmG4Aq/26PJOG2TRKzMSTm1tHsPtzu3bvz/fffVzm2ZcsWTjvttOZFJoQQp5CIZo4mP3sAACAASURBVCnMnTuXW265hauvvhqv18vzzz/PG2+8EV4RJoQQomERtXDPO+88XnzxRQoLCxk1ahSHDx9m0aJFjB8/vrXjE0KIDiPiebiDBw9m8ODBrRmLEEJ0aHUm3CeffDKiCubOndtiwQghREdWZ8I9evRo+N9ut5uPPvqIM844g+7du3PkyBG2bt3KlClTDAlSCCE6gjoT7sMPPxz+9+23385f//pXpk6dGj720Ucf8Z///Kd1oxNCiA4kokGzzz//nMmTJ1c5NmnSJD777LNWCUoIITqiiBJur169eO2116oce/3112UerhBCNEJEsxQefPBBbr31VpYsWUKXLl04evQoFouFRYsWtXZ8QgjRYUSUcAcNGsTKlSvZvHkzeXl5JCcnM2zYMCwWS2vHJ4QQHUbE2zNqmoZSikAgEP5eCCFE5CJq4e7evZvf/OY3uN1uunbtSk5ODlFRUSxevJi+ffu2doxCCNEhRJRw77vvPq688kpuvPHGcMv2pZde4t577+V///d/WzVAIYToKCLqUti+fTvXX399lW6EX/7yl2zfvr3VAhNCiI4mooSbkpJSY9/bjRs3kpKS0ipBCSFERxRRl8Ltt9/OnDlz+K//+i+6devGkSNH+PTTT3n00UdbOz4hhOgwImrhTpo0ibfffpv+/fvjcrno378/b7/9do3VZ0IIIepWbwtXKYXL5SImJoY+ffowZ86ccJnT6UQpJdPDhBAiQvW2cP/+979z77331lp23333yQwFIYRohHoT7jvvvMOtt95aa9mtt97K22+/3SpBCSFER1Rvwj1y5Ai9e/eutaxXr14cPny4NWISQogOqd6EazKZOHbsWK1lx44dQ9cjXhkshBCnvHoz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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.lmplot('Price', 'Postcode', data=df, fit_reg=False, scatter_kws={\"marker\": \"D\", \"s\": 20}) \n", + "plt.title('Scatter Plot of Data without Regression Line')\n", + "plt.xlabel('Price')\n", + "plt.ylabel('Post Code')\n", + "plt.show()" + ] + }, + { + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From dab0d6ebb4ae57349bcb1b2ca11e74f750788363 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Fri, 14 May 2021 12:00:18 +0200 Subject: [PATCH 18/25] safe --- Notebooks/01_Python_Datatypes.ipynb | 4589 +++++++++++++++++ Notebooks/02_Flow_Control.ipynb | 947 ++++ Notebooks/03_Functions.ipynb | 1545 ++++++ .../16_Pandas_Descriptive_statistic.ipynb | 1184 +++-- 4 files changed, 7794 insertions(+), 471 deletions(-) create mode 100644 Notebooks/01_Python_Datatypes.ipynb create mode 100644 Notebooks/02_Flow_Control.ipynb create mode 100644 Notebooks/03_Functions.ipynb diff --git a/Notebooks/01_Python_Datatypes.ipynb b/Notebooks/01_Python_Datatypes.ipynb new file mode 100644 index 00000000..b26c24b4 --- /dev/null +++ b/Notebooks/01_Python_Datatypes.ipynb @@ -0,0 +1,4589 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction to Python \n", + "\n", + "## [Python Built-in Data Types](https://docs.python.org/3/library/stdtypes.html)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### What are types?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### [Everything in Python is an \"Object\"](https://towardsdatascience.com/the-most-important-python-concept-that-you-need-to-understand-985b98bbb84). And each type of Object has its own properties. \n", + "#### These properties are called \"methods\" (a kind of \"inner functions\") and \"attributes\" " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Python data types\n", + "\n", + "+ Text Type: _str_ \n", + "+ Numeric Types: _int_, _float_, _complex_ \n", + "+ Sequence Types: _list_, _tuple_, _range_ \n", + "+ Mapping Type: _dict_ \n", + "+ Set Types: _set_, _frozenset_ \n", + "+ Boolean Type: _bool_ \n", + "+ Binary Types: _bytes_, _bytearray_, _memoryview_ " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can inspect the type of an object typing the command: \n", + "+ _type(object)_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Through this notebook we will use many [\"_bultin_\" functions](https://docs.python.org/3/library/functions.html): \n", + "+ _type_\n", + "+ _dir_\n", + "+ _print_\n", + "+ _len_\n", + "\n", + "#### And also these [Expressions](https://docs.python.org/3/reference/expressions.html) / [Boolean operators](https://docs.python.org/3/reference/expressions.html#boolean-operations)\n", + "+ _or_\n", + "+ _and_ \n", + "+ _in_ \n", + "+ _not_\n", + "+ _is_\n", + "\n", + "#### And more. \n", + "\n", + "#### We will also use the [type creation / conversion primitives](https://www.tutorialspoint.com/data-type-conversion-in-python): \n", + "+ _int_\n", + "+ _float_\n", + "+ _complex_\n", + "+ _list_\n", + "+ _str_\n", + "+ _dict_\n", + "+ _bool_\n", + "+ _tuple_\n", + "+ _set_ \n", + "+ _chr_\n", + "+ _ord_ \n", + "+ _ord_\n", + "+ _chr_\n", + "+ _hex_\n", + "+ _bin_\n", + "+ _oct_ " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Numeric Types:\n", + "In Python 3.x, the numeric types are divided in three classes: integers (int), floating point numbers (float) and complex numbers (complex). " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "a = 12" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's use one of the [\"_bultin_\" functions](https://docs.python.org/3/library/functions.html) to guess a variable type: " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "int" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__abs__',\n", + " '__add__',\n", + " '__and__',\n", + " '__bool__',\n", + " '__ceil__',\n", + " '__class__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__divmod__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__float__',\n", + " '__floor__',\n", + " '__floordiv__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getnewargs__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__index__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__int__',\n", + " '__invert__',\n", + " '__le__',\n", + " '__lshift__',\n", + " '__lt__',\n", + " '__mod__',\n", + " '__mul__',\n", + " '__ne__',\n", + " '__neg__',\n", + " '__new__',\n", + " '__or__',\n", + " '__pos__',\n", + " '__pow__',\n", + " '__radd__',\n", + " '__rand__',\n", + " '__rdivmod__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__rfloordiv__',\n", + " '__rlshift__',\n", + " '__rmod__',\n", + " '__rmul__',\n", + " '__ror__',\n", + " '__round__',\n", + " '__rpow__',\n", + " '__rrshift__',\n", + " '__rshift__',\n", + " '__rsub__',\n", + " '__rtruediv__',\n", + " '__rxor__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__sub__',\n", + " '__subclasshook__',\n", + " '__truediv__',\n", + " '__trunc__',\n", + " '__xor__',\n", + " 'as_integer_ratio',\n", + " 'bit_length',\n", + " 'conjugate',\n", + " 'denominator',\n", + " 'from_bytes',\n", + " 'imag',\n", + " 'numerator',\n", + " 'real',\n", + " 'to_bytes']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "b = 2.7" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "float" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(b)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's check the methods using instrospection:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__abs__',\n", + " '__add__',\n", + " '__bool__',\n", + " '__class__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__divmod__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__float__',\n", + " '__floordiv__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getformat__',\n", + " '__getnewargs__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__int__',\n", + " '__le__',\n", + " '__lt__',\n", + " '__mod__',\n", + " '__mul__',\n", + " '__ne__',\n", + " '__neg__',\n", + " '__new__',\n", + " '__pos__',\n", + " '__pow__',\n", + " '__radd__',\n", + " '__rdivmod__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__rfloordiv__',\n", + " '__rmod__',\n", + " '__rmul__',\n", + " '__round__',\n", + " '__rpow__',\n", + " '__rsub__',\n", + " '__rtruediv__',\n", + " '__set_format__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__sub__',\n", + " '__subclasshook__',\n", + " '__truediv__',\n", + " '__trunc__',\n", + " 'as_integer_ratio',\n", + " 'conjugate',\n", + " 'fromhex',\n", + " 'hex',\n", + " 'imag',\n", + " 'is_integer',\n", + " 'real']" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(b)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0x1.599999999999ap+1'" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.hex()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.is_integer() #method that returns True or False, depending if the float being integer (in the mathematical sense)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "d = 13.0" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "float" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d.is_integer()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "c = 3 + 1j" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__abs__',\n", + " '__add__',\n", + " '__bool__',\n", + " '__class__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__divmod__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__float__',\n", + " '__floordiv__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getnewargs__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__int__',\n", + " '__le__',\n", + " '__lt__',\n", + " '__mod__',\n", + " '__mul__',\n", + " '__ne__',\n", + " '__neg__',\n", + " '__new__',\n", + " '__pos__',\n", + " '__pow__',\n", + " '__radd__',\n", + " '__rdivmod__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__rfloordiv__',\n", + " '__rmod__',\n", + " '__rmul__',\n", + " '__rpow__',\n", + " '__rsub__',\n", + " '__rtruediv__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__sub__',\n", + " '__subclasshook__',\n", + " '__truediv__',\n", + " 'conjugate',\n", + " 'imag',\n", + " 'real']" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(c)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "complex" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(c)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3-1j)" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.conjugate()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Changing basis" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "50\n", + "\n" + ] + } + ], + "source": [ + "x = 0x32 # Hex\n", + "print(x)\n", + "print(type(x))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0x32'" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hex(50)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "497\n" + ] + } + ], + "source": [ + "y = 0b111110001 #Binary\n", + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0b111110001'" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bin(497)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "261841\n" + ] + } + ], + "source": [ + "z = 0o777321 #Octal\n", + "print(z)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0o777321'" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "oct(261841)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "DiChlorod iPHeny lTrichL oroEThaNe#### Binary operations _and_ (&) and _or_ (|)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0b101000'" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bin(0b111000 & 0b101010)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0b111010'" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bin(0b111000 | 0b101010)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### [Numeric Types Operations](https://docs.python.org/3/library/stdtypes.html)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "

Operation

Result

Notes

Full documentation

x + y

sum of x and y

x - y

difference of x and y

x * y

product of x and y

x / y

quotient of x and y

x // y

floored quotient of x and\n", + "y

(1)

x % y

remainder of x / y

(2)

-x

x negated

+x

x unchanged

abs(x)

absolute value or magnitude of\n", + "x

abs()

int(x)

x converted to integer

(3)(6)

int()

float(x)

x converted to floating point

(4)(6)

float()

complex(re, im)

a complex number with real part\n", + "re, imaginary part im.\n", + "im defaults to zero.

(6)

complex()

c.conjugate()

conjugate of the complex number\n", + "c

divmod(x, y)

the pair (x // y, x % y)

(2)

divmod()

pow(x, y)

x to the power y

(5)

pow()

x ** y

x to the power y

(5)

" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "a = 23.\n", + "print(type(a))" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "b = 2 + 3j\n", + "print(type(b))" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "c = a + b\n", + "print(type(c))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Logic Operations \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "

Operation

Meaning

<

strictly less than

<=

less than or equal

>

strictly greater than

>=

greater than or equal

==

equal

!=

not equal

is

object identity

is not

negated object identity

" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n" + ] + } + ], + "source": [ + "c = 2.5\n", + "d = 4\n", + "\n", + "print(c > d)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "bool" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(c > d)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], + "source": [ + "c = 2.5\n", + "d = 4\n", + "\n", + "print(c <= d)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "c = 1 + 3j\n", + "d = 2 + 4j\n", + "\n", + "# print(c > d) # not supported" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n" + ] + } + ], + "source": [ + "print(c == d)" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], + "source": [ + "print(d != c)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type \"list\" [x,y,z]\n", + "+ Lists are ordered sequences of itens, not necessarily of the same type. \n", + "+ Lists are created with square brackets, and each item is separated by commas. \n", + "+ Lists are widely used, and are considered to be a mutable type, i.e. you can change their elements. " + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "my_list = [1,2,2, [2,3,4], 3.9, 4, 2.8, 'a string']" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 2, 2, [2, 3, 4], 3.9, 4, 2.8, 'a string']" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_list" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__add__',\n", + " '__class__',\n", + " '__contains__',\n", + " '__delattr__',\n", + " '__delitem__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getitem__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__iadd__',\n", + " '__imul__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__iter__',\n", + " '__le__',\n", + " '__len__',\n", + " '__lt__',\n", + " '__mul__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__reversed__',\n", + " '__rmul__',\n", + " '__setattr__',\n", + " '__setitem__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__subclasshook__',\n", + " 'append',\n", + " 'clear',\n", + " 'copy',\n", + " 'count',\n", + " 'extend',\n", + " 'index',\n", + " 'insert',\n", + " 'pop',\n", + " 'remove',\n", + " 'reverse',\n", + " 'sort']" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(my_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 2, [2, 3, 4], 3.9, 4, 2.8, 'a string']\n" + ] + } + ], + "source": [ + "print(my_list)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Acessing list elements (the first elements has index 0) " + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'a string'" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_list[7]" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 3, 4]\n" + ] + } + ], + "source": [ + "print(my_list[3])" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a string\n" + ] + } + ], + "source": [ + "print(my_list[-1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Slicing" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, [2, 3, 4], 3.9, 4]\n" + ] + } + ], + "source": [ + "print(my_list[2:6])" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[4, 2.8, 'a string']\n" + ] + } + ], + "source": [ + "print(my_list[5:])[9, 9]" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 2]\n" + ] + } + ], + "source": [ + "print(my_list[:3])" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[2, 3, 4]" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_list[3]" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4\n" + ] + } + ], + "source": [ + "print(my_list[3][2])" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ing\n" + ] + } + ], + "source": [ + "print(my_list[-1][-3:])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Adding new elements " + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [], + "source": [ + "my_new_list = [2,6,3,8]" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [], + "source": [ + "my_new_list.append(23)" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 6, 3, 8, 23]\n" + ] + } + ], + "source": [ + "print(my_new_list)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Removing elements from a list" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "23" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_new_list.pop()" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 6, 3, 8]\n" + ] + } + ], + "source": [ + "print(my_new_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_new_list.pop()" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 6, 3]\n" + ] + } + ], + "source": [ + "print(my_new_list)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Inserting elements (append, extend, insert) " + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 6, 3]\n" + ] + } + ], + "source": [ + "print(my_new_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [], + "source": [ + "my_new_list.append(4)" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 6, 3, 4]\n" + ] + } + ], + "source": [ + "print(my_new_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [], + "source": [ + "my_new_list.extend([0,7,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 6, 3, 4, 0, 7, 3]\n" + ] + } + ], + "source": [ + "print(my_new_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [], + "source": [ + "my_new_list.append([9,9])" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[2, 6, 3, 4, 0, 7, 3, [9, 9]]" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_new_list" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [], + "source": [ + "my_new_list.insert(2,5678)" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 6, 5678, 3, 4, 0, 7, 3, [9, 9]]\n" + ] + } + ], + "source": [ + "print(my_new_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[9, 9]" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_new_list.pop()" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 2, 3, 3, 4, 6, 7, 5678]\n" + ] + } + ], + "source": [ + "my_new_list.sort() #sorting elements permanently\n", + "print(my_new_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['m',\n", + " 'y',\n", + " ' ',\n", + " 'f',\n", + " 'a',\n", + " 'v',\n", + " 'o',\n", + " 'r',\n", + " 'i',\n", + " 't',\n", + " 'e',\n", + " ' ',\n", + " 's',\n", + " 't',\n", + " 'r',\n", + " 'i',\n", + " 'n',\n", + " 'g']" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list_from_string = list('my favorite string')\n", + "list_from_string" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[' ', ' ', 'a', 'e', 'f', 'g', 'i', 'i', 'm', 'n', 'o', 'r', 'r', 's', 't', 't', 'v', 'y']\n" + ] + } + ], + "source": [ + "list_from_string.sort()\n", + "print(list_from_string)" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list_from_string.count('i')" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list_from_string.index('g')" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "18" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(list_from_string) #len() returns the size of an object" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['y', 'v', 't', 't', 's', 'r', 'r', 'o', 'n', 'm', 'i', 'i', 'g', 'f', 'e', 'a', ' ', ' ']\n" + ] + } + ], + "source": [ + "list_from_string.reverse()\n", + "print(list_from_string)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type \"String\":\n", + "+ Strings are ordered sequences of the same type (characters). \n", + "+ Strings are created with single quotes, double quotes and even \"triple quotes\". \n", + "+ Strings are used everywhere in information processing, and are considered to be a immutable type, i.e. you cannot change their elements after the creation. " + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "metadata": {}, + "outputs": [], + "source": [ + "s1 = 'a new string'\n", + "s2 = \"another string\"" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "EOL while scanning string literal (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m s3 = 'my string\" #error\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m EOL while scanning string literal\n" + ] + } + ], + "source": [ + "s3 = 'my string\" #error" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a new string\n" + ] + } + ], + "source": [ + "print(s1)" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "str" + ] + }, + "execution_count": 122, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(s1)" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "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", + " 'isascii',\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": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(s1)" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "another string\n" + ] + } + ], + "source": [ + "print(s2)" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"let's go to the classroom\"" + ] + }, + "execution_count": 125, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s3 = \"let's go to the classroom\" #when to use quotes in a smart way\n", + "s3" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "But what if I have simple quotes (') e and double quotes(\")\n" + ] + } + ], + "source": [ + "s4 = 'But what if I have simple quotes (\\') e and double quotes(\")'\n", + "print(s4)" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "let's stress\n" + ] + } + ], + "source": [ + "s5 = 'let\\'s stress'\n", + "print(s5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Concatenating strings" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a new string, another string\n" + ] + } + ], + "source": [ + "s3 = s1 + ', ' + s2 #operator polimorphism\n", + "print(s3)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The book is on the table\n" + ] + } + ], + "source": [ + "print('The book' + ' ' + 'is on' + ' ' + 'the table')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Multiline strings" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "metadata": {}, + "outputs": [], + "source": [ + "s6 = \"The COVID‑19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic \\\n", + "of coronavirus disease 2019 (COVID‑19), caused by severe acute respiratory syndrome coronavirus 2 \\\n", + "(SARS‑CoV‑2). The outbreak was first identified in December 2019 in Wuhan, China. The World \\\n", + "Health Organization declared the outbreak a Public Health Emergency of International Concern on 30 \\\n", + "January 2020 and a pandemic on 11 March. As of 30 July 2020, more than 17 million cases of COVID‑19\\\n", + "have been reported in more than 188 countries and territories, resulting in more than 667,000 deaths; \\\n", + "more than 9.96 million people have recovered.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The COVID‑19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic of coronavirus disease 2019 (COVID‑19), caused by severe acute respiratory syndrome coronavirus 2 (SARS‑CoV‑2). The outbreak was first identified in December 2019 in Wuhan, China. The World Health Organization declared the outbreak a Public Health Emergency of International Concern on 30 January 2020 and a pandemic on 11 March. As of 30 July 2020, more than 17 million cases of COVID‑19have been reported in more than 188 countries and territories, resulting in more than 667,000 deaths; more than 9.96 million people have recovered.\n" + ] + } + ], + "source": [ + "print(s6)" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'The COVID‑19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic of coronavirus disease 2019 (COVID‑19), caused by severe acute respiratory syndrome coronavirus 2 (SARS‑CoV‑2). The outbreak was first identified in December 2019 in Wuhan, China. The World Health Organization declared the outbreak a Public Health Emergency of International Concern on 30 January 2020 and a pandemic on 11 March. As of 30 July 2020, more than 17 million cases of COVID‑19have been reported in more than 188 countries and territories, resulting in more than 667,000 deaths; more than 9.96 million people have recovered.'" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s6" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "metadata": {}, + "outputs": [], + "source": [ + "s7 = '''\n", + "The COVID‑19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic\n", + "of coronavirus disease 2019\\t(COVID‑19), caused by severe acute respiratory syndrome coronavirus 2\n", + "(SARS‑CoV‑2). The outbreak was first identified in December 2019 in Wuhan, China. The World\n", + "Health Organization declared the outbreak a Public Health Emergency of International Concern on 30\n", + "January 2020 and a pandemic on 11 March. As of 30 July 2020, more than 17 million cases of COVID‑19\n", + "have been reported in more than 188 countries and territories, resulting in more than 667,000 deaths;\n", + "more than 9.96 million people have recovered.\n", + "'''" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The COVID‑19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic\n", + "of coronavirus disease 2019\t(COVID‑19), caused by severe acute respiratory syndrome coronavirus 2\n", + "(SARS‑CoV‑2). The outbreak was first identified in December 2019 in Wuhan, China. The World\n", + "Health Organization declared the outbreak a Public Health Emergency of International Concern on 30\n", + "January 2020 and a pandemic on 11 March. As of 30 July 2020, more than 17 million cases of COVID‑19\n", + "have been reported in more than 188 countries and territories, resulting in more than 667,000 deaths;\n", + "more than 9.96 million people have recovered.\n", + "\n" + ] + } + ], + "source": [ + "print(s7)" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nThe COVID‑19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic\\nof coronavirus disease 2019\\t(COVID‑19), caused by severe acute respiratory syndrome coronavirus 2\\n(SARS‑CoV‑2). The outbreak was first identified in December 2019 in Wuhan, China. The World\\nHealth Organization declared the outbreak a Public Health Emergency of International Concern on 30\\nJanuary 2020 and a pandemic on 11 March. As of 30 July 2020, more than 17 million cases of COVID‑19\\nhave been reported in more than 188 countries and territories, resulting in more than 667,000 deaths;\\nmore than 9.96 million people have recovered.\\n'" + ] + }, + "execution_count": 139, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s7" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "one line \n", + "another line\n" + ] + } + ], + "source": [ + "s8 = 'one line \\nanother line'\n", + "print(s8)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### How many times an element appear?" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 142, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s8.count('o')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Modifying strings (hint: we have to recreate them) " + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [], + "source": [ + "s9 = s7.replace('a','@')" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The COVID‑19 p@ndemic, @lso known @s the coron@virus p@ndemic, is @n ongoing glob@l p@ndemic\n", + "of coron@virus dise@se 2019\t(COVID‑19), c@used by severe @cute respir@tory syndrome coron@virus 2\n", + "(SARS‑CoV‑2). The outbre@k w@s first identified in December 2019 in Wuh@n, Chin@. The World\n", + "He@lth Org@niz@tion decl@red the outbre@k @ Public He@lth Emergency of Intern@tion@l Concern on 30\n", + "J@nu@ry 2020 @nd @ p@ndemic on 11 M@rch. As of 30 July 2020, more th@n 17 million c@ses of COVID‑19\n", + "h@ve been reported in more th@n 188 countries @nd territories, resulting in more th@n 667,000 de@ths;\n", + "more th@n 9.96 million people h@ve recovered.\n", + "\n" + ] + } + ], + "source": [ + "print(s9)" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nThe COVID‑19 pandemic, also known as the coronavirus pandemic, is an ongoing global pandemic\\nof coronavirus disease 2019\\t(COVID‑19), caused by severe acute respiratory syndrome coronavirus 2\\n(SARS‑CoV‑2). The outbreak was first identified in December 2019 in Wuhan, China. The World\\nHealth Organization declared the outbreak a Public Health Emergency of International Concern on 30\\nJanuary 2020 and a pandemic on 11 March. As of 30 July 2020, more than 17 million cases of COVID‑19\\nhave been reported in more than 188 countries and territories, resulting in more than 667,000 deaths;\\nmore than 9.96 million people have recovered.\\n'" + ] + }, + "execution_count": 147, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s7" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Finding substrings " + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "48\n" + ] + } + ], + "source": [ + "print(s7.find('virus'))" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-1\n" + ] + } + ], + "source": [ + "print(s4.find('bacteria'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Accessing elements and slicing" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'d'" + ] + }, + "execution_count": 150, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s10 = \"A brand new string to play\"\n", + "s10[6]" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'string to play'" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s10[12:]" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'string'" + ] + }, + "execution_count": 152, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s10[s10.find('string'):s10.find('string')+len('string')]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### A little more elegantly..." + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'string to play'" + ] + }, + "execution_count": 153, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "begin = s10.find('string')\n", + "end = s10.find('play')+len('play')\n", + "s10[begin:end]" + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'1212'" + ] + }, + "execution_count": 155, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = str(12)\n", + "d = '12'\n", + "c + d" + ] + }, + { + "cell_type": "code", + "execution_count": 156, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 156, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.isdigit()" + ] + }, + { + "cell_type": "code", + "execution_count": 157, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 157, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'thirty five'.isdigit()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Checking the ASCII/Unicode representation of characters" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "65" + ] + }, + "execution_count": 158, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ord('A')" + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'A'" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "chr(65)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Printing hints" + ] + }, + { + "cell_type": "code", + "execution_count": 160, + "metadata": {}, + "outputs": [], + "source": [ + "my_string = \"one small text\"" + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "one small text\n", + "one small text\n", + "one small text one small text\n" + ] + } + ], + "source": [ + "print(my_string) #, end=\"\\n\")\n", + "print(my_string)\n", + "print(my_string, end=\" \")\n", + "print(my_string)" + ] + }, + { + "cell_type": "code", + "execution_count": 163, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "one small text\n", + "one small text separated one small text separated one small text\n" + ] + } + ], + "source": [ + "print(my_string)\n", + "print(my_string, my_string, my_string, sep=\" separated \")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The useful module \"string\"" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [], + "source": [ + "import string" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~'" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "string.punctuation" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The COVID‑19 p@ndemic, @lso known @s the coron@virus p@ndemic, is @n ongoing glob@l p@ndemic\n", + "of coron@virus dise@se 2019\t(COVID‑19), c@used by severe @cute respir@tory syndrome coron@virus 2\n", + "(SARS‑CoV‑2)***** The outbre@k w@s first identified in December 2019 in Wuh@n, Chin@***** The World\n", + "He@lth Org@niz@tion decl@red the outbre@k @ Public He@lth Emergency of Intern@tion@l Concern on 30\n", + "J@nu@ry 2020 @nd @ p@ndemic on 11 M@rch***** As of 30 July 2020, more th@n 17 million c@ses of COVID‑19\n", + "h@ve been reported in more th@n 188 countries @nd territories, resulting in more th@n 667,000 de@ths;\n", + "more th@n 9*****96 million people h@ve recovered*****\n", + "\n" + ] + } + ], + "source": [ + "for punct in ['.','?','!']:\n", + " s9 = s9.replace(punct, '*****')\n", + "print(s9)" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['\\nThe COVID‑19 p@ndemic, @lso known @s the coron@virus p@ndemic, is @n ongoing glob@l p@ndemic\\nof coron@virus dise@se 2019\\t(COVID‑19), c@used by severe @cute respir@tory syndrome coron@virus 2\\n(SARS‑CoV‑2)',\n", + " ' The outbre@k w@s first identified in December 2019 in Wuh@n, Chin@',\n", + " ' The World\\nHe@lth Org@niz@tion decl@red the outbre@k @ Public He@lth Emergency of Intern@tion@l Concern on 30\\nJ@nu@ry 2020 @nd @ p@ndemic on 11 M@rch',\n", + " ' As of 30 July 2020, more th@n 17 million c@ses of COVID‑19\\nh@ve been reported in more th@n 188 countries @nd territories, resulting in more th@n 667,000 de@ths;\\nmore th@n 9',\n", + " '96 million people h@ve recovered',\n", + " '\\n']" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s9.split('*****')" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [], + "source": [ + "s11 = 'a string'\n", + "s11 += ' added to another'" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'a string added to another'" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(s11)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type Boolean (True, False): \n", + "\n", + "+ A boolean is used to create logic statements, or appear as a result of logical tests \n", + "+ Bolean objetcts can be either True or False \n", + "+ True and False are some of the [Python constants _bultin_](https://docs.python.org/3/library/constants.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", + "

Operation

Result

Notes

x or y

if x is false, then y, else\n", + "x

(1)

x and y

if x is false, then x, else\n", + "y

(2)

not x

if x is false, then True,\n", + "else False

(3)

" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'RENATO'.isupper()" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [], + "source": [ + "b1 = True" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [], + "source": [ + "b2 = False" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "bool" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(b2)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n" + ] + } + ], + "source": [ + "print(b1 == b2)" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n" + ] + } + ], + "source": [ + "print(2 == 5)" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "bool" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(2 == 7)" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n", + "False\n" + ] + } + ], + "source": [ + "print(not \"something\")\n", + "print(not [0,2,3])" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + "True\n" + ] + } + ], + "source": [ + "print(not \"\")\n", + "print(not [])" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "4 != 5" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Good\n", + "New Block\n" + ] + } + ], + "source": [ + "if (9 > 10) and (2 == (1 + 1)) and (7 <= 8):\n", + " print('Right')\n", + " \n", + "if x == 4095:\n", + " print('Nice')\n", + "else:\n", + " print('Good')\n", + "print('New Block')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type [Sets](https://medium.com/@rkp0432/set-type-and-frozenset-in-python-3-all-functions-and-examples-a5754e9f2ab6):\n", + "+ Set objects in Python are sets of unique itens (no repetition). \n", + "+ Sets are muttable, and _frozensets_ are immutable" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [], + "source": [ + "c1 = {1,2,3,3,3,3,3,4}" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 2, 3, 4}\n" + ] + } + ], + "source": [ + "print(c1)" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "set" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(c1)" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__and__',\n", + " '__class__',\n", + " '__contains__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__iand__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__ior__',\n", + " '__isub__',\n", + " '__iter__',\n", + " '__ixor__',\n", + " '__le__',\n", + " '__len__',\n", + " '__lt__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__or__',\n", + " '__rand__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__ror__',\n", + " '__rsub__',\n", + " '__rxor__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__sub__',\n", + " '__subclasshook__',\n", + " '__xor__',\n", + " 'add',\n", + " 'clear',\n", + " 'copy',\n", + " 'difference',\n", + " 'difference_update',\n", + " 'discard',\n", + " 'intersection',\n", + " 'intersection_update',\n", + " 'isdisjoint',\n", + " 'issubset',\n", + " 'issuperset',\n", + " 'pop',\n", + " 'remove',\n", + " 'symmetric_difference',\n", + " 'symmetric_difference_update',\n", + " 'union',\n", + " 'update']" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(c1)" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [], + "source": [ + "c2 = set([1,2,3,4,1,2])" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 2, 3, 4}\n" + ] + } + ], + "source": [ + "print(c2)" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [], + "source": [ + "l3 = [1,2,3,'string']" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [], + "source": [ + "c3 = set(l3)" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 2, 3, 'string'}\n" + ] + } + ], + "source": [ + "print(c3)" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [], + "source": [ + "c4 = c3.union([9,8,7])" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 2, 3, 7, 8, 9, 'string'}\n" + ] + } + ], + "source": [ + "print(c4)" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1, 2, 3}\n" + ] + } + ], + "source": [ + "print(c4.intersection(c2))" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 'string']\n" + ] + } + ], + "source": [ + "l3 = list(c3)\n", + "print(l3)" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{' ', 'r', 'h', 'g', 'l', 'f', 's', 'w', 'i', 'n', 'e', 'a', 'c', 'o', 't'}\n" + ] + } + ], + "source": [ + "l5 = 'a nice string with lots of characters'\n", + "c5 = set(l5)\n", + "print(c5)" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "37\n", + "15\n" + ] + } + ], + "source": [ + "print(len(l5))\n", + "print(len(set(l5)))" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "t1 = '''\n", + "The Road Not Taken\n", + "By Robert Frost\n", + "\n", + "Two roads diverged in a yellow wood,\n", + "And sorry I could not travel both\n", + "And be one traveler, long I stood\n", + "And looked down one as far as I could\n", + "To where it bent in the undergrowth;\n", + "\n", + "Then took the other, as just as fair,\n", + "And having perhaps the better claim,\n", + "Because it was grassy and wanted wear;\n", + "Though as for that the passing there\n", + "Had worn them really about the same,\n", + "\n", + "And both that morning equally lay\n", + "In leaves no step had trodden black.\n", + "Oh, I kept the first for another day!\n", + "Yet knowing how way leads on to way,\n", + "I doubted if I should ever come back.\n", + "\n", + "I shall be telling this with a sigh\n", + "Somewhere ages and ages hence:\n", + "Two roads diverged in a wood, and I—\n", + "I took the one less traveled by,\n", + "And that has made all the difference.'''" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The Road Not Taken\n", + "By Robert Frost\n", + "\n", + "Two roads diverged in a yellow wood,\n", + "And sorry I could not travel both\n", + "And be one traveler, long I stood\n", + "And looked down one as far as I could\n", + "To where it bent in the undergrowth;\n", + "\n", + "Then took the other, as just as fair,\n", + "And having perhaps the better claim,\n", + "Because it was grassy and wanted wear;\n", + "Though as for that the passing there\n", + "Had worn them really about the same,\n", + "\n", + "And both that morning equally lay\n", + "In leaves no step had trodden black.\n", + "Oh, I kept the first for another day!\n", + "Yet knowing how way leads on to way,\n", + "I doubted if I should ever come back.\n", + "\n", + "I shall be telling this with a sigh\n", + "Somewhere ages and ages hence:\n", + "Two roads diverged in a wood, and I—\n", + "I took the one less traveled by,\n", + "And that has made all the difference.\n" + ] + } + ], + "source": [ + "print(t1)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['The',\n", + " 'Road',\n", + " 'Not',\n", + " 'Taken',\n", + " 'By',\n", + " 'Robert',\n", + " 'Frost',\n", + " 'Two',\n", + " 'roads',\n", + " 'diverged',\n", + " 'in',\n", + " 'a',\n", + " 'yellow',\n", + " 'wood,',\n", + " 'And',\n", + " 'sorry',\n", + " 'I',\n", + " 'could',\n", + " 'not',\n", + " 'travel',\n", + " 'both',\n", + " 'And',\n", + " 'be',\n", + " 'one',\n", + " 'traveler,',\n", + " 'long',\n", + " 'I',\n", + " 'stood',\n", + " 'And',\n", + " 'looked']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lwords = t1.split()\n", + "lwords[0:30]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "unique_words = set(lwords)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "151\n", + "107\n" + ] + } + ], + "source": [ + "print(len(lwords))\n", + "print(len(unique_words))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'The__Road__Not__Taken__By__Robert__Frost__Two__roads__diverged__in__a__yellow__wood,__And__sorry__I__could__not__travel__both__And__be__one__traveler,__long__I__stood__And__looked__down__one__as__far__as__I__could__To__where__it__bent__in__the__undergrowth;__Then__took__the__other,__as__just__as__fair,__And__having__perhaps__the__better__claim,__Because__it__was__grassy__and__wanted__wear;__Though__as__for__that__the__passing__there__Had__worn__them__really__about__the__same,__And__both__that__morning__equally__lay__In__leaves__no__step__had__trodden__black.__Oh,__I__kept__the__first__for__another__day!__Yet__knowing__how__way__leads__on__to__way,__I__doubted__if__I__should__ever__come__back.__I__shall__be__telling__this__with__a__sigh__Somewhere__ages__and__ages__hence:__Two__roads__diverged__in__a__wood,__and__I—__I__took__the__one__less__traveled__by,__And__that__has__made__all__the__difference.'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'__'.join(lwords)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type [Frozen Sets](https://realpython.com/python-sets/#frozen-sets):\n", + "\n", + "+ A frozenset is in all respects exactly like a set, except that a frozenset is immutable. \n", + "+ You can perform non-modifying operations on a frozenset:" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "fs = frozenset([1,3,2])" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "frozenset" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(fs)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__and__',\n", + " '__class__',\n", + " '__contains__',\n", + " '__delattr__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__iter__',\n", + " '__le__',\n", + " '__len__',\n", + " '__lt__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__or__',\n", + " '__rand__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__ror__',\n", + " '__rsub__',\n", + " '__rxor__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__sub__',\n", + " '__subclasshook__',\n", + " '__xor__',\n", + " 'copy',\n", + " 'difference',\n", + " 'intersection',\n", + " 'isdisjoint',\n", + " 'issubset',\n", + " 'issuperset',\n", + " 'symmetric_difference',\n", + " 'union']" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(fs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type Dict:\n", + "+ Dictionaires are sequences of pairs key:values \n", + "+ They are created with curly braces, commas and colons e.g.{key1: value1, key2: value2} \n", + "+ Keys must be immutable types (strings, numbers, tuples), values can be of any type " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'key1': [1, 2, 3], 'key2': 2, 'key3': 4, 45: 26, 'key4': 23}\n" + ] + } + ], + "source": [ + "d1 = {'key1':[1,2,3],'key2':2,'key3':4,45:26, 'key4':23}\n", + "print(d1)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(d1)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['__class__',\n", + " '__contains__',\n", + " '__delattr__',\n", + " '__delitem__',\n", + " '__dir__',\n", + " '__doc__',\n", + " '__eq__',\n", + " '__format__',\n", + " '__ge__',\n", + " '__getattribute__',\n", + " '__getitem__',\n", + " '__gt__',\n", + " '__hash__',\n", + " '__init__',\n", + " '__init_subclass__',\n", + " '__iter__',\n", + " '__le__',\n", + " '__len__',\n", + " '__lt__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__setattr__',\n", + " '__setitem__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__subclasshook__',\n", + " 'clear',\n", + " 'copy',\n", + " 'fromkeys',\n", + " 'get',\n", + " 'items',\n", + " 'keys',\n", + " 'pop',\n", + " 'popitem',\n", + " 'setdefault',\n", + " 'update',\n", + " 'values']" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(d1)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'key1': [1, 2, 3], 'key2': 2, 'key3': 4, 45: 26, 'key4': 23, 2: 3}\n" + ] + } + ], + "source": [ + "d1.update({2:3})\n", + "print(d1)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "record = {'Weight':73, 'Height':183, 'Age':44, 'Name':'Sebastian'}" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Weight': 73, 'Height': 183, 'Age': 44, 'Name': 'Sebastian'}\n" + ] + } + ], + "source": [ + "print(record)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "44" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "record['Age']" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Math': {'A1': 9.0, 'A2': 8.0, 'AS': 4.0}, 'History': {'A1': 9.0, 'A2': 8.0, 'AS': 4.0}, 'Geography': {'A1': 9.0, 'A2': 8.0, 'AS': 4.0}}\n" + ] + } + ], + "source": [ + "grades = {'Math':{'A1':9.0, 'A2':8.0,'AS':4.0},\n", + " 'History':{'A1':9.0, 'A2':8.0,'AS':4.0},\n", + " 'Geography':{'A1':9.0, 'A2':8.0,'AS':4.0}}\n", + "\n", + "print(grades)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "8.0" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grades['Math']['A2']" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_items([('Math', {'A1': 9.0, 'A2': 8.0, 'AS': 4.0}), ('History', {'A1': 9.0, 'A2': 8.0, 'AS': 4.0}), ('Geography', {'A1': 9.0, 'A2': 8.0, 'AS': 4.0})])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grades.items()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'A2' in grades['Math']" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_values([9.0, 8.0, 4.0])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grades['Math'].values()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'Math': {'A1': 9.0, 'A2': 8.0, 'AS': 10}, 'History': {'A1': 9.0, 'A2': 8.0, 'AS': 4.0}, 'Geography': {'A1': 9.0, 'A2': 8.0, 'AS': 4.0}}\n" + ] + } + ], + "source": [ + "grades['Math']['AS'] = 10\n", + "print(grades)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'A1': 9.0, 'A2': 8.0, 'AS': 4.0}\n", + "['A1', 'A2', 'AS']\n", + "[('A1', 9.0), ('A2', 8.0), ('AS', 4.0)]\n", + "[('AS', 4.0), ('A2', 8.0), ('A1', 9.0)]\n" + ] + } + ], + "source": [ + "print(grades['Geography'])\n", + "print(sorted(grades['Geography']))\n", + "print(sorted(grades['Geography'].items()))\n", + "print(sorted(grades['Geography'].items(), key = lambda x:x[1]))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{}\n" + ] + } + ], + "source": [ + "dic1 = {}\n", + "print(dic1)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'element1': 23}\n" + ] + } + ], + "source": [ + "dic1['element1'] = 23\n", + "print(dic1)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'element1': 23, 'one': 2}\n" + ] + } + ], + "source": [ + "dic1.update({'one':2})\n", + "print(dic1)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'element1': 23, 'one': 1}\n" + ] + } + ], + "source": [ + "dic1['one'] = 1\n", + "print(dic1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type Tuple: \n", + "+ Tuples, as lists, are ordered sequences of items. \n", + "+ The great difference is that tuples are immutable - after created, their elements cannot be modified without re-creation " + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "t1 = (1,2,3,4,7,4,3,1,'string',{1,2}, [1,2])" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tuple" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(t1)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "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", + " '__mul__',\n", + " '__ne__',\n", + " '__new__',\n", + " '__reduce__',\n", + " '__reduce_ex__',\n", + " '__repr__',\n", + " '__rmul__',\n", + " '__setattr__',\n", + " '__sizeof__',\n", + " '__str__',\n", + " '__subclasshook__',\n", + " 'count',\n", + " 'index']" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dir(t1)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t1[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t1[5]" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(4, 7, 4)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t1[3:6]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "l1 = [1,2,3]" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 2, 3)\n" + ] + } + ], + "source": [ + "t2 = tuple(l1)\n", + "print(t2)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3]\n" + ] + } + ], + "source": [ + "l2 = list(t2)\n", + "print(l2)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{(1, 2): 'tuple as a key'}" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d5 = {(1,2):'tuple as a key'}\n", + "d5" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "t3 = (2,4,7,2,2,2,2)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t3.count(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "([1, 2], [1, 2], [1, 2], [1, 2], [1, 2])\n", + "[[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]\n" + ] + } + ], + "source": [ + "a = [1,2]\n", + "t4 = (a,a,a,a,a)\n", + "l5 = [a,a,a,a,a]\n", + "print(t4)\n", + "print(l5)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + } + ], + "source": [ + "fake_tuple = (1)\n", + "proper_tuple = (1,)\n", + "print(type(fake_tuple))\n", + "print(type(proper_tuple))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Packing and unpacking tuples" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 4)\n" + ] + } + ], + "source": [ + "t6 = 2, 4\n", + "print(t6)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "19\n", + "10\n" + ] + } + ], + "source": [ + "x, y = 10, 19 \n", + "print(y)\n", + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 3, 4)\n", + "2\n", + "3\n", + "4\n" + ] + } + ], + "source": [ + "t7 = (2,3,4)\n", + "x,y,z = t7\n", + "print(t7)\n", + "print(x)\n", + "print(y)\n", + "print(z)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "[2, 3]\n", + "4\n" + ] + } + ], + "source": [ + "x, *y, z = (1,2,3,4)\n", + "print(x)\n", + "print(y)\n", + "print(z)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "[3, 4]\n" + ] + } + ], + "source": [ + "x, y, *z = (1,2,3,4)\n", + "print(x)\n", + "print(y)\n", + "print(z)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "2\n", + "1\n" + ] + } + ], + "source": [ + "# Swapping values\n", + "print(x)\n", + "print(y)\n", + "\n", + "x,y = y,x\n", + "\n", + "print(x)\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Type Range\n", + "\n", + "+ Range generates an immutable sequence of numbers \n", + "+ Ranges can take 1 to 3 integer parameters: begin, end and step " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "range(0, 15)\n" + ] + } + ], + "source": [ + "print(range(15))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(range(15))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "range(3, 7)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "range(3,7)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[3, 4, 5, 6]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(range(3,7))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "range(0, 10, 2)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "range(0,10,2)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0, 2, 4, 6, 8]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(range(0,10,2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As with other indexes in Python, the result does not include the second index." + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(range(1,13)) " + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0, 2, 4, 6, 8, 10]" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(range(0,11,2))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The third parameter sets the step. The Default value is 1." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "gen50 = range(5,51,5)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "range(5, 51, 5)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gen50" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "unfold_gen50 = list(gen50)\n", + "unfold_gen50" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "range(0, 282429536481)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "range(9**12)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Mutable and Immutable types \n", + "\n", + "![### Mutable and Immutable types](https://miro.medium.com/max/1316/1*uFlTNY4W3czywyU18zxl8w.png)\n", + "\n", + "#### [Ref. 1](https://towardsdatascience.com/mutability-immutability-in-python-b698bc592cbc) \n", + "#### [Ref. 2](https://medium.com/@meghamohan/mutable-and-immutable-side-of-python-c2145cf72747) " + ] + } + ], + "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.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Notebooks/02_Flow_Control.ipynb b/Notebooks/02_Flow_Control.ipynb new file mode 100644 index 00000000..36da9780 --- /dev/null +++ b/Notebooks/02_Flow_Control.ipynb @@ -0,0 +1,947 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "import sys\n", + "import random" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction to Python \n", + "\n", + "# [Control Flow Commands](https://docs.python.org/3/tutorial/controlflow.html)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "+ _if_ , _elif_, _else_\n", + "+ _for_\n", + "+ _while_\n", + "+ _break_, _continue_, _pass_\n", + "+ _try_, _except_, _else_, _finally_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conditional: _if_ / _elif_ / _else_\n", + "\n", + "+ Python uses the control flow if/elif/else to evaluate expressions \n", + "+ Conditions can be evaluated as True or False \n", + "+ One block can contain one _if_ statement, zero, one or many _elif_ statements and zero or one _else_ statement. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Sintax:\n", + "\n", + " if : \n", + " code \n", + " elif : (optional) \n", + " code \n", + " elif : (optional) \n", + " code \n", + " ... \n", + " else: (optional) \n", + " code \n", + " \n", + "### [Conditional Expression]() (Ternary Operator)\n", + "\n", + " if else " + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Name does not start with T,U,V, X or Z\n", + "Ending if statement\n" + ] + } + ], + "source": [ + "name = 'Matheus'\n", + "\n", + "if name.startswith('T'):\n", + " print(f'Name starts with {name[0]}')\n", + " print('I am here')\n", + "elif name.startswith('U'):\n", + " print(f'Name starts with {name[0]} and ends with {name[-1]}')\n", + "elif name.startswith('V'):\n", + " print(f'Name starts with {name[0]}')\n", + "elif name.startswith('X'):\n", + " print(f'Name starts with {name[0]}')\n", + "elif name.startswith('Z'):\n", + " print(f'Name starts with {name[0]}')\n", + "else:\n", + " print('Name does not start with T,U,V, X or Z')\n", + "\n", + "print('Ending if statement')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Nested _if_ statements" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the number is less or equal to 5\n" + ] + } + ], + "source": [ + "number = 4\n", + "if number > 5:\n", + " print('greater than 5')\n", + " if number > 7:\n", + " print('greater than 7')\n", + " else:\n", + " print('lower or equal than 7')\n", + " if number > 3:\n", + " print('greater than 3')\n", + "else:\n", + " print('the number is less or equal to 5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### if, with ternary operator" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "done\n" + ] + } + ], + "source": [ + "x = \"do that\"\n", + "if x == \"do that\":\n", + " print(\"done\")\n", + "else:\n", + " print('not done')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "done\n" + ] + } + ], + "source": [ + "print(\"done\") if x == \"do that\" else print(\"not done\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Loops: the _for_ command" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "+ _for_ takes a sequence and loops through it, until it ends\n", + "+ Each pass is called an _iteration_\n", + "+ Any object that is _iterable_ can be passed to _for_ loops" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sintax:\n", + "\n", + " for in :\n", + " code" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "---\n", + "2 Daysies\n", + "\n", + "---\n", + "6 Daysies\n", + "\n", + "---\n", + "10 Daysies\n", + "\n" + ] + } + ], + "source": [ + "for integer in range(2,11,4):\n", + " print('---')\n", + " print(f'{integer} Daysies')\n", + " print()" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "9\n", + "25\n", + "49\n", + "81\n" + ] + } + ], + "source": [ + "for number in range(1,10,2):\n", + " print(number**2)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "M\n", + "n\n", + "e\n", + "s\n", + "i\n", + "l\n", + "J\n", + "n\n" + ] + } + ], + "source": [ + "for letter in 'My name is Little John'[::3]:\n", + " print(letter)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 1 1\n", + "4 16 64\n", + "8 64 512\n", + "9 81 729\n", + "10 100 1000\n" + ] + } + ], + "source": [ + "for element in [1,4,8,9,10]:\n", + " print(element, element**2, element**3)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "4\n", + "5\n" + ] + } + ], + "source": [ + "c = {1,4,4,4,4,5}\n", + "for element in c:\n", + " print(element)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "k1\n", + "k2\n" + ] + } + ], + "source": [ + "d = {\"k1\":1,\"k2\":2}\n", + "for element in d:\n", + " print(element)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Loop with conditional: the comman _while_\n", + "\n", + "+ With _while_, you define a condition at the beggining\n", + "+ While the condition is true, the loop will continue\n", + "+ It is easy to create infinite loops with _while_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sintax:\n", + "\n", + " while :\n", + " code" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n", + "4\n", + "5\n", + "6\n", + "7\n", + "8\n", + "9\n" + ] + } + ], + "source": [ + "x = 1\n", + "while x < 10:\n", + " print(x)\n", + " x += 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Change flow behaviour with _break_, _continue_ and _pass_\n", + "\n", + "+ The _break_ statement, breaks out of the innermost enclosing for or while loop.\n", + "+ The _continue_ statement continues with the next iteration of the loop.\n", + "+ The _pass_ statement does nothing. It can be used when a statement is required syntactically but the program requires no action." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "+ ### break" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "m\n", + "y\n", + " \n", + "t\n" + ] + } + ], + "source": [ + "for letter in \"my text is not long\":\n", + " print(letter)\n", + " if letter == \"t\":\n", + " break" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "2\n", + "3\n", + "4\n", + "5\n", + "6\n", + "7\n", + "8\n", + "9\n", + "10\n" + ] + } + ], + "source": [ + "x = 0\n", + "while True:\n", + " print(x)\n", + " x += 1\n", + " if x > 10:\n", + " break" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sum of first 120 integers is : 7260\n" + ] + } + ], + "source": [ + "numbers = range(1,1000)\n", + "num_sum = 0 \n", + "count = 0 \n", + "\n", + "for x in numbers: \n", + " num_sum += x # num_sum = num_sum + x\n", + " count += 1 # count = count + 1\n", + " if count == 120: \n", + " break \n", + "print(f\"Sum of first {count} integers is : {num_sum}\") " + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.22832626605966955\n", + "0.571566967737545\n", + "0.2781761199384959\n", + "0.7706084575991982\n", + "0.7377463932107212\n", + "0.42414418980421587\n" + ] + } + ], + "source": [ + "while True:\n", + " x = random.random()\n", + " print(x)\n", + " if 0.5 > x > 0.4:\n", + " break" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "+ ### continue" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "1\n", + "2\n", + "3\n", + "4\n", + "6\n", + "8\n" + ] + } + ], + "source": [ + "for number in range(10):\n", + " if number in [5,7,9]:\n", + " continue\n", + " print(number)" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x equals to 1 and y equals to 2\n", + "x equals to 7 and y equals to 9\n", + "x equals to 1 and y equals to 7\n" + ] + } + ], + "source": [ + "for x,y in [(1,2),(3,6),(7,9),(3,4),(1,7)]:\n", + " if x == 3:\n", + " continue\n", + " print(f'x equals to {x} and y equals to {y}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "+ ### pass" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "ename": "SyntaxError", + "evalue": "unexpected EOF while parsing (, line 1)", + "output_type": "error", + "traceback": [ + "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m for x in range(10): #error\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m unexpected EOF while parsing\n" + ] + } + ], + "source": [ + "for x in range(10): #error" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [], + "source": [ + "for x in range(10):\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Current Letter : P\n", + "Current Letter : y\n", + "Current Letter : t\n", + "This is a pass block\n", + "Current Letter : h\n", + "Current Letter : o\n", + "Current Letter : n\n" + ] + } + ], + "source": [ + "for letter in 'Python': \n", + " if letter == 'h':\n", + " pass\n", + " print('This is a pass block')\n", + " print('Current Letter :', letter)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### _try_, _except_, _else_, _finally_, _raise_ \n", + "\n", + "[Exception types in Python](https://docs.python.org/3/tutorial/errors.html) \n", + "See also: [this](https://stackabuse.com/python-exception-handling/)\n", + "\n", + "+ _try_ lets you handle errors/exceptions in the code. \n", + "+ _except_ lets you take an action with this occurs. \n", + "+ _else_ lets you take an action when no error occurs. \n", + "+ _finally_ Lets you take an action no matter if errors ocurred or not. \n", + "+ _raise_ Allows the programmer to force a specified exception to occur." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Python Exceptions" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "linux\n" + ] + } + ], + "source": [ + "print(sys.platform)" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "ename": "AssertionError", + "evalue": "This code runs on Linux only.", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m'windows'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatform\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"This code runs on Linux only.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;31m#assert ('linux' in sys.platform), \"This code runs on Linux only.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mAssertionError\u001b[0m: This code runs on Linux only." + ] + } + ], + "source": [ + "assert ('windows' in sys.platform), \"This code runs on Linux only.\"\n", + "#assert ('linux' in sys.platform), \"This code runs on Linux only.\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'file.log'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'file.log'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmy_file\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# error\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mread_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmy_file\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'file.log'" + ] + } + ], + "source": [ + "with open('file.log') as my_file: # error\n", + " read_data = my_file.read()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Could not open file.log\n" + ] + } + ], + "source": [ + "try:\n", + " with open('file.log') as my_file:\n", + " read_data = my_file.read()\n", + "except:\n", + " print('Could not open file.log')" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "unsupported operand type(s) for +: 'int' and 'list'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mx\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0my\u001b[0m \u001b[0;31m# error\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'int' and 'list'" + ] + } + ], + "source": [ + "x = 2\n", + "y = [1,3]\n", + "x + y # error" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "An error has occurred with summing two variables\n" + ] + } + ], + "source": [ + "try:\n", + " x + y \n", + "except:\n", + " print(\"An error has occurred with summing two variables\")" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Everythink is ok\n" + ] + } + ], + "source": [ + "x,y = 2,3\n", + "\n", + "try:\n", + " x + y \n", + "except:\n", + " print(\"An error has occurred\")\n", + "else:\n", + " print(\"Everythink is ok\")" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "An error has occurred\n", + "Ending try/except block\n" + ] + } + ], + "source": [ + "try:\n", + " x + y \n", + "except:\n", + " print(\"An error has occurred\")\n", + "else:\n", + " print(\"Everythink is ok\")\n", + "finally:\n", + " print(\"Ending try/except block\")" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Exception caught: unsupported operand type(s) for +: 'int' and 'list'\n" + ] + } + ], + "source": [ + "try:\n", + " x + y \n", + "except Exception as error:\n", + " print(type(error))\n", + " print(f\"Exception caught: {error}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Exception caught:name 'x' is not defined\n" + ] + } + ], + "source": [ + "try:\n", + " x + [y] \n", + "except TypeError:\n", + " print(\"Type Error\")\n", + "except ValueError:\n", + " print(\"Value Error\") \n", + "except Exception as e:\n", + " print(\"Exception caught:\" + str(e))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Sintax Errors cannot be captured with try. See [this](https://stackoverflow.com/questions/25049498/failed-to-catch-syntax-error-python) post" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "I/O error(2): No such file or directory\n" + ] + }, + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'integers.txt'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'integers.txt'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0ms\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreadline\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstrip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mIOError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'integers.txt'" + ] + } + ], + "source": [ + "try:\n", + " f = open('integers.txt')\n", + " s = f.readline()\n", + " i = int(s.strip())\n", + "except IOError as e:\n", + " errno, strerror = e.args\n", + " print(\"I/O error({0}): {1}\".format(errno, strerror))\n", + " # e can be printed directly without using .args:\n", + " # print(e)\n", + "except ValueError:\n", + " print(\"No valid integer in line.\")\n", + "except Exception as e:\n", + " print(\"Exception caught:\" + str(e))\n", + " raise" + ] + } + ], + "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.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Notebooks/03_Functions.ipynb b/Notebooks/03_Functions.ipynb new file mode 100644 index 00000000..6d1e15f6 --- /dev/null +++ b/Notebooks/03_Functions.ipynb @@ -0,0 +1,1545 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import time\n", + "import random\n", + "from IPython.display import clear_output" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction to Python \n", + "\n", + "## [Functions](https://docs.python.org/3.0/tutorial/controlflow.html#defining-functions)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "+ A function is a block of code which only runs when it is called. \n", + "+ You can pass data, known as parameters, into a function. \n", + "+ A function can return data as a result. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Sintax:\n", + "\n", + " def function_name():\n", + " ...\n", + " return (optional)\n", + " yield (optional)\n", + " ...\n", + "\n", + "\n", + "#### Function Parameters: Parameters are the names that appear in the function definition.\n", + "#### Function Arguments: Arguments are the names that appear in the function call.\n", + "\n", + "![](../Data/Figs/function1.png)\n", + "\n", + "\n", + "#### Keyword Arguments and Positional Arguments\n", + "\n", + "![](../Data/Figs/function2.png)\n", + "\n", + "\n", + "#### Types of Parameters:\n", + "+ Positional or keyword\n", + "\n", + " def func(pos1, key1=None):\n", + " pass\n", + " \n", + "\n", + "+ Positional-only\n", + "\n", + " def func(pos_only1, pos_only2, /, positional_or_keyword):\n", + " pass\n", + "\n", + "\n", + "+ Keyword-only\n", + "\n", + " def func(pos_only1, pos_only2, *, key_only1, key_only2): \n", + " pass\n", + "\n", + "\n", + "+ Var-positional\n", + "\n", + " def func(*args): \n", + " pass\n", + "\n", + "\n", + "+ Var-keyword\n", + "\n", + " def func(**kwargs): \n", + " pass\n", + "\n", + "\n", + "\n", + "(source: https://medium.com/better-programming/python-parameters-and-arguments-demystified-e4f77b6d002e)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Now let's explore practical examples" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### A function without parameters, and not returning anything" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "def my_function():\n", + " print(\"Hello, dear Python user!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello, dear Python user!\n" + ] + } + ], + "source": [ + "my_function()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def my_function2():\n", + " name = input('What is your name?')\n", + " print(f\"Hello, {name}!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "What is your name? Renato\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello, Renato!\n" + ] + } + ], + "source": [ + "my_function2()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Hello, dear Python user!\n" + ] + } + ], + "source": [ + "x = my_function()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NoneType" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### A function with parameters, returning values" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "def do_sum(x,y):\n", + " print('will sum x and y')\n", + " return x + y\n", + " print('done') #will be ignored" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "will sum x and y\n" + ] + } + ], + "source": [ + "a = do_sum(2,9)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "11\n" + ] + } + ], + "source": [ + "print(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "will sum x and y\n" + ] + }, + { + "data": { + "text/plain": [ + "'onestring'" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "do_sum('one','string')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "will sum x and y\n" + ] + }, + { + "data": { + "text/plain": [ + "[1, 2, 3, 4]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "do_sum([1,2],[3,4])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### When the arguments are not compatible with operations --> error" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "will sum x and y\n" + ] + }, + { + "ename": "TypeError", + "evalue": "unsupported operand type(s) for +: 'int' and 'list'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdo_sum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m#error\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mdo_sum\u001b[0;34m(x, y)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mdo_sum\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'will sum x and y'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'done'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m#will be ignored\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'int' and 'list'" + ] + } + ], + "source": [ + "do_sum(2,[2,3]) #error" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "will sum x and y\n", + "11\n" + ] + } + ], + "source": [ + "x = do_sum(6,5)\n", + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "def is_even(number):\n", + " if number%2 == 0:\n", + " return True\n", + " else:\n", + " return False" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], + "source": [ + "response = is_even(2342)\n", + "print(response)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Reminder: tuple unpacking" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "[3, 4, 5]\n", + "6\n" + ] + } + ], + "source": [ + "x,y,*z,t = 1,2,3,4,5,6\n", + "print(x)\n", + "print(y)\n", + "print(z)\n", + "print(t)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### A function with a variable number of parameters (var-positional)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "def many_args(*args):\n", + " print(f\"the tuple contains {len(args)} arguments\")\n", + " print(args)\n", + " for arg in args:\n", + " print(arg)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the tuple contains 7 arguments\n", + "(1, 2, 3, 4, 5, 6, 6)\n", + "1\n", + "2\n", + "3\n", + "4\n", + "5\n", + "6\n", + "6\n" + ] + } + ], + "source": [ + "many_args(1,2,3,4,5,6,6)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "def do_multiple_sum(*args):\n", + " print(args)\n", + " print('the total is {}'.format(sum(args)))\n", + " print(f'total is {sum(args)}')\n", + " return sum(args)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(23, 45, 18, 45, 21)\n", + "the total is 152\n", + "total is 152\n", + "152\n" + ] + } + ], + "source": [ + "y = do_multiple_sum(23, 45, 18,45,21)\n", + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)\n", + "the total is 55\n", + "total is 55\n" + ] + }, + { + "data": { + "text/plain": [ + "55" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "do_multiple_sum(1,2,3,4,5,6,7,8,9,10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### A function without variable number of parameters (positional and keyword)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "def many_args_and_kwargs(*args, **kwargs):\n", + " print(args)\n", + " print()\n", + " print(kwargs)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2, 3, 4, 5, 6)\n", + "\n", + "{'name': 'Renato', 'inst': 'FGV', 'place': 'Botafogo', 'yearclass': '2021.1'}\n" + ] + } + ], + "source": [ + "many_args_and_kwargs(2,3,4,5,6, name='Renato',inst='FGV', place='Botafogo', yearclass='2021.1')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "()\n", + "\n", + "{'message': 'Hello World'}\n" + ] + } + ], + "source": [ + "many_args_and_kwargs(message='Hello World')" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "def grades(**kwargs):\n", + " for key, value in kwargs.items():\n", + " print('The key is {} and the value is {}'.format(key,value))\n", + " if 'Math' in kwargs:\n", + " print('The Math grade is {}'.format(kwargs['Math']))\n", + " else:\n", + " print('No grades for Math')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The key is Physics and the value is 9\n", + "The key is Language and the value is 8\n", + "The key is History and the value is 6\n", + "No grades for Math\n" + ] + } + ], + "source": [ + "grades(Physics=9,Language=8, History=6, )" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The key is Python and the value is 8\n", + "No grades for Math\n" + ] + } + ], + "source": [ + "grades(Python=8)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "def show_and_sum(*args):\n", + " for value in args:\n", + " print('Value:\\t{0:7.2f}'.format(value))\n", + " print('_______________')\n", + " print('Sum:\\t{0:7.2f}'.format(sum(args)))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Value:\t 23.00\n", + "Value:\t 45.00\n", + "Value:\t 124.00\n", + "Value:\t 34.60\n", + "Value:\t 98.24\n", + "_______________\n", + "Sum:\t 324.84\n" + ] + } + ], + "source": [ + "show_and_sum(23,45,124,34.6,98.236)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "def greeting():\n", + " name = input('What is your name? ')\n", + " print('How are you today, {} ?'.format(name))" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "What is your name? Renato\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "How are you today, Renato ?\n" + ] + } + ], + "source": [ + "greeting()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Default parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "def forecast(weather = 'rainy', umidity = 'high'):\n", + " print('The umidity is {}'.format(umidity))\n", + " print('The weather forecast is {}'.format(weather))" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The umidity is high\n", + "The weather forecast is rainy\n" + ] + } + ], + "source": [ + "forecast()" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The umidity is low\n", + "The weather forecast is rainy\n" + ] + } + ], + "source": [ + "forecast(umidity = 'low')" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The umidity is low\n", + "The weather forecast is sunny\n" + ] + } + ], + "source": [ + "forecast(umidity='low', weather='sunny')" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The umidity is sunny\n", + "The weather forecast is low\n" + ] + } + ], + "source": [ + "forecast('low','sunny')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Recursive functions" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "9227465\n", + "1.2516372203826904\n" + ] + } + ], + "source": [ + "def bad_fibonacci(n):\n", + " if n <= 2:\n", + " return 1\n", + " else:\n", + " return bad_fibonacci(n-1) + bad_fibonacci(n-2)\n", + " \n", + "t0 = time.time()\n", + "print(bad_fibonacci(35))\n", + "print(time.time() - t0)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "9227465\n", + "0.0001347064971923828\n" + ] + } + ], + "source": [ + "def good_fibonacci(n):\n", + " x = 1\n", + " y = 0\n", + " for elem in range(n-1):\n", + " x,y = x+y, x\n", + " return(x)\n", + " \n", + "t0 = time.time()\n", + "print(good_fibonacci(35))\n", + "print(time.time() - t0)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "def bmi(weight=0, height=0):\n", + " if weight == 0:\n", + " weight = input('What is your weight? ')\n", + " if not str(weight).isdigit():\n", + " print('Invalid input')\n", + " bmi()\n", + " return\n", + " if height == 0:\n", + " height = input('How tall are you? ')\n", + " if not str(height).isdigit():\n", + " print('Invalid input')\n", + " bmi(weight=weight)\n", + " return\n", + " BMI = float(weight)/((float(height)/100)**2)\n", + " print('Your body mass index (BMI) is {}'.format(BMI))" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "What is your weight? 73\n", + "How tall are you? 183\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Your body mass index (BMI) is 21.798202394816204\n" + ] + } + ], + "source": [ + "bmi()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How to treat the user input?" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "def get_height(height):\n", + " height = str(height)\n", + " print(height)\n", + " height = height.replace(',','.')\n", + " print(height)\n", + " return height" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1,87\n", + "1.87\n" + ] + }, + { + "data": { + "text/plain": [ + "'1.87'" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_height('1,87')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Generator Functions](https://www.programiz.com/python-programming/generator)\n", + "\n", + "+ _yield_: Similar to the _return_, but freezes the actual state of the function instance \n", + "+ _next_ yields the generator values one at at time, until it ends with : StopIteration " + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "def squares(number):\n", + " while True:\n", + " yield(number**2)\n", + " number+=1" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "squares(4)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "gen1 = squares(5)\n", + "gen2 = squares(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "25\n", + "36\n", + "49\n", + "64\n", + "81\n", + "100\n", + "121\n", + "144\n", + "169\n", + "196\n" + ] + } + ], + "source": [ + "for i in range(10):\n", + " print(next(gen1))" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "25\n" + ] + } + ], + "source": [ + "print(next(gen2))" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "\n" + ] + } + ], + "source": [ + "print(type(squares))\n", + "print(type(gen1))" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "def counting_time():\n", + " now = time.time()\n", + " while True:\n", + " yield(time.time() - now)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "player1 = counting_time()\n", + "player2 = counting_time()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.0" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(player1)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.384185791015625e-07" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(player2)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.00520014762878418" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(player2)" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.005594968795776367" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(player1) - next(player2)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.00559687614440918" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(player2) - next(player1)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.02657794952392578" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(player1)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.026563405990600586" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "next(player2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### An example: the horse's game" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "def horse():\n", + " position = 0\n", + " while True:\n", + " step = random.randint(1,3)\n", + " position += step\n", + " yield position " + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "*****************************************\n", + "***************************************\n", + "*************************************\n", + "*****************************************\n", + "*****************************************\n", + "***************************************\n", + "******************************************\n", + "The winner is Malhado!\n", + "[41, 39, 37, 41, 41, 39, 42]\n" + ] + } + ], + "source": [ + "Apollo = horse()\n", + "Rosie = horse()\n", + "Dexter = horse()\n", + "Connie = horse()\n", + "Pepper = horse()\n", + "Bobby = horse()\n", + "Malhado = horse()\n", + "\n", + "horses = [Apollo, Rosie, Dexter, Connie, Pepper, Bobby, Malhado]\n", + "\n", + "while True:\n", + " positions = []\n", + " clear_output()\n", + " for racer in horses:\n", + " positions.append(next(racer))\n", + " for position in positions:\n", + " print('*' * position)\n", + " if max(positions) > 40:\n", + " gen_winner = horses[positions.index(max(positions))]\n", + " winner = [name for name in globals() if globals()[name] is gen_winner][0]\n", + " print(f'The winner is {winner}!')\n", + " break\n", + " time.sleep(1)\n", + "print(positions)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Documenting a function (docstrings)" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on built-in function print in module builtins:\n", + "\n", + "print(...)\n", + " print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\n", + " \n", + " Prints the values to a stream, or to sys.stdout by default.\n", + " Optional keyword arguments:\n", + " file: a file-like object (stream); defaults to the current sys.stdout.\n", + " sep: string inserted between values, default a space.\n", + " end: string appended after the last value, default a newline.\n", + " flush: whether to forcibly flush the stream.\n", + "\n" + ] + } + ], + "source": [ + "help(print)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "def my_function(string):\n", + " '''This function does almost nothing\n", + " It receives a name as input and prints\n", + " the uppercase version of it'''\n", + " print(string.upper())" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on function my_function in module __main__:\n", + "\n", + "my_function(string)\n", + " This function does almost nothing\n", + " It receives a name as input and prints\n", + " the uppercase version of it\n", + "\n" + ] + } + ], + "source": [ + "help(my_function)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\u001b[0;31mSignature:\u001b[0m \u001b[0mmy_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstring\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mDocstring:\u001b[0m\n", + "This function does almost nothing\n", + "It receives a name as input and prints\n", + "the uppercase version of it\n", + "\u001b[0;31mFile:\u001b[0m ~/Documents/Repos/Python_Course/Notebooks/\n", + "\u001b[0;31mType:\u001b[0m function\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "my_function?" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "THE WIZARD DUCK\n" + ] + } + ], + "source": [ + "my_function('The Wizard Duck')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Type hints](https://docs.python.org/3/library/typing.html)\n", + "\n", + "The Python runtime does not enforce function and variable type annotations, but they can be used, since Python 3.5, by third party tools such as type checkers, IDEs, linters, etc." + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "def addTwo(x):\n", + " return x + 2" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "def newaddTwo(x : int) -> int:\n", + " return x + 2" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "addTwo(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "7" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "newaddTwo(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "ename": "TypeError", + "evalue": "can only concatenate str (not \"int\") to str", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0maddTwo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'two'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36maddTwo\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0maddTwo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mx\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" + ] + } + ], + "source": [ + "addTwo('two')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "newaddTwo('two')" + ] + } + ], + "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.8.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Notebooks/16_Pandas_Descriptive_statistic.ipynb b/Notebooks/16_Pandas_Descriptive_statistic.ipynb index 30a71c7f..a2f90814 100644 --- a/Notebooks/16_Pandas_Descriptive_statistic.ipynb +++ b/Notebooks/16_Pandas_Descriptive_statistic.ipynb @@ -14,6 +14,17 @@ "execution_count": 1, "metadata": {}, "outputs": [], + "source": [ + "#import pip\n", + "#pip.main(['install','seaborn'])\n", + "#pip.main(['install','xlrd'])" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], "source": [ "import os\n", "import numpy as np\n", @@ -22,6 +33,13 @@ "import seaborn as sns" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### First Case Study: Voters analysis" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -31,14 +49,14 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 3, "metadata": { "id": "_A1F6vrCL8ZQ", "outputId": "74993dc2-e50b-426e-886a-e4627e9397d7" }, "outputs": [], "source": [ - "dfvote = pd.read_excel(os.path.join('../Data','votesurvey.xls'))" + "dfvote = pd.read_excel(os.path.join('../Data','CSV','votesurvey.xls'))" ] }, { @@ -50,7 +68,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -144,7 +162,7 @@ "5 Male 32 150000 150000 Bush" ] }, - "execution_count": 68, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -155,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -231,7 +249,7 @@ "47 Male 29 39000 90000 Undecided" ] }, - "execution_count": 69, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -242,7 +260,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -252,11 +270,13 @@ "\n", "RangeIndex: 48 entries, 0 to 47\n", "Data columns (total 5 columns):\n", - "Gender 48 non-null object\n", - "Age 48 non-null int64\n", - "Salary before Stern 48 non-null int64\n", - "Expected salary 48 non-null int64\n", - "Candidate 48 non-null object\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Gender 48 non-null object\n", + " 1 Age 48 non-null int64 \n", + " 2 Salary before Stern 48 non-null int64 \n", + " 3 Expected salary 48 non-null int64 \n", + " 4 Candidate 48 non-null object\n", "dtypes: int64(3), object(2)\n", "memory usage: 2.0+ KB\n" ] @@ -268,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -362,7 +382,7 @@ "max 33.000000 225000.000000 180000.000000" ] }, - "execution_count": 71, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -382,7 +402,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 8, "metadata": { "id": "8mjoMA6wL8ZW", "outputId": "5b53a59f-ea7a-4963-9dee-2ce0acfbe1e6" @@ -390,7 +410,7 @@ "outputs": [ { "data": { - "image/png": "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VvNI3WuSPHyPx85Nclx33yfJPyV59iruHwAA4KC3alHX3e9Jcu0ej72ru2+e3X1/krut1v4BAADWgynfU/fzSf5qwv0DAAAMr7p79V68anOSc7r7uD0e//UkW5I8tpcYoKpOSXJKkmzatOmE7du3r9qct9Q1116Xq78w9RTr0/HHHDn1CEPYtWtXNm7cOPUYsCRrlLXOGmWts0bXj23btu3s7i1727Zh3sNU1clJHpXkYUsFXZJ095lJzkySLVu29NatW+cz4H546Vln54xL5v5bSJIrTto69QhD2LFjR9binx3YzRplrbNGWeusUZI5R11VPTzJs5L8SHd/fp77BgAAOBit5kcavD7J3ye5V1V9qqqemuQPkxyR5NyquqiqXrFa+wcAAFgPVu1IXXefuJeHX7la+wMAAFiPprz6JQAAAN8kUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADAwUQcAADCwVYu6qnpVVV1TVR9a9Ni3VtW5VfXR2a9Hrdb+AQAA1oPVPFL3miQP3+Ox05L8bXd/Z5K/nd0HAADgFlq1qOvu9yS5do+HfyrJa2e3X5vkMau1fwAAgPVg3u+p29TdVybJ7Nc7zXn/AAAAB5Xq7tV78arNSc7p7uNm9z/X3bdftP2z3b3X99VV1SlJTkmSTZs2nbB9+/ZVm/OWuuba63L1F6aeYn06/pgjpx5hCLt27crGjRunHgOWZI2y1lmjrHXW6Pqxbdu2nd29ZW/bNsx5lqur6i7dfWVV3SXJNUs9sbvPTHJmkmzZsqW3bt06pxFX7qVnnZ0zLpn3byFJcsVJW6ceYQg7duzIWvyzA7tZo6x11ihrnTVKMv/TL9+W5OTZ7ZOTnD3n/QMAABxUVvMjDV6f5O+T3KuqPlVVT01yepIfq6qPJvmx2X0AAABuoVU7d7C7T1xi08NWa58AAADrzbxPvwQAAOAAEnUAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAADE3UAAAAD2zD1AMBYNp/29qlHWLeuOP2RU48AAKxBjtQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMbJKoq6pfrapLq+pDVfX6qrr1FHMAAACMbu5RV1XHJPnPSbZ093FJDknyxHnPAQAAcDCY6vTLDUkOr6oNSW6T5NMTzQEAADC0uUddd/9rkt9N8okkVya5rrvfNe85AAAADgbV3fPdYdVRSd6c5GeSfC7JG5O8qbv/bI/nnZLklCTZtGnTCdu3b5/rnCtxzbXX5eovTD0FLG3T4bFGDyLHH3Pk1CMccLt27crGjRunHgOWZI2y1lmj68e2bdt2dveWvW3bMO9hkvxokn/u7n9Lkqp6S5IfSvJ1UdfdZyY5M0m2bNnSW7dunfOYy3vpWWfnjEum+C2ElTn1+Jut0YPIFSdtnXqEA27Hjh1Zi/9/h92sUdY6a5RkmvfUfSLJD1bVbaqqkjwsyWUTzAEAADC8Kd5Td36SNyW5MMklsxnOnPccAAAAB4NJzsvq7ucled4U+wYAADiYTPWRBgAAABwAog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgog4AAGBgG6YeAADWus2nvX3qEda1K05/5NQjAKxpjtQBAAAMTNQBAAAMbL+jrqqOqqr7rMYwAAAA7J8VRV1V7aiq21XVtya5OMmrq+rFqzsaAAAAy1npkboju/v6JI9N8uruPiHJj67eWAAAAKzESqNuQ1XdJclPJzlnFecBAABgP6w06n4zyTuTfKy7P1hV90zy0dUbCwAAgJVY0efUdfcbk7xx0f2PJ3ncag0FAADAyqwo6qrq6CS/mGTz4u/p7p9fnbEAAABYiRVFXZKzk7w3yd8k+fLqjQMAAMD+WGnU3aa7n7WqkwAAALDfVnqhlHOq6hGrOgkAAAD7baVR94wshN0Xq+r6qrqhqq5fzcEAAABY3kqvfnnEag8CAADA/lvRkbpa8HNV9dzZ/WOr6gGrOxoAAADLWenply9P8sAkPzu7vyvJy1ZlIgAAAFZspVe//IHuvn9V/UOSdPdnq+qwVZwLAACAFVjpkbp/r6pDknTy1Q8j/8qqTQUAAMCKrDTq/iDJW5PcqapekOR9Sf77qk0FAADAiqz06pdnVdXOJA9LUkke092XrepkAAAALGulV798ZZJbd/fLuvsPu/uyqnr+6o4GAADAclZ6+uWPJ3lNVT150WOPXoV5AAAA2A8rjbprkvxwkidU1cuqakMWTsMEAABgQiuNuuru67v7J5P8W5Lzkhy5emMBAACwEiuNurftvtHdz0/yO0muWIV5AAAA2A8rirruft4e98/p7oeuzkgAAACs1D4/0qCq3tfdD66qGzL74PHdm5J0d99uVacDAABgn/YZdd394NmvR8xnHAAAAPbHSj+n7k9X8hgAAADztdILpXzv4juzjzQ44cCPAwAAwP7YZ9RV1bNn76e7T1VdP/u6IcnVSc6+pTutqttX1Zuq6iNVdVlVPfCWvhYAAMB6ts+o6+7fmb2f7kXdfbvZ1xHdfYfufvY3sd/fT/LX3X3vJPdNctk38VoAAADr1nJXv7x3d38kyRur6v57bu/uC/d3h1V1uyQ/nOQps9e4KclN+/s6AAAALBN1SU5N8otJztjLtk5ySz6r7p5J/i3Jq6vqvkl2JnlGd994C14LAABgXavuXv5ZB3KHVVuSvD/Jg7r7/Kr6/STXd/dz93jeKUlOSZJNmzadsH379rnOuRLXXHtdrv7C1FPA0jYdHmuUNc0aZSWOP+bIyfa9a9eubNy4cbL9w3Ks0fVj27ZtO7t7y9627TPqqurnZs/50z0e/8UkN3b36/Z3mKq6c5L3d/fm2f2HJDmtux+51Pds2bKlL7jggv3d1ap76Vln54xLljvYCdM59fibrVHWNGuUlbji9CX/irDqduzYka1bt062f1iONbp+VNWSUbfcRxqcmuQv9vL4n8+27bfuvirJJ6vqXrOHHpbkw7fktQAAANa75f559JDuvmHPB7v7+qo69JvY79OTnFVVhyX5eJL/9E28FgAAwLq1XNQdWlW33fMiJlV1RJLDbulOu/uiJHs9dAgAAMDKLXf65SuTvKmqNu9+YHZ7+2wbAAAAE9rnkbru/t2q2pXkvKramIWPMbgxyend/UfzGBAAAIClLXvJse5+RVUdneQlSSrJv3f3F1d9MgAAAJa1z9Mvq+qZVfXAJI/r7l2zi6b8n/mMBgAAwHKWO1J3eZInJLlnVb03yWVJ7lBV9+ruy1d9OgAAAPZpuQulfDbJc5J8LMnWJH8we/y0qnLEDgAAYGLLHal7eJLnJfn2JC9OcnGSG7vb58oBAACsAfs8Utfdz+nuhyW5IsmfZSECj66q91XVX85hPgAAAPZh2atfzryzuz+Y5INV9Uvd/eCquuNqDgYAAMDylntPXZKku5+56O5TZo99ZjUGAgAAYOVWFHWLdffFqzEIAAAA+2+/ow4AAIC1Q9QBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMbLKoq6pDquofquqcqWYAAAAY3ZRH6p6R5LIJ9w8AADC8SaKuqu6W5JFJ/niK/QMAABwspjpS93tJnpnkKxPtHwAA4KBQ3T3fHVY9KskjuvuXq2prkl/r7kft5XmnJDklSTZt2nTC9u3b5zrnSlxz7XW5+gtTTwFL23R4rFHWNGuUtW69r9Hjjzly6hFYxq5du7Jx48apx2AOtm3btrO7t+xt2xRR9ztJnpTk5iS3TnK7JG/p7p9b6nu2bNnSF1xwwZwmXLmXnnV2zrhkw9RjwJJOPf5ma5Q1zRplrVvva/SK0x859QgsY8eOHdm6devUYzAHVbVk1M399MvufnZ33627Nyd5YpJ37yvoAAAAWJrPqQMAABjYpOcTdPeOJDumnAEAAGBkjtQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMTNQBAAAMbO5RV1XHVtXfVdVlVXVpVT1j3jMAAAAcLDZMsM+bk5za3RdW1RFJdlbVud394QlmAQAAGNrcj9R195XdfeHs9g1JLktyzLznAAAAOBhM+p66qtqc5PuSnD/lHAAAAKOq7p5mx1Ubk5yX5AXd/Za9bD8lySlJsmnTphO2b98+5wmXd8211+XqL0w9BSxt0+GxRlnTrFHWuvW+Ro8/5sipR1i3LvnX61b0vPW+RlfDWl3327Zt29ndW/a2bZKoq6pDk5yT5J3d/eLlnr9ly5a+4IILVn+w/fTSs87OGZdM8bZEWJlTj7/ZGmVNs0ZZ69b7Gr3i9EdOPcK6tfm0t6/oeet9ja6Gtbruq2rJqJvi6peV5JVJLltJ0AEAALC0Kd5T96AkT0ry0Kq6aPb1iAnmAAAAGN7cj9V29/uS1Lz3CwAAcDCa9OqXAAAAfHNEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMBEHQAAwMAmibqqenhVXV5VH6uq06aYAQAA4GAw96irqkOSvCzJTyT5niQnVtX3zHsOAACAg8EUR+oekORj3f3x7r4pyfYkPzXBHAAAAMObIuqOSfLJRfc/NXsMAACA/VTdPd8dVj0hyY939y/M7j8pyQO6++l7PO+UJKfM7t4ryeVzHXRl7pjkM1MPAftgjbLWWaOsddYoa501un7co7uP3tuGDfOeJAtH5o5ddP9uST6955O6+8wkZ85rqFuiqi7o7i1TzwFLsUZZ66xR1jprlLXOGiWZ5vTLDyb5zqr6tqo6LMkTk7xtgjkAAACGN/cjdd19c1X9SpJ3Jjkkyau6+9J5zwEAAHAwmOL0y3T3O5K8Y4p9H2Br+vRQiDXK2meNstZZo6x11ijzv1AKAAAAB84U76kDAADgABF1K1BVx1bV31XVZVV1aVU9Y4/tv1ZVXVV3nGpG1rd9rdGqenpVXT57/H9MOSfr21LrtKruV1Xvr6qLquqCqnrA1LOyPlXVravqA1V18WyN/sbs8W+tqnOr6qOzX4+aelbWp32s0RdV1Ueq6h+r6q1VdfupZ2W+nH65AlV1lyR36e4Lq+qIJDuTPKa7P1xVxyb54yT3TnJCd/ucEOZuqTWaZFOSX0/yyO7+UlXdqbuvmXJW1q99rNPfS/KS7v6rqnpEkmd299YJR2WdqqpKctvu3lVVhyZ5X5JnJHlskmu7+/SqOi3JUd39rClnZX3axxq9XZJ3zy5I+MIksUbXF0fqVqC7r+zuC2e3b0hyWZJjZptfkuSZSdQxk9nHGv2lJKd395dm2wQdk9nHOu0s/IUkSY7MXj67FOahF+ya3T109tVJfirJa2ePvzYL/xgBc7fUGu3ud3X3zbPH35+Fz4FmHRF1+6mqNif5viTnV9Wjk/xrd1886VCwyOI1muS7kjykqs6vqvOq6vunnA1222Od/pckL6qqTyb53STPnm4y1ruqOqSqLkpyTZJzu/v8JJu6+8pk4R8nktxpyhlZ35ZYo4v9fJK/mv9kTEnU7Yeq2pjkzVn4C8jNWTit7b9NOhQssniNdvf1WfjYkqOS/GCS/5rkDbNTN2Aye1mnv5TkV7v72CS/muSVU87H+tbdX+7u+2XhSMcDquq4qWeCxfa1Rqvq17Pwd9SzppqPaYi6FZqdt/zmJGd191uSfHuSb0tycVVdkYU/WBdW1Z2nm5L1bC9rNEk+leQts9M1PpDkK0lc0IfJLLFOT06y+/Ybk7hQCpPr7s8l2ZHk4Umunr0ndPd7Q53KzuT2WKOpqpOTPCrJSe2iGeuOqFuB2ZGNVya5rLtfnCTdfUl336m7N3f35iz85fn+3X3VhKOyTu1tjc78RZKHzp7zXUkOS+JiPkxiH+v000l+ZHb7oUk+Ou/ZIEmq6ujdVw2sqsOT/GiSjyR5Wxb+8SGzX8+eZkLWu6XWaFU9PMmzkjy6uz8/5YxMw9UvV6CqHpzkvUkuycKRjiR5Tne/Y9FzrkiyxdUvmcJSazTJ3yR5VZL7Jbkpya9197snGZJ1bx/r9Pokv5+F04W/mOSXu3vnJEOyrlXVfbJwIZRDsvAP32/o7t+sqjskeUOSuyf5RJIndPe1003KerWPNfqxJN+S5P/Nnvr+7n7aRGMyAVEHAAAwMKdfAgAADEzUAQAADEzUAQAADEzUAQAADEzUAQAADEzUAUCSqvqPVdVVde+pZwGA/SHqAGDBiUnel+SJUw8CAPtD1AGw7lXVxiQPSvLUzKKuqm5VVS+vqkur6pyqekdVPX627YSqOq+qdlbVO6vqLhOOD8A6J+oAIHlMkr/u7n9Kcm1V3T/JY5NsTnJ8kl9I8sAkqapDk7w0yeO7+4Qkr0rygimGBoAk2TD1AACwBpyY5Pdmt7fP7h+a5I3d/ZUkV1XV38223yvJcUnOraokOSTJlfMdFwC+RtQBsK5V1R2SPDTJcVXVWYi0TvLWpb4lyaXd/cA5jQgA++T0SwDWu8cn+ZPuvkd3b+7uY5P8c5LPJHnc7L11m5JsnT3/8iRHV9VXT8esqu+dYnAASEQdAJyYbzwq9+Ykd03yqSQfSvI/k5yf5Lruvk/Oa/0AAABzSURBVCkLIfjCqro4yUVJfmh+4wLA16vunnoGAFiTqmpjd++anaL5gSQP6u6rpp4LABbznjoAWNo5VXX7JIcl+S1BB8Ba5EgdAADAwLynDgAAYGCiDgAAYGCiDgAAYGCiDgAAYGCiDgAAYGCiDgAAYGD/Hy7ldONlgOCIAAAAAElFTkSuQmCC\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -420,7 +440,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 9, "metadata": { "id": "THnZpgO-L8ZY", "outputId": "725871b6-2c2d-4407-8778-fc032211ff13" @@ -428,7 +448,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -447,7 +467,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": { "id": "ckyox8U5L8Za", "outputId": "4ca012e0-594f-4081-8b6c-3b633d4b2234" @@ -455,7 +475,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2cAAAHSCAYAAABo07OKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAARbElEQVR4nO3dT6jl9XnH8c9TZ0IENY54U4I6nZSSZNGg0huxldJWSCvZpItuChUXSQa6KJoKXbgxli7aUAzddDGg1IW0tVVaCP2DC2kqpCOjHeOfSekfajGxOOKIZlGLydPFPSlTmfGe0Tn3PD339YIL5/7+cJ5ZDW9+39/3VncHAACA9fqRdQ8AAACAOAMAABhBnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAEO7OWXXX311X3kyJG9/EoAAIAxnn766de6e+tc5/Y0zo4cOZITJ07s5VcCAACMUVUvne+cZY0AAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAQ6sewAA9peqWvcIa9Xd6x4BgKHEGQB7ap1xUlXiCICxLGsEAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwAC7xllVfbiqnqqqZ6vqhaq6b3H84ar6p6p6vqoerKqDqx8XAABgMy3z5OztJLd29/VJbkhyW1XdnOThJJ9K8ukklyb54sqmBAAA2HAHdruguzvJ9xa/Hlz8dHf/1Q+vqaqnkly7kgkBAAD2gaXeOauqS6rqZJJXkzze3cfPOncwye1J/mY1IwIAAGy+peKsu7/f3Tdk5+nYTVX1k2ed/sMk3+juvz/XvVV1tKpOVNWJ06dPf/CJAQAANtAF7dbY3W8keSLJbUlSVfcm2Urym+9xz7Hu3u7u7a2trQ8yKwAAwMZaZrfGraq6cvH50iSfTfLtqvpikl9K8qvd/YPVjgkAALDZdt0QJMnHkjxUVZdkJ+Ye6e6vV9U7SV5K8s2qSpLHuvu3VzcqAADA5lpmt8ZvJbnxHMeXCTsAAACWcEHvnAEAALAa4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAPsGmdV9eGqeqqqnq2qF6rqvsXxj1fV8ar6l6r606r60OrHBQAA2EzLPDl7O8mt3X19khuS3FZVNyf5vSRf6+6fSHImyRdWNyYAAMBm2zXOesf3Fr8eXPx0kluT/Pni+ENJfnklEwIAAOwDS71zVlWXVNXJJK8meTzJvyZ5o7vfWVzycpJrznPv0ao6UVUnTp8+fTFmBgAA2DhLxVl3f7+7b0hybZKbknxq2S/o7mPdvd3d21tbW+9zTAAAgM12Qbs1dvcbSZ5I8tNJrqyqA4tT1yb5zkWeDQAAYN9YZrfGraq6cvH50iSfTXIqO5H2K4vL7kjyl6saEgAAYNMd2P2SfCzJQ1V1SXZi7pHu/npVvZjkT6rqd5L8Y5IHVjgnAADARts1zrr7W0luPMfxf8vO+2cAAAB8QBf0zhkAAACrIc4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYIAD6x4AgL131VVX5cyZM+seYy2qat0jrMWhQ4fy+uuvr3sMAN6DOAPYh86cOZPuXvcY7KH9GqUA/59Y1ggAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAALvGWVVdV1VPVNWLVfVCVd25OH5DVf1DVZ2sqhNVddPqxwUAANhMB5a45p0kd3f3M1V1eZKnq+rxJF9Ncl93/3VVfW7x+8+vblQAAIDNtWucdfcrSV5ZfH6rqk4luSZJJ7licdlHknx3VUMCAABsumWenP2vqjqS5MYkx5PcleRvq+r3s7M88mfOc8/RJEeT5PDhwx9gVAAAgM219IYgVXVZkkeT3NXdbyb59SRf7u7rknw5yQPnuq+7j3X3dndvb21tXYyZAQAANs5ScVZVB7MTZg9392OLw3ck+eHnP0tiQxAAAID3aZndGis7T8VOdff9Z536bpKfW3y+Nck/X/zxAAAA9odl3jm7JcntSZ6rqpOLY/ck+VKSP6iqA0n+K4v3ygAAALhwy+zW+GSSOs/pn7q44wAAAOxPS28IAgAAwOqIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAY4MC6BwBg7/W9VyRf+ci6x2AP9b1XrHsEAHYhzgD2obrvzXT3usdgD1VV+ivrngKA92JZIwAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAG2DXOquq6qnqiql6sqheq6s6zzv1GVX17cfyrqx0VAABgcx1Y4pp3ktzd3c9U1eVJnq6qx5P8aJLPJ7m+u9+uqo+uclAAAIBNtmucdfcrSV5ZfH6rqk4luSbJl5L8bne/vTj36ioHBQAA2GQX9M5ZVR1JcmOS40k+keRnq+p4Vf1dVX3m4o8HAACwPyyzrDFJUlWXJXk0yV3d/WZVHUhyVZKbk3wmySNV9ePd3e+672iSo0ly+PDhizY4AADAJlnqyVlVHcxOmD3c3Y8tDr+c5LHe8VSSHyS5+t33dvex7t7u7u2tra2LNTcAAMBGWWa3xkryQJJT3X3/Waf+IskvLK75RJIPJXltFUMCAABsumWWNd6S5PYkz1XVycWxe5I8mOTBqno+yX8nuePdSxoBAABYzjK7NT6ZpM5z+tcu7jgAAAD70wXt1ggAAMBqiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhgmb9zBsAGqjrfX0lhEx06dGjdIwCwC3EGsA9197pHWIuq2rf/dgDms6wRAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADiDMAAIABxBkAAMAA4gwAAGAAcQYAADCAOAMAABhAnAEAAAwgzgAAAAYQZwAAAAOIMwAAgAHEGQAAwADiDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAXaNs6q6rqqeqKoXq+qFqrrzXefvrqquqqtXNyYAAMBmO7DENe8kubu7n6mqy5M8XVWPd/eLVXVdkl9M8h8rnRIAAGDD7frkrLtf6e5nFp/fSnIqyTWL019L8ltJemUTAgAA7AMX9M5ZVR1JcmOS41X1+STf6e5nVzAXAADAvrLMssYkSVVdluTRJHdlZ6njPdlZ0rjbfUeTHE2Sw4cPv78pAdgYVbWvv7/bYhMAzm2pOKuqg9kJs4e7+7Gq+nSSjyd5dvGf3LVJnqmqm7r7P8++t7uPJTmWJNvb2/5HAtjnxAkAnNuucVY79fVAklPdfX+SdPdzST561jX/nmS7u19b0ZwAAAAbbZl3zm5JcnuSW6vq5OLncyueCwAAYF/Z9clZdz+Z5D0X6Hf3kYs1EAAAwH50Qbs1AgAAsBriDAAAYABxBgAAMIA4AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwgDgDAAAYQJwBAAAMIM4AAAAGEGcAAAADVHfv3ZdVnU7y0p59IQD8X1cneW3dQwCwr/1Yd2+d68SexhkArFNVneju7XXPAQDnYlkjAADAAOIMAABgAHEGwH5ybN0DAMD5eOcMAABgAE/OAAAABhBnAGy8qnqwql6tqufXPQsAnI84A2A/+KMkt617CAB4L+IMgI3X3d9I8vq65wCA9yLOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMgI1XVX+c5JtJPllVL1fVF9Y9EwC8W3X3umcAAADY9zw5AwAAGECcAQAADCDOAAAABhBnAAAAA4gzAACAAcQZAADAAOIMAABgAHEGAAAwwP8AUo0Oj6PSVgAAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -471,9 +491,7 @@ "\n", "fig = plt.figure(figsize=(15,8))\n", "ax = fig.add_subplot(1,1,1)\n", - "\n", "ax.boxplot(dfvote['Age'])\n", - "\n", "plt.show()" ] }, @@ -488,25 +506,15 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 11, "metadata": { "id": "wRP_I20RL8Zc", "outputId": "0f5c7bbf-f077-43c0-83bc-dbe24160c901" }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/opt/conda/lib/python3.7/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", - " return array(a, dtype, copy=False, order=order)\n", - "/opt/conda/lib/python3.7/site-packages/numpy/core/_asarray.py:83: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", - " return array(a, dtype, copy=False, order=order)\n" - ] - }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -519,7 +527,6 @@ ], "source": [ "# Plotting within Pandas\n", - "\n", "dfvote.boxplot(by='Age', figsize=(15,8));" ] }, @@ -534,7 +541,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 21, "metadata": { "id": "_39rh8npL8Ze", "outputId": "a476add0-dd75-4287-c4f2-99479a926bf1" @@ -542,7 +549,7 @@ "outputs": [ { "data": { - "image/png": "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lt7eXrq7uwmHw3/xJxKJ4HK5vvzjdrtxu91kZGR8+Sc1NVUL0oiIiMiYpWAUkVHNGPNl/ImIiIjImXE5PYCIiIiIiIgMTwpGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAZkrLVOz+AoY0wrcHiIP+0E4OQQf04ZfNqvo5P26+ik/To6ab+OTtqvo5P26/By0lq7ZKANYz4YnWCM2WytrXN6Djm3tF9HJ+3X0Un7dXTSfh2dtF9HJ+3XkUOHpIqIiIiIiMiAFIwiIiIiIiIyIAWjMx5yegAZFNqvo5P26+ik/To6ab+OTtqvo5P26wihcxhFRERERERkQHqHUURERERERAakYBxExpgyY8waY8wuY8xOY8w/9d/+L8aYPcaYz40xrxhjspyeVc5Msn172vb/2RhjjTETnJpRzty37VdjzG/6H7c7jTH/r5Nzypn5lp/Fc4wx640xnxljNhtjFjo9q3x3xpgUY8xGY8y2/v36f/bfXmmM2WCMqTfGvGCM8Tk9q3x337Jflxpj9hpjdhhjHjPGeJ2eVb67ZPv1tO2/Ncb0ODWffDsdkjqIjDFFQJG19lNjTCawBfghUAqsttZGjTH/DcBa+785OKqcoWT71lq7yxhTBjwC1ADzrbW6xtAI8S2P2QLgPwHXWWvDxph8a22Lk7PKd/ct+/V/AP9qrV1pjLkW+A/W2sscHFXOgDHGAOnW2p7+eFgL/BPwPwHLrbXPG2P+BGyz1j7g5Kzy3X3Lfs0BVvbf7VngQ+3XkSPZfrXWrjfG1JHYxz+y1mY4OqgMSO8wDiJrbbO19tP+j7uB3UCJtfYda220/27rSQSkjCDJ9m3/5n8F/gOgV2NGmG/Zr78E/h9rbbh/m2JxBPmW/WqBcf13Gw80OTOhnA2b8MU7Et7+Pxa4Ani5//YnSbw4ICNEsv1qrX2rf5sFNqLnTiNKsv1qjHED/0LieZMMUwrGIWKMmQjMBTZ8bdPP+OoVMxmBTt+3xpibgGPW2m2ODiXf29ces1OARf2HuX1gjFng5Gxy9r62X/8d8C/GmKPA/wf8s3OTydkwxriNMZ8BLcAq4ADQcdqLso189WKejBBf36/W2g2nbfMC9wBvOzWfnJ0k+/XXwOvW2mZnp5Nvo2AcAsaYDGAZ8O+stV2n3f6fgCiw1KnZ5Ps5fd+S2Jf/EfjfHR1KvrcBHrMeEodDnQ/8r8CL/YfXyAgywH79JfDvrbVlwL8HHnVyPjlz1tqYtXYOiXebFpI4FUBGuK/vV2NM7Wmb/0jicNSPnJlOztYA+/US4MfA75ydTP4aBeMg638lbBmw1Fq7/LTb/w64HrjL6kTSEWmAfVsNVALbjDGHSPxA/NQYU+jclHKmkjxmG0mcE2WttRuBOKAFjUaQJPv1b4EvPn6JRHDICGSt7QDWABcAWcYYT/+mUuCYY4PJ93Lafl0CYIz5P4A8Euepygh12n69HJgE1Pc/b0ozxtQ7OZsMTME4iPrfgXgU2G2t/e+n3b6ExLHaN1prA07NJ2dvoH1rrd1urc231k601k4kERnzrLXHHRxVzkCyxyzwKolfbBhjpgA+QIsZjRDfsl+bgEv7P74C2D/Us8nZM8bkfbHKuDEmFbiKxPmpa4Bb+u/2t8BrzkwoZyPJft1jjLkXuBq4w1obd3JGOXNJ9usWa23hac+bAtbaSU7OKQPTKqmDyBhzMfARsJ3EOxKQOGTxt4AfONV/23pr7S+GfkI5W8n2rbX2rdPucwio0yqpI8e3PGbfBR4D5gB9wP9irV3tyJByxr5lv3YB/0bikOMQ8Ctr7RZHhpQzZoyZRWJRGzeJF8BftNb+F2NMFfA8icPItwJ3f7FglQx/37Jfo8BhoLv/rsuttf/FoTHlDCXbr1+7T49WSR2eFIwiIiIiIiIyIB2SKiIiIiIiIgNSMIqIiIiIiMiAFIwiIiIiIiIyIAWjiIiIiIiIDEjBKCIiIiIiIgNSMIqIiAwyY8wPjTHWGFPj9CwiIiJnQsEoIiIy+O4A1vb/LSIiMmIoGEVERAaRMSYDuBj4e+D2/ttcxpg/GmP2GGNWGWPeMsbc0r9tvjHmA2PMFmPMn40xRQ6OLyIiY5yCUUREZHDdBLxtrd0HnDLGzAduBiYC04F7gAsAjDFe4HfALdba+cBjwH91YmgREREAj9MDiIiIjHJ3AP/W//Hz/f/tAV6y1saB48aYNf3bpwK1wCpjDIAbaB7acUVERL6iYBQRERkkxpgc4ApgpjHGkghAC7yS7J8AO621FwzRiCIiIt9Kh6SKiIgMnluAp621FdbaidbaMuAg0Ab8Tf+5jAXAZf333wvkGWO+PETVGDPDicFFRERAwSgiIjKY7uCb7yYuAwqBRmAX8AzwKdBpre0jEZn/zRizDfgMuHDoxhUREflLxlrr9AwiIiJjjjEmw1rbY4zJBTYCF1lrjzs9l4iIyOl0DqOIiIgz3jTGZAE+4P9SLIqIyHCkdxhFRERERERkQDqHUURERERERAakYBQREREREZEBKRhFRERERERkQApGERERERERGZCCUURERERERAakYBQREREREZEB/f8UxAowqGcNYwAAAABJRU5ErkJggg==\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4wAAAHgCAYAAADuY+OqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAB0zUlEQVR4nO39d3hc953ne75/dSqhkHMGSIABzJmSKDFItmVZlmO7HWS7p4NTd9vdM7uzszvhuTt757n32Xtn9s5MB7stOdtyVqQkUlmUKIkiKZGUxCSCmQRIgshA5Tq//aOKIEShKJIiWAif1/Oc51SdcwB8wUMA9alfMtZaRERERERERC7lyXUBIiIiIiIiMjEpMIqIiIiIiMiYFBhFRERERERkTAqMIiIiIiIiMiYFRhERERERERmTAqOIiIiIiIiMyZvrAnLtrrvusps3b851GSIiIiIiIrlisp2Y9i2M58+fz3UJIiIiIiIiE9K0D4wiIiIiIiIyNgVGERERERERGZMCo4iIiIiIiIxJgVFERERERETGpMAoIiIiIiIiY1JgFBERERERkTEpMIqIiIiIiMiYFBhFRERERERkTAqMIiIiIiIiMiYFRhERERERERmTAqOIiIiIiIiMSYFRRERERERExqTAKCIiIiIiImNSYBQREREREZExKTCKiIiIiIjImBQYRUREREREZEwKjCIiIiIiIjImBUYREREREREZkwKjiIiIiIiIjEmBUURERERERMakwCgiIiIiIiJjUmAUERERERGRMSkwioiIiIiIyJgUGEVERERERGRMCowiIiIiIiIyJgVGERERERERGZMCo4iIiIiIiIxJgVFERERERETGpMAoIiIiIiIiY1JgFBERERERkTEpMIqIiIiIiMiYFBhFRERERERkTAqMIiIiIiIiMiYFRhERERERERmTAqOIiIiIiIiMSYFRRERERERExqTAKCIiIiIiImNSYBQREREREZExKTCKiIiIiIjImBQYRUREREREZEwKjCIiIiIiIjImBUYREREREREZkwKjiIiIiIiIjEmBUURERERERMakwCgiIiIiIiJj8ua6ABERmVystcTjcSKRCNFolFgsRjweJx6Pv+9xIpEgkUiQSqVIJpMjWyqVIpVK4bou1tr3bBe+hjEGj8czsjmOM/LY6/Xi8/nw+/0j+9FbXl7e+zavV3/y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HmZoaJhweIhweJhIJJJ1nGZWHgfj8YLjgPFiPR4wHiwerDGZffrYhe609j3hyowKnTbd5dPakcfgjhwz1sVjU2BTGJsC1wU3iU0l39fql01eKERBQSFFJYUUFVVQUlJCaWkpJSUl73tcXl5OKBS6un8PERGRSU6BUURkigoEAgQCAcrLy6/p4621xONxwuEwkUiEaDT6vv2FLR6PE4vFiMfjI9uF58lkkmQySSqVIplMkkgmSSbSe6zFWotrXaxNf02LxbouxuPB8Tg4HgeP43nP3ut18Pv9+P1+fD7fe/Z+v59QKEReXt6YW2FhIQUFBeTn52vMoIiIyAdQYBQRkTEZY0ZCZ2lpaa7LERERkRzQ9HoiIiIiIiIyJgVGERERERERGZMCo4iIiIiIiIxJgVFERERERETGpMAoIiIiIiIiY1JgFBERERERkTEpMIqIiIiIiMiYFBhFRERERERkTAqMIiIiIiIiMiYFRhERERERERmTAqOIiIiIiIiMSYFRRERERERExqTAKCIiIiIiImNSYBQREREREZExKTCKiIiIiIjImBQYRUREREREZEwKjCIiIiIiIjImBUYREREREREZkwKjiIiIiIiIjEmBUURERERERMakwCgiIiIiIiJjUmAUERERERGRMSkwioiIiIiIyJgUGEVERERERGRMCowiIiIiIiIyJgVGERERERERGZMCo4iIiIiIiIxJgVFERERERETGpMAoIiIiIiIiY/rAwGiMcYwxL9yIYkRERERERGTi+MDAaK1NAa4xpvgG1CMiIiIiIiIThPcKrxsC3jbGPAMMXzhorf27calKREREREREcu5KA+NDmU1ERERERESmiSsKjNbanxtj8oAma+3Bca5JREREREREJoArmiXVGPMpYDewOfN8qTHmsXGsS0RERERERHLsSpfV+M/AaqAPwFq7G2gZl4pERERERERkQrjSwJiw1vZfcsy93sWIiIiIiIjIxHGlk97sNcbcCzjGmNnA3wGvjl9ZIiIiIiIikmtX2sL4PWABEAN+AwwA/3qcahIREREREZEJ4EpnSQ0D/zGziYiIiIiIyDRw2cBojNkI2GznrbWfvu4ViYiIiIiIyITwQS2M/y2z/zxQA/wq8/wrwNnxKkpERERERERy77KB0Vq7BcAY8/+z1q4cdWqjMWbnuFYmIiIiIiIiOXWlk97k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\n", "text/plain": [ "
" ] @@ -556,8 +563,7 @@ "source": [ "fig = plt.figure(figsize=(15,8))\n", "\n", - "sns.violinplot(dfvote['Age'], dfvote['Gender'])\n", - "\n", + "sns.violinplot(x=dfvote['Age'], y=dfvote['Gender'])\n", "sns.despine()" ] }, @@ -572,7 +578,210 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AgeSalary before SternExpected salary
Gender
Female26.14285761500.00000099642.857143
Male27.61764773705.882353113088.235294
\n", + "
" + ], + "text/plain": [ + " Age Salary before Stern Expected salary\n", + "Gender \n", + "Female 26.142857 61500.000000 99642.857143\n", + "Male 27.617647 73705.882353 113088.235294" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grouped = dfvote.groupby('Gender').mean()\n", + "grouped" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfkAAAGNCAYAAAASBQgzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAioElEQVR4nO3df5xVdb3v8deHQcUfJQpkBRp0RIsfDvLTMgzlplhdTI+KYImmUqGm3Xvp4O0cNZR7PddOqFga5Q/0aBTck5paaCJ5SuOnZKAQiJhjpgSIUKL8+J4/9mIaYAYmZoaN3/16Ph77MWt913et9dkj43uvH3t9I6WEJEnKT6tyFyBJklqGIS9JUqYMeUmSMmXIS5KUKUNekqRMGfKSJGWqdbkLaG7t27dPnTt3LncZkiTtEfPmzftzSqlDfcuyC/nOnTszd+7ccpchSdIeEREvNbTM0/WSJGXKkJckKVOGvCRJmcrumnx9Nm7cSE1NDRs2bCh3KSqzNm3a0KlTJ/bZZ59ylyJJLa4iQr6mpob3vOc9dO7cmYgodzkqk5QSq1atoqamhi5dupS7HElqcRVxun7Dhg20a9fOgK9wEUG7du08oyOpYlREyAMGvAD/HUiqLBUT8uU2fvx4unfvzjHHHEOvXr2YNWvWTvuff/75TJs2rdnr2J3tjhkzhu7duzNmzJhmreW1117js5/9LNXV1XTr1o1Pf/rTAKxYsYL77ruvWfclSZWoIq7Jb6/z2IebdXsrrv/MTpc//fTTPPTQQ8yfP5/99tuPP//5z7zzzjvNWsOmTZto3bpl/nNOmjSJ1atXU1VV1ay1XHXVVXzqU5/i8ssvB+DZZ58F/hbyI0aMaHSNLfn+JendyiP5PeDVV1+lffv27LfffgC0b9+eD37wgwCMGzeOfv360aNHD0aNGkVKaYf1G+ozaNAgrrjiCvr27cv48ePp0qULGzduBODNN9/cZr6uX/ziF/Tt25ejjjqKhx56CIDNmzczZswY+vXrxzHHHMP3vvc9AIYOHcr69evp06cPP/rRj1ixYgUnnXQSxxxzDIMHD+YPf/gDUDpD8OUvf5kBAwbw9a9/nRdeeIEhQ4bQp08fBg4cyOLFi+v9vXTq1Kl2/phjjgFg7Nix/Od//ie9evViwoQJDdY2c+ZMBg4cyNChQ+nWrRszZ85k0KBBnHnmmXzkIx/h3HPPrff3KUmVwpDfA04++WRefvlljjrqKEaPHs0vf/nL2mWXXnopc+bMYeHChbz11lu1oVvXzvq88847zJ07l6uvvppBgwbx8MOlsxRTpkzhjDPOqPerYitWrGD27Nk8/PDDfPnLX2bDhg3cfvvtHHzwwcyZM4c5c+bw/e9/nxdffJEHH3yQ/fffnwULFjBs2DAuu+wyRo4cybPPPsu5557LV7/61drt1tTU8NRTT/Htb3+bUaNGMXHiRObNm8e3vvUtRo8evUMdl1xyCRdeeCEnnngi48eP549//CMA119/PQMHDmTBggV87Wtfa7A2gPnz53PTTTfx+9//HoBnnnmGG2+8keeee47ly5fz61//enf+k0lSFgz5PeCggw5i3rx5TJo0iQ4dOjBs2DDuuusuAJ544gkGDBhAz549mTFjBosWLdph/Z31GTZsWO30RRddxJ133gnAnXfeyQUXXFBvPWeffTatWrWia9eufPjDH2bx4sU8+uij3H333fTq1YsBAwawatUqli5dusO6Tz/9dO1p9C984Qv86le/ql121llnUVVVxfr163nqqac466yz6NWrF1/60pd49dVXd9jWKaecwvLly7n44otZvHgxxx57LCtXrtyh385q69+//zZfh+vfvz+dOnWiVatW9OrVixUrVtT7O5CkSuBFzD2kqqqKQYMGMWjQIHr27MnkyZM555xzGD16NHPnzuXwww/nmmuu2eHrXRs2bNhpnwMPPLB2+vjjj2fFihXMnDmTzZs306NHj3pr2f4O84ggpcTEiRM55ZRTdvs9bq1ly5YttG3blgULFuxynUMPPZQRI0YwYsQIPvvZz/Lkk0/Srl27bfo0VNvMmTO3ef9A7SURKP3ON23atJvvRpLe/Qz5PWDJkiW1R84ACxYs4EMf+lBtWLdv357169czbdo0zjzzzG3WbUyfus477zxGjBjBv/zLvzTYZ+rUqYwcOZIXX3yR5cuXc/TRR3PKKadw6623ctJJJ7HPPvvw+9//no4dO+4Qoh//+MeZMmUKX/jCF7j33nsZOHDgDtt/73vfS5cuXZg6dSpnnXUWKSWeffZZqqurt+k3Y8YMjjvuOA444ADWrVvHCy+8wBFHHEGrVq1Yt25dbb+GapPUjK45uNwVtJxr1pa7grIx5PeA9evXc9lll/HGG2/QunVrjjzySCZNmkTbtm25+OKL6dGjB+9///vp16/fDus2pk9d5557Lv/8z//M8OHDG+xzxBFH0L9/f958801uu+022rRpw0UXXcSKFSvo3bs3KSU6dOjA/fffv8O6EydO5IILLuCGG26gQ4cOtZcHtnfvvffyla98heuuu46NGzdyzjnn7BDy8+bN49JLL6V169Zs2bKFiy66iH79+rFx40aqqqqorq7m/PPP5/LLL29UbZKkbUVudx/37ds3bT+e/PPPP89HP/rRMlW0Z02bNo0HHniAe+65p9yl7LUq6d+D1Ggeyb9rRcS8lFLf+pZ5JJ+Ryy67jJ/97Gc88sgj5S5FkrQXMOQzMnHixHKXIEnai/gVOkmSMmXIS5KUKUNekqRMGfKSJGXKkN9Dqqqq6NWrV+3r+uuvb/F9vvHGG3z3u9/9u9e75ppr+Na3vtWkfa9YsaLBJ+5JkvaMyry7vrm/D9qI72BuHeRlT9oa8vUNDrO3cahYSWp+HsmX0dq1azn66KNZsmQJAMOHD+f73/8+UBrU5mtf+xrdu3dn8ODBtQO3NDSE62uvvcbpp59OdXU11dXVPPXUU4wdO5YXXniBXr16MWbMGABuuOGG2iFbr7766tpaxo8fz1FHHcUnPvGJ2nq2N3XqVHr06EF1dTUnnHACUDpiHzhwIL1796Z379489dRTO6zXUJ/th4q96qqruPHGG2vX+8Y3vsFNN93UlF+xJFU0D532kLfeeotevXrVzl955ZUMGzaMW265pfbRrWvWrOHiiy8G4C9/+Qt9+/ZlwoQJjBs3jm9+85vccsstjBo1ittuu42uXbsya9YsRo8ezYwZM/jqV7/KJz/5SX7yk5+wefNm1q9fz/XXX8/ChQtrzyA8+uijLF26lNmzZ5NSYujQoTz55JMceOCBTJkyhQULFrBp0yZ69+5Nnz59dngP48aNY/r06XTs2JE33ngDgPe973089thjtGnThqVLlzJ8+HC2f+LgzvrMnz+fhQsX0qVLF1asWMEZZ5zBFVdcwZYtW5gyZQqzZ89u/v8YklQhDPk9pKHT9Z/61KeYOnUql1xyCb/97W9r21u1alU7jOznP/95zjjjjG2GcN3q7bffBkqDvdx9991A6fr/wQcfzJo1a7bZ16OPPsqjjz7KscceC5Seqb906VLWrVvH6aefzgEHHADA0KFD630Pxx9/POeffz5nn302Z5xxBgAbN27k0ksvZcGCBVRVVdWO617XzvrUHSq2c+fOtGvXjmeeeYbXXnuNY489docR6SRJjWfIl9mWLVt4/vnnOeCAA1izZg2dOnWqt19E/F1DuNYnpcSVV17Jl770pW3a654i35nbbruNWbNm8fDDD9OnTx/mzZvHxIkTOeyww/jtb3/Lli1baNOmzQ7rTZgwocE+249yd9FFF3HXXXfxpz/9iS9+8Yt//5uUJNXymnyZTZgwgY9+9KPcd999XHDBBWzcuBEohf+0adMAuO+++/jEJz6xzRCuUArtrUf/gwcP5tZbbwVg8+bNrF27lve85z07DNl6xx13sH79egBeeeUVXn/9dU444QTuv/9+3nrrLdatW8dPf/rTemt94YUXGDBgAOPGjaNDhw68/PLLrF27lg984AO0atWKe+65h82bN++wXmP6bHX66afz85//nDlz5jRpbHtJkiG/x2y9Jr/1NXbsWJYsWcIPfvAD/u3f/o2BAwdywgkncN111wGlI9zZs2fTo0cPZsyYwVVXXQWUhnC9/fbbqa6upnv37jzwwAMA3HTTTTzxxBP07NmTPn368Nxzz9GuXTuOP/54evTowZgxYzj55JMZMWIEH/vYx+jZsydnnnkm69ato3fv3gwbNozq6mpOPfXUBoezHTNmDD179qRHjx58/OMfp7q6mtGjRzN58mSqq6tZvHjxDkfmQKP6bLXvvvty4okncvbZZ1NVVdXUX7skVTSHmt1LHXTQQbVH3JVky5Yt9O7dm6lTp9K1a9cW2ce78d+D1OIcavZda2dDzXokr73Gc889x5FHHsngwYNbLOAlqZJ4491eqhKP4rt168by5cvLXYYkZcMjeUmSMlUxIZ/bvQfaPf47kFRJKiLk27Rpw6pVq/wffIVLKbFq1ap6v8svSTmqiGvynTp1oqampvb576pcbdq0afCBQ5KUm4oI+X322af20amSJFWKijhdL0lSJTLkJUnKlCEvSVKmDHlJkjJlyEuSlClDXpKkTBnykiRlypCXJClTuwz5iLgjIl6PiIV12g6NiMciYmnx85CiPSLi5ohYFhHPRkTvOuuMLPovjYiRddr7RMTvinVujojY2T4kSVLjNOZI/i5gyHZtY4HHU0pdgceLeYBTga7FaxRwK5QCG7gaGAD0B66uE9q3AhfXWW/ILvYhSZIaYZchn1J6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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "grouped[['Salary before Stern','Expected salary']].plot(kind='bar', figsize=(8,6))" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "id": "VEM-ndjsL8Zf", + "outputId": "f2e37e4b-08b6-4de0-dec8-3d5fb33fb585" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Candidate\n", + "Bush 27.000000\n", + "Gore 27.277778\n", + "Refuse to answer 27.300000\n", + "Undecided 27.200000\n", + "Name: Age, dtype: float64" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "var = dfvote.groupby('Candidate').Age.mean()\n", + "var" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "var.plot(kind='bar', figsize=(12,6));" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mYjoJoRML8Zg" + }, + "source": [ + "### Line Chart " + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "id": "8s4tOFqaL8Zg", + "outputId": "f76048e0-4016-40f4-ce60-618e202241d8" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4UAAAHwCAYAAAARoMr7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABg8klEQVR4nO3dd3hUddrG8ftJI/Tee0ekibEiCPbexbauuva1AtZd31XXde3oWtZV17rrKtgbKqg0Cyho6L2X0AmEkv68f8yJxphAgExOkvl+rouLmXPmnLknQ5l7fr9zjrm7AAAAAACxKS7sAAAAAACA8FAKAQAAACCGUQoBAAAAIIZRCgEAAAAghlEKAQAAACCGUQoBAAAAIIZRCgEA5crM2pmZm1lCcP9TM7ukNI+tCMzsIjMbHXaOisDM+pnZAjPbZmZnhJ0HALB3KIUAAEmSmV1oZlOCD/hpQVk7ItrP6+4nuvur+7ofMxtoZivLItOuuPvr7n5ctJ+nkvirpKfdvZa7vx92GADA3qEUAgBkZkMlPSHp75KaSmoj6Z+STg8xFiq+tpJmhR0CALBvKIUAEOPMrK4iIz7Xufu77r7d3XPc/SN3vzV4zMFm9p2ZpQejiE+bWVKhfbiZXRNMJUw3s2fMzIJ18Wb2qJltMLPFkk4u8vzjzOyKUj72MjObY2YZZrbYzK4OlteU9KmkFsFI5zYza2FmcWZ2h5ktMrONZjbSzBqU8HMYb2ZnB7f7Ba/p5OD+0WaWGty+1My+Dm6bmT1uZuvMbKuZzTCzHsG6asFrWW5ma83sX2ZWvYTnvtTMvgn2lR68tsOD5SuC/V9S6PEl7tvM6pvZx2a23sw2B7dbFfl53xc8X4aZjTazRrv483GlmS00s01m9qGZtQiWL5LUQdJHwc+7WjHbFvzsM8xstpmdWWhdvJk9FrzXS8zsevv1tOK6ZvZi8OdtlZn9zczig3WdgvdrS7D9iJLyAwB2j1IIADhMUrKk93bxmDxJQyQ1Ch5/tKQ/FnnMKZIOktRL0mBJxwfLrwzWHSApRdI5u3ie3T12XbC+jqTLJD1uZn3dfbukEyWtDqYy1nL31ZJukHSGpCMltZC0WdIzJTz3eEkDg9tHSlosaUCh++OL2ea44DFdJNUNXvfGYN2DwfI+kjpJainpL7t47YdImi6poaT/SXpTkZ9nJ0m/k/S0mdUqxb7jJL2syCheG0k7JT1d5LkuVOTn10RSkqRbigtkZkdJeiB4Xc0lLQtyyd07Slou6dTg551VzC4WSeqvyM/mXkn/NbPmwborFXnP+kjqq8j7VNgrknKD13eAIj/rK4J190kaLam+pFaSniouPwCgdCiFAICGkja4e25JD3D3qe4+yd1z3X2ppOcUKUqFPeju6e6+XNJYRT7sS5FC8YS7r3D3TYqUjJLs8rHu/om7L/KI8YoUg/672N81kv7s7iuD0nKPpHOs+BPXjC/0mgYEz11wv6RSmCOptqRukszd57h7WjBKepWkIe6+yd0zFJmae/4usi5x95fdPU/SCEmtJf3V3bPcfbSkbEmddrdvd9/o7u+4+45g3f367Xv1srvPd/edkkbql/eqqIskveTuPwY/vzslHWZm7XbxOn7m7m+5+2p3z3f3EZIWSDo4WD1Y0j+C92azIkVXkmRmTSWdJOnmYOR6naTH9cvPL0eR0tvC3TPd/evS5AEAFI9SCADYKKlRCUVJkmRmXYJpiGvMbKsiJaTolMM1hW7vkFQwqtVC0opC65btIssuH2tmJ5rZpGAqY7oixaHEqY+KFIf3gimZ6ZLmKDLq2bSYx34nqUtQSPpIek1S62Bq5cGSJhTdwN2/UmQU7hlJ68zseTOrI6mxpBqSphZ67s+C5SVZW+j2zmD/RZfV2t2+zayGmT1nZsuC92qCpHoFUy8DJb1XRbVQoffA3bcp8uel5S5ex8/M7PdmllooZw/98n4Vfa8L324rKVFSWqFtn1NkZFOSbpNkkr43s1lm9ofS5AEAFI9SCAD4TlKWfjt9r7BnJc2V1Nnd60j6kyIfyksjTZFRrwJt9uaxwTFr70h6VFJTd68naVShHF7M/lZIOtHd6xX6lezuq4o+0N13SJoq6SZJM909W9K3koZKWuTuG4oL7O5PuvuBkrorMqXzVkkbFClx+xd63rruXlL52hO72/cwSV0lHRK8VwVTYEv7fhW2WpGCFtlB5NjNhpJ+8/MryszaSnpB0vWSGgbv18xCOdIUmfpZoPD7vkKRP5ONCr3GOu6+vyS5+xp3v9LdW0i6WtI/zazTXrw+AIAohQAQ89x9iyLHoz1jZmcEI02Jwajcw8HDakvaKmmbmXWTdO0ePMVISTeaWSszqy/pjr18bJKkapLWS8o1sxMVOc6swFpJDS1y4pwC/5J0f1BQZGaNzWxXZ1Qdr0iJKZgqOq7I/V8xs4PM7BAzS5S0XVKmpHx3z1ekED1uZk2Cx7Y0s+OL28+eKMW+aytSGtMtclKdu/fh6d6QdJmZ9QlK+d8lTQ6mEO9OTUWK+vog42WKjBQWGCnppiB7PUm3F6xw9zRFpgY/ZmZ1LHLCoI5mdmSwr3MLnTxnc/A8+fvwOgEgplEKAQBy98cUGRG7S5EP8SsUKUPvBw+5RZGTk2QoUkj25GyPL0j6XNI0ST9KendvHhscH3ejImVic5Dnw0Lr5ypSYhYHUw5bSPpH8JjRZpYhaZIiJ3QpyXhFStWEEu4XVSfIvFmRaZYbJT0SrLtd0kJJk4JpnF8oMoJXFna17yckVVdkRHGSIlNL94q7fyHp/xQZoU2T1FG7Pi6y8LazJT2myEj0Wkk9JX1T6CEvKFL8pkv6SZFR31xFpvdK0u8V+SJgtiI/37cVOdmNFDkBz2Qz26bI+3uTuy/eqxcJAJC5FzfbBgAAoPwEI7//cve2u30wAKBMMVIIAADKnZlVN7OTzCzBzFoqMs11V5dFAQBECSOFAACg3JlZDUWm53ZT5BjITxSZBro11GAAEIMohQAAAAAQw5g+CgAAAAAxjFIIAAAAADEsIewA5aFRo0berl27sGMAAAAAQCimTp26wd0bF7cuJkphu3btNGXKlLBjAAAAAEAozGxZSeuYPgoAAAAAMYxSCAAAAAAxjFIIAAAAADGMUggAAAAAMYxSCAAAAAAxjFIIAAAAADGMUggAAAAAMYxSCAAAAAAxjFIIAAAAADGMUggAAAAAMYxSCAAAAAAxjFIIAAAAADGMUggAAAAAMYxSCAAAAAAxLGql0Mxam9lYM5ttZrPM7KZg+QgzSw1+LTWz1GK2TTaz781sWrDtvYXWtTezyWa2MNhXUrReAwAAAABUddEcKcyVNMzdu0s6VNJ1Ztbd3c9z9z7u3kfSO5LeLWbbLElHuXtvSX0knWBmhwbrHpL0uLt3krRZ0uVRfA0AAAAAUKVFrRS6e5q7/xjczpA0R1LLgvVmZpIGS3qjmG3d3bcFdxODXx5sc5Skt4N1r0o6I1qvAQAAYG/l57ty8vLDjgEAu5VQHk9iZu0kHSBpcqHF/SWtdfcFJWwTL2mqpE6SnnH3yWbWSFK6u+cGD1upQkUTAACgvGzNzNHq9J1KS8/UqvSdStuyU6vTM7U6fadWb9mpNVsylRgfp8v6tdNV/Tuqbo3EsCMDQLGiXgrNrJYi00RvdvethVZdoGJGCQu4e56kPmZWT9J7ZtZD0po9eN6rJF0lSW3atNmL5AAAIFZl5eZpzZbMn0te2padWpWeGRS/SPnblpX7q20S4kxN6ySrZb3q6tumvlrUq64Vm3bombGL9J/vlumqAR10Wb/2qlmtXL6TB4BSM3eP3s7NEiV9LOlzdx9eaHmCpFWSDnT3laXYz18k7ZD0mKT1kpq5e66ZHSbpHnc/flfbp6Sk+JQpU/bhlQAAgKoiP9+1YVuWVm8JRvWCkldQ+FalZ2rDtqzfbNewZpJa1Kuu5nWT1aJedbWolxzcr66W9aqrce1qio+z32w3J22rHhs9X1/MWauGNZN07cCO+t2hbZWcGF8eLxcAJElmNtXdU4pbF7WvqoLj/16UNKdwIQwcI2luSYXQzBpLynH3dDOrLulYSQ+5u5vZWEnnSHpT0iWSPojWawAAAJXP1swcpRWaxll4imfBtM6cvF9/KV4jKf7nwrdf8zpqXveX0lewfG9L3H7N6+jfl6Top+Wb9djo+frbJ3P074lLdMPRnTQ4pbUS47lCGIBwRW2k0MyOkDRR0gxJBUdZ/8ndR5nZK5Imufu/Cj2+haR/u/tJZtZLkZPIxCtyMpyR7v7X4HEdFCmEDST9JOl37v7br/MKYaQQAICqITs3X2u2FD6Gb+fPI34FRTCjyLTO+DhTszrJRUb2koPiFyl/dasnKvJ9dvR9t2ijHh09T1OXbVabBjV08zGddXqflsWOMgJAWdnVSGFUp49WFJRCAAAqvvx814btWZGpnOk7g+KX+avitz6j+Gmdzeslq0Whkle48DWpnVzhCpe7a9y89Xp09DzNWr1VnZvU0tBju+iEHs3KrZwCiC2UQkohAAChy8jMiZy4pdCUzl+meGZqzZZMZRe5hEP1xPhfpnEGRa95vcjJXAqO7avMx+bl57s+m7VGw8fM18J129SjZR0NO66rBnZpTDkEUKYohZRCAACiqmBa58+Fr2CKZ/ovl2nY1bTOwiN7Ler+UvzKc1pnmPLyXe//tEpPfDlfKzbt1EHt6mvYcV11aIeGYUcDUEVQCimFAADstYJpnb+M7P36Mg2r03dqw7YsFf1I0aBm0s+Fr2UxZ+2siNM6w5adm6+RU1boqa8WaO3WLPXv3Ei3HNdVvVvXCzsagEqOUkgpBACgRBmZOYVG9oqctXNLptLSi5/WWTCaVzCy98sUz0gRrJ5Uead1hi0zJ0//nbRM/xy3SJu2Z+u47k019Lgu6tasTtjRAFRSlEJKIQAgRmXn5mvt1sJn6/zl2nwFRTAj87fTOpvWrvbL5Rh+Pobvl+md9WrExrTOsG3LytXLXy/R8xMXa1tWrk7t1UJDju2i9o1qhh0NQCVDKaQUAgCqoPx818bt2b+ayplW6MQtq9N3an0x0zrr10j81aUZIsXvl8s0NKldTQlcO69CSd+RrecnLNbL3yxVdl6+zunbSjce01kt61UPOxqASoJSSCkEAFRC27Jyfx7VW52eGRS/YIrnlp3FTutMToz71TTOomftbMG0zkptfUaW/jluoV6ftFySdOEhbfTHQR3VpHZyyMkAVHSUQkohAKCCKZjWubrIyF7BdfmKm9YZZ1KzOslqXu/XZ+psEZzEpWU9pnXGitXpO/XUVws0cspKJcXH6dJ+7XT1gA6qVyMp7GgAKihKIaUQAFCO3F0btmUHx/D9uvAVHNu3LqP4aZ2/ujRDQfmrW3C2TqZ14teWbtiuJ76Yrw+mrVatpARd0b+DLu/fXrWqJYQdDUAFQymkFAIAytC2rFylBaN5BSN7vxS/yCUbsnOLmdZZaFSvRb3gMg0Fx/TVTVaNJD7IY+/MW5Oh4WPm6fNZa1W/RqKuHdhRvz+snZITmSoMIIJSSCkEAJRSTl5wEfYiI3uFz9q5tZhpnU3rJP9qGmeLX12Xr7rqM60T5WD6ynQ9Onq+Jsxfrya1q+mGozvrvJTWSkpghBmIdZRCSiEAQJFpnQVn6/zVyF5w4pbV6cVP66xXI/FXJ24puDRDy+CsnU2Z1okKZvLijXp09Dz9sHSzWtWvrpuP6aIz+rTgzykQwyiFlEIAiAnbC87WWTDSlx5cpqHg2L5ipnVWS4j7ZRpn3V8uzVC4/DGtE5WRu2v8/PV6bPR8zVi1RR0b19SQY7vopB7NFRfHqDUQayiFlEIAqPQKpnX+fAxfUPTS0jN/PrZvy86cX21TMK2z8DTOFnWTg+LHtE7EBnfX57PWaviYeZq/dpu6N6+jW47vokFdm/BnH4ghlEJKIQBUaAXTOn8peDuLjPhlam1GZrHTOgsuwF7cWTub1K6mRKbLAZKkvHzXR9NWa/iY+Vq+aYf6tqmnW47vqsM7Ngo7GoByQCmkFAJAqLZn5QYXXs9UWnqRwhf8nlXMtM6Ckvdz4Ss84se0TmCv5OTl660pK/XUVwuUtiVT/To11LDjuqpvm/phRwMQRZRCSiEARE1OXsFF2DOD4hcZ2Stc/Iqb1tmkdnKk8BVcmqGg8AXH8TWomcTUNiCKMnPy9Prk5frn2IXauD1bR3dromHHdVX3FnXCjgYgCiiFlEIA2Cvurk3bs391ds6fL9MQnMFzXUam8ov8V1K3euKvRvaaF5ypMyh8TeskM60TqCC2Z+XqlW+X6rnxi7Q1M1en9GquIcd2UcfGtcKOBqAMUQophQBQrIJpnauLjOwVXlZ0WmdSwdk6fx7ZKyh+vxzbV7Ma0zqBymbLzhy9MGGxXvpmiTJz8nR231a68ejOat2gRtjRAJQBSiGlEEAMKpjW+fPZOgtdl6/gMg3pO349rdNMalo7OXJ5hsKFr271ny/b0JBpnUCVtmFblp4dt0j/mbRM7q4LDm6j6wd1UpM6yWFHA7APKIWUQgBVTMG0zl9N5fy5/JU8rbNOcoJa1Pul4P1yDF9k5K9ZXaZ1AohI27JTT321UCN/WKGEeNMlh7XTNUd2VP2aSWFHA7AXKIWUQgCVzI7s3N+O7AXX5iu4bENx0zp/PbIXOYlL4Wvz1WJaJ4A9tHzjDj3xxXy9l7pKNZMSdPkR7XVF//aqnZwYdjQAe4BSSCkEUIHk5uVrbUbWr0b1fr4uX3BCl+KmdTapXe1XZ+csel0+pnUCiKYFazM0fMx8fTpzjerVSNQ1R3bUJYe1U/Wk+LCjASgFSiGlEEDItuzI0dCRqZqdtlVrt5Y8rbPwdfkKn8ylaZ1kJSUwrRNA+Gau2qJHR8/TuHnr1bh2NV0/qJPOP7i1qiVQDoGKjFJIKQQQshvf+EmjZqTptN4t1LL+L8fwtQzO2sm0TgCVzZSlm/TI5/M0eckmtaxXXTcd3Vln9W2pBI5LBiokSiGlEECIPpy2Wje+8ZOGHdtFNxzdOew4AFBm3F1fL9ygRz+fp2krt6hDo5q6+dguOqVnc8XFMZ0dqEh2VQr5KgcAomjNlkzd9d4MHdCmnq4d2DHsOABQpsxM/Ts31vvX9dPzFx+opIQ43fjGTzrpyYkaM3utYmHwAagKKIUAECXurlvfnqacPNfwwX2YUgWgyjIzHbd/M426sb/+cX4fZeXm68rXpuiMf36rrxdsoBwCFRyfUAAgSv4zaZkmLtigP5+8n9o3qhl2HACIurg40+l9WmrMkAF66OyeWr81U797cbIueGGSpi7bFHY8ACWgFAJAFCxav01/HzVHA7s21kWHtAk7DgCUq4T4OJ13UBuNvXWg7jm1uxau266zn/1Ol738vWau2hJ2PABFUAoBoIzl5OVr6IhUJSfG6+Gze3HtQAAxq1pCvC7t114Tbhuo20/oph+Xp+uUp77WH1+fqoXrMsKOByBAKQSAMvb0Vws1beUW/f3MnmpSJznsOAAQuhpJCbp2YEdNvH2Qbjy6s8bPW6/jHp+goSNTtXzjjrDjATGPUggAZSh1RbqeHrtQZx7QUif1bB52HACoUOokJ2rosV008fajdEX/DvpkepqOemyc/vzeDK3Zkhl2PCBmcZ1CACgjO7PzdPKTE5WZk6dPbx6gutUTw44EABXa2q2ZevqrhXrzh+WKM9PFh7bVtQM7qmGtamFHA6ocrlMIAOXggU/naPGG7Xr03N4UQgAohaZ1knXfGT301bCBOrV3C730zRINeHisHhs9T1t25oQdD4gZlEIAKAMT5q/Xa98t0x/6tdfhnRqFHQcAKpXWDWro0XN7a/SQIzWwWxM99dVC9X/oKz0zdqF2ZOeGHQ+o8pg+CgD7KH1Hto5/YoLqJCfqoxuOUHJifNiRAKBSm7V6i4aPnq8v565To1pJ+uPATrrwkDb8+wrsA6aPAkAU3fX+TG3clq3Hz+vDBxYAKAP7t6irFy89SO9ce7i6NK2tv348W4MeHac3vl+unLz8sOMBVQ6lEAD2wQepq/Tx9DQNObaLerSsG3YcAKhSDmxbX/+78lD974pD1Kxusu58d4aOGT5e7/+0Snn5VX+2G1BeKIUAsJfStuzU/70/U33b1NPVAzqEHQcAqqzDOzXSu9cerhcvSVGNpATdPCJVJ/5jgj6buUaxcCgUEG2UQgDYC/n5rlvfmq7cfNfwwX2UEM8/pwAQTWamo/drqk9uOEJPX3iAcvNd1/x3qk5/5huNn7+ecgjsAz7FAMBeeO27pfp64QbddXJ3tWtUM+w4ABAz4uJMp/RqodE3D9Aj5/TSpu3ZuuSl73Xec5P0/ZJNYccDKiVKIQDsoYXrMvTAp3N1VLcmuuDg1mHHAYCYlBAfp3NTWuurYQN13+n7a+nG7Rr83Hf6/Uvfa/rK9LDjAZUKpRAA9kBOXr6GjJimGknxevDsnjKzsCMBQExLSojTxYe10/hbB+lPJ3XTjJXpOu3pb3T1f6Zo/tqMsOMBlQKlEAD2wFNfLdSMVVv0wFk91aR2cthxAACB6knxumpAR024bZCGHNNF3y7cqOOfmKCb3/xJSzdsDzseUKFRCgGglH5avlnPjF2os/q21Ak9mocdBwBQjNrJibrpmM6acNsgXT2goz6btUZHDx+vO9+drtXpO8OOB1RIFgtnakpJSfEpU6aEHQNAJbYjO1cnP/m1snPz9enN/VUnOTHsSACAUliXkal/jl2k/01eLkm66NA2+uPATmpcu1rIyYDyZWZT3T2luHWMFAJAKfx91Bwt3bhdj57bm0IIAJVIk9rJuue0/fXVLUfqzANa6rXvlmnAw2P18GdztWVHTtjxgAqBUggAuzFu3jr9d9JyXd6vvQ7r2DDsOACAvdCqfg09dE4vjRkyQMd2b6pnxy/SEQ9/pae+XKBtWblhxwNCxfRRANiFzduzdfwTE1SvRqI+vP4IJSfGhx0JAFAG5q7ZqsdGz9eY2WvVoGaS/jiwo353aFv+nUeVxfRRANgL7q673p+pzTuy9fh5ffigAABVSLdmdfTC71P0/nX9tH+LOvrbJ3M08JFx+u+kZcrOzQ87HlCuKIUAUIIPUlfrkxlpGnJsF+3fom7YcQAAUdCndT395/JD9OZVh6pV/eq66/2ZOnr4OL0zdaXy8qv+jDpAohQCQLFWp+/U/30wUylt6+vqAR3DjgMAiLJDOzTUW9ccppcvO0h1khM17K1pOv6JCRo1I035lENUcZRCACgiP991y1vTlJfvemxwb8XHWdiRAADlwMw0qGsTfXT9EfrnRX0lSX98/Ued+vTXGjt3nWLhXByITZRCACjilW+X6ttFG/WXU7qrbcOaYccBAJSzuDjTST2b6/ObB2j44N7KyMzVZa/8oHP/9Z2+W7Qx7HhAmaMUAkAhC9Zm6MHP5uqY/ZrovINahx0HABCi+DjTWX1b6cthR+r+M3to5eaduuCFSfrdvycrdUV62PGAMkMpBIBAdm6+hoxMVa1qCXrgrF4yY9ooAEBKjI/TRYe01bhbB+quk/fT7LStOuOZb3TFq1M0J21r2PGAfRa1Umhmrc1srJnNNrNZZnZTsHyEmaUGv5aaWWpptw3W3WNmqwrt46RovQYAseWprxZo5qqt+vuZPdW4drWw4wAAKpjkxHhd0b+DJtw2SMOO7aLJSzbqpCcn6oY3ftLi9dvCjgfstYQo7jtX0jB3/9HMakuaamZj3P28ggeY2WOStuzBtrOD9Y+7+6NRzA4gxkxdtlnPjF2ocw5spRN6NAs7DgCgAqtVLUE3HN1Zvz+snZ6fuEgvf7NUo2ak6ey+LXXj0Z3Vqn6NsCMCeyRqI4XunubuPwa3MyTNkdSyYL1F5mUNlvTGnm4LAGVpR3auho1MVfO61XX3qd3DjgMAqCTq1kjUrcd30/hbB+n3h7XV+z+t1lGPjtfdH8zUuozMsOMBpVYuxxSaWTtJB0iaXGhxf0lr3X3BXmx7vZlNN7OXzKx+GccFEGPu/2SOlm3aoeGDe6t2cmLYcQAAlUzj2tV096n7a9ytA3X2gS3138nLNeDhsXrg0znavD077HjAbkW9FJpZLUnvSLrZ3QsfiXuBihklLMW2z0rqKKmPpDRJj5Ww7VVmNsXMpqxfv37fXgSAKmvs3HV6ffJyXdm/gw7p0DDsOACASqxFvep64Kxe+nLokTph/2Z6fsJiDXh4rJ74Yr4yMnPCjgeUyKJ5EU4zS5T0saTP3X14oeUJklZJOtDdV+7JtkUe007Sx+7eY1c5UlJSfMqUKXv3IgBUWZu2Z+v4JyaoYc0kfXB9P1VLiA87EgCgCpm3JkPDx8zT57PWqn6NRF1zZEf9/rB2qp7E/zcof2Y21d1TilsXzbOPmqQXJc0pptQdI2nuLgphiduaWfNCd8+UNLPsUgOIFe6uP783Q+k7sjV8cB8KIQCgzHVtVlvPXZyiD6/vp56t6umBT+fqyEfG6rXvlio7Nz/seMDPojl9tJ+kiyUdVczlI85XkamjZtbCzEaVYtuHzWyGmU2XNEjSkCi+BgBV1Hs/rdKnM9do6LFd1b1FnbDjAACqsF6t6um1PxyskVcfpnYNa+ovH8zSoEfHaeSUFcrNoxwifFGdPlpRMH0UQGGr0nfqhMcnqFvz2nrzqsMUH8dF6gEA5cPdNWHBBj02ep6mr9yiDo1rasgxXXRyz+aK4/8jRFEo00cBoCLKz3fdMnKa8t01fHAfCiEAoFyZmY7s0lgfXNdP//rdgUqIM93wxk86+amv9cXstYqFARtUPJRCADHlpW+W6LvFG3X3qfurdQMuLgwACIeZ6YQezfTpTQP0xHl9tCM7V1e8NkVnPfutvl24Iex4iDGUQgAxY/7aDD38+Twds19TnZvSKuw4AAAoPs50xgEt9cXQI/XAWT21ZkumLvz3ZF34wiRNXbY57HiIEZRCADEhOzdfN7+ZqtrVEvTg2T0VOckxAAAVQ2J8nC44uI3G3jJQfzmlu+avzdDZz36rP7zyg2at3hJ2PFRxlEIAMeEfX87X7LSteuCsnmpUq1rYcQAAKFZyYrz+cER7jb91kG49vqumLN2kk5/8Wte9/qMWrtsWdjxUUZRCAFXe1GWb9Oy4RRqc0krH7d8s7DgAAOxWzWoJum5QJ028/SjdcFQnjZu3Tsc9Pl7DRk7Tik07wo6HKoZLUgCo0rZn5erEf0xUvrs+vam/aicnhh0JAIA9tnFblp4dt0ivTVomd9f5B7XR9Ud1UtM6yWFHQyXBJSkAxKy/fTJHKzbv0PDBfSiEAIBKq2GtarrrlO6acOsgDU5prTe+X64BD4/V/Z/M1qbt2WHHQyVHKQRQZX05Z63e+H65rhrQQQe3bxB2HAAA9lmzusm6/8ye+mrYQJ3cq7le/HqJ+j/0lYaPma+tmTlhx0MlxfRRAFXSxm1ZOv6JiWpUK0kfXN9P1RLiw44EAECZW7guQ8PHzNeoGWtUt3qirjmyoy45vK1qJCWEHQ0VDNNHAcQUd9ef3puhrTtz9MT5fSiEAIAqq1OT2vrnRQfq4xuOUN829fTQZ3M14OFxeuWbJcrKzQs7HioJSiGAKuedH1fp81lrNey4LurWrE7YcQAAiLoeLevq5csO1tvXHKZOTWrqno9ma9Aj4/Tm98uVm5cfdjxUcJRCAFXKik07dM+Hs3Rw+wa6on+HsOMAAFCuUto10BtXHqr/Xn6IGtdJ1h3vztAxw8frg9RVys+v+oeNYe9QCgFUGfn5rlvemiZJeuzc3oqPs5ATAQBQ/sxMR3RupPf/eLhe+H2KkhPjddObqTrpyYkaPWuNYuGcItgzlEIAVcaLXy/R5CWb9JdTu6t1gxphxwEAIFRmpmO7N9WoG/vryQsOUFZuvq76z1Sd8cw3mjB/PeUQP6MUAqgS5q3J0COfz9Nx3Zvq3ANbhR0HAIAKIy7OdFrvFhozZIAePruXNmzL1u9f+l7nPT9JPyzdFHY8VACUQgCVXlZunm4ekao61RP0wFk9Zca0UQAAikqIj9Pgg1rrq1uO1L2n7a8lG7br3H99p0tf/l4zV20JOx5CRCkEUOk98cUCzUnbqgfP6qWGtaqFHQcAgAqtWkK8Ljm8nSbcOkh3nNhNqSvSdcpTX+va/07VgrUZYcdDCCiFACq1H5Zu0r/GL9L5B7XWMd2bhh0HAIBKo3pSvK45sqMm3DZINx3dWRMXbNBxT0zQ0BGpWrZxe9jxUI4sFg4wTUlJ8SlTpoQdA0AZ25aVqxP/MUGS9OlNA1SrWkLIiQAAqLw2bc/Wc+MX6dXvlio3zzX4oNa64ahOal63etjRUAbMbKq7pxS3jpFCAJXW3z6erVWbd+rxwX0ohAAA7KMGNZN050n7acKtg3ThIW301pQVOvKRcbrv49nasC0r7HiIIkohgEppzOy1evOHFbr6yI5Kadcg7DgAAFQZTeok66+n99BXwwbq9N4t9PI3SzTg4bF69PN52rIzJ+x4iAKmjwKodDZuy9LxT0xQ49rJ+uC6fkpK4PstAACiZdH6bXp8zHx9PD1NdZITdPWRHXXp4e1Uk1k6lQrTRwFUGe6uO9+doa07c/XEeX0ohAAARFnHxrX09IV9NerG/jq4fQM98vk8DXh4rF78eokyc/LCjocywKcpAJXKW1NXavTstbr1+K7q2qx22HEAAIgZ3VvU0b8vOUjv/vFwdWteW/d9PFuDHh2n/01erpy8/LDjYR9QCgFUGis27dBfP5qtQzs00OVHtA87DgAAMalvm/p6/YpD9b8rD1Hzusn603szdMzw8Xrvp5XKy6/6h6ZVRZRCAJVCXr5r2MhpMkmPnttbcXEWdiQAAGLa4R0b6Z1rD9dLl6aoZlKChoyYphOemKDPZqYpFs5bUpVQCgFUCv+euFjfL92ku0/bX63q1wg7DgAAkGRmOqpbU318wxF65sK+ynfXNf/9Uac9/Y3GzVtHOawkKIUAKrw5aVv12Oj5OmH/Zjq7b8uw4wAAgCLi4kwn92quz28eoEfO6aXNO7J16cs/aPBz32ny4o1hx8NuUAoBVGhZuXkaMiJVdaon6u9n9ZQZ00YBAKioEuLjdG5Ka301bKDuO6OHlm3cofOen6SLX5ysaSvSw46HElAKAVRow8fM19w1GXr4nJ5qUDMp7DgAAKAUkhLidPGhbTXhtkH680n7aeaqLTr9mW901WtTNG9NRtjxUASlEECF9f2STXp+wmJdcHAbHdWtadhxAADAHkpOjNeVAzpo4u1HaeixXfTdoo064R8TdNObP2nphu1hx0PAYuHgz5SUFJ8yZUrYMQDsgYzMHJ34j4mKjzONurG/alZLCDsSAADYR+k7svXchMV65Zulys7L17kHttINR3dWy3rVw45W5ZnZVHdPKW4dI4UAKqT7Pp6t1ek7NXxwbwohAABVRL0aSbr9hG4af9tAXXxoW7374yoNemSc7vlwltZnZIUdL2ZRCgFUOKNnrdHIKSt17cCOOrBtg7DjAACAMtakdrLuOW1/jb11oM7q21L/mbRMAx4eq4c+m6v0Hdlhx4s5TB8FUKFs2Jal4x+foGZ1k/XeH/spKYHvrgAAqOqWbNiux8fM10fTV6tWUoKuHNBBfziivWoxW6jMMH0UQKXg7rrjnRnKyMrV4+f1oRACABAj2jeqqScvOECf3tRfh3VsqOFj5mvAw2P1woTFyszJCztelccnLgAVxsgpK/TFnLW67fiu6tK0dthxAABAOevWrI6e/32K3r+un/ZvUUf3j5qjIx8Zq/9MWqbs3Pyw41VZlEIAFcLyjTv0149m67AODfWHfu3DjgMAAELUp3U9/efyQ/TmVYeqdf0a+r/3Z+ro4eP09tSVysuv+oe/lTdKIYDQ5eW7hr2VqjgzPTq4t+LiLOxIAACgAji0Q0O9dc1hevmyg1S3eqJueWuajnt8vD6ZnqZ8ymGZoRQCCN3zExbrh6Wbde/p+3OdIgAA8CtmpkFdm+ij64/Qsxf1VZyZrvvfjzrlqa/11dy1ioUTZ0YbpRBAqGav3qrhY+bppJ7NdOYBLcOOAwAAKigz04k9m+uzmwdo+ODe2paVqz+8MkVnP/utvl20Iex4lRqlEEBoMnPyNGREqurVSNL9Z/SUGdNGAQDArsXHmc7q20pfDjtS95/ZQ6vTM3XhC5N10b8n6aflm8OOVylRCgGEZviY+Zq3NkMPn9NL9WsmhR0HAABUIonxcbrokLYad+tA3XXyfpqblqEz//mtrnj1B81evTXseJUKpRBAKCYt3qgXJi7WRYe00aCuTcKOAwAAKqnkxHhd0b+DJtw2SLcc10WTl2zSSU9O1PX/+1GL1m8LO16lYLFwYGZKSopPmTIl7BgAAhmZOTrhiYlKjDeNuqm/aiQlhB0JAABUEVt25Oj5iYv08jdLlZmTp7P7ttJNx3RWq/o1wo4WKjOb6u4pxa1jpBBAubv3o9lK27JTw8/rQyEEAABlqm6NRN16fDdNuG2QLj28vT6YtlqDHh2nv3wwU+u2ZoYdr0KiFAIoV5/NXKO3p67UdYM6qW+b+mHHAQAAVVSjWtX0l1O7a/ytA3XOga31v8nLNeCRsXpg1Bxt3p4ddrwKhemjAMrNuoxMnfDERLWol6z3/thPifF8LwUAAMrHso3b9cQXC/R+6irVTErQ5Ue01xX926t2cmLY0coF00cBhM7ddec7M7Q9K1ePD+5DIQQAAOWqbcOaevy8Pvr85gE6olMj/ePLBer/8Fj9a/wi7czOCzteqPhUBqBcvPnDCn05d51uP6GbOjetHXYcAAAQo7o0ra1/XXygPrr+CPVuVU8PfjpXAx4Zq1e/Xaqs3Ngsh5RCAFG3bON23ffxbPXr1FCXHt4u7DgAAADq2aquXv3DwXrrmsPUvlFN3f3hLB316HiN/GGFcvPyw45XriiFAKIqL981dOQ0xceZHjmnt+LiLOxIAAAAPzuoXQONuOpQvfaHg9WwVpJue2e6jnt8gj6ctlr5+VX//CsSpRBAlP1r/CJNXbZZ953eQy3qVQ87DgAAwG+YmQZ0aawPruun5y4+UInxcbrxjZ900pMTNWb2WlX1k3NSCgFEzazVW/TEF/N1cq/mOr1Pi7DjAAAA7JKZ6fj9m2nUTf31j/P7KDMnT1e+NkVn/vNbfb1gQ5Uth5RCAFGRmZOnISNSVb9Gku4/o4fMmDYKAAAqh/g40+l9WmrM0CP14Fk9tW5rpn734mRd8MIkTV22Kex4ZY5SCCAqHv18nuav3aaHz+mlejWSwo4DAACwxxLj43T+wW301S0Ddfep3bVw3Tad/ex3uuzl7zVz1Zaw45WZqJVCM2ttZmPNbLaZzTKzm4LlI8wsNfi11MxSS7ttsK6BmY0xswXB7/Wj9RoA7J1vF23Qi98s0cWHttXArk3CjgMAALBPkhPjdVm/9ppw2yDddkJX/bg8Xac89bX++PpULVyXEXa8fWbRmhdrZs0lNXf3H82stqSpks5w99mFHvOYpC3u/tfSbmtmD0va5O4Pmtkdkuq7++27ypKSkuJTpkwp41cIoDhbM3N0wuMTVC0xXp/ceIRqJCWEHQkAAKBMbdmZoxcnLtaLXy/Rzpw8nXFAS918dBe1aVgj7GglMrOp7p5S3LqojRS6e5q7/xjczpA0R1LLQqFM0mBJb+zhtqdLejW4/aqkM6L0EgDshXs+nKW1GVkaPrg3hRAAAFRJdasnauhxXTXhtkG6/Ij2+mR6mo56bJz+/N4MrdmSGXa8PVYuxxSaWTtJB0iaXGhxf0lr3X3BHm7b1N3TgttrJDUtYburzGyKmU1Zv379PqQHUFqfzkjTuz+u0nWDOumANszsBgAAVVvDWtX055O7a/ytg3T+wa014ocV+tN7M8KOtceiNn305ycwqyVpvKT73f3dQsuflbTQ3R/bk23NLN3d6xV6zGZ33+WnT6aPAtG3bmumjn9iglo3qKF3rj1cifGcxwoAAMSWFZt2KCs3X52a1Ao7ym/savpoVOd2mVmipHckvV6kECZIOkvSgXu6raS1Ztbc3dOCYw/XRSc9gNJyd93+znTtyM7T8MF9KIQAACAmtW5QcY8p3JVonn3UJL0oaY67Dy+y+hhJc9195V5s+6GkS4Lbl0j6oOxSA9gb//t+ucbOW687T+xWIb8ZAwAAQMmi+XV+P0kXSzqq0CUoTgrWna8iJ5gxsxZmNqoU2z4o6VgzW6BIuXwwiq8BwG4s3bBdf/t4jo7o1Ei/P6xd2HEAAACwh6I2fdTdv5ZkJay7tJhlqyWdVIptN0o6usyCAthruXn5GjoyVYnxpkfO7aW4uGL/2gIAAKAC43zxAPbav8Yv0o/L0/WP8/uoed3qYccBAADAXuBsEAD2ysxVW/TEFwt0au8WOr1Py91vAAAAgAqJUghgj2Xm5GnIiFQ1rJWk+07fP+w4AAAA2AdMHwWwxx7+bJ4WrNum1/5wsOrVSAo7DgAAAPYBI4UA9sg3CzfopW+W6JLD2mpAl8ZhxwEAAMA+ohQCKLUtO3N0y1vT1KFxTd1x4n5hxwEAAEAZYPoogFK758NZWpeRpXevPVzVk+LDjgMAAIAywEghgFL5ZHqa3vtplW44qpN6t64XdhwAAACUEUohgN1atzVTf35/hnq3qqvrBnUKOw4AAADKEKUQwC65u257Z7oyc/I0/Lw+Soznnw0AAICqhE93AHbp9cnLNW7eev3ppP3UsXGtsOMAAACgjFEKAZRoyYbtuv+TOerfuZEuPrRt2HEAAAAQBZRCAMXKzcvXkBGpSkqI0yPn9JaZhR0JAAAAUcAlKQAU65/jFil1RbqeuuAANaubHHYcAAAARAkjhQB+Y8bKLXryywU6rXcLndq7RdhxAAAAEEWUQgC/kpmTp5tH/KRGtarpvtN7hB0HAAAAUcb0UQC/8uCnc7Vo/Xb99/JDVLdGYthxAAAAEGWMFAL42dcLNuiVb5fq0sPb6YjOjcKOAwAAgHJAKQQgSdqyI0e3vj1NHRvX1B0ndgs7DgAAAMoJ00cBSJL+8uFMrc/I0rt/PFzJifFhxwEAAEA5YaQQgD6atlofpK7WjUd3Vq9W9cKOAwAAgHJEKQRi3Jotmbrr/Znq07qe/jiwY9hxAAAAUM4ohUAMc3fd9s50ZeXmafjg3kqI558EAACAWMMnQCCG/XfSMk2Yv15/Prm7OjSuFXYcAAAAhIBSCMSoReu36f5Rc3Rkl8b63SFtwo4DAACAkFAKgRiUm5evoSOnKTkxXg+f00tmFnYkAAAAhIRLUgAx6JmxizRtRbqeubCvmtZJDjsOAAAAQsRIIRBjpq1I15NfLdAZfVro5F7Nw44DAACAkO1RKTSz+mbWK1phAETXzuw8DRmZqia1q+ne03uEHQcAAAAVwG5LoZmNM7M6ZtZA0o+SXjCz4dGPBqCsPfjpHC1ev12Pnttbdasnhh0HAAAAFUBpRgrruvtWSWdJes3dD5F0THRjAShrExes16vfLdNl/dqpX6dGYccBAABABVGaUphgZs0lDZb0cZTzAIiC9B3ZuuWtaerUpJZuP6Fb2HEAAABQgZSmFP5V0ueSFrn7D2bWQdKC6MYCUJb+74NZ2rgtW0+c10fJifFhxwEAAEAFsttLUrj7W5LeKnR/saSzoxkKQNn5cNpqfTRttW45rot6tKwbdhwAAABUMKU50UwXM/vSzGYG93uZ2V3RjwZgX63Zkqm73puhA9rU0zVHdgw7DgAAACqg0kwffUHSnZJyJMndp0s6P5qhAOy7/HzXrW9PU06e6/HBfZQQz2VJAQAA8Ful+ZRYw92/L7IsNxphAJSd/0xapokLNuiuU/ZTu0Y1w44DAACACqo0pXCDmXWU5JJkZudISotqKgD7ZOG6bfr7qDka1LWxLjy4TdhxAAAAUIHt9kQzkq6T9Lykbma2StISSb+LaioAey0nL19DR6aqRlK8Hjq7l8ws7EgAAACowEpz9tHFko4xs5qS4tw9I/qxAOytp79aqOkrt+jZi/qqSZ3ksOMAAACggtttKTSzoUXuS9IWSVPdPTU6sQDsjdQV6Xp67EKddUBLndizedhxAAAAUAmU5pjCFEnXSGoZ/Lpa0gmSXjCz26KYDcAe2Jmdp6EjUtWsTrLuOX3/sOMAAACgkijNMYWtJPV1922SZGZ3S/pE0gBJUyU9HL14AErrgU/naPGG7frflYeoTnJi2HEAAABQSZRmpLCJpKxC93MkNXX3nUWWAwjJ+Pnr9dp3y3T5Ee11eMdGYccBAABAJVKakcLXJU02sw+C+6dK+l9w4pnZUUsGoFQ2b8/WrW9NU+cmtXTr8V3DjgMAAIBKpjRnH73PzD6V1C9YdI27TwluXxS1ZAB2y9111wcztXlHtl669CAlJ8aHHQkAAACVTGmmj8rdp7j7PyT9W9J+ZvZJdGMBKI0Pp63WJ9PTdPMxXdSjZd2w4wAAAKAS2m0pNLMkMzvTzN6SlCbpKEn/inoyALu0On2n/u/9mTqwbX1dc2THsOMAAACgkipx+qiZHSfpAknHSRor6TVJB7n7ZeWUDUAJ8vNdt749Tbn5ruGDeys+zsKOBAAAgEpqVyOFn0nqIOkId/+du38kKb98YgHYlVe/W6pvFm7U/53SXW0b1gw7DgAAACqxXZ1opq+k8yV9YWaLJb0pibNYACFbuC5DD346V0d3a6LzD2oddhwAAABUciWOFLp7qrvf4e4dJd0tqY+kRDP71MyuKq+AAH6Rk5evISOmqUZSvB44u6fMmDYKAACAfVPas49+6+43SGol6XFJh0Y1FYBiPfXlAs1YtUUPnNVTTWonhx0HAAAAVUBpLl7/M3fPlzQ6+AWgHP24fLOeHrtQZ/dtpRN6NA87DgAAAKqIUo0UAgjXjuxcDR2RquZ1q+vu07qHHQcAAABVSIml0Mzal2cQACX7+6g5WrZphx4b3Ft1khPDjgMAAIAqZFcjhW9Lkpl9WU5ZABRj7Lx1+u+k5briiPY6tEPDsOMAAACgitnVMYVxZvYnSV3MbGjRle4+fFc7NrPWilzwvqkkl/S8u//DzEZI6ho8rJ6kdHfvU8z2L0k6RdI6d+9RaPk9kq6UtD5Y9Cd3H7WrLEBltXl7tm57e7q6Nq2tYcd13f0GAAAAwB7aVSk8X9IZwWNq78W+cyUNc/cfzay2pKlmNsbdzyt4gJk9JmlLCdu/IulpRYplUY+7+6N7kQmoNNxdf35/htJ3ZOvVyw5WciKXCQUAAEDZK7EUuvs8SQ+Z2XR3/3RPd+zuaZLSgtsZZjZHUktJsyXJIhdYGyzpqBK2n2Bm7fb0eYGq4v3UVRo1Y41uO6GrureoE3YcAAAAVFGlOfvot2Y23MymBL8eM7O6e/IkQbk7QNLkQov7S1rr7gv2ZF+B681supm9ZGb1S3jOqwoyr1+/vriHABXWqvSd+ssHs5TStr6uHtAx7DgAAACowkpTCl+SlKHIqN5gSVslvVzaJzCzWpLekXSzu28ttOoCSW+UPurPnpXUUVIfRUYiHyvuQe7+vLunuHtK48aN9+JpgHDk57tuGTlN+fmu4YP7KD7Owo4EAACAKqw0F6/v6O5nF7p/r5mllmbnZpaoSCF83d3fLbQ8QdJZkg7cg6ySJHdfW2g/L0j6eE/3AVRkL3+7VN8t3qiHzu6pNg1rhB0HAAAAVVxpRgp3mtkRBXfMrJ+knbvbKDhm8EVJc4o5U+kxkua6+8o9CRvst3mhu2dKmrmn+wAqqgVrM/TQZ3N1zH5NNDilddhxAAAAEANKUwqvkfSMmS01s6WKnBH06lJs10/SxZKOMrPU4NdJwbrzVWTqqJm1MLNRhe6/Iek7SV3NbKWZXR6setjMZpjZdEmDJA0pRRagwsvOzdfNI1JVu1qCHjirlyLfqwAAAADRtdvpo+4+TVJvM6sT3N+6m00KtvtaUrGfat390mKWrZZ0UqH7F5Sw7cWleX6gsnnyywWatXqrnrv4QDWuXS3sOAAAAIgRpTmmUFLpyyCAPTd12Sb9c9xCnXtgKx2/f7Ow4wAAACCGlGb6KIAo2p6Vq6Ejp6lFver6y6ndw44DAACAGFPqkUIA0XH/qDlavmmH3rzyUNVOTgw7DgAAAGJMqUqhmR0uqV3hx7v7a1HKBMSMr+au1f8mL9fVAzrokA4Nw44DAACAGLTbUmhm/1HkYvGpkvKCxS6JUgjsg03bs3Xb2zPUrVltDT2uS9hxAAAAEKNKM1KYIqm7u3u0wwCxwt31p3dnaOvOHP3n8oNVLSE+7EgAAACIUaU50cxMSZwOEShD7/64Sp/NWqOhx3XRfs3rhB0HAAAAMaw0I4WNJM02s+8lZRUsdPfTopYKqMJWbt6hez6cpYPbNdCV/TuEHQcAAAAxrjSl8J5ohwBiRX6+65a3pinfXY8N7q34OAs7EgAAAGLcbkuhu48vjyBALHjpmyWatHiTHj67l1o3qBF2HAAAAGD3xxSa2aFm9oOZbTOzbDPLM7Ot5REOqErmrcnQw5/P07Hdm+rclFZhxwEAAAAkle5EM09LukDSAknVJV0h6ZlohgKqmuzcfN08IlV1khP0wFk9Zca0UQAAAFQMpSmFcveFkuLdPc/dX5Z0QnRjAVXLE1/M15y0rXrgrF5qVKta2HEAAACAn5XmRDM7zCxJUqqZPSwpTaUskwCkKUs36V/jF+m8lNY6tnvTsOMAAAAAv1Kacndx8LjrJW2X1FrS2dEMBVQV27JyNXTkNLWsX13/d2r3sOMAAAAAv1Gas48uM7Pqkpq7+73lkAmoMu7/ZLZWbN6hkVcfplrVSjMwDwAAAJSv0px99FRJqZI+C+73MbMPo5wLqPS+mL1Wb3y/QlcP6KiD2jUIOw4AAABQrNJMH71H0sGS0iXJ3VMltY9aIqAK2LgtS3e8O137Na+jIcd2DjsOAAAAUKLSzGfLcfctRU6h71HKA1R67q47352hrTtz9foVfVQtIT7sSAAAAECJSjNSOMvMLpQUb2adzewpSd9GORdQab09daVGz16rW47voq7NaocdBwAAANil0pTCGyTtLylL0huStkq6OYqZgEprxaYduvej2TqkfQNdfkSHsOMAAAAAu1Was4/ukPTn4BeAEuTlu4a9NU2S9Njg3oqPs91sAQAAAISvxFK4uzOMuvtpZR8HqLxe/Hqxvl+ySY+c00ut6tcIOw4AAABQKrsaKTxM0gpFpoxOlsSwB1CCuWu26tHP5+v4/ZvqnANbhR0HAAAAKLVdlcJmko6VdIGkCyV9IukNd59VHsGAyiIrN083v5mqOtUT9fcze6rImXoBAACACq3EE824e567f+bul0g6VNJCSePM7PpySwdUAo+PWaC5azL00Nk91bBWtbDjAAAAAHtklyeaMbNqkk5WZLSwnaQnJb0X/VhA5fDD0k16bsIiXXBwax29X9Ow4wAAAAB7bFcnmnlNUg9JoyTd6+4zyy0VUAlsy8rV0JGpal2/hu46uXvYcQAAAIC9squRwt9J2i7pJkk3FjpOyiS5u9eJcjagQrvvo9latXmnRl59mGpW2+3VXQAAAIAKqcRPsu5emgvbAzFpzOy1GjFlhf44sKNS2jUIOw4AAACw1yh+wB7asC1Ld7wzXd2b19HNx3QJOw4AAACwT5jzBuwBd9ed785QRlau/ndeHyUl8L0KAAAAKjc+0QJ74K0pKzVm9lrddnxXdW1WO+w4AAAAwD6jFAKltGLTDt370Swd1qGh/tCvfdhxAAAAgDJBKQRKIS/fNWzkNMWZ6dHBvRUXZ7vfCAAAAKgEOKYQKIUXJi7W90s36bFze6tlvephxwEAAADKDCOFwG7MXr1Vj42epxN7NNNZfVuGHQcAAAAoU5RCYBeycvM0dGSq6lZP0v1n9pQZ00YBAABQtTB9FNiF4aPna+6aDL10aYoa1EwKOw4AAABQ5hgpBEowefFGPT9xsS48pI2O6tY07DgAAABAVFAKgWJkZOZo6MhpatOghv580n5hxwEAAACihumjQDH++tFspW3ZqbeuOVw1q/HXBAAAAFUXI4VAEZ/PWqO3pq7UHwd20oFt64cdBwAAAIgqSiFQyPqMLN357gzt36KObjy6c9hxAAAAgKijFAIBd9ed707XtqxcPXFeHyUl8NcDAAAAVR+feoHAiB9W6Is563T7Cd3UuWntsOMAAAAA5YJSCEhavnGH7vt4tg7v2FCXHd4u7DgAAABAuaEUIubl5buGjkxVXJzpkXN7Ky7Owo4EAAAAlBvOtY+Y99yERZqybLMeP6+3WtarHnYcAAAAoFwxUoiYNmv1Fj0+Zr5O7tlcZ/RpGXYcAAAAoNxRChGzMnPyNHTENNWvkaS/ndFDZkwbBQAAQOxh+ihi1mOj52ne2gy9fNlBql8zKew4AAAAQCgYKURM+m7RRv376yX63aFtNKhrk7DjAAAAAKGhFCLmbM3M0S1vTVO7hjX1p5P2CzsOAAAAECqmjyLm3PvhbKVt2am3rz1cNZL4KwAAAIDYxkghYspnM9P0zo8rdf2gTurbpn7YcQAAAIDQUQoRM9ZlZOrOd2eoZ8u6uuHozmHHAQAAACqEqJVCM2ttZmPNbLaZzTKzm4LlI8wsNfi11MxSS9j+JTNbZ2YziyxvYGZjzGxB8DvDPdgtd9cd78zQjuw8PX5ebyXG830IAAAAIEV3pDBX0jB37y7pUEnXmVl3dz/P3fu4ex9J70h6t4TtX5F0QjHL75D0pbt3lvRlcB/YpTd/WKGv5q7THSd2U6cmtcOOAwAAAFQYUSuF7p7m7j8GtzMkzZHUsmC9Ra4UPljSGyVsP0HSpmJWnS7p1eD2q5LOKLvUqIqWbdyu+z6erX6dGuqSw9qFHQcAAACoUMplDp2ZtZN0gKTJhRb3l7TW3Rfs4e6auntacHuNpKYlPOdVZjbFzKasX79+TyOjisjNy9eQEalKiDM9em5vxcVZ2JEAAACACiXqpdDMaikyTfRmd99aaNUFKmGUsLTc3SV5Ceued/cUd09p3LjxvjwNKrHnJizWj8vTdd8ZPdS8bvWw4wAAAAAVTlQv0mZmiYoUwtfd/d1CyxMknSXpwL3Y7Voza+7uaWbWXNK6skmLqmbmqi16fMx8ndKruU7r3SLsOAAAAECFFM2zj5qkFyXNcffhRVYfI2muu6/ci11/KOmS4PYlkj7Y+5SoqjJz8jRkRKoa1krS387oocgfRwAAAABFRXP6aD9JF0s6qtAlKE4K1p2vIlNHzayFmY0qdP8NSd9J6mpmK83s8mDVg5KONbMFipTLB6P4GlBJPfL5PC1Yt00Pn9Nb9WokhR0HAAAAqLCiNn3U3b+WVOzwjLtfWsyy1ZJOKnT/ghK23Sjp6LJJiaro20Ub9OLXS/T7w9rqyC4cTwoAAADsClfwRpWyNTNHt4ycpg6NaurOE/cLOw4AAABQ4UX1RDNAebvng1lam5Gld649XNWT4sOOAwAAAFR4jBSiyhg1I03v/rRK1w/qpD6t64UdBwAAAKgUKIWoEtZtzdSf3puhXq3q6vqjOoUdBwAAAKg0KIWo9Nxdt70zXZk5eXr8vD5KjOePNQAAAFBafHpGpfe/75dr3Lz1uvPE/dSxca2w4wAAAACVCqUQldqSDdv1t4/nqH/nRrr40LZhxwEAAAAqHUohKq3cvHwNHZmqpIQ4PXJOb8XFFXtZTAAAAAC7wCUpUGn9a/wi/bQ8XU9ecICa1U0OOw4AAABQKTFSiEppxsoteuKLBTq1dwud1rtF2HEAAACASotSiEonMydPQ0amqlGtarrv9P3DjgMAAABUakwfRaXz0GdztXDdNv3n8oNVr0ZS2HEAAACASo2RQlQq3yzcoJe/WapLD2+n/p0bhx0HAAAAqPQohag0tuzM0S1vTVOHxjV1+wndwo4DAAAAVAlMH0WlcfcHM7UuI0vvXnu4qifFhx0HAAAAqBIYKUSl8Mn0NL2fulo3HtVZvVvXCzsOAAAAUGVQClHhrd2aqT+/P0O9W9fTdYM6hh0HAAAAqFIohajQ3F23vj1dmTl5enxwbyXE80cWAAAAKEt8wkaF9t/JyzVh/nr9+aT91KFxrbDjAAAAAFUOpRAV1uL123T/J7M1oEtj/e7QtmHHAQAAAKokSiEqpNy8fA0ZOU3VEuL1yDm9ZGZhRwIAAACqJC5JgQrpn+MWadqKdD194QFqWic57DgAAABAlcVIISqc6SvT9Y8vF+j0Pi10Sq8WYccBAAAAqjRKISqUndl5GjIiVU1qV9NfT+sRdhwAAACgymP6KCqUhz6bq0Xrt+v1Kw5R3RqJYccBAAAAqjxGClFhTFywXq98u1SXHt5O/To1CjsOAAAAEBMohagQtuzI0a1vTVfHxjV1x4ndwo4DAAAAxAxKISqE//tgpjZsy9IT5x2g5MT4sOMAAAAAMYNSiNB9NG21Ppy2Wjcd3Vk9W9UNOw4AAAAQUyiFCNWaLZm66/2ZOqBNPV07sGPYcQAAAICYQylEaNxdt749Tdm5+Ro+uI8S4vnjCAAAAJQ3PoUjNP+ZtEwTF2zQn0/eT+0b1Qw7DgAAABCTKIUIxaL12/T3UXM0sGtjXXRIm7DjAAAAADGLUohyl5OXr6EjUpWcGK+Hz+4lMws7EgAAABCzEsIOgNjzzNiFmrZyi/55UV81qZMcdhwAAAAgpjFSiHKVuiJdT321UGce0FIn9WwedhwAAAAg5lEKUW52Zudp6IhUNa1dTfectn/YcQAAAACI6aMoRw9+OkeLN2zX/644RHWrJ4YdBwAAAIAYKUQ5mTB/vV79bpn+0K+9Du/UKOw4AAAAAAKUQkRd+o5s3fr2NHVuUku3ndA17DgAAAAACmH6KKLurvdnauO2bL14yUFKTowPOw4AAACAQhgpRFR9kLpKH09P05Bju6hHy7phxwEAAABQBKUQUZO2Zaf+7/2Z6tumnq4e0CHsOAAAAACKQSlEVOTnu259a7py813DB/dRQjx/1AAAAICKiE/qiIrXvluqrxdu0F0nd1e7RjXDjgMAAACgBJRClLmF67bpgU/n6qhuTXTBwa3DjgMAAABgFyiFKFM5efkaMiJVNZLi9eDZPWVmYUcCAAAAsAtckgJl6qmvFmrGqi361+/6qknt5LDjAAAAANgNRgpRZn5avlnPjF2os/q21Ak9mocdBwAAAEApUApRJnZk52royGlqVidZ95y2f9hxAAAAAJQS00dRJh4YNVdLN27X/644VHWSE8OOAwAAAKCUGCnEPhs3b53+M2mZLu/XXod1bBh2HAAAAAB7gFKIfbJ5e7Zue3u6ujStpVuO7xp2HAAAAAB7iOmj2Gvurrven6nNO7L18mUHKTkxPuxIAAAAAPYQI4XYax+krtYnM9J08zFdtH+LumHHAQAAALAXKIXYK6vTd+r/PpipA9vW1zVHdgw7DgAAAIC9FLVSaGatzWysmc02s1lmdlOwfISZpQa/lppZagnbn2Bm88xsoZndUWj5K2a2pNA++kTrNaB4+fmuW96aprx81/DBvRUfZ2FHAgAAALCXonlMYa6kYe7+o5nVljTVzMa4+3kFDzCzxyRtKbqhmcVLekbSsZJWSvrBzD5099nBQ25197ejmB278Mq3S/Xtoo168KyeatuwZthxAAAAAOyDqI0Uunuau/8Y3M6QNEdSy4L1ZmaSBkt6o5jND5a00N0Xu3u2pDclnR6trCi9BWsz9NBnc3XMfk103kGtw44DAAAAYB+VyzGFZtZO0gGSJhda3F/SWndfUMwmLSWtKHR/pQoVSkn3m9l0M3vczKqVdV4ULzs3X0NGpqpmtQQ9cFYvRXo9AAAAgMos6qXQzGpJekfSze6+tdCqC1T8KOHu3Cmpm6SDJDWQdHsJz3uVmU0xsynr16/fi6dBUU99tUAzV23V38/sqca16eIAAABAVRDVUmhmiYoUwtfd/d1CyxMknSVpRAmbrpJUeG5iq2BZwbRUd/csSS8rMtX0N9z9eXdPcfeUxo0b7/uLiXE/Lt+sZ8Yu1DkHttIJPZqFHQcAAABAGYnm2UdN0ouS5rj78CKrj5E0191XlrD5D5I6m1l7M0uSdL6kD4P9Ni+0/zMkzYxCfBSyIztXQ0ekqnnd6rr71O5hxwEAAABQhqI5UthP0sWSjip0+YiTgnXnq8jUUTNrYWajJMndcyVdL+lzRU5QM9LdZwUPfd3MZkiaIamRpL9F8TVA0v2fzNGyTTv02ODeqp2cGHYcAAAAAGUoapekcPevJRV7JhJ3v7SYZaslnVTo/ihJo4p53FFllxK7M3buOr0+ebmuGtBBh3ZoGHYcAAAAAGWsXM4+ispp0/Zs3fbOdHVrVlvDjusSdhwAAAAAURDNi9ejEnN3/fm9GUrfka1XLztY1RLiw44EAAAAIAoYKUSx3vtplT6duUZDj+2q7i3qhB0HAAAAQJRQCvEbq9J36u4PZumgdvV11YAOYccBAAAAEEWUQvxKfr7rlpHTlO+u4YP7KD6u2HMFAQAAAKgiKIX4lZe+WaLvFm/UX07trtYNaoQdBwAAAECUUQrxs/lrM/Tw5/N0zH5NNTilddhxAAAAAJQDSiEkSdm5+br5zVTVrpagB8/uKTOmjQIAAACxgEtSQJL0jy/na3baVj1/8YFqVKta2HEAAAAAlBNGCqGpyzbp2XGLNDillY7bv1nYcQAAAACUI0phjNuelashI6apRb3q+r9TuocdBwAAAEA5Y/pojPvbJ3O0YvMOjbjqMNVOTgw7DgAAAIByxkhhDPtyzlq98f1yXTWggw5u3yDsOAAAAABCQCmMURu3Zen2d2aoW7PaGnpsl7DjAAAAAAgJ00djkLvrT+/N0NadOfrvFQerWkJ82JEAAAAAhISRwhj0zo+r9PmstRp2XBd1a1Yn7DgAAAAAQkQpjDErN+/QPR/O0sHtG+iK/h3CjgMAAAAgZJTCGJKf7xo2cpok6bFzeys+zkJOBAAAACBslMIY8uLXSzR5ySb95dTuat2gRthxAAAAAFQAlMIYMW9Nhh75fJ6O695U5x7YKuw4AAAAACoISmEMyMrN080jUlWneoIeOKunzJg2CgAAACCCS1LEgCe+WKA5aVv179+nqGGtamHHAQAAAFCBMFJYxf2wdJOeG79I5x/UWsd0bxp2HAAAAAAVDKWwCtuWlauhI1PVsn513XVK97DjAAAAAKiAmD5ahf3t49latXmnRl59mGpV460GAAAA8FuMFFZRX8xeqzd/WKGrj+yolHYNwo4DAAAAoIKiFFZBG7dl6Y53p2u/5nU05JguYccBAAAAUIExp7CKcXfd+e4Mbd2Zq9ev6KOkBHo/AAAAgJLRGKqYt6au1OjZa3Xr8V3VtVntsOMAAAAAqOAohVXIik079NePZuvQDg10+RHtw44DAAAAoBKgFFYRefmuYSOnySQ9em5vxcVZ2JEAAAAAVAKUwiri3xMX6/ulm3T3afurVf0aYccBAAAAUElQCquAOWlb9djo+Tph/2Y6u2/LsOMAAAAAqEQohZVcVm6ehoxIVZ3qifr7WT1lxrRRAAAAAKXHJSkqueFj5mvumgy9dGmKGtRMCjsOAAAAgEqGkcJK7Pslm/T8hMW64OA2Oqpb07DjAAAAAKiEKIWVVEZmjoaOTFWbBjV018n7hR0HAAAAQCXF9NFK6r6PZ2t1+k69dc1hqlmNtxEAAADA3mGksBIaPWuNRk5ZqWsHdtSBbRuEHQcAAABAJUYprGQ2bMvSne/O0P4t6uimo7uEHQcAAABAJce8w0rE3XXHOzOUkZWrN87ro6QEOj0AAACAfUOrqETemrJSX8xZq9uO76ouTWuHHQcAAABAFUAprCSWb9yhez+apcM6NNQf+rUPOw4AAACAKoJSWAnk5buGvZWqODM9Ori34uIs7EgAAAAAqgiOKawEnp+wWD8s3azhg3urZb3qYccBAAAAUIUwUljBzV69VcPHzNNJPZvpzANahh0HAAAAQBVDKazAMnPyNHRkqurVSNL9Z/SUGdNGAQAAAJQtpo9WYMPHzNfcNRl6+bKDVL9mUthxAAAAAFRBjBRWUJMWb9QLExfrokPaaFDXJmHHAQAAAFBFUQoroIzMHA0bOU1tG9TQn0/eL+w4AAAAAKowpo9WQPd+NFtpW3bq7WsPV40k3iIAAAAA0cNIYQXz2cw1envqSl03qJP6tqkfdhwAAAAAVRylsAJZl5GpP703Qz1a1tGNR3cOOw4AAACAGEAprCDcXXe+M0Pbs3L1+OA+SoznrQEAAAAQfTSPCmLEDyv05dx1uv2EburctHbYcQAAAADECEphBbBs43b99ePZ6tepoS49vF3YcQAAAADEEEphyPLyXcNGTlN8nOmRc3orLs7CjgQAAAAghkStFJpZazMba2azzWyWmd0ULB9hZqnBr6VmllrC9ieY2TwzW2hmdxRa3t7MJgfLR5hZUrReQ3l4bsIiTVm2Wfed3kMt6lUPOw4AAACAGBPNkcJcScPcvbukQyVdZ2bd3f08d+/j7n0kvSPp3aIbmlm8pGcknSipu6QLzKx7sPohSY+7eydJmyVdHsXXEFWzVm/R42Pm6+RezXV6nxZhxwEAAAAQg6JWCt09zd1/DG5nSJojqWXBejMzSYMlvVHM5gdLWujui909W9Kbkk4PtjlK0tvB416VdEa0XkM0ZebkaciIVNWvkaT7z+ihyEsDAAAAgPJVLscUmlk7SQdImlxocX9Ja919QTGbtJS0otD9lcGyhpLS3T23yPJK59HP52n+2m16+JxeqlejUs+ABQAAAFCJRb0UmlktRaaJ3uzuWwutukDFjxKW1fNeZWZTzGzK+vXro/U0e8XdtSMnTxcf2lYDuzYJOw4AAACAGJYQzZ2bWaIihfB1d3+30PIESWdJOrCETVdJal3ofqtg2UZJ9cwsIRgtLFj+G+7+vKTnJSklJcX38aWUKTPT38/sqfz8ChULAAAAQAyK5tlHTdKLkua4+/Aiq4+RNNfdV5aw+Q+SOgdnGk2SdL6kD93dJY2VdE7wuEskfVD26csHl58AAAAAELZoTh/tJ+liSUcVugTFScG681Vk6qiZtTCzUZIUjAJeL+lzRU5QM9LdZwUPvV3SUDNbqMgxhi9G8TUAAAAAQJVmkcG3qi0lJcWnTJkSdgwAAAAACIWZTXX3lOLWlcvZRwEAAAAAFROlEAAAAABiGKUQAAAAAGIYpRAAAAAAYhilEAAAAABiGKUQAAAAAGIYpRAAAAAAYhilEAAAAABiGKUQAAAAAGIYpRAAAAAAYhilEAAAAABiGKUQAAAAAGIYpRAAAAAAYhilEAAAAABiGKUQAAAAAGKYuXvYGaLOzNZLWhZ2jmI0krQh7BAIBe997OK9j02877GL9z528d7Hror63rd198bFrYiJUlhRmdkUd08JOwfKH+997OK9j02877GL9z528d7Hrsr43jN9FAAAAABiGKUQAAAAAGIYpTBcz4cdAKHhvY9dvPexifc9dvHexy7e+9hV6d57jikEAAAAgBjGSCEAAAAAxDBKYRkzszwzSzWzaWb2o5kdvpf7ecXMzinrfADKnpk1NbP/mdliM5tqZt+Z2Zlh5wKqskL/3840s4/MrN5uHt/YzCab2U9m1j8KeeqZ2R/Ler8Ayo6ZtTOzmUWW3WNmt+zBPsaZ2R6fWdTMUszsyRLWLTWzRnuwr0vN7Ok9zbArlMKyt9Pd+7h7b0l3Snog7EAAosfMTNL7kia4ewd3P1DS+ZJalXL7hCjGA6qygv9ve0jaJOm63Tz+aEkz3P0Ad58YhTz1JFXaUmgRfC4EosTdp7j7jWHnKAl/+aOrjqTNkmRmA83s44IVZva0mV0a3H7QzGab2XQze7TQ9gPM7Ntg9IFRQ6BiOkpStrv/q2CBuy9z96fMLNnMXjazGcHoxCDp52/4PjSzryR9aWY1zewlM/s+eNzpYb0YoJL6TlJLSTKzjmb2WTBqP9HMuplZH0kPSzo9GF2sbmbbCjY2s3PM7JXg9rnB6OM0M5sQLIs3s0fM7Ifg/+qri8nwoKSOwf4fCUrWI8G+ZpjZecUFN7P3g6yzzOyqQsu3mdn9QY5JZtZ0F/k+MbNewe2fzOwvwe2/mtmVwe1bC+W/N1jWzszmmdlrkmZKar3X7wBQyQUjgA8F/xfPL5hREPx78aaZzTGz9yRVL7TNccHsoB/N7C0zqxUsPyj4DD8t2F/twl3AzBqa2ejg7/2/JVmhff4u2CbVzJ4zs/hg+WVBru8l9Svr18831GWvupmlSkqW1FyRD4wlMrOGks6U1M3d3X49/aW5pCMkdZP0oaS3oxEYwD7ZX9KPJay7TpK7e08z6yZptJl1Cdb1ldTL3TeZ2d8lfeXufwj+DfjezL5w9+1RTw9UcsEHpqMlvRgsel7SNe6+wMwOkfRPdz8qKEop7n59sF1Ju/yLpOPdfVWh/5Mvl7TF3Q8ys2qSvjGz0e6+pNB2d0jq4e59gv2fLamPpN6SGkn6wcwmuHtakef7Q/DvQPXgMe+4+0ZJNSVNcvc/m9nDkq6U9LcS8k2U1N/MlknK1S8fGPtLusbMjpPUWdLBinz4/NDMBkhaHiy/xN0n7eLHDMSKBHc/2MxOknS3pGMkXStph7vvF3z58qMkWWS6512SjnH37WZ2u6ShZvagpBGSznP3H8ysjqSdRZ7nbklfu/tfzexkRf6NkZntJ+k8Sf3cPcfM/inpIjMbI+leSQdK2iJprKSfyvSFl+XOICmYziJJZnaYpNfMrMcuHr9FUqakF4NvDz4utO59d8+XNLvgG0IAFZuZPaPIlznZklZKekqS3H1u8IGtoBSOcfdNwe3jJJ1mvxzTkCypjaQ55RYcqHwKvoRtqcjflTHBt/SHS3qrUOmrtof7/UbSK2Y2UtK7wbLjJPWyX2bt1FWkTC0pZvsCR0h6w93zJK01s/GSDlLkS97CbrRfjkFuHex3oyL/hhR8Jpgq6dhd5Jso6cYgzyeSjjWzGpLau/u8YLTwOP3yIbJW8DzLJS2jECKGlHTZhYLlBX+npkpqF9weIOlJSXL36WY2PVh+qKTuinxJJElJisxa6Copzd1/CLbZKv3mi6gBks4K1n9iZpuD5UcrUvx+CB5fXdI6SYdIGufu64N9jdAvnyfKBKUwitz9u+BbhMaKfHNXeLpucvCYXDM7WJE/BOdIul6/jC5mFXp8iV9pAgjVLElnF9xx9+uCv/dTFCmFJSk8CmiSznb3edGJCFRJO929T1B+PldkZP4VSekFX87uRuEPh8k/L3S/JhhhPFnSVDM7UJG/oze4++dlFV6KHFqiyEjEYe6+w8zGFcqS479cNyxPwWe2EvL9IClF0mJJYxQZmbxSkQ+2CvI/4O7PFXn+dvr1v0VAVbdRUv0iyxroly94Cj57//x3bhdMkS94L/jVQrOe+5DPJL3q7ncW2ecZ+7DPUuGYwigKpovFK/IHcJmk7mZWLZjucXTwmFqS6rr7KElDFJlmAqDy+EpSspldW2hZjeD3iZIukqRg2mgbScUVv88l3WDB14JmdkD04gJVi7vvUGSUbJikHZKWmNm50s8nTynp/9W1ZrafRU6u8vPZgs2so7tPdve/SFqvyOjd55KuNbPE4DFdzKxmkf1lSKpd6P5ESedZ5HjExoqMDHxfZJu6kjYHhbCbIiMPu1RcPnfPlrRC0rmKjFRMlHSLpAnBZp9L+kOh451amlmT3T0XUNW4+zZJaWZ2lCSZWQNJJ0j6ehebTZB0YfD4HpJ6BcsnSepnZp2CdTWD/+vnSWpuZgcFy2vbb08qV3ifJ+qXovqlpHMK/n6aWQMzaytpsqQjg2MRExX5u16mGCksewXTWaRI278kmDqyIpjqMVORbyMKpnDUlvSBmSUHjx9aznkB7IPgWOAzJD1uZrcp8iFtu6TbJX0g6Vkzm6HIbIFL3T2rmGOZ7pP0hKTpwQfUJZJOKZ9XAFR+7v5TMKXrAkW+iHnWzO6SlCjpTUnTitnsDkWmZ65XZGS/VrD8ETPrrMj/yV8G205XZCrZj8GXN+slnVEkw0Yz+8Yip7v/VNJtkg4LtndJt7n7miIZPlPkmL85inyQLM00zuLySZEieLS77zSziYqcAXlikG10cKzSd8G/P9sk/U6R0RAg1vxe0jNmNjy4f6+7L9rFccbPSno5+Hs6R8EIvLuvt8hJI98IjjWWpLvcfb5FTiz1VHCs8E5FZgQUdm+w3SxJ3yoylVvuPjv4t2t08HkgR9J17j7JzO5R5EufdEmp+/IDKI79MjMBAAAAABBrmD4KAAAAADGMUggAAAAAMYxSCAAAAAAxjFIIAAAAADGMUggAAAAAMYxSCACIeWbWzMzeNLNFZjbVzEYF15val322Cy5PIDNLMbMnS3jcUjNrtJt9/WlfsgAAsCuUQgBATAuuO/eepHHu3tHdD5R0p6SmZfUc7j7F3W/ch11QCgEAUUMpBADEukGSctz9XwUL3H2apJ/M7Esz+9HMZpjZ6dLPI4BzzOwFM5tlZqODCxTLzA40s2lmNk3SdQX7M7OBZvZxcLthsM0sM/u3IhchL3jc+8FI5SwzuypY9qCk6maWamavB8t+Z2bfB8ueM7P4qP+UAABVFqUQABDrekiaWszyTElnuntfRYrjY8GooiR1lvSMu+8vKV3S2cHylyXd4O69d/F8d0v6Otj2PUltCq37QzBSmSLpRjNr6O53SNrp7n3c/SIz20/SeZL6uXsfSXmSLtrjVw0AQCAh7AAAAFRQJunvZjZAUr6klvplSukSd08Nbk+V1M7M6kmq5+4TguX/kXRiMfsdIOksSXL3T8xsc6F1N5rZmcHt1oqUz41Ftj9a0oGSfgg6anVJ6/bmBQIAIFEKAQCYJemcYpZfJKmxpAPdPcfMlkpKDtZlFXpcniLFbJ+Y2UBJx0g6zN13mNm4Qs/3q4dKetXd79zX5wQAQGL6KAAAX0mqVnAMnySZWS9JbSWtCwrhoOB+idw9XVK6mR0RLCppSucESRcGz3OipPrB8rqSNgeFsJukQwttk2NmicHtLyWdY2ZNgn00MLNdZgMAYFcohQCAmObuLulMSccEl6SYJekBSaMkpZjZDEm/lzS3FLu7TNIzZpaqQieQKeJeSQOC5zlL0vJg+WeSEsxsjqQHJU0qtM3zkqab2evuPlvSXZJGm9l0SWMkNS/1CwYAoAiL/F8IAAAAAIhFjBQCAAAAQAyjFAIAAABADKMUAgAAAEAMoxQCAAAAQAyjFAIAAABADKMUAgAAAEAMoxQCAAAAQAyjFAIAAABADPt/bMpumi2TznAAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(figsize=(15,8))\n", + "ax1 = fig.add_subplot(1,1,1) #https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.subplot.html\n", + "ax1.set_xlabel('Candidate')\n", + "ax1.set_ylabel('Mean of Ages')\n", + "ax1.set_title(\"Candidate wise mean of ages\")\n", + "\n", + "var.plot(ax=ax1, kind='line');" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_JzA2hbCL8Zh" + }, + "source": [ + "### Stacked Column Chart " + ] + }, + { + "cell_type": "code", + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -644,167 +853,315 @@ " 100000\n", " Bush\n", " \n", - " \n", - " 6\n", - " Female\n", - " 24\n", - " 55000\n", - " 100000\n", - " Bush\n", - " \n", - " \n", - " 10\n", - " Female\n", - " 24\n", - " 59000\n", - " 90000\n", - " Bush\n", - " \n", - " \n", - " 19\n", - " Female\n", - " 29\n", - " 72000\n", - " 120000\n", - " Gore\n", - " \n", - " \n", - " 22\n", - " Female\n", - " 26\n", - " 150000\n", - " 180000\n", - " Gore\n", - " \n", - " \n", - " 23\n", - " Female\n", - " 25\n", - " 45000\n", - " 85000\n", - " Gore\n", - " \n", " \n", "\n", "" ], "text/plain": [ - " Gender Age Salary before Stern Expected salary Candidate\n", - "0 Male 27 60000 110000 Bush\n", - "1 Male 30 125000 125000 Bush\n", - "2 Male 27 50000 120000 Bush\n", - "3 Male 26 56000 100000 Bush\n", - "4 Male 27 82000 100000 Bush\n", - "6 Female 24 55000 100000 Bush\n", - "10 Female 24 59000 90000 Bush\n", - "19 Female 29 72000 120000 Gore\n", - "22 Female 26 150000 180000 Gore\n", - "23 Female 25 45000 85000 Gore" + " Gender Age Salary before Stern Expected salary Candidate\n", + "0 Male 27 60000 110000 Bush\n", + "1 Male 30 125000 125000 Bush\n", + "2 Male 27 50000 120000 Bush\n", + "3 Male 26 56000 100000 Bush\n", + "4 Male 27 82000 100000 Bush" ] }, - "execution_count": 29, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dfvote.groupby('Gender').head()" + "dfvote.head()" ] }, { "cell_type": "code", - "execution_count": 36, - "metadata": { - "id": "VEM-ndjsL8Zf", - "outputId": "f2e37e4b-08b6-4de0-dec8-3d5fb33fb585" - }, + "execution_count": 54, + "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2cAAAIsCAYAAAB2o9F+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de7Sld13f8c+XXEiABAKZxKCBYArhTi7DzUTkXiIqxKLI4lawhFooIK66EOkiVpelVrCt0kAwYMQUgQISATExIjEtt0mIJCGwQAgISZMJQYgQIZdv/9jP4DHMZCbnzMzz23Ner7XOOnv/9j5nf+ePvWbe8zzPb1d3BwAAgHndbu4BAAAAEGcAAABDEGcAAAADEGcAAAADEGcAAAAD2Ht3vtjBBx/cRxxxxO58SQAAgGFccMEF13T3hq09tlvj7IgjjsimTZt250sCAAAMo6q+tK3HnNYIAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwAHEGAAAwgL3nHgBY3454xfvnHoFbcflrnjz3CGyH99DYvIeA28KRMwAAgAE4cgYAwLrl6PP41tMRaEfOAAAABiDOAAAABuC0xjVwGHx86+kwOAAAy82RMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAGIMwAAgAFsN86q6vCq+lBVXVZVl1bVS6f1U6rqq1V10fT147t+XAAAgD3T3jvwnBuT/FJ3X1hVByS5oKrOmR77ne7+7V03HgAAwPqw3Tjr7iuTXDndvq6qLkvyg7t6MAAAgPXkNl1zVlVHJDkmycempRdX1aeq6s1VddA2fubkqtpUVZs2b968pmEBAAD2VDscZ1V1pyTvSvKy7v5mklOTHJnk6CyOrL12az/X3ad198bu3rhhw4adMDIAAMCeZ4firKr2ySLMzuzudydJd1/V3Td1981J3pTkYbtuTAAAgD3bjuzWWElOT3JZd79uxfphK552UpJLdv54AAAA68OO7NZ4fJJnJ7m4qi6a1l6Z5BlVdXSSTnJ5khfukgkBAADWgR3ZrfH8JLWVhz6w88cBAABYn27Tbo0AAADsGuIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgAOIMAABgANuNs6o6vKo+VFWXVdWlVfXSaf2uVXVOVX1u+n7Qrh8XAABgz7QjR85uTPJL3X2/JI9I8qKqun+SVyQ5t7vvneTc6T4AAACrsN046+4ru/vC6fZ1SS5L8oNJnpLkjOlpZyR56q4aEgAAYE93m645q6ojkhyT5GNJDu3uK5NFwCU5ZBs/c3JVbaqqTZs3b17btAAAAHuoHY6zqrpTkncleVl3f3NHf667T+vujd29ccOGDauZEQAAYI+3Q3FWVftkEWZndve7p+Wrquqw6fHDkly9a0YEAADY8+3Ibo2V5PQkl3X361Y8dFaS5063n5vkvTt/PAAAgPVh7x14zvFJnp3k4qq6aFp7ZZLXJHlHVf18ki8n+ZldMyIAAMCeb7tx1t3nJ6ltPPy4nTsOAADA+nSbdmsEAABg1xBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAAxBnAAAAA9hunFXVm6vq6qq6ZMXaKVX11aq6aPr68V07JgAAwJ5tR46c/UGSJ21l/Xe6++jp6wM7dywAAID1Zbtx1t3nJbl2N8wCAACwbq3lmrMXV9WnptMeD9rWk6rq5KraVFWbNm/evIaXAwAA2HOtNs5OTXJkkqOTXJnktdt6Ynef1t0bu3vjhg0bVvlyAAAAe7ZVxVl3X9XdN3X3zUnelORhO3csAACA9WVVcVZVh624e1KSS7b1XAAAALZv7+09oareluTRSQ6uqq8keXWSR1fV0Uk6yeVJXrgLZwQAANjjbTfOuvsZW1k+fRfMAgAAsG6tZbdGAAAAdhJxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMABxBgAAMIDtxllVvbmqrq6qS1as3bWqzqmqz03fD9q1YwIAAOzZduTI2R8kedIt1l6R5NzuvneSc6f7AAAArNJ246y7z0ty7S2Wn5LkjOn2GUmeupPnAgAAWFdWe83Zod19ZZJM3w/Z1hOr6uSq2lRVmzZv3rzKlwMAANiz7fINQbr7tO7e2N0bN2zYsKtfDgAAYCmtNs6uqqrDkmT6fvXOGwkAAGD9WW2cnZXkudPt5yZ5784ZBwAAYH3aka3035bkI0mOqqqvVNXPJ3lNkidU1eeSPGG6DwAAwCrtvb0ndPcztvHQ43byLAAAAOvWLt8QBAAAgO0TZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAMQZwAAAAPYey0/XFWXJ7kuyU1JbuzujTtjKAAAgPVmTXE2eUx3X7MTfg8AAMC65bRGAACAAaw1zjrJ2VV1QVWdvLUnVNXJVbWpqjZt3rx5jS8HAACwZ1prnB3f3ccmOTHJi6rqUbd8Qnef1t0bu3vjhg0b1vhyAAAAe6Y1xVl3XzF9vzrJe5I8bGcMBQAAsN6sOs6q6o5VdcCW20memOSSnTUYAADAerKW3RoPTfKeqtrye/5Xd39wp0wFAACwzqw6zrr7C0keshNnAQAAWLdspQ8AADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADAAcQYAADCANcVZVT2pqj5bVZ+vqlfsrKEAAADWm1XHWVXtleT1SU5Mcv8kz6iq+++swQAAANaTtRw5e1iSz3f3F7r7u0n+OMlTds5YAAAA60t19+p+sOppSZ7U3f9muv/sJA/v7hff4nknJzl5untUks+uflx2g4OTXDP3ELDEvIdgbbyHYG28h8Z3z+7esLUH9l7DL62trH1f6XX3aUlOW8PrsBtV1abu3jj3HLCsvIdgbbyHYG28h5bbWk5r/EqSw1fc/6EkV6xtHAAAgPVpLXH2iST3rqp7VdW+SX4uyVk7ZywAAID1ZdWnNXb3jVX14iR/nmSvJG/u7kt32mTMxSmosDbeQ7A23kOwNt5DS2zVG4IAAACw86zpQ6gBAADYOcQZAADAAMQZAADAAMQZADCLqtqrqv7r3HMAjEKcAaxRVZ1QVc+bbm+oqnvNPRMsg+6+KclxVVVzzwIwArs1kqr66ST/JckhSWr66u4+cNbBYAlU1auTbExyVHffp6runuSd3X38zKPBUqiq1ya5d5J3JvnWlvXufvdsQ8GSqKrfTbLNf8x390t24zjsBKv+nDP2KL+V5Ce7+7K5B4EldFKSY5JcmCTdfUVVHTDvSLBU7prka0keu2Ktk4gz2L5N0/fjk9w/ydun+z+T5IJZJmJNxBlJcpUw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\n", + "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", + "
Salary before SternExpected salary
AgeGender
24Female114000190000
25Female139000250000
Male405000750000
26Female320000470000
Male279000380000
27Female166000285000
Male375000675000
28Male415000755000
29Female122000200000
Male437000565000
30Male385000470000
32Male150000150000
33Male60000100000
\n", + "
" + ], "text/plain": [ - "
" + " Salary before Stern Expected salary\n", + "Age Gender \n", + "24 Female 114000 190000\n", + "25 Female 139000 250000\n", + " Male 405000 750000\n", + "26 Female 320000 470000\n", + " Male 279000 380000\n", + "27 Female 166000 285000\n", + " Male 375000 675000\n", + "28 Male 415000 755000\n", + "29 Female 122000 200000\n", + " Male 437000 565000\n", + "30 Male 385000 470000\n", + "32 Male 150000 150000\n", + "33 Male 60000 100000" ] }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "var = dfvote.groupby('Candidate').Age.mean() #grouped sum of at Gender level\n", - "fig = plt.figure(figsize=(15,8))\n", - "ax1 = fig.add_subplot(1,1,1)\n", - "\n", - "\n", - "var.plot(kind='bar');" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "mYjoJoRML8Zg" - }, - "source": [ - "### Line Chart " + "var = dfvote.groupby(['Age','Gender']).sum()\n", + "var" ] }, { "cell_type": "code", - "execution_count": 38, - "metadata": { - "id": "8s4tOFqaL8Zg", - "outputId": "f76048e0-4016-40f4-ce60-618e202241d8" - }, + "execution_count": 56, + "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Salary before SternExpected salary
GenderFemaleMaleFemaleMale
Age
24114000.0NaN190000.0NaN
25139000.0405000.0250000.0750000.0
26320000.0279000.0470000.0380000.0
27166000.0375000.0285000.0675000.0
28NaN415000.0NaN755000.0
29122000.0437000.0200000.0565000.0
30NaN385000.0NaN470000.0
32NaN150000.0NaN150000.0
33NaN60000.0NaN100000.0
\n", + "
" + ], "text/plain": [ - "" + " Salary before Stern Expected salary \n", + "Gender Female Male Female Male\n", + "Age \n", + "24 114000.0 NaN 190000.0 NaN\n", + "25 139000.0 405000.0 250000.0 750000.0\n", + "26 320000.0 279000.0 470000.0 380000.0\n", + "27 166000.0 375000.0 285000.0 675000.0\n", + "28 NaN 415000.0 NaN 755000.0\n", + "29 122000.0 437000.0 200000.0 565000.0\n", + "30 NaN 385000.0 NaN 470000.0\n", + "32 NaN 150000.0 NaN 150000.0\n", + "33 NaN 60000.0 NaN 100000.0" ] }, - "execution_count": 38, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" } ], "source": [ - "var = dfvote.groupby('Candidate').Age.mean()\n", - "\n", - "fig = plt.figure(figsize=(15,8))\n", - "ax1 = fig.add_subplot(1,1,1)\n", - "#ax1.set_xlabel('Candidate')\n", - "ax1.set_ylabel('Mean of Ages')\n", - "ax1.set_title(\"Candidate wise mean of ages\")\n", - "\n", - "var.plot(ax=ax1, kind='line')" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "_JzA2hbCL8Zh" - }, - "source": [ - "### Stacked Column Chart " + "var.unstack()" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 59, "metadata": { "id": "fAgDx-11L8Zi", "outputId": "c88911de-27d7-4277-fe94-1e4edb3d6912" @@ -813,16 +1170,16 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 13, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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c+655+bP/uzPttx+/vz5WbVqVV75ylfmzDPPzMUXX5zbb789l156aTZs2JAkueSSS7J69eqsWrUq7373u7dsf8CaNWty5ZVX5tOf/nRuvfXW7Lnnnnn/+98/4+/FaY0AAMAua9vTGm+//fbcfvvtOeWUU5Ik999/fw488MAt+88444wkyVFHHZUlS5Zs2feEJzwh3/72t7Pffvvl3e9+d6655pokybe//e3ceeed2W+//bZ8jY997GNZvXp1nvKUpySZDMT9999/xt+LOAMAAMZGay1LlizJZz7zme3u33vvvZMke+yxx5bLD1zfvHlzVq5cmY9+9KP5zGc+k4c//OE56aSTsnHjxgc9xvLly/OXf/mXszq70xoBAICxcdhhh2X9+vVb4mzTpk254447pnz/e++9N495zGPy8Ic/PF/+8pfz2c9+9kG3Ofnkk3PVVVfl7rvvTpJ8//vfzze/+c0Zzy7OAACA2dHa7H5Mw/z583PVVVflDW94Q5785CfnmGOOyb/+679O+f6nn356Nm/enCOOOCLnn39+nva0pz3oNkceeWTe9ra35dRTT83RRx+dU045ZcuLjsxEtWl+09MxMTHRVq1aNbTHY25N8a0nujTEH3sAgLG1Zs2aHHHEEaMeo1vbW5+qWt1am9je7R05AwAA6IA4AwAA6IA4AwAA6IA4AwAA6IA4AwAA6IA4AwAA6IA4AwAAZkXV7H5M7TErL37xi7dc37x5cxYuXJjnPve5v/R+K1eu3OFthk2cAQAAu6xHPOIRuf322/PTn/40SXLDDTfkoIMOGvFU0yPOAACAXdqzn/3s/PM//3OS5PLLL88555yzZd9NN92UE044Iccee2ye/vSn5ytf+cqD7n/ffffl3HPPzdKlS3Psscfm2muvHdrsWxNnAADALu2FL3xhrrjiimzcuDG33XZbnvrUp27Zd/jhh+eTn/xkbrnllrz1rW/Nm970pgfd/8ILL8yyZcty00035cYbb8zrXve63HfffcP8FpIk84b+iAAAALPo6KOPztq1a3P55Zfn2c9+9i/su/fee7N8+fLceeedqaps2rTpQff/yEc+kuuuuy7vfOc7kyQbN27Mt771rRxxxBFDmf8B4gwAANjlnXHGGfnTP/3TrFy5Mhs2bNiy/YILLsgzn/nMXHPNNVm7dm1OOumkB923tZarr746hx12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LTXqEWagjXoAAAD4BY6cAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdECcAQAAdGDeqAeYNVWjnmD6Whv1BAAAwIg5cgYAANABcQYAANABcQYAANABcQYAANCBHcZZVV1SVXdX1e1bbdu3qm6oqjsHnx8zt2MCAACMt6kcObs0yenbbDs/ycdaa4cm+djgOgAAANO0wzhrrf2fJN/fZvOZSS4bXL4syVmzPBcAAMBuZbrPOTugtXbX4PJ3kxwwS/MAAADslmb8giCttZbkId9FuarOq6pVVbVq/fr1M304AACAsTTdOPteVR2YJIPPdz/UDVtrK1prE621iYULF07z4QAAAMbbdOPsuiTLB5eXJ7l2dsYBAADYPU3lpfQvT/KZJIdV1bqqemmStyc5paruTPKswXUAAACmad6ObtBaO+chdp08y7MAAADstmb8giAAAADMnDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADogDgDAADowLxRDwAAjFZLjXqEGWijHgBg1jhyBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFxBgAA0AFvQg0AwNirXfi91pv3Wt9tOHIGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQgXmjHgAAABg/VaOeYPpaG83jOnIGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQAXEGAADQ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\n", + "image/png": "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Oeeco1/96ld6+eWXfduuuuoqLViwQJI0b948de3atcpzpKSkaNasWTp48KAkadeuXdqzZ48kKTk5Wbt27dJPf/pTJSUl6aGHHlJRUZGk4ufWnQh7VZ2jMs2aNVOzZs18s33z5s0rU8+f/vQnFRQUSJI+++wzHTp0yP9BqeOYUQMAAAA84L777tOzzz7rez9jxgyNGDFCTz31lFq2bKnZs2dXeXyfPn20adMmXXnllZKks846S6+++qrOPfdcbd26Veecc44k6c9//rPGjx+vn/70p2rRooUaN26s3//+91WeIyws7KT9zp49W6mpqTIz9enTx7d91KhRys3NVWJiopxzatmypd5+++1TGpu6yE6k52BLSkpymZmZIekbAAAA3rVp0yZFRUWFuoxaY/369Zo1a5aefvrpUJdSp1X2uTazLOdcUmXtufQRAAAAqMViYmIIaT9CBDUAAAAA8BiCGgAAAAB4DIuJICDsUQt1CafMTQrNfZoAAADAyTCjBgAAAAAeQ1ADAAAAAI8hqAEAAADlHDlyRN26dVNRUZGOHz+usWPHKiYmRu3bt1fHjh21ffv2Ko/v3r27auJRVKdy3sGDBys2NlbTpk0LaC2bN29W9+7dFR8fr6ioKI0ePVqSlJ2drYULFwa0r5MZPny4Lr30UsXHxys+Pl7Tp0+vsb5++9vfaurUqVW2efbZZzVr1qyA9Mc9agAAAPA2C/C98H48R3jWrFkaNGiQwsLCNH/+fH355ZfKyclRvXr1lJeXpyZNmgS0pKKioiofKn2qvvrqK2VkZGjr1q1+H1NYWKj69auPCWPHjtW4cePUv39/SdK6deskFQe1zMxMXXvttQHvszJPPfWUbrjhhlM6NtBSU1PVpUsXpaamnva5mFEDAAAAypk3b54vgOzevVutWrVSvXrF3zpHRESoefPmkqQxY8YoKSlJ7dq106RJkyo918naREZGasKECUpMTNSUKVOUmJjo27dly5Yy70ubO3eu4uPjFRMTo9WrV0uSDh06pNTUVHXq1EkJCQl65513JEl9+vTRrl27FB8fr+XLlys7O1udO3dWbGysBg4cqG+++UZS8Uzdvffeq6SkJD3zzDPKyspSt27d1KFDB6WkpGj37t0V6ti9e7ciIiJ879u3b69jx47pkUceUVpamuLj45WWlnbS2ubMmaN+/fqpZ8+eSk5O1pw5czRo0CD17dtXrVu31v333+/Hn1RFVfU3YMAA9e7dW5GRkXr22Wf19NNPKyEhQZ07d9bXX38tSXrppZfUsWNHxcXF6frrr9fhw4cr9LFt2zb17dtXHTp0UNeuXfXpp59Kks4880xFRkb6/lxOB0ENAAAAKOXYsWP6/PPPFRkZKUn61a9+pb/97W+Kj4/Xfffdp7Vr1/raTp48WZmZmcrJydHSpUuVk5NT4XxVtWnRooXWrFmjiRMnKjw8XNnZ2ZKk2bNna8SIEZXWd/jwYWVnZ2vmzJm+mZvJkyerZ8+eWr16tRYvXqzx48fr0KFDevfdd3X55ZcrOztbXbt21dChQ/Xkk08qJydH7du316OPPlrm687MzNTYsWN1zz33KD09XVlZWUpNTdXEiRMr1DFu3Dj17NlT11xzjaZNm6YDBw6oQYMGeuyxx3TjjTcqOztbN95440lrk6Q1a9YoPT1dS5culVQ8G5eWlqZ169YpLS1NO3furPbPa/z48b5LH9etW1dlf+vXr9df//pXZWRkaOLEiTrzzDO1du1aXXnllXrllVckSYMGDVJGRoY++eQTRUVF6eWXX67Q5+jRozVjxgxlZWVp6tSpuvPOO337kpKStHz58mrrrg6XPgIAAACl7Nu3T82aNfO9j4iI0ObNm/Xhhx/qww8/VHJyst544w0lJyfr9ddf14svvqjCwkLt3r1bGzduVGxsbJnzVdXmxhtv9LUbNWqUZs+eraefflppaWknnZUZPHiwJOnqq6/Wt99+qwMHDmjRokV69913ffdQHT16VDt27FDjxo19x+Xn5+vAgQPq1q2bJGnYsGH65S9/6dt/opbNmzdr/fr16t27t6TiyzJbtWpVoY4RI0YoJSVF7733nt555x298MIL+uSTTyq0O1ltktS7d2+dc845vrbJyckKDw+XJEVHR+uLL77QRRddVOk4nFD+0scRI0actL8ePXqoadOmatq0qcLDw/WLX/xCUvFs4IkAvX79ej300EM6cOCADh48qJSUlDL9HTx4UCtXriwzdt9//73v9XnnneebYTsdBDUAAACglMaNG+vo0aNltjVs2FDXXHONrrnmGp1//vl6++23ddlll2nq1KnKyMhQ8+bNNXz48ArHbd++vco2pe91u/766/Xoo4+qZ8+e6tChg1q0aFFpfVbunj0zk3NOb775ptq0aVNmX25urt9f94lanHNq166dVq1aVe0xF1xwgVJTU5WamqqYmBitX7++QpuT1fbxxx9XuNevYcOGvtdhYWEqLCz0u35/+it9/nr16vne16tXz9fX8OHD9fbbbysuLk5z5szRkiVLypzn+PHjatasmW/2s7yjR4+WCciniksfAQAAgFKaN2+uoqIiX6Bas2aNvvzyS0nF36Tn5OTokksu0bfffqsmTZooPDxc//3vf/XPf/6zwrn8aXNCo0aNlJKSojFjxpz0skdJSktLkyStWLFC4eHhCg8PV0pKimbMmCFXslBK6cszTwgPD1fz5s19l+XNnTvXN7tWWps2bbR3715fUCsoKNCGDRsqtHvvvfdUUFAgqXjRkv379+vCCy9U06ZN9d133/na+VNbdYYOHer3fV+n2993332nVq1aqaCgQPPmzauw/+yzz9all16qN954Q1JxMCw9k/jZZ58pJibmB/VZGYIaAAAAUE6fPn20YsUKSdKePXv0i1/8QjExMYqNjVX9+vV19913Ky4uTgkJCWrbtq1uvvlmdenSpcJ5/GlT2pAhQ1SvXj316dPnpG0aNWqkhIQE3XHHHb77px5++GEVFBQoNjZW7dq108MPP1zpsX/5y180fvx4xcbGKjs7W4888kiFNg0aNFB6eromTJiguLg4xcfHa+XKlRXaLVq0SDExMYqLi1NKSoqeeuop/eQnP1GPHj20ceNG32Ii/tZWlZycHF1wwQV+tT3d/h5//HFdccUV6tKli9q2bVtpm3nz5unll19WXFyc2rVr51uwRJL+85//+C4bPR3m/FietCYkJSW5mni2BELDHg3wsrlB5CaF5u8Afnz4nANAcGzatElRUVEhrWHNmjWaNm2a5s6dG9R+p06dqvz8fD3++ONB7dfLvv32W40cOdI3g+Vla9eu1dNPP13p56ayz7WZZTnnkio7F/eoAQAAAOUkJiaqR48eNfZ8s8oMHDhQ27Zt04cffhiU/n4szj777B9FSJOKF6IJVMgmqAEAAACVCMRDi3+It956K6j9IfACccnjCdyjBgAAAAAeQ1ADAAAAAI8hqAEAAACAxxDUAAAAAMBjCGoAAABAOUeOHFG3bt1UVFSk48ePa+zYsYqJiVH79u3VsWNHbd++vcrju3fvrpp4FNWpnHfw4MGKjY3VtGnTAlrL5s2b1b17d8XHxysqKkqjR4+WJGVnZ2vhwoUB7etkhg8frjPPPLPMA7bvvfdemZn27dtX5bGRkZHVtunVq5e++eabgNT6Q7HqIwAAADzNAvwYS38eIzxr1iwNGjRIYWFhmj9/vr788kvl5OSoXr16ysvLU5MmTQJaU009BuCrr75SRkaGtm7d6vcxhYWFql+/+pgwduxYjRs3Tv3795ckrVu3TlJxUMvMzNS1114b8D4r89Of/lTvvPOObrnlFh0/flwffvihLrzwwlM6V3m33nqrZs6cqYkTJwbkfD8EM2oAAABAOfPmzfMFkN27d6tVq1aqV6/4W+eIiAg1b95ckjRmzBglJSWpXbt2mjRpUqXnOlmbyMhITZgwQYmJiZoyZYoSExN9+7Zs2VLmfWlz585VfHy8YmJitHr1aknSoUOHlJqaqk6dOikhIUHvvPOOJKlPnz7atWuX4uPjtXz5cmVnZ6tz586KjY3VwIEDfbNF3bt317333qukpCQ988wzysrKUrdu3dShQwelpKRo9+7dFerYvXu3IiIifO/bt2+vY8eO6ZFHHlFaWpri4+OVlpZ20trmzJmjfv36qWfPnkpOTtacOXM0aNAg9e3bV61bt9b999/vx5+UdNNNNyktLU2StGTJEnXp0qVM6BswYIA6dOigdu3a6cUXX6z0HK+++qo6deqk+Ph43X777SoqKpIk9evXT/Pnz/erjkAjqAEAAAClHDt2TJ9//rkiIyMlSb/61a/0t7/9TfHx8brvvvu0du1aX9vJkycrMzNTOTk5Wrp0qXJyciqcr6o2LVq00Jo1azRx4kSFh4crOztbkjR79myNGDGi0voOHz6s7OxszZw50/est8mTJ6tnz55avXq1Fi9erPHjx+vQoUN69913dfnllys7O1tdu3bV0KFD9eSTTyonJ0ft27fXo48+WubrzszM1NixY3XPPfcoPT1dWVlZSk1NrXRGady4cerZs6euueYaTZs2TQcOHFCDBg302GOP6cYbb1R2drZuvPHGk9YmSWvWrFF6erqWLl0qqXg2Li0tTevWrVNaWpp27txZ7Z/Xz372M+3du1fffPON5s+fr5tuuqnM/lmzZikrK0uZmZmaPn269u/fX2b/pk2blJaWpv/85z/Kzs5WWFiY5s2bJ0lq3ry5vv/++wrHBANBDQAAAChl3759atasme99RESENm/erN/97neqV6+ekpOT9cEHH0iSXn/9dSUmJiohIUEbNmzQxo0bK5yvqjY33nij7/WoUaM0e/ZsFRUVKS0tTTfffHOl9Q0ePFiSdPXVV+vbb7/VgQMHtGjRIk2ZMkXx8fHq3r27jh49qh07dpQ5Lj8/XwcOHFC3bt0kScOGDdOyZcsq1LJ582atX79evXv3Vnx8vJ544gnl5eVVqGPEiBHatGmTfvnLX2rJkiXq3Lmzvv/++wrtqqqtd+/eOuecc3xtk5OTFR4erkaNGik6OlpffPFFpWNQ3qBBg7RgwQJ9/PHH6tq1a5l906dPV1xcnDp37qydO3dqy5YtZfZ/8MEHysrKUseOHRUfH68PPvhAn3/+uW//eeedpy+//NKvOgKJe9QAAACAUho3bqyjR4+W2dawYUNdc801uuaaa3T++efr7bff1mWXXaapU6cqIyNDzZs31/Dhwysct3379irblL7X7frrr9ejjz6qnj17qkOHDmrRokWl9Vm5m/bMTM45vfnmm2rTpk2Zfbm5uX5/3Sdqcc6pXbt2WrVqVbXHXHDBBUpNTVVqaqpiYmK0fv36Cm1OVtvHH39c4V6/hg0b+l6HhYWpsLDQr9pvvPFGdejQQcOGDfNdoioVXwr5/vvva9WqVTrzzDN9QbF8fcOGDdPvfve7Ss999OhRNW7c2K86AokZNQAAAKCU5s2bq6ioyPcN/Zo1a3wzKsePH1dOTo4uueQSffvtt2rSpInCw8P13//+V//85z8rnMufNic0atRIKSkpGjNmzEkve5Tkux9rxYoVCg8PV3h4uFJSUjRjxgy5kpVSSl+eeUJ4eLiaN2+u5cuXSyq+1+3E7Fppbdq00d69e31BraCgQBs2bKjQ7r333lNBQYGk4kVL9u/frwsvvFBNmzYtswqjP7VVZ+jQob778SpzySWXaPLkybrzzjvLbM/Pz1fz5s115pln6tNPP9VHH31U4djk5GSlp6drz549kqSvv/7aN5PnnNNXX33luww2mJhRA36k7NEAL4EVRG6SH8ttAQAQQn369NGKFSvUq1cv7dmzR7fddpvvsr5OnTrp7rvvVqNGjZSQkKC2bdvqoosuUpcuXSqcJy4urto2pQ0ZMkRvvfWW+vTpc9I2J/otKCjQrFmzJEkPP/yw7r33XsXGxur48eO69NJL9fe//73CsX/5y190xx136PDhw7rssss0e/bsCm0aNGig9PR0jR07Vvn5+SosLNS9996rdu3alWm3aNEi/frXv1ajRo0kSU899ZR+8pOfqEePHr5LHR988EG/a6tKTk6OLrjggirb3H777RW29e3bV88//7yioqLUpk0bde7cuUKb6OhoPfHEE+rTp4+OHz+uM844Q88995wuueQSZWVlqXPnzqe8IuXpMOfP+qQ1ICkpydXEsyUQGoSG4GPMg48xB4Dg2LRpk6KiokJaw5o1azRt2jTNnTs3qP1OnTpV+fn5evzxx4Par5d9++23GjlypN54442g9/3rX/9a/fr1U3Jy8mmfq7LPtZllOeeSKmvPjBoAAABQTmJionr06FFjzzerzMCBA7Vt2zZ9+OGHQenvx+Lss88OSUiTpJiYmICEtFNBUAMAAAAqcWLp+2B56623gtofqnfbbbeFrG8WEwEAAAAAjyGoAQAAAIDHENQAAAAAwGMIagAAAADgMQQ1AAAAoJwjR46oW7duKioqUm5urho3bqz4+Hjfr1deeaXGa8jNzdVrr732g48bPny40tPTT6vvJUuW6Lrrrjutc/gjLCyszLjm5ubWWF+RkZHat29flW169eqlb775psZq+CFY9REAAADe9lqAn2N5c/XPlpw1a5YGDRrkW5r/8ssvV3Z2dmDrqMaJoHbzzTcHtd9TUVhYeEoPhW7cuHHQx7Uqt956q2bOnKmJEyeGupTqZ9TMbJaZ7TGz9dW062hmhWZ2Q+DKAwAAAIJv3rx56t+/f5VtvvjiC7Vu3Vr79u3T8ePH1bVrVy1atEi5ublq27athgwZoqioKN1www06fPiwJCkrK0vdunVThw4dlJKSot27d0uStm7dql69eikuLk6JiYnatm2bHnjgAS1fvlzx8fGaNm2aioqKNH78eHXs2FGxsbF64YUXJEnOOd19991q06aNevXqpT179lRa7/Tp0xUdHa3Y2FjddNNNkqTVq1fryiuvVEJCgq666ipt3ry5wnEnazNnzhz169dPPXv2VHJysoYOHaq3337bd9yQIUP0zjvv/LCBr2KMunfvrnHjxikpKUlRUVHKyMjQoEGD1Lp1az300EO+4wcMGKAOHTqoXbt2evHFFyvt49VXX1WnTp0UHx+v22+/XUVFRZKkfv36af78+T+45prgz6WPcyT1raqBmYVJelLSogDUBAAAAITMsWPH9PnnnysyMtK3bdu2bWUu0Vu+fLkuueQSTZgwQWPGjNEf/vAHRUdHq0+fPpKkzZs3684779SmTZt09tlna+bMmSooKNA999yj9PR0ZWVlKTU11TdzM2TIEN1111365JNPtHLlSrVq1UpTpkxR165dlZ2drXHjxunll19WeHi4MjIylJGRoZdeeknbt2/XW2+9pc2bN2vjxo165ZVXtHLlykq/rilTpmjt2rXKycnR888/L0lq27atli9frrVr1+qxxx7Tb37zmwrHVdVmzZo1Sk9P19KlSzVy5EjNmTNHkpSfn6+VK1fqf/7nf6oc6yNHjvjGdODAgVWOkSQ1aNBAmZmZuuOOO9S/f38999xzWr9+vebMmaP9+/dLKp4NzcrKUmZmpqZPn+7bfsKmTZuUlpam//znP8rOzlZYWJjmzZsnSWrevLm+//77CseEQrXzk865ZWYWWU2zeyS9KaljIIoCAAAAQmXfvn1q1qxZmW0nu/Rx1KhReuONN/T888+X2X/RRRepS5cukqRbbrlF06dPV9++fbV+/Xr17t1bklRUVKRWrVrpu+++065duzRw4EBJUqNGjSqta9GiRcrJyfHdf5afn68tW7Zo2bJlGjx4sMLCwnTBBReoZ8+elR4fGxurIUOGaMCAARowYIDvHMOGDdOWLVtkZiooKKhwXFVtevfurXPOOUeS1K1bN915553au3ev3nzzTV1//fXVXg5Z/tLH9evXVzpGJ/Tr10+S1L59e7Vr186377LLLtPOnTvVokULTZ8+3ffw8J07d2rLli1q0aKF7xwffPCBsrKy1LFjcXQ5cuSIzjvvPN/+8847T19++WWZY0LhtO9RM7MLJQ2U1EMENQAAAPzINW7cWEePHvWr7eHDh5WXlydJOnjwoJo2bSpJMit7X52ZyTmndu3aadWqVWX2fffdd3715ZzTjBkzlJKSUmb7woUL/Tr+H//4h5YtW6a//e1vmjx5statW6eHH35YPXr00FtvvaXc3Fx17969wnFVtWnSpEmZtkOHDtWrr76qBQsWaPbs2X7VVf5rrGyMTmjYsKEkqV69er7XJ94XFhZqyZIlev/997Vq1SqdeeaZ6t69e4U/S+echg0bpt/97neV9nH06FE1btz4B9ceaIFY9fGPkiY4545X19DMRptZppll7t27NwBdAwAAAIHVvHlzFRUV+RXWJkyY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vvmmrr/+er8uh4yNjVVubq7mz5+va6+91u++S4/Lu+++q6lTp0qSjh49qh07digqKkrnnXeevvzyy2pr8CKCGgAAAFBK48aNdfToUb/aHj58WHl5eZKkgwcPqmnTppKKF8kozczknFO7du20atWqMvu+++47v/pyzmnGjBlKSUkps33hwoV+Hf+Pf/xDy5Yt09/+9jdNnjxZ69at08MPP6wePXrorbfeUm5urrp3717huKraNGnSpEzboUOH6tVXX9WCBQs0e/Zsv+qSpH79+un//u//tGTJEu3fv9+vvk9wzunNN99UmzZtKuw7evSoGjdu7HcdXsKljwAAAEApzZs3V1FRkV9hbcKECRoyZIgee+wx3Xbbbb7tO3bs8AWy1157TT//+c/Vpk0b7d2717e9oKBAGzZsUNOmTRUREeG7v+v777/X4cOH1bRp0zIhLiUlRX/60598s0qfffaZDh06pKuvvlppaWkqKirS7t27tXjx4gp1Hj9+XDt37lSPHj305JNPKj8/XwcPHlR+fr5v8Y4Tly2W50+bE4YPH64//vGPkqTo6GhJ0q5du5ScnFzlcampqZo0aZLat2//g/tOSUnRjBkz5FzxIjFr16717fvss88UExNTZd9eRVADAAAAyunTp49WrFjhe1/+HrXp06dr6dKlysjI8IW1Bg0a+GaR2rRpo+eee05RUVH65ptvNGbMGDVo0EDp6emaMGGC4uLiFB8f77ufbO7cuZo+fbpiY2N11VVX6auvvlJsbKzCwsIUFxenadOmadSoUYqOjlZiYqJiYmJ0++23q7CwUAMHDlTr1q0VHR2toUOH6sorr6zw9RQVFemWW25R+/btlZCQoLFjx6pZs2a6//779eCDDyohIUGFhYWVjoU/bU44//zzFRUVpREjRvi27d69u9pLICMiIjR27NhT6vvhhx9WQUGBYmNj1a5dOz388MO+fYsXL/brPjkvshPJM9iSkpJcZmZmSPpG4AV62dxg8meJXi9izIOPMQeA4Ni0aZOioqJCWsOaNWs0bdo0zZ079wcfm5ubq+uuu07r16+vgcq87fDhw2rfvr3WrFmj8PBwSdKzzz6riy++WP369QtqLd9//726deumFStWnNKjAwKtss+1mWU555Iqax/6igEAAACPSUxMVI8ePVRUVOR7lhqq9v7772vkyJEaN26cL6RJ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\n", "text/plain": [ "
" ] @@ -834,8 +1191,7 @@ } ], "source": [ - "var = dfvote.groupby(['Age','Gender']).Random.sum()\n", - "var.unstack().plot(kind='bar',stacked=True, color=['red','blue'], grid=False, figsize=(15,8))" + "var.unstack().plot(kind='bar', stacked=True, color=['red','blue','orange','green'], grid=False, figsize=(15,8))" ] }, { @@ -849,7 +1205,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 61, "metadata": { "id": "-BdT5bPyL8Zj", "outputId": "a7d6ceb1-b001-4404-f715-62a3d16ec8a3" @@ -857,7 +1213,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -871,13 +1227,15 @@ "source": [ "fig = plt.figure(figsize=(15,8))\n", "ax = fig.add_subplot(1,1,1)\n", - "ax.scatter(dfvote['Age'],dfvote['Random'],s=dfvote['Expected salary']/500) #You can also add more variables here to represent color and size.\n", + "ax.scatter(x=dfvote['Age'], \n", + " y=dfvote['Expected salary'],\n", + " s=dfvote['Expected salary']/500) #You can also add more variables here to represent color and size.\n", "plt.show()" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 69, "metadata": { "id": "djgdgo3SL8Zk", "outputId": "282c87e1-d924-4d90-eb2b-0c5dfbeb804e" @@ -885,7 +1243,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -897,45 +1255,12 @@ } ], "source": [ - "dfvote.plot.scatter(x='Age',y='Expected salary', c='Random', cmap='jet', figsize=(15,8));" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "QPppvTDXL8Zo" - }, - "source": [ - "### Bubble Plot " - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "id": "rhPXMOxdL8Zo", - "outputId": "4a70790b-e577-401a-e83f-c8c6ba67fa5c" - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig = plt.figure(figsize=(15,8))\n", - "ax = fig.add_subplot(1,1,1)\n", - "# Added third variable income as size of the bubble\n", - "ax.scatter(dfvote['Age'],dfvote['Expected salary'], s=dfvote['Random']**3)\n", - "plt.show()" + "dfvote.plot.scatter(x='Age',\n", + " y='Expected salary', \n", + " c='Age', \n", + " s=dfvote['Salary before Stern']/500, \n", + " cmap='jet', \n", + " figsize=(15,8));" ] }, { @@ -949,110 +1274,36 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": { - "id": "ynojR8K_L8Zp", - "outputId": "ce5c8e29-61ce-4965-9252-635a9440e10b" - }, + "execution_count": 77, + "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", "text/plain": [ - "
" + "Gender \n", + "Female Age 26.142857\n", + " Salary before Stern 61500.000000\n", + " Expected salary 99642.857143\n", + "Male Age 27.617647\n", + " Salary before Stern 73705.882353\n", + " Expected salary 113088.235294\n", + "dtype: float64" ] }, + "execution_count": 77, "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "var=dfvote.groupby(['Gender']).sum().stack()\n", - "temp=var.unstack()\n", - "type(temp)\n", - "x_list = temp['Random']\n", - "label_list = temp.index\n", - "#The pie chart is oval by default. To make it a circle use plt.axis(\"equal\")\n", - "fig = plt.figure(figsize=(15,15))\n", - "plt.axis(\"equal\")\n", - "#To show the percentage of each pie slice, pass an output format to the autopctparameter \n", - "plt.pie(x_list,labels=label_list,autopct=\"%1.1f%%\") \n", - "plt.title(\"Gender Distribution\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "ECqcRkf_L8Zs" - }, - "source": [ - "### Heat Map " - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "id": "blEQovsfL8Zs", - "outputId": "335559ff-90dd-420a-c8bd-6b43b0995af2" - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[[3.83956703e-01 1.56407904e-02]\n", - " [4.57091220e-01 3.08052492e-01]\n", - " [1.34093019e-01 6.67076030e-04]\n", - " [9.07606873e-01 8.93606893e-01]\n", - " [4.75673472e-01 3.20188565e-01]\n", - " [9.59475447e-01 9.09254577e-01]\n", - " [7.23793269e-01 4.40051873e-02]\n", - " [4.29637529e-01 1.32640987e-01]]\n" - ] + "output_type": "execute_result" } ], "source": [ - "#Generate a random number, you can refer your data values also\n", - "data = np.random.rand(8,2)\n", - "rows = list('12345678') #rows categories\n", - "columns = list('MF') #column categories\n", - "\n", - "fig,ax=plt.subplots(figsize=(15,15))\n", - "#Advance color controls\n", - "ax.pcolor(data,cmap=plt.cm.Reds,edgecolors='k')\n", - "# Here we position the tick labels for x and y axis\n", - "ax.set_xticks(np.arange(0,2)+0.5)\n", - "ax.set_yticks(np.arange(0,8)+0.5)\n", - "ax.xaxis.tick_top()\n", - "ax.yaxis.tick_left()\n", - "#Values against each labels\n", - "ax.set_xticklabels(columns,minor=False,fontsize=20)\n", - "ax.set_yticklabels(rows,minor=False,fontsize=20)\n", - "plt.show()\n", - "print(data)" + "var = dfvote.groupby(['Gender']).mean().stack()\n", + "var" ] }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "id": "MMk2csgYL8ZR", - "outputId": "7cc4f62c-efbd-4fc2-a36b-e16aef80aed9" - }, + "execution_count": 78, + "metadata": {}, "outputs": [ { "data": { @@ -1075,131 +1326,101 @@ " \n", " \n", " \n", - " Gender\n", " Age\n", " Salary before Stern\n", " Expected salary\n", - " Candidate\n", - " \n", - " \n", - " \n", - " \n", - " 6\n", - " Female\n", - " 24\n", - " 55000\n", - " 100000\n", - " Bush\n", " \n", " \n", - " 10\n", - " Female\n", - " 24\n", - " 59000\n", - " 90000\n", - " Bush\n", - " \n", - " \n", - " 16\n", - " Male\n", - " 25\n", - " 60000\n", - " 150000\n", - " Gore\n", - " \n", - " \n", - " 37\n", - " Male\n", - " 25\n", - " 125000\n", - " 135000\n", - " Refuse to answer\n", - " \n", - " \n", - " 14\n", - " Male\n", - " 25\n", - " 80000\n", - " 100000\n", - " Bush\n", - " \n", - " \n", - " 15\n", - " Male\n", - " 25\n", - " 45000\n", - " 100000\n", - " Gore\n", - " \n", - " \n", - " 39\n", - " Male\n", - " 25\n", - " 5000\n", - " 100000\n", - " Refuse to answer\n", - " \n", - " \n", - " 33\n", - " Male\n", - " 25\n", - " 40000\n", - " 90000\n", - " Refuse to answer\n", + " Gender\n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " 23\n", - " Female\n", - " 25\n", - " 45000\n", - " 85000\n", - " Gore\n", + " Female\n", + " 26.142857\n", + " 61500.000000\n", + " 99642.857143\n", " \n", " \n", - " 30\n", - " Female\n", - " 25\n", - " 49000\n", - " 85000\n", - " Gore\n", + " Male\n", + " 27.617647\n", + " 73705.882353\n", + " 113088.235294\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Gender Age Salary before Stern Expected salary Candidate\n", - "6 Female 24 55000 100000 Bush\n", - "10 Female 24 59000 90000 Bush\n", - "16 Male 25 60000 150000 Gore\n", - "37 Male 25 125000 135000 Refuse to answer\n", - "14 Male 25 80000 100000 Bush\n", - "15 Male 25 45000 100000 Gore\n", - "39 Male 25 5000 100000 Refuse to answer\n", - "33 Male 25 40000 90000 Refuse to answer\n", - "23 Female 25 45000 85000 Gore\n", - "30 Female 25 49000 85000 Gore" + " Age Salary before Stern Expected salary\n", + "Gender \n", + "Female 26.142857 61500.000000 99642.857143\n", + "Male 27.617647 73705.882353 113088.235294" ] }, - "execution_count": 11, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dfvote.sort_values(by=['Age','Expected salary'], ascending=[True, False])[0:10]" + "temp = var.unstack()\n", + "temp" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": { + "id": "ynojR8K_L8Zp", + "outputId": "ce5c8e29-61ce-4965-9252-635a9440e10b" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_list = temp['Age']\n", + "label_list = temp.index\n", + "\n", + "#The pie chart is oval by default. To make it a circle use plt.axis(\"equal\")\n", + "fig = plt.figure(figsize=(8,8))\n", + "plt.axis(\"equal\")\n", + "\n", + "#To show the percentage of each pie slice, pass an output format to the autopctparameter \n", + "plt.pie(x_list,labels=label_list,autopct=\"%1.1f%%\") \n", + "plt.title(\"Gender Distribution\")\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Second Case Study: Melbourne House Prices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### A Case Study" + "#### Reading Dataframe from CSV" ] }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 89, "metadata": {}, "outputs": [ { @@ -1346,19 +1567,19 @@ "4 Moonee Valley City Council " ] }, - "execution_count": 40, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df = pd.read_csv('../Data/MELBOURNE_HOUSE_PRICES_LESS.csv')\n", + "df = pd.read_csv('../Data/CSV/MELBOURNE_HOUSE_PRICES_LESS.csv')\n", "df.head()" ] }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 90, "metadata": {}, "outputs": [ { @@ -1407,7 +1628,7 @@ " 566000.0\n", " S\n", " Raine\n", - " 2018-03-31\n", + " 31/03/2018\n", " 3064\n", " Northern Metropolitan\n", " 5833\n", @@ -1423,7 +1644,7 @@ " 500000.0\n", " S\n", " Raine\n", - " 2018-03-31\n", + " 31/03/2018\n", " 3064\n", " Northern Metropolitan\n", " 5833\n", @@ -1439,7 +1660,7 @@ " 545000.0\n", " S\n", " Raine\n", - " 2018-03-31\n", + " 31/03/2018\n", " 3064\n", " Northern Metropolitan\n", " 5833\n", @@ -1455,7 +1676,7 @@ " NaN\n", " PI\n", " Barry\n", - " 2018-03-31\n", + " 31/03/2018\n", " 3074\n", " Northern Metropolitan\n", " 7955\n", @@ -1471,7 +1692,7 @@ " NaN\n", " SP\n", " Aussie\n", - " 2018-03-31\n", + " 31/03/2018\n", " 3027\n", " Western Metropolitan\n", " 1999\n", @@ -1490,12 +1711,12 @@ "63021 Thomastown 3/1 Travers St 3 u NaN PI Barry \n", "63022 Williams Landing 1 Diadem Wy 4 h NaN SP Aussie \n", "\n", - " Date Postcode Regionname Propertycount Distance \\\n", - "63018 2018-03-31 3064 Northern Metropolitan 5833 20.6 \n", - "63019 2018-03-31 3064 Northern Metropolitan 5833 20.6 \n", - "63020 2018-03-31 3064 Northern Metropolitan 5833 20.6 \n", - "63021 2018-03-31 3074 Northern Metropolitan 7955 15.3 \n", - "63022 2018-03-31 3027 Western Metropolitan 1999 17.6 \n", + " Date Postcode Regionname Propertycount Distance \\\n", + "63018 31/03/2018 3064 Northern Metropolitan 5833 20.6 \n", + "63019 31/03/2018 3064 Northern Metropolitan 5833 20.6 \n", + "63020 31/03/2018 3064 Northern Metropolitan 5833 20.6 \n", + "63021 31/03/2018 3074 Northern Metropolitan 7955 15.3 \n", + "63022 31/03/2018 3027 Western Metropolitan 1999 17.6 \n", "\n", " CouncilArea \n", "63018 Hume City Council \n", @@ -1505,7 +1726,7 @@ "63022 Wyndham City Council " ] }, - "execution_count": 63, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -1516,7 +1737,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 91, "metadata": {}, "outputs": [ { @@ -1526,19 +1747,21 @@ "\n", "RangeIndex: 63023 entries, 0 to 63022\n", "Data columns (total 13 columns):\n", - "Suburb 63023 non-null object\n", - "Address 63023 non-null object\n", - "Rooms 63023 non-null int64\n", - "Type 63023 non-null object\n", - "Price 48433 non-null float64\n", - "Method 63023 non-null object\n", - "SellerG 63023 non-null object\n", - "Date 63023 non-null object\n", - "Postcode 63023 non-null int64\n", - "Regionname 63023 non-null object\n", - "Propertycount 63023 non-null int64\n", - "Distance 63023 non-null float64\n", - "CouncilArea 63023 non-null object\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Suburb 63023 non-null object \n", + " 1 Address 63023 non-null object \n", + " 2 Rooms 63023 non-null int64 \n", + " 3 Type 63023 non-null object \n", + " 4 Price 48433 non-null float64\n", + " 5 Method 63023 non-null object \n", + " 6 SellerG 63023 non-null object \n", + " 7 Date 63023 non-null object \n", + " 8 Postcode 63023 non-null int64 \n", + " 9 Regionname 63023 non-null object \n", + " 10 Propertycount 63023 non-null int64 \n", + " 11 Distance 63023 non-null float64\n", + " 12 CouncilArea 63023 non-null object \n", "dtypes: float64(2), int64(3), object(8)\n", "memory usage: 6.3+ MB\n" ] @@ -1550,7 +1773,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 92, "metadata": {}, "outputs": [], "source": [ @@ -1561,7 +1784,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 93, "metadata": {}, "outputs": [ { @@ -1571,19 +1794,21 @@ "\n", "RangeIndex: 63023 entries, 0 to 63022\n", "Data columns (total 13 columns):\n", - "Suburb 63023 non-null object\n", - "Address 63023 non-null object\n", - "Rooms 63023 non-null int64\n", - "Type 63023 non-null category\n", - "Price 48433 non-null float64\n", - "Method 63023 non-null category\n", - "SellerG 63023 non-null object\n", - "Date 63023 non-null datetime64[ns]\n", - "Postcode 63023 non-null int64\n", - "Regionname 63023 non-null object\n", - "Propertycount 63023 non-null int64\n", - "Distance 63023 non-null float64\n", - "CouncilArea 63023 non-null object\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Suburb 63023 non-null object \n", + " 1 Address 63023 non-null object \n", + " 2 Rooms 63023 non-null int64 \n", + " 3 Type 63023 non-null category \n", + " 4 Price 48433 non-null float64 \n", + " 5 Method 63023 non-null category \n", + " 6 SellerG 63023 non-null object \n", + " 7 Date 63023 non-null datetime64[ns]\n", + " 8 Postcode 63023 non-null int64 \n", + " 9 Regionname 63023 non-null object \n", + " 10 Propertycount 63023 non-null int64 \n", + " 11 Distance 63023 non-null float64 \n", + " 12 CouncilArea 63023 non-null object \n", "dtypes: category(2), datetime64[ns](1), float64(2), int64(3), object(5)\n", "memory usage: 5.4+ MB\n" ] @@ -1595,17 +1820,17 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[h, t, u]\n", - "Categories (3, object): [h, t, u]" + "['h', 't', 'u']\n", + "Categories (3, object): ['h', 't', 'u']" ] }, - "execution_count": 61, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -1616,7 +1841,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 95, "metadata": {}, "outputs": [ { @@ -1628,7 +1853,7 @@ "Name: Type, dtype: int64" ] }, - "execution_count": 62, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } @@ -1639,7 +1864,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 96, "metadata": {}, "outputs": [ { @@ -1657,7 +1882,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -1675,7 +1900,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 98, "metadata": {}, "outputs": [ { @@ -1693,7 +1918,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 99, "metadata": {}, "outputs": [ { @@ -1805,7 +2030,7 @@ "max 31.000000 1.120000e+07 3980.000000 21650.000000 64.100000" ] }, - "execution_count": 52, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -1816,12 +2041,20 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 118, "metadata": {}, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/rsouza/.local/lib/python3.8/site-packages/seaborn/_core.py:1319: UserWarning: Vertical orientation ignored with only `x` specified.\n", + " warnings.warn(single_var_warning.format(\"Vertical\", \"x\"))\n" + ] + }, { "data": { - "image/png": "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urxEP23atLS1taWrqytJ0tXVlba2tiPer2tvb88jjzySoaGhHDx4MI8++mh+8zd/sx4TgRosWbJkzDNQnbo9Rb969eqsW7cuCxcuzLp167JmzZokyfLly7N169Ykycc+9rFMmzYtf/iHf5jLLrssv/7rv57LL7+8XhOBt2nDhg0jvk1uw4YNFS8ChjUMFfIU2/BLFV6ih/q58sor8/rrrx86n3766fn3f//3ChfBqeOtuueT7ICazZkzJ83NbzzK09zcnLlz51a8CBgm8EDNOjo6RrxE39HRUfEiYJjAAzVraWnJhAkTkrzxMbVTp06teBEw7G0F/jvf+U6uv/76fOYzn0nyxkfLfu973zshw4Dxb/v27enr60uSvPrqq9mxY0fFi4BhRx34f/3Xf83q1atz3nnn5b//+7+TvPFFE1/60pdO2DhgfPviF7845hmozlEH/vbbb8/Xv/71XH311WlsfOMvmzVrlv9ih1PYc889N+K8c+fOipYAox114Pv6+g598tzwQzX9/f057bTTTswyYNw744wzRpzf8Y53VLQEGO2oA/97v/d7ueWWW0b87I477sj73ve+4z4KODn09/ePOB88eLCiJcBoRx34v/7rv85DDz2UefPmpa+vLwsXLsyGDRuyYsWKE7kPGMemT58+4jxjxoyKlgCjHfWXzUyfPj333HNPtm7dmhdeeCGtra256KKLDr0fD5x6du/ePeK8a9euipYAox114H/84x9nypQpueiii3LRRRcleeO7n3/605/6Qhg4RTU3N2f//v2Hzp7JgfHjqG+/r7322jd9v+3aa6897qOAk8Pwn4Ef9uqrr1a0BBjtqAP/4osv5pxzzhnxs3PPPTcvvPDCcR8FnBw8RQ/j11EHfubMmXniiSdG/OyJJ5444iEb4NQxMDAw4jz6VT6gOkf9HvwnP/nJXHPNNfn0pz+dc889Nzt37sxtt9126GNrgVPPhRdeeOiTLZMcej4HqN5RB/7KK6/M5MmTc/fdd+ell17KzJkz84UvfCGLFi06kfuAcezxxx8f8wxU56gDnyQf/ehH89GPfvREbQFOMoc/QZ8k+/btq2gJMNqYgb/33ntz2WWXJUnuvvvuX3rd5ZdffnxXAQDHZMzAf/Ob3zwU+Pvuu+9Nr2loaBB4OEW1tLSkt7f30HnatGkVrgEON2bgb7311iTJ0NBQ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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcwAAAK/CAYAAADkhf10AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAcNUlEQVR4nO3deYyV5fn44fsMwyZgwKUIBSyYQkVjq9CaanFhUaGAqSLSxWhNQWsTkwpKXb/ugsWkNQG1S9RaE4Ibxo0WRIs2aluLEmLVKhRoQa2AKFiWmXl/fxjOb4b1ZpszI9eVkMw573ve5/aJnM+cWTiloiiKAAB2qKrSAwBAcyCYAJAgmACQIJgAkCCYAJBQvb0DdXV1sW7dumjZsmWUSqXGnAkAKqIoiti0aVO0a9cuqqoavqbcbjDXrVsXb7/99j4fDgCamt69e0eHDh0a3LfdYLZs2bL8oFatWu32ogsXLoyjjz56tx+/P7BHO2ePds4e7Zw92rn9fY82btwYb7/9drmB9W03mJu/DNuqVato3br1Hg2wp4/fH9ijnbNHO2ePds4e7Zw9im1+K9IP/QBAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAQnWlB9hdv/71r2PRokXbPb569eqIiOjUqdMuX7tXr14xduzY3Z4NgM+fZhvMRYsWxcI33ooWbTpu83jt+o8iIuK91Rt36bqbHwcA9TXbYEZEtGjTMQ44fNA2j3265NmIiO0e357NjwOA+nwPEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEhotmHPnzo25c+c21nLNmr0CaHqqG2uh2bNnR0TEwIEDG2vJZsteATQ9viQLAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJggkACYIJAAmCCQAJ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JAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQIJgAkCCYAJFQ31kJDhgxprKWaPXsF0PQ0WjAHDhzYWEs1e/YKoOnxJVkASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASKiu9AB7onb9R/Hpkme3eywitnt8R9eM6LxngwHwudNsg9mrV68dHl+9ulVERHTq1GkXr9x5p9cGYP/TbIM5duzYSo8AwH7E9zABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASChensHiqKIiIiNGzfu8SIbNmzY42t83tmjnbNHO2ePds4e7dz+vEebm7e5gfWVim3dGxGffPJJvP322/t2MgBognr37h0dOnRocN92g1lXVxfr1q2Lli1bRqlUapQBAaCSiqKITZs2Rbt27aKqquF3LbcbTADg//NDPwCQIJgAkCCYAJAgmACQIJgAkCCYAJAgmACQsFeCuXjx4jj33HPj9NNPj3PPPTf+9a9/bXVObW1t3HDDDTF48OAYMmRIPPTQQ3tj6WYls09Tp06Nb3/72zFixIg466yz4oUXXmj8QSsos0ebLVq0KL761a/G5MmTG2/AJiC7R08//XSMGDEihg8fHiNGjIgPP/ywcQetoMwerVy5MsaNGxcjRoyIoUOHxvXXXx81NTWNP2wFTJ48OQYOHBh9+vTZ7r/o5jl7G4q94LzzzitmzpxZFEVRzJw5szjvvPO2Ouexxx4rLrzwwqK2trZYuXJlMWDAgGLZsmV7Y/lmI7NP8+bNKz799NOiKIriH//4R9GvX7/if//7X6POWUmZPSqKoqipqSl+8IMfFJdddlkxadKkxhyx4jJ7tGDBgmLo0KHFBx98UBRFUXz88cfF+vXrG3XOSsrs0c0331z+f2fjxo3FqFGjiqeeeqpR56yUv/71r8Xy5cuLU089tXjrrbe2eY7n7K3t8SvMlStXxhtvvBHDhw+PiIjhw4fHG2+8EatWrWpw3tNPPx3nnHNOVFVVxUEHHRSDBw+OWbNm7enyzUZ2nwYMGBBt27aNiIg+ffpEURTx0UcfNfa4FZHdo4iIX/3qV3HKKafEl770pUaesrKye3TffffFhRdeGIceemhERHTo0CFat27d6PNWQnaPSqVSrFu3Lurq6mLjxo2xadOm6Ny5cyVGbnT9+/ePLl267PCc/f05e1v2OJgrVqyIzp07R4sWLSIiokWLFvGFL3whVqxYsdV5Xbt2Ld/u0qVLvPfee3u6fLOR3af6Zs6cGT169IjDDjusscasqOwevfnmm/Hiiy/GBRdcUIEpKyu7R++++24sW7Ysvv/978d3vvOdmDZt2jbffeHzKLtHl1xySSxevDi+9a1vlf/069evEiM3Sfv7c/a2+KGfJuovf/lL/PKXv4w77rij0qM0KZs2bYprr702brjhhvITIlurra2Nt956K+6999544IEHYt68efH4449XeqwmZdasWdGnT5948cUXY968efG3v/1tv38FxY7tcTC7dOkS77//ftTW1kbEZ39RP/jgg61e7nfp0iWWL19evr1ixYr95pVTRH6fIiLmz58fl19+eUydOjV69erV2KNWTGaP/vvf/8bSpUtj3LhxMXDgwLj//vtjxowZce2111Zq7EaV/f+oa9euccYZZ0SrVq2iffv2MWjQoFiwYEElRm502T36/e9/HyNHjoyqqqro0KFDDBw4MF555ZVKjNwk7e/P2duyx8E8+OCD48gjj4wnn3wyIiKefPLJOPLII+Oggw5qcN4ZZ5wRDz30UNTV1cWqVatizpw5cfrpp+/p8s1Gdp8WLFgQP/3pT+POO++Mo446qhKjVkxmj7p27RqvvPJKzJ07N+bOnRvnn39+jB49Om666aZKjd2osv8fDR8+PF588cXyWxW9/PLL8ZWvfKUSIze67B5169Yt5s2bFxGfvWnwSy+9FF/+8pcbfd6man9/zt6mvfGTQ++8804xatSo4rTTTitGjRpVvPvuu0VRFMWPfvSjYsGCBUVRfPZTjdddd10xaNCgYtCgQcX06dP3xtLNSmafzjrrrOL4448vRo4cWf7z5ptvVnLsRpXZo/ruvPPO/e6nZDN7VFtbW9x6663FGWecUQwbNqy49dZbi9ra2kqO3agye7RkyZLiggsuKIYPH14MHTq0uP7664tNmzZVcuxGc9NNNxUDBgwojjzyyOKEE04ohg0bVhSF5+yd8X6YAJDgh34AIEEwASBBMAEgQTABIKG60gMAwJ6YPHly/OEPf4j//Oc/8cQTT0Tv3r13eP7f//73uOGGG8q3V65cGYceemg89thjO3ycV5jQhBx77LGxbNmySo8BzcqgQYPiwQcfjC9+8Yup84877rh4/PHHy3+OOeaY8r89vCNeYcI+NnDgwPjwww+jRYsW0bZt2zjppJPi2muvjXbt2m117vz58yswITRv/fv33+b9r7/+ekyZMiXWrVsXERGXXnppnHLKKQ3OWblyZfz5z3+OG2+8cafreIUJjeDuu++O+fPnx2OPPRYLFy6Mu+66q8Hx/eV9GKGxfPzxx/F///d/cccdd8Sjjz4ad999d1x33XXx8ccfNzhv5syZceKJJ8Yhhxyy02sKJjSizp07x4ABA+Kf//xn9OnTJx588ME47bTT4rTTTouIz97SbcmSJRERsX79+pg0aVKceuqp0a9fv/jud78b69evj4iI1157LcaMGRP9+/ePkSNH+jdQYQvz58+Pf//73zF27Ng488wzY+zYsVEqlcp/vzZ79NFH4+yzz05d05dkoRGtWLEi5s2bF0OGDInnn38+5syZEzNmzIg2bdpsde7kyZPjnXfeienTp8chhxwSr7/+elRVVcX7778fF110Udx+++0xYMCAeOmll+LSSy+NZ555Zqt/LxX2V0VRlD8p3Z7XXnst1qxZEyeffHLqml5hQiP4yU9+Ev3794/vfe978fWvfz0uvvjiiIgYN25cdOzYcatg1tXVxSOPPBJXX311+b0djzvuuGjVqlU8/vjjcdJJJ8XJJ58cVVVVceKJJ8bRRx8df/rTnyrxnwZN0rHHHhtLliyJl19+uXzfggULGrwv7COPPBIjR46M6urca0evMKERTJ06NU444YSt7t/eu96vXr06NmzYEN27d9/q2PLly2PWrFnx3HPPle+rqamJ448/fu8NDM3IzTffHH/84x/jww8/jB/+8IfRsWPHeOqpp2LatGnx85//PG699dbYtGlTdO/ePe6+++4olUqxfv36ePrpp2PGjBnpdQQTKqhUKm3z/k6dOkXr1q1j2bJlW70tV5cuXeLMM8+Mm2++uTFGhCbvmmuuiWuuuWar+4855ph44IEHtvmYNm3axKuvvrpL6/iSLDRBVVVVcfbZZ8dtt91WfjPk+fPnx8aNG2PkyJHx3HPPxQsvvBC1tbWxYcOGeOWVV+K9996r9NjwuSaY0ERNnDgxevfuHaNGjYpvfOMbMWXKlKirq4suXbrEtGnT4p577olvfvObcfLJJ8dvf/vbqKurq/TI8Lnm/TABIMErTABIEEwASBBMAEgQTABIEEwASBBMAEgQTABIEEwASBBMAEj4fxyPKcgHHsH4AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -1831,24 +2064,19 @@ } ], "source": [ - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "%matplotlib inline\n", - "\n", "sns.set(style=\"whitegrid\")\n", - "\n", "plt.figure(figsize=(8,12))\n", "ax = sns.boxplot(x='Price', data=df, orient=\"v\")" ] }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 101, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAAJdCAYAAAD5pVvjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3df5DVdb348dfZXUFEyz3Ej0Uxw3vzomS3i9ZU/lh+BRXcpTLZwZtYE07ZvXeme8crdrsCXSehun+Y/ZqcW2k0sw16r8TmoPzUMq3GLMEtrQuK6QLGAQ1Q4Oye7x983emgIu6+93w45zweM83wXj+6r2WWeO77vM/nkyuVSqUAAAAGrCHrAQAAoFaIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgESash4gtWXLlsXdd98dTz/9dKxatSre+ta3HvX6X/3qV7FkyZK+9a5du2LkyJHxv//7v4M9KgAANabm4nrq1KlxxRVXxOWXX35M1//d3/1drFy5sm999dVXx6RJkwZrPAAAaljNHQs5//zzo6Wl5WUf/81vfhMf+9jH4sMf/nB8+MMfjo0bN77sml27dsX9998fbW1tFZgUAIBaU3M716/k+eefj0WLFsW3v/3tGDVqVOzcuTMuvfTS6OzsjDe84Q191915553x3ve+N970pjdlOC0AANWqLuL64Ycfjj/+8Y+xYMGCvo/lcrl48skn421ve1vfx/7nf/4n/uVf/iWLEQEAqAF1EdelUinOPvvs+MEPfvCq1/z617+OPXv2xCWXXFLByQAAqCU1d+b6lbzjHe+IJ598Mh588MG+jz3yyCNRKpX61nfccUe0tbVFU1Nd/LwBAMAgyJX+sjBrwA033BD33HNP/OlPf4rm5uY49dRT48c//nE88sgj8eUvfzmee+65OHToUIwbNy6+9a1vRUNDQ7z44otx4YUXxg9/+MM466yzsv4SAACoUjUX1wAAkJW6OBYCAACVUDMHjHt7e2Pfvn1xwgknRC6Xy3ocAABqVKlUikOHDsXw4cOjoaF8r7pm4nrfvn3x+OOPZz0GAAB14q1vfWuccsopZR+rmbg+4YQTIuLwFzlkyJCMpwEAoFYdPHgwHn/88b7+/Es1E9cvHQUZMmRIDB06NONpAACoda90FNkbGgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXHNcaFQKMTChQtj9+7dWY8CANBv4prjQkdHR3R1dUVHR0fWowAA9Ju4JnOFQiHWrVsXpVIp1q5da/caAKha4prMdXR0RG9vb0RE9Pb22r0GAKqWuCZzGzdujGKxGBERxWIxNmzYkPFEAAD9I67JXGtrazQ1NUVERFNTU0yePDnjiQAA+kdck7n29vZoaDj8rdjQ0BDt7e0ZTwQA0D/imszl8/mYOnVq5HK5mDZtWjQ3N2c9EgBAvzRlPQBEHN693rZtm11rAKCqiWuOC/l8PpYuXZr1GAAAA+JYCAAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASKQicb1s2bKYMmVKnH322fH444+/4jU9PT2xZMmSmDZtWkyfPj1WrFhRidEAACCZisT11KlT4wc/+EGcdtppr3rNqlWrYtu2bXHPPffED3/4w7j55pvjj3/8YyXGAwCAJCoS1+eff360tLQc9Zq77rorPvrRj0ZDQ0Pk8/mYNm1arF69uhLjAQBAEsfNmevu7u4YO3Zs37qlpSW2b9+e4UQAAPD6NGU9QGqbN2/OegQAAOrUcRPXLS0t8cwzz8R5550XES/fyT5WEydOjKFDh6YeDwAAIiLiwIEDr7qhe9wcC5k5c2asWLEient7o1AoxNq1a2PGjBlZjwUAAMesInF9ww03xMUXXxzbt2+Pj3/84/HBD34wIiIWLFgQmzZtioiItra2OP300+N973tfXHbZZfGZz3wmxo0bV4nxAAAgiVypVCplPUQKL23POxYCAMBgOlp3HjfHQgAAoNqJawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLimuNCoVCIhQsXxu7du7MeBQCg38Q1x4WOjo7o6uqKjo6OrEcBAOg3cU3mCoVCrFu3LkqlUqxdu9buNQBQtcQ1mevo6Ije3t6IiOjt7bV7DQBULXFN5jZu3BjFYjEiIorFYmzYsCHjiQAA+kdck7nW1tZoamqKiIimpqaYPHlyxhMBAPSPuCZz7e3t0dBw+FuxoaEh2tvbM54IAKB/xDWZy+fzMXXq1MjlcjFt2rRobm7OeiQAgH5pynoAiDi8e71t2za71gBAVRPXHBfy+XwsXbo06zEAAAbEsRAAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABKpWFxv3bo15s6dGzNmzIi5c+fGE0888bJrdu3aFVdddVXMnj07Zs6cGYsXL45isVipEclQoVCIhQsXxu7du7MeBQCg3yoW14sWLYp58+bF3XffHfPmzYvrr7/+Zdd861vfirPOOitWrVoVq1atikcffTTuueeeSo1Ihjo6OqKrqys6OjqyHgUAoN8qEte7du2Krq6umDVrVkREzJo1K7q6uqJQKJRdl8vlYt++fdHb2xsHDx6MQ4cOxejRoysxIhkqFAqxbt26KJVKsXbtWrvXAEDVqkhcd3d3x+jRo6OxsTEiIhobG2PUqFHR3d1ddt3VV18dW7dujQsvvLDvf5MmTarEiGSoo6Mjent7IyKit7fX7jUAULWash7gL61evTrOPvvsuPXWW2Pfvn2xYMGCWL16dcycOfOY/xubN28exAkZDOvXr+87W18sFmPdunXxzne+M+OpAABev4rEdUtLS+zYsSN6enqisbExenp6YufOndHS0lJ23fLly+OLX/xiNDQ0xCmnnBJTpkyJn//8568rridOnBhDhw5N/SUwiKZMmRJr1qyJYrEYTU1NMXXqVK9YAADHrQMHDrzqhm5FjoWMGDEiJkyYEJ2dnRER0dnZGRMmTIh8Pl923emnnx733XdfREQcPHgwHnjggfjrv/7rSoxIhtrb26Oh4fC3YkNDQ7S3t2c8EQBA/1TsbiGLFy+O5cuXx4wZM2L58uWxZMmSiIhYsGBBbNq0KSIiPve5z8VDDz0Us2fPjjlz5sSZZ54Zl112WaVGJCP5fD6mTp0auVwupk2bFs3NzVmPBADQL7lSqVTKeogUXtqedyykOhUKhfjSl74U1157rbgGAI5rR+vO4+oNjdSvfD4fS5cuzXoMAIAB8fhzAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1x4VCoRALFy6M3bt3Zz0KAEC/iWuOCx0dHdHV1RUdHR1ZjwIA0G/imswVCoVYt25dlEqlWLt2rd1rAKBqiWsy19HREb29vRER0dvba/caAKha4prMbdy4MYrFYkREFIvF2LBhQ8YTAQD0j7gmc62trdHU1BQREU1NTTF58uSMJwIA6B9xTeba29ujoeHwt2JDQ0O0t7dnPBEAQP+IazKXz+dj6tSpkcvlYtq0adHc3Jz1SAAA/dKU9QAQcXj3etu2bXatAYCqJq45LuTz+Vi6dGnWYwAADIhjIQAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirjkuFAqFWLhwYezevTvrUQAA+k1cc1zo6OiIrq6u6OjoyHoUAIB+E9dkrlAoxLp166JUKsXatWvtXgMAVUtck7mOjo7o7e2NiIje3l671wBA1RLXZG7jxo1RLBYjIqJYLMaGDRsynggAoH/ENZlrbW2NpqamiIhoamqKyZMnZzwRAED/iGsy197eHg0Nh78VGxoaor29PeOJAAD6R1yTuXw+H1OnTo1cLhfTpk2L5ubmrEcCAOiXpqwHgIjDu9fbtm2zaw0AVDU71wAAkIi45rjgITIAQC0Q12TOQ2QAgFohrsmch8gAALVCXJM5D5EBAGqFuCZzra2tkcvlIiIil8t5iAwAULXENZmbOXNmlEqliIgolUoxc+bMjCcCAOgfcU3mVq9eXbZzvXr16ownAgDoH3FN5jZu3Fi2c+3MNQBQrcQ1mWttbY2GhsPfig0NDc5cAwBVS1yTufb29rJb8XkEOgBQrcQ1mduzZ89R1wAA1UJck7mvfOUrR10DAFQLcU3mnnrqqbL1tm3bMpoEACqjUCjEwoULY/fu3VmPQmLimsyNGzeubH3GGWdkNAkAVEZHR0d0dXVFR0dH1qOQmLgmcwsWLChbX3XVVRlNAgCDr1AoxLp166JUKsXatWvtXtcYcU3mHnjggbL1z372s4wmAYDB19HRUXaXLLvXtUVck7kjHxqzfv36jCYBgMG3cePGKBaLERFRLBY9PK3GiGsyN3LkyLL1qFGjMpoEAAZfa2trNDU1RUREU1OTh6fVGHFN5p599tmjrgGglrS3t5c9mdjD02qLuCZzkyZNOuoaAGpJPp+PqVOnRi6Xi2nTpkVzc3PWI5FQU9YDwB/+8IejrgGg1rS3t8e2bdvsWtcgcU3mduzYUbbevn17RpMAQGXk8/lYunRp1mMwCBwLIXO5XO6oawCAaiGuydz5559ftr7gggsymgQAYGDENZk75ZRTjroGAKgW4prMHflERk9oBACqlbgmc/l8/qhrAIBqIa7JnLuFAAC1QlwDAEAi4prMXXzxxWXr1tbWbAYBABggcU3mrrzyyrL1/PnzsxkEAGCAxDUAACQirsncrbfeetQ1AEC1ENdk7r777itb33vvvRlNAgAwMOKazJVKpaOuAQCqRcXieuvWrTF37tyYMWNGzJ07N5544olXvO6uu+6K2bNnx6xZs2L27Nnxpz/9qVIjkpHRo0eXrceMGZPRJAAAA9NUqU+0aNGimDdvXrS1tcXKlSvj+uuvj9tuu63smk2bNsXXvva1uPXWW2PkyJHx5z//OYYMGVKpEclIoVAoW+/atSujSQAABqYiO9e7du2Krq6umDVrVkREzJo1K7q6ul4WVd/73vfiE5/4RIwcOTIiIk455ZQYOnRoJUYkQ0c+7nzEiBEZTQIAMDAVievu7u4YPXp0NDY2RkREY2NjjBo1Krq7u8uu+7//+7946qmn4vLLL48PfehD8Y1vfMP52zpw5OPOj/y+AACoFhU7FnIsenp64rHHHovvfve7cfDgwfjkJz8ZY8eOjTlz5hzzf2Pz5s2DOCGV8tBDD2U9AgDA61aRuG5paYkdO3ZET09PNDY2Rk9PT+zcuTNaWlrKrhs7dmzMnDkzhgwZEkOGDImpU6fGI4888rrieuLEiY6SVJl3v/vdcf/99/et3/Oe98SkSZMynAgA4NUdOHDgVTd0K3IsZMSIETFhwoTo7OyMiIjOzs6YMGHCy87azpo1K376059GqVSKQ4cOxYMPPhh/8zd/U4kRydCRPwz54QgAqFYVuxXf4sWLY/ny5TFjxoxYvnx5LFmyJCIiFixYEJs2bYqIiA9+8IMxYsSI+MAHPhBz5syJv/qrv4pLL720UiOSkQceeKBs/bOf/SyjSQAABiZXqpF3DL60Pe9YSPX5xje+Effcc0/fsaEZM2bEpz/96azHAgB4RUfrzte1c33//ffH5z73ufjUpz4VEYfvS33kriO8Xu3t7dHT0xMREb29vdHe3p7xRAAA/XPMcf39738/Fi9eHGeeeWb88pe/jIiIE088MW666aZBG476sGfPnr5fl0qlsjUAQDU55ri+9dZb47vf/W5cddVV0dBw+F8bP358bN26ddCGoz585StfOeoaAKBaHHNc79u3r+/WeblcLiIiisVinHDCCYMzGXXjqaeeKltv27Yto0kAAAbmmOP6ggsuiG9/+9tlH7vtttviXe96V/KhqC8nnXRS2Xr48OEZTQIAMDDH/BCZz3/+8/GpT30qVqxYEfv27YsZM2bEySefHN/61rcGcz7qwIEDB8rWL774YkaTAAAMzDHH9ahRo+KOO+6ITZs2xdNPPx0tLS1x3nnn9Z2/BgCAenfMcf3b3/42Tj311DjvvPPivPPOi4iI7u7ueO655zxFkQEZMmRIvPDCC31r9ykHAKrVMW87X3PNNVEsFss+dujQobjmmmuSD0V9+cuwjojYv39/RpMAAAzMMcf1M888E+PGjSv72BlnnBFPP/108qGoL0e+gfHkk0/OaBIAgIE55rgeM2ZMPProo2Ufe/TRR2PUqFHJh6K+HDx4sGx95BscAQCqxTGfub7yyivj6quvjk9+8pNxxhlnxLZt2+I73/lO36PQob96e3vL1qVSKaNJAAAG5pjj+rLLLotTTjklbr/99ti+fXuMGTMmrr322pg5c+Zgzkcd6OnpKVsfebYfAKBaHHNcR0S8//3vj/e///2DNQsAAFS1o8b1nXfeGXPmzImIiNtvv/1Vr7v00kvTTkVdyeVyZUdBcrlchtMAAPTfUeP6xz/+cV9cr1y58hWvyeVy4poBEdcAQK04alzfcsstEXH4DWZf/OIXo6WlJZqaXtdJEnhNR76h8cg1AEC1OKZb8eVyuZg9e7ZHnQMAwFEccy1PmDAhtm7dOpizAABAVTvmMx7vfOc7Y8GCBfGhD30oxowZU3Yu1plrAAB4HXH9q1/9Kk477bT4xS9+UfZxb2gEAIDDXjOuX3jhhfjmN78Zw4cPj3POOSc+9alPxZAhQyoxGwAAVJXXPHP9hS98ITZs2BDjx4+Pe+65J5YtW1aJuagjJ510Utl6+PDhGU0CADAwrxnXP/nJT+K///u/49/+7d/illtuiQ0bNlRiLurIkbfeO/Jx6AAA1eI143r//v0xatSoiIhoaWmJvXv3DvpQ1Jf3vOc9Zev3vve9GU0CADAwr3nmuqenJx588MG+J+gVi8WydUTEu9/97sGbkJr3l99LAADVLFd6jbKZMmXK0f8DuVysW7cu6VD9ceDAgdi8eXNMnDgxhg4dmvU4vA6XXnppHDhwoG89dOjQuP322zOcCADg1R2tO19z53r9+vWDNhhEvPyMtTPXAEC18jxzMlcsFo+6BgCoFuIaAAASEdcAAJCIuCZzuVzuqGsAgGohrslcU1PTUdcAANVCXJO5U0899ahrAIBqIa7J3LPPPnvUNQBAtRDXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4prMNTQ0HHUNAFAtVAyZO/HEE8vWw4YNy2gSAICBEddkbv/+/WXrffv2ZTQJAMDAiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFyTucbGxrJ1U1NTRpMAAAyMuCZzPT09ZetisZjRJAAAAyOuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDWZy+VyR10DAFQLcQ0AAImIazJXKpWOugYAqBbiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAIlULK63bt0ac+fOjRkzZsTcuXPjiSeeeNVrt2zZEm9/+9tj2bJllRoPAAAGrGJxvWjRopg3b17cfffdMW/evLj++utf8bqenp5YtGhRTJs2rVKjAQBAEhWJ6127dkVXV1fMmjUrIiJmzZoVXV1dUSgUXnbtt7/97WhtbY0zzzyzEqMBAEAyFYnr7u7uGD16dDQ2NkZERGNjY4waNSq6u7vLrvvd734XP/3pT+PKK6+sxFgAAJkoFAqxcOHC2L17d9ajkFhT1gO85NChQ/Ef//EfceONN/ZFeH9s3rw54VRk5aGHHsp6BAAYNJ2dndHV1RVf/epX+17ZpzZUJK5bWlpix44d0dPTE42NjdHT0xM7d+6MlpaWvmueffbZ2LZtW1x11VUREfH8889HqVSKvXv3xn/+538e8+eaOHFiDB06NPnXQGVNmjQp6xEAYFAUCoV45JFHolQqxSOPPBL//M//HM3NzVmPxetw4MCBV93QrUhcjxgxIiZMmBCdnZ3R1tYWnZ2dMWHChMjn833XjB07Nn7+85/3rW+++ebYv39/XHvttZUYEQCgIjo6OqK3tzciInp7e6OjoyM+/elPZzwVqVTsbiGLFy+O5cuXx4wZM2L58uWxZMmSiIhYsGBBbNq0qVJjAABkauPGjVEsFiMiolgsxoYNGzKeiJQqdub6rLPOihUrVrzs47fccssrXv9P//RPgz0SQN0rFArxpS99Ka699lovS0OFtLa2xpo1a6JYLEZTU1NMnjw565FIyBMaAepYR0dHdHV1RUdHR9ajQN1ob2+PhobDCdbQ0BDt7e0ZT0RK4hqgThUKhVi3bl2USqVYu3atW4JBheTz+Zg6dWrkcrmYNm2aV41qjLgGqFOv9KYqoDJmzpwZw4YNi5kzZ2Y9ComJa4A65U1VkJ3Vq1fHCy+8EKtXr856FBIT1wB1qrW1NZqaDr+v3ZuqoHIcyapt4hqgTnlTFWTDkazaJq4B6pQ3VUE2HMmqbeIaoI61t7fHOeecY9caKsiRrNomrgHqWD6fj6VLl9q1hgpqb28vOxbih9vaIq4BACrsL+Oa2iKuAQAq6Hvf+17Z+tZbb81mEAaFuAYAqKD77ruvbL1x48ZsBmFQiGsAgArK5XJHXVPdxDUAQAVdfPHFZetLLrkko0kYDOIaoI4VCoVYuHChJ8RBBc2fP7/sAU7z58/PeCJSEtcAdayjoyO6uro8IQ4qKJ/PR2tra0RETJ482a0wa4y4BqhThUIh1q1bF6VSKdauXWv3Gipo/vz5ce6559q1rkHiGqBOdXR0lN1r1+41VI4HONUucQ1QpzZu3BjFYjEiIorFYmzYsCHjiQCqn7gGqFOtra3R1NQUERFNTU0xefLkjCcCqH7iGqBOtbe3l92xoL29PeOJAKqfuAaoU/l8PqZOnRq5XC6mTZvm7CdAAuIaoI61t7fHOeecY9caKsw95muXuAYAqDD3mK9d4hqgjvkLHirPPeZrm7gGqFP+godsuMd8bRPXAHXKX/CQDfeYr23iGqBO+QsestHa2hq5XC4iInK5nHvM1xhxDVCnPEQGsjFz5swolUoREVEqlWLmzJkZT0RK4hqgTrW3t5cdC3E7PqiM1atXl+1cr169OuOJSElcA9Sxv4xroDI2btxYtnPtSFZtEdcAderWW2896hoYHI5k1TZxDVCn7rvvvrL1vffem9EkUF/a29ujoeFwgjU0NDiSVWPENUCdeull6VdbA4Mjn8/HhRdeGBERF110UTQ3N2c8ESmJa4A6dfHFF5etW1tbsxkE6pAfZmuXuAaoU1deeWXZS9Pz58/PeCKoD4VCIe6///6IiPjJT37i6ag1RlwD1Kl8Ph+XXHJJRERMnjzZS9NQIZ6OWtvENUAdu/LKK+Pcc8+1aw0V5OmotU1cA9SxfD4fS5cutWsNFeRWfLVNXAPUsYcffjja2triN7/5TdajQN1ob28ve0KjW/HVFnENUMeWLVsWvb29sXTp0qxHgbqRz+djzJgxERHR0tLilaMaI64B6tTDDz8c+/bti4iIvXv32r2GCikUCrF9+/aIiOju7na3kBojrgHq1LJly8rWdq+hMjo6OuLQoUMREXHo0CF3C6kx4hqgTr20a/2SvXv3ZjQJ1Jcj7w7ibiG1RVwD1Knhw4eXrU8++eSMJoH6ks/nj7qmuolrgDp17bXXlq0XLlyY0SRQX146b/1qa6qbuAaoU29+85vL1meccUZGk0B9KZVKZeuXntZIbRDXAHXqyDdReVMVVMaRcX3kmuomrgHq1JFvolq/fn1GkwDUDnENUKdGjhxZth41alRGk0B9aWxsPOqa6iauAerUs88+W7beuXNnRpNAfbnkkkvK1q2trdkMwqAQ1wB1ys41ZKOtre2oa6qbuAaoU3auIRsrV6486prqJq4B6tSkSZPK1ueff35Gk0B9ue+++8rW9957b0aTMBjENUCd+sMf/nDUNTA43IqvtolrgDq1Y8eOsrWnxEFlvOlNbypbH/n+B6qbuAaoU7lc7qhrYHD86U9/Klsf+f4Hqpu4BqhTb3zjG8vWp556akaTQH3xg21tE9cAdWrPnj1l6927d2c0CdSXiy++uGx95H2vqW7iGgCggubPnx8NDYcTrKGhIebPn5/xRKQkrgEAKiifz8eYMWMiIqKlpSWam5sznoiUxDUAQAUVCoW+NzHu3LnTkawaI64BACqoo6Mjent7IyKit7c3Ojo6Mp6IlMQ1AEAFbdy4MSWZc+8AAA8ySURBVHp6eiIioqenJzZs2JDxRKQkrgEAKmjixIll67e97W0ZTcJgENcAABW0efPmo66pbuIaoE41NjYedQ0MjhdeeKFsvX///owmYTCIa4A6NXbs2LL1aaedltEkUF+GDx9etj755JMzmoTB0JT1AKS3fv36WLNmTdZjDMh1112X9Qivafr06TFlypSsx4B+27FjR9l6+/btGU0C9eWKK66Ib37zm31rD5GpLXauAerUS3creMlLtwYDBldnZ2fZetWqVRlNwmCwc12DpkyZUlU7qrNnz37Zx2688cYMJoH6cmRcF4vFjCaB+vLUU0+Vrbdt25bRJAwGO9dk7qabbipbf/WrX81oEgCAgRHXZG78+PFl67e85S0ZTQIAMDDimuPCWWedFQ0NDXatAYCqJq45LgwbNizOOeccu9YAQFUT1wAAFXTSSSeVrY+87zXVTVwDAFSQJzTWNnENAFBBpVLpqGuqm7gGAIBExDUAACRSsSc0bt26NRYuXBh79uyJU089NZYtWxZnnnlm2TVf//rX46677orGxsZoamqKz372s3HRRRdVakQAABiQisX1okWLYt68edHW1hYrV66M66+/Pm677baya84777z4xCc+EcOGDYvf/e538Q//8A/x05/+NE488cRKjQkAAP1WkWMhu3btiq6urpg1a1ZERMyaNSu6urqiUCiUXXfRRRfFsGHDIiLi7LPPjlKpFHv27KnEiAAAMGAV2bnu7u6O0aNHR2NjY0RENDY2xqhRo6K7uzvy+fwr/jt33nlnnHHGGTFmzJjX9bk2b9484HmpvD//+c8REfHQQw9lPAnUN38GIRv+7NWOih0LeT1+8YtfxE033RTf+c53Xve/O3Hi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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAAJdCAYAAAD5pVvjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAvQElEQVR4nO3dfXCdZZ3A/V9eaCkFJKf0JRV8aVW2WEEtqwMKpElqq7YWFWim7lLQrYw6uzu461Lc2b6sjLSsf6j4NjKu4taZrOhKIbCl74KoOMuytiULPG4LBU1b6EnBvjfJef7gaR5PC6UkV87dc87nM+NMr9MD+bUTzDdXrvu+awqFQiEAAIBBq816AAAAqBTiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIJH6rAdIbdmyZXH//ffH73//+7jnnnvibW9723Hf/9///d+xZMmS/vWuXbti9OjR8bOf/WyoRwUAoMJUXFy3tLTENddcE5/4xCdO6P3vfve7Y8WKFf3rz372szFlypShGg8AgApWccdCLrroomhsbDzm9d/+9rfxl3/5l/Gxj30sPvaxj8WGDRuOec+uXbvioYceitmzZ5dgUgAAKk3F7Vy/nBdffDEWLVoU3/3ud2PMmDGxc+fOuPLKK6OjoyPOPPPM/vfddddd8b73vS/OPvvsDKcFAKBcVUVcP/roo/Hss8/G/Pnz+1+rqamJp59+Ot7xjnf0v/Yf//Ef8fnPfz6LEQEAqABVEdeFQiHOO++8+NGPfvSK7/mf//mfeOGFF+Lyyy8v4WQAAFSSijtz/XLe9a53xdNPPx2//vWv+1/buHFjFAqF/vVPf/rT+MhHPhL19VXx/QYAAEOgpvCnhVkBbr755li1alU8//zz0dDQEGeddVbce++9sXHjxviXf/mXeOGFF+Lw4cNx7rnnxne+852ora2NAwcOxPve97748Y9/HBMnTsz6jwAAQJmquLgGAICsVMWxEAAAKIWKOWDc19cXe/fujVNOOSVqamqyHgcAgApVKBTi8OHDMXLkyKitLd6rrpi43rt3bzz55JNZjwEAQJV429veFmeccUbRaxUT16ecckpEvPSHHDZsWMbTAABQqQ4dOhRPPvlkf3/+qYqJ6yNHQYYNGxbDhw/PeBoAACrdyx1FdkEjAAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirjkp5PP5WLBgQXR3d2c9CgDAgIlrTgrt7e3R2dkZ7e3tWY8CADBg4prM5fP5WLt2bRQKhVizZo3dawCgbIlrMtfe3h59fX0REdHX12f3GgAoW+KazG3YsCF6enoiIqKnpyfWr1+f8UQAAAMjrslcU1NT1NfXR0REfX19TJ06NeOJAAAGRlyTuba2tqitfelTsba2Ntra2jKeCABgYMQ1mcvlctHS0hI1NTXR2toaDQ0NWY8EADAg9VkPABEv7V5v27bNrjUAUNbENSeFXC4XS5cuzXoMAIBBcSwEAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkUpK4XrZsWTQ3N8d5550XTz755Mu+p7e3N5YsWRKtra0xbdq0uPPOO0sxGgAAJFOSuG5paYkf/ehH8frXv/4V33PPPffEtm3bYtWqVfHv//7vcdttt8Wzzz5bivEAACCJksT1RRddFI2Njcd9z3333RdXXXVV1NbWRi6Xi9bW1li5cmUpxgMAgCROmjPXXV1dMX78+P51Y2NjbN++PcOJAADgtanPeoDUNm/enPUIAABUqZMmrhsbG+MPf/hDXHDBBRFx7E72iZo8eXIMHz489XgAABAREQcPHnzFDd2T5ljIjBkz4s4774y+vr7I5/OxZs2amD59etZjAQDACStJXN98881x2WWXxfbt2+O6666LD3/4wxERMX/+/Ni0aVNERMyePTvOOeec+MAHPhBXX311fO5zn4tzzz23FOMBAEASNYVCoZD1ECkc2Z53LAQAgKF0vO48aY6FAABAuRPXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1J4V8Ph8LFiyI7u7urEcBABgwcc1Job29PTo7O6O9vT3rUQAABkxck7l8Ph9r166NQqEQa9assXsNAJQtcU3m2tvbo6+vLyIi+vr67F4DAGVLXJO5DRs2RE9PT0RE9PT0xPr16zOeCABgYMQ1mWtqaor6+vqIiKivr4+pU6dmPBEAwMCIazLX1tYWtbUvfSrW1tZGW1tbxhMBAAyMuCZzuVwuWlpaoqamJlpbW6OhoSHrkQAABqQ+6wEg4qXd623bttm1BgDKmrjmpJDL5WLp0qVZjwEAMCiOhQAAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkEjJ4nrr1q0xZ86cmD59esyZMyeeeuqpY96za9eu+PSnPx2zZs2KD37wg7F48eLo6ekp1YhkKJ/Px4IFC6K7uzvrUQAABqxkcb1o0aKYO3du3H///TF37txYuHDhMe/5zne+ExMnTox77rkn7r777njsscdi1apVpRqRDLW3t0dnZ2e0t7dnPQoAwICVJK537doVnZ2dMXPmzIiImDlzZnR2dkY+ny96X01NTezduzf6+vri0KFDcfjw4Rg7dmwpRiRD+Xw+1q5dG4VCIdasWWP3GgAoWyWJ666urhg7dmzU1dVFRERdXV2MGTMmurq6it732c9+NrZu3Rrvf//7+/83ZcqUUoxIhtrb26Ovry8iIvr6+uxeAwBlqz7rAf7UypUr47zzzos77rgj9u7dG/Pnz4+VK1fGjBkzTvjfsXnz5iGckKGwbt26/rP1PT09sXbt2njPe96T8VQAAK9dSeK6sbExduzYEb29vVFXVxe9vb2xc+fOaGxsLHrf8uXL48tf/nLU1tbGGWecEc3NzfHwww+/priePHlyDB8+PPUfgSHU3Nwcq1evjp6enqivr4+WlhY/sQAATloHDx58xQ3dkhwLGTVqVEyaNCk6OjoiIqKjoyMmTZoUuVyu6H3nnHNOPPDAAxERcejQofjVr34Vb33rW0sxIhlqa2uL2tqXPhVra2ujra0t44kAAAamZHcLWbx4cSxfvjymT58ey5cvjyVLlkRExPz582PTpk0REfHFL34xHnnkkZg1a1ZcccUV8aY3vSmuvvrqUo1IRnK5XLS0tERNTU20trZGQ0ND1iMBAAxITaFQKGQ9RApHtucdCylP+Xw+br311rjxxhvFNQBwUjted55UFzRSvXK5XCxdujTrMQAABsXjzwEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR15wU8vl8LFiwILq7u7MeBQBgwMQ1J4X29vbo7OyM9vb2rEcBABgwcU3m8vl8rF27NgqFQqxZs8buNQBQtsQ1mWtvb4++vr6IiOjr67N7DQCULXFN5jZs2BA9PT0REdHT0xPr16/PeCIAgIER12Suqakp6uvrIyKivr4+pk6dmvFEAAADI67JXFtbW9TWvvSpWFtbG21tbRlPBAAwMOKazOVyuWhpaYmamppobW2NhoaGrEcCABiQ+qwHgIiXdq+3bdtm1xoAKGvimpNCLpeLpUuXZj0GAMCgOBYCAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuKak0I+n48FCxZEd3d31qMAAAyYuOak0N7eHp2dndHe3p71KAAAAyauyVw+n4+1a9dGoVCINWvW2L0GAMqWuCZz7e3t0dfXFxERfX19dq8BgLIlrsnchg0boqenJyIienp6Yv369RlPBAAwMOKazDU1NUV9fX1ERNTX18fUqVMznggAYGDENZlra2uL2tqXPhVra2ujra0t44kAAAZGXJO5XC4XLS0tUVNTE62trdHQ0JD1SAAAA1Kf9QAQ8dLu9bZt2+xaAwBlzc41AAAkIq45KXiIDABQCcQ1mfMQGQCgUohrMuchMgBApRDXZM5DZACASiGuyVxTU1PU1NRERERNTY2HyAAAZUtck7kZM2ZEoVCIiIhCoRAzZszIeCIAgIER12Ru5cqVRTvXK1euzHgiAICBEddkbsOGDUU7185cAwDlSlyTuaampqitfelTsba21plrAKBsiWsy19bWVnQrPo9ABwDKlbgmc7t37z7uGgCgXIhrMveVr3zluGsAgHIhrsncM888U7Tetm1bRpMAQGnk8/lYsGBBdHd3Zz0KiYlrMnfuuecWrd/whjdkNAkAlEZ7e3t0dnZGe3t71qOQmLgmc/Pnzy9af/rTn85oEgAYevl8PtauXRuFQiHWrFlj97rCiGsy96tf/apo/ctf/jKjSQBg6LW3txfdJcvudWUR12Tu6IfGrFu3LqNJAGDobdiwIXp6eiIioqenx8PTKoy4JnOjR48uWo8ZMyajSQBg6DU1NUV9fX1ERNTX13t4WoUR12TuueeeO+4aACpJW1tb0ZOJPTytsohrMjdlypTjrgGgkuRyuWhpaYmamppobW2NhoaGrEciofqsB4Df/e53x10DQKVpa2uLbdu22bWuQOKazO3YsaNovX379owmAYDSyOVysXTp0qzHYAg4FkLmampqjrsGACgX4prMXXTRRUXrP//zP89oEgCAwRHXZO6MM8447hoAoFyIazJ39BMZPaERAChX4prM5XK5464BAMqFuCZz7hYCAFQKcQ0AAImIazJ32WWXFa2bmpqyGQQAYJDENZm79tpri9bz5s3LZhAAgEES1wAAkIi4JnN33HHHcdcAAOVCXJO5Bx54oGj985//PKNJAAAGR1yTuUKhcNw1AEC5KFlcb926NebMmRPTp0+POXPmxFNPPfWy77vvvvti1qxZMXPmzJg1a1Y8//zzpRqRjIwdO7ZoPW7cuIwmAQAYnPpSfaBFixbF3LlzY/bs2bFixYpYuHBh/PCHPyx6z6ZNm+Ib3/hG3HHHHTF69Oj44x//GMOGDSvViGQkn88XrXft2pXRJAAAg1OSnetdu3ZFZ2dnzJw5MyIiZs6cGZ2dncdE1Q9+8IP45Cc/GaNHj46IiDPOOCOGDx9eihHJ0NGPOx81alRGkwAADE5J4rqrqyvGjh0bdXV1ERFRV1cXY8aMia6urqL3/d///V8888wz8YlPfCI++tGPxre+9S3nb6vA0Y87P/rzAgCgXJTsWMiJ6O3tjSeeeCK+//3vx6FDh+Kv/uqvYvz48XHFFVec8L9j8+bNQzcgJfPII49kPQIAwGtWkrhubGyMHTt2RG9vb9TV1UVvb2/s3LkzGhsbi943fvz4mDFjRgwbNiyGDRsWLS0tsXHjxtcU15MnT3aUpMxcfPHF8dBDD/WvL7nkkpgyZUqGEwEAvLKDBw++4oZuSY6FjBo1KiZNmhQdHR0REdHR0RGTJk065qztzJkz4xe/+EUUCoU4fPhw/PrXv44/+7M/K8WIZOjob4Z8cwQAlKuS3Ypv8eLFsXz58pg+fXosX748lixZEhER8+fPj02bNkVExIc//OEYNWpUfOhDH4orrrgi3vKWt8SVV15ZqhHJyK9+9aui9S9/+cuMJgEAGJyaQoVcMXhke96xkPLzrW99K1atWtV/bGj69Onxmc98JuuxAABe1vG68zXtXHd3d8ddd90Vt99+e0RE7Nix45g7PcBr1dbWFr29vRER0dfXF21tbRlPBAAwMCcc17/5zW9ixowZcc8998S3vvWtiIh4+umnY/HixUM1G1Vi9+7d/b8uFApFawCAcnLCcf3lL385vvrVr8b3vve9qK9/6SYjF154YWzcuHHIhqM6fOUrXznuGgCgXJxwXP/+97+Piy++OCIiampqIiLilFNO6f9xPgzUM888U7Tetm1bRpMAAAzOCcf1xIkT48EHHyx67Ze//GW87W1vSz4U1eW0004rWo8cOTKjSQAABueEHyKzYMGCuP7666OpqSkOHDgQCxcujHXr1vWfv4aBOnjwYNH6wIEDGU0CADA4J7xz/c53vjPuvvvueMtb3hIf//jH45xzzomf/OQnccEFFwzlfAAAUDZOeOf60KFDkcvlYv78+f2vHT58OA4dOhTDhg0bkuGoDsOGDYv9+/f3r92nHAAoVye8c33dddfFY489VvTaY489Fp/61KeSD0V1+dOwjojYt29fRpMAAAzOCcf1k08+GRdeeGHRaxdccEE8/vjjyYeiuhx9AePpp5+e0SQAAINzwnF9xhlnxPPPP1/02vPPPx8jRoxIPhTV5dChQ0Xroy9wBAAoFycc1x/4wAfi7/7u7+LJJ5+M/fv3xxNPPBE33nhjfPCDHxzK+agCfX19RetCoZDRJAAAg3PCcX3DDTfExIkT46qrrop3v/vdMWfOnHjzm98cn//854dyPqrA0Q8i6unpyWgSAIDBOeG7hQwfPjwWLVoUCxcujO7u7mhoaOh/UiMAAPAqcf3ss8/GOeecExHHPqJ67969/b8+99xzh2A0qkVNTU3RURDftAEA5eq4cT1r1qx49NFHIyJi2rRpx0RQxEsh9L//+79DNyEVT1wDAJXiuHF9JKwjwi33GDJHX9B49BoAoFyc0AWNvb290draeswt0wAAgP/fCcV1XV1d1NXVxYEDB4Z6HgAAKFsnfLeQa665Jm644Ya4/vrrY9y4cUXnYl3QCAAAryGuv/SlL0VExEMPPVT0ugsaAQDgJa8a1/v3749vf/vb0dTUFOeff35cf/31MXz48FLMBgAAZeVVz1z/8z//c6xfvz4mTJgQq1atiltvvbUUc1FFTjvttKL1yJEjM5oEAGBwXjWuH3zwwfje974X//AP/xC33357rF+/vhRzUUWOvvXe0Y9DBwAoF68a1/v27YsxY8ZERERjY2Ps2bNnyIeiulxyySVF6/e9730ZTQIAMDiveua6t7c3fv3rX/c/Qa+np6doHRFx8cUXD92EVLyjn/oJAFCuagqvUjbNzc3H/xfU1MTatWuTDjUQBw8ejM2bN8fkyZNdcFlmrrzyyjh48GD/evjw4fGTn/wkw4kAAF7Z8brzVXeu161bN2SDQcSxZ6yduQYAytUJPaERhlJPT89x1wAA5UJcAwBAIuIaAAASEddkrqam5rhrAIByIa7JXH19/XHXAADlQlyTubPOOuu4awCAciGuydxzzz133DUAQLkQ1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuKazNXW1h53DQBQLlQMmTv11FOL1iNGjMhoEgCAwRHXZG7fvn1F671792Y0CQDA4IhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERck7m6urqidX19fUaTAAAMjrgmc729vUXrnp6ejCYBABgccQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuyVxNTc1x1wAA5UJcAwBAIuKazBUKheOuAQDKhbgGAIBExDUAACQirgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkIi4BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIiWL661bt8acOXNi+vTpMWfOnHjqqade8b1btmyJCy+8MJYtW1aq8QAAYNBKFteLFi2KuXPnxv333x9z586NhQsXvuz7ent7Y9GiRdHa2lqq0QAAIImSxPWuXbuis7MzZs6cGRERM2fOjM7Ozsjn88e897vf/W40NTXFm970plKMBgAAyZQkrru6umLs2LFRV1cXERF1dXUxZsyY6OrqKnrf448/Hr/4xS/i2muvLcVYAACZyOfzsWDBguju7s56FBKrz3qAIw4fPhz/9E//FLfcckt/hA/E5s2bE05FVh555JGsRwCAIdPR0RGdnZ3x9a9/vf8n+1SGksR1Y2Nj7NixI3p7e6Ouri56e3tj586d0djY2P+e5557LrZt2xaf/vSnIyLixRdfjEKhEHv27IkvfelLJ/yxJk+eHMOHD0/+Z6C0pkyZkvUIADAk8vl8bNy4MQqFQmzcuDH+5m/+JhoaGrIei9fg4MGDr7ihW5K4HjVqVEyaNCk6Ojpi9uzZ0dHREZMmTYpcLtf/nvHjx8fDDz/cv77tttti3759ceONN5ZiRACAkmhvb4++vr6IiOjr64v29vb4zGc+k/FUpFKyu4UsXrw4li9fHtOnT4/ly5fHkiVLIiJi/vz5sWnTplKNAQCQqQ0bNkRPT09ERPT09MT69esznoiUSnbmeuLEiXHnnXce8/rtt9/+su//67/+66EeCaDq5fP5uPXWW+PGG2/0Y2kokaampli9enX09PREfX19TJ06NeuRSMgTGgGqWHt7e3R2dkZ7e3vWo0DVaGtri9ralxKstrY22traMp6IlMQ1QJXK5/Oxdu3aKBQKsWbNGrcEgxLJ5XLR0tISNTU10dra6qdGFUZcA1Spl7uoCiiNGTNmxIgRI2LGjBlZj0Ji4hqgSrmoCrKzcuXK2L9/f6xcuTLrUUhMXANUqaampqivf+m6dhdVQek4klXZxDVAlXJRFWTDkazKJq4BqpSLqiAbjmRVNnENUMXa2tri/PPPt2sNJeRIVmUT1wBVLJfLxdKlS+1aQwm1tbUVHQvxzW1lEdcAACX2p3FNZRHXAAAl9IMf/KBofccdd2QzCENCXAMAlNADDzxQtN6wYUM2gzAkxDUAQAnV1NQcd015E9cAACV02WWXFa0vv/zyjCZhKIhrgCqWz+djwYIFnhAHJTRv3ryiBzjNmzcv44lISVwDVLH29vbo7Oz0hDgooVwuF01NTRERMXXqVLfCrDDiGqBK5fP5WLt2bRQKhVizZo3dayihefPmxdvf/na71hVIXANUqfb29qJ77dq9htLxAKfKJa4BqtSGDRuip6cnIiJ6enpi/fr1GU8EUP7ENUCVampqivr6+oiIqK+vj6lTp2Y8EUD5E9cAVaqtra3ojgVtbW0ZTwRQ/sQ1QJXK5XLR0tISNTU10dra6uwnQALiGqCKtbW1xfnnn2/XGkrMPeYrl7gGACgx95ivXOIaoIr5Ag+l5x7zlU1cA1QpX+AhG+4xX9nENUCV8gUesuEe85VNXANUKV/gIRtNTU1RU1MTERE1NTXuMV9hxDVAlfIQGcjGjBkzolAoREREoVCIGTNmZDwRKYlrgCrV1tZWdCzE7figNFauXFm0c71y5cqMJyIlcQ1Qxf40roHS2LBhQ9HOtSNZlUVcA1SpO+6447hrYGg4klXZxDVAlXrggQeK1j//+c8zmgSqS1tbW9TWvpRgtbW1jmRVGHENUKWO/Fj6ldbA0MjlcvH+978/IiIuvfTSaGhoyHgiUhLXAFXqsssuK1o3NTVlMwhUId/MVi5xDVClrr322qIfTc+bNy/jiaA65PP5eOihhyIi4sEHH/R01AojrgGqVC6Xi8svvzwiIqZOnepH01Aino5a2cQ1QBW79tpr4+1vf7tdayghT0etbOIaoIrlcrlYunSpXWsoIbfiq2ziGqCKPfroozF79uz47W9/m/UoUDXa2tqKntDoVnyVRVwDVLFly5ZFX19fLF26NOtRoGrkcrkYN25cREQ0Njb6yVGFEdcAVerRRx+NvXv3RkTEnj177F5DieTz+di+fXtERHR1dblbSIUR1wBVatmyZUVru9dQGu3t7XH48OGIiDh8+LC7hVQYcQ1QpY7sWh+xZ8+ejCaB6nL03UHcLaSyiGuAKjVy5Mii9emnn57RJFBdcrnccdeUN3ENUKVuvPHGovWCBQsymgSqy5Hz1q+0pryJa4Aq9cY3vrFo/YY3vCGjSaC6FAqFovWRpzVSGcQ1QJU6+iIqF1VBaRwd10evKW/iGqBKHX0R1bp16zKaBKByiGuAKjV69Oii9ZgxYzKaBKpLXV3dcdeUN3ENUKWee+65ovXOnTszmgSqy+WXX160bmpqymYQhoS4BqhSdq4hG7Nnzz7umvImrgGqlJ1ryMaKFSuOu6a8iWuAKjVlypSi9UUXXZTRJFBdHnjggaL1z3/+84wmYSiIa4Aq9bvf/e64a2BouBVfZRPXAFVqx44dRWtPiYPSOPvss4vWR1//QHkT1wBVqqam5rhrYGg8//zzReujr3+gvIlrgCr1ute9rmh91llnZTMIVBnf2FY2cQ1QpXbv3l207u7uzmYQqDKXXXZZ0fro+15T3sQ1AEAJzZs3L2prX0qw2tramDdvXsYTkZK4BgAooVwuF+PGjYuIiMbGxmhoaMh4IlIS1wAAJZTP5/svYty5c6cjWRVGXAMAlFB7e3v09fVFRERfX1+0t7dnPBEpiWsAgBLasGFD9Pb2RkREb29vrF+/PuOJSElcAwCU0OTJk4vW73jHOzKahKEgrgEASmjz5s3HXVPexDVAlaqrqzvuGhga+/fvL1rv27cvo0kYCuIaoEqNHz++aP36178+o0mguowcObJoffrpp2c0CUOhPusBSG/dunWxevXqrMcYlJtuuinrEV7VtGnTorm5OesxYMB27NhRtN6+fXtGk0B1ueaaa+Lb3/52/9pDZCqLnWuAKnXkbgVHHLk1GDC0Ojo6itb33HNPRpMwFOxcV6Dm5uay2lGdNWvWMa/dcsstGUwC1eXouO7p6cloEqguzzzzTNF627ZtGU3CULBzTea+9rWvFa2//vWvZzQJAMDgiGsyN2HChKL1m9/85owmAQAYHHHNSWHixIlRW1tr1xoAKGvimpPCiBEj4vzzz7drDQCUNXENAFBCp512WtH66PteU97ENQBACXlCY2UT1wAAJVQoFI67pryJawAASERcAwBAIiV7QuPWrVtjwYIFsXv37jjrrLNi2bJl8aY3vanoPd/85jfjvvvui9ra2jjllFPihhtuiEsvvbRUIwIAwKCULK4XLVoUc+fOjdmzZ8eKFSti4cKF8cMf/rDoPRdccEF88pOfjBEjRsTjjz8ef/EXfxG/+MUv4tRTTy3VmAAAMGAlORaya9eu6OzsjJkzZ0ZExMyZM6OzszPy+XzR+y699NIYMWJEREScd955USgUYvfu3aUYEQAABq0kO9ddXV0xduzYqKuri4iIurq6GDNmTHR1dUUul3vZf+auu+6KN7zhDTFu3LjX9LE2b9486HkpvT/+8Y8REfHII49kPAlUN/8NQjb8t1c5SnYs5LX4zW9+E1/72tfiX//1X1/zPzt58uQYPnz4EEzFUPrJT34SERFTpkzJeBKobv4bhGz4b6+8HDx48BU3dEtyLKSxsTF27NgRvb29ERHR29sbO3fujMbGxmPe++ijj8YXvvCF+OY3vxkTJkwoxXgAAJBESeJ61KhRMWnSpOjo6IiIiI6Ojpg0adIxR0I2btwYN9xwQ3z961+Pt7/97aUYDQAAkinZfa4XL14cy5cvj+nTp8fy5ctjyZIlERExf/782LRpU0RELFmyJA4cOBALFy6M2bNnx+zZs+OJJ54o1YgAADAoJTtzPXHixLjzzjuPef3222/v//VPf/rTUo0DAADJeUIjAAAkIq4BACARcQ0AAImIawAASOSkfIgMQDlat25drF69OusxBuWmm27KeoQTMm3atGhubs56DIBj2LkGAIBE7FwDJNLc3FxWu6lz5syJffv29a9HjhwZt9xyS4YTAZQ/O9cAVerokBbWAIMnrgGq1IQJE/p/PXLkyHjzm9+c4TQAlUFcA1SxiRMnRm1trV1rgETENUAVGzFiRJx//vl2rQESEdcAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIJH6rAc42d1+++2xZcuWrMeoeEf+jm+66aaMJ6lsEyZMiPnz52c9BgBULHH9KrZs2RKbO5+IulPPynqUitbXUxcREf+7ZUfGk1Su3gO7sx4BACqeuD4BdaeeFae9sSXrMWBQ9j29NusRAKDiOXMNAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBE3IoPAChr69ati9WrV2c9xqCUy0PUpk2bFs3NzVmPcVIT18BJyxNSh56no5aGp6NC9RDXwElry5Yt8f/872Mx7nT/VzVURhT6IiLij888kfEklWv7np6sR6h4zc3NZbWbesUVV0Rvb2//uq6uLm655ZYMJyIlX7GAk9q40+vjugtyWY8BA/b9jfmsR+Akc9ddd8WsWbOK1lQOFzQCAGSkrq4u6xFIzM41AECJTZ48OSLCcZAKZOcaAAASEdcAAJCIuAYAgEScuX4V3d3d0Xtgd+x7em3Wo8Cg9B7YHd3dw7IeAwAqmp1rAABIxM71q2hoaIjt3YfitDe2ZD0KDMq+p9dGQ0ND1mMAQEWzcw0AAInYuQZOWt3d3fH8nh5PuKOsbd/TEz3d3VmPAZSInWsAAEjEzjVw0mpoaIj6PTvjugtyWY8CA/b9jfk4w/UOUDXsXAMAQCLiGgAAEnEsBAAocvvtt8eWLVuyHqOiHfn7vemmmzKepLJNmDAh5s+fX9KPKa4BgCJbtmyJx57ojLrXearrUOmr7Y2IiMe3/y7jSSpX7wuHMvm44voEePz50OvrORAREbX1p2Y8SeXqPbA7IsZmPQZQJupeNyxed9n4rMeAAXvhgT9k8nHF9auYMGFC1iNUhSM/HpswQfwNnbFl+fm83X2uh9SeQ30REXH6MJfgDJXte3rijKyHAEpGXL+KUp/TqVZHzpzdcsstGU/CyaQcvxkoN8/9f9/YNp7r73qonBE+l6GaiGvgpOWb26HnG1uAtMQ1AFCku7s7enYfzOzMKqTQs/tgdA/vLvnHdcgOAAASsXMNABRpaGiIHQd3uVsIZe2FB/4QDQ0NJf+4dq4BACARcQ0AAImIawAASMSZawDgGL0vHHK3kCHUd+Clx5/XnlqX8SSVq/eFQxHjSv9xxTUAUMRDb4Ze/5OJx/m7HjLjsvlcFtcAQBEPcBp6HuBUuZy5BgCARMQ1AAAkIq4BACARcQ0AAImIawAASERcAwBAIuIaAAASEdcAAJCIuAYAgETENQAAJCKuAQAgkfqsBwCoFOvWrYvVq1dnPcZrsmXLloiIuOmmmzKe5LWZNm1aNDc3Zz0GwDHEdQXyBb40fHGnEuRyuaxHAKgo4pqTgi/wVILm5mbfcAFUuZpCoVDIeogUDh48GJs3b47JkyfH8OHDsx4HACiRcv6J7YQJEzKe5LXxU9uXHK87S3ZB49atW2POnDkxffr0mDNnTjz11FPHvKe3tzeWLFkSra2tMW3atLjzzjtLNR4AQMnkcjk/ta1QJTsWsmjRopg7d27Mnj07VqxYEQsXLowf/vCHRe+55557Ytu2bbFq1arYvXt3XHHFFXHxxRfHOeecU6oxAYAy40gWJ5OS7Fzv2rUrOjs7Y+bMmRERMXPmzOjs7Ix8Pl/0vvvuuy+uuuqqqK2tjVwuF62trbFy5cpSjAgAAINWkp3rrq6uGDt2bNTV1UVERF1dXYwZMya6urqKfiTS1dUV48eP7183NjbG9u3bX9PH2rx5c5qhAQDgNaq4u4W4oBEAgKF05ILGl1OSYyGNjY2xY8eO6O3tjYiXLlzcuXNnNDY2HvO+P/zhD/3rrq6uGDduXClGBACAQStJXI8aNSomTZoUHR0dERHR0dERkyZNOuYq2RkzZsSdd94ZfX19kc/nY82aNTF9+vRSjAgAAINWslvxLV68OJYvXx7Tp0+P5cuXx5IlSyIiYv78+bFp06aIiJg9e3acc8458YEPfCCuvvrq+NznPhfnnntuqUYEAIBB8RAZAAB4DU6Kh8gAAEClE9cAAJCIuAYAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXAACQiLgGAIBExDUAACQirgEAIBFxDQAAidRnPUAqhUIhIiIOHTqU8SQAAFSyI715pD//VMXE9eHDhyMi4sknn8x4EgAAqsHhw4fj1FNPLXqtpvByyV2G+vr6Yu/evXHKKadETU1N1uMAAFChCoVCHD58OEaOHBm1tcWnrCsmrgEAIGsuaAQAgETENQAAJCKuAQAgEXENAACJiGsAAEhEXAMAQCLiGgAAEhHXZOq8886LvXv3Zj0GVK3bbrut/zG+AAyeuAaoYt/4xjfi8OHDWY8BUDHENZn7t3/7t/j4xz8eLS0tcf/992c9DlSNJUuWREREW1tbzJ49O1588cWMJ4Lq8Oyzz8Z73/veV1xT3sQ1mTv99NPjpz/9adx6661x8803Zz0OVI1FixZFRER7e3usWLEizjzzzIwnAih/4prMfehDH4qIiHe+852xc+fOOHjwYMYTAQAMjLgmc8OHD4+IiLq6uoiI6OnpyXIcABhS9fX1USgU+tc2lSqLuAaoYiNHjow9e/ZkPQZUlbPPPjsOHz4cTz/9dEREdHR0ZDwRKYlrgCr2yU9+Mq655hoXNEIJ1dfXxz/+4z/GddddF1deeWX/T26pDDWFP/25BAAAMGB2rgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkEh91gMAkMa73vWu/l/v378/hg0b1n//3CVLlsRHPvKRrEYDqBrucw1QgZqbm+Pmm2+OSy65JOtRAKqKYyEAFezQoUPxnve8J5544on+13bt2hUXXnhh5PP5ePjhh+Oyyy6L73znO/He9743mpub4+677y7655ctWxZNTU1xySWXxMKFC+PAgQNZ/FEAyoK4Bqhgw4YNiw996ENFwdzR0REXX3xx5HK5iIh4/vnno7u7Ox588MFYunRpLFy4MLZs2RIREV/5yldi69atcdddd8WqVati586d8c1vfjOTPwtAORDXABXuox/9aNx7771x5BTgihUrjjl//bd/+7cxbNiweM973hOXX355/Od//mcUCoX48Y9/HF/84hfjrLPOitNPPz2uv/76uPfee7P4YwCUBRc0AlS4Cy+8ME499dR4+OGHY/To0bFt27ZoaWnp//0zzzwzTjvttP71+PHjY+fOnZHP52P//v3xsY99rP/3CoVC9PX1lXR+gHIirgGqwEc/+tG4++67Y/To0TF9+vQYPnx4/++9+OKLsW/fvv7A7urqire+9a3R0NAQp556atx7770xduzYrEYHKCuOhQBUgY985COxZs2auPvuu+OKK6445vdvu+22OHToUPzXf/1XbNiwIWbMmBG1tbVx1VVXxZe//OXYtWtXRETs2LEjHnzwwRJPD1A+xDVAFWhsbIzzzz8/ampq4qKLLir6vbPPPjvOPPPMuPTSS+Pv//7vY/HixTFx4sSIiPjCF74Qb3zjG+Pqq6+Od7/73XHttdfG1q1bs/gjAJQF97kGqBI33XRTjBkzJm644Yb+1x5++OH4whe+EA888ECGkwFUDmeuAarAs88+G6tXr46f/exnWY8CUNEcCwGocF/96ldj1qxZ8alPfSrOPffcrMcBqGiOhQAAQCJ2rgEAIBFxDQAAiYhrAABIRFwDAEAi4hoAABIR1wAAkMj/C2p+gCSerN/BAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] @@ -1864,22 +2092,22 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 60, + "execution_count": 117, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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1Wouuuii/Pmf/3kaGxvH+/iMwG233ZYHH3wwu3btymtf+9rMnj07DzzwgJ/7JgGBBAAAUPhXWwAAAIVAAgAAKAQSAABAIZAAAAAKb68CAAAc0zo7O7Nhw4Y888wzuf/++3Puuee+4v2//e1v5+abbz78dX9/f17/+tfny1/+8qs+lytIAExI11xzzaD+QQjAse+SSy7JPffck3nz5g3q/hdccEHuu+++w3/OO++8tLW1DWqvK0gAHDeWLFmSXbt2pVKpZMaMGXnb296WFStW5KSTTjrivn/7t387DicEoB4uvPDCo97+3e9+N3feeefH6fEAAAOGSURBVGf27NmTJPnIRz6St7/97S+5T39/f77+9a/nlltuGdRzuYIEwHFl3bp1eeyxx/LlL385jz/+eD796U+/ZL1Wq+XQoUPjdDoAxspzzz2XVatW5a677sqXvvSlrFu3LitXrsxzzz33kvvde++9+aVf+qW87nWvG9TjCiQAjktz587NxRdfnB/84Ae56qqr8rGPfSzve9/7cv7552fHjh256qqrsn79+sP3/+IXv5jLLrssb3nLW3L55Zfne9/7XpJk586d+b3f+738wi/8QpYsWZLPf/7z4/UtATAEjz32WJ5++ulce+21ufLKK3PttdemoaEh27Zte8n9vvSlL+Xd7373oB/XS+wAOC719vbm4Ycfzjvf+c50d3fnvvvuy9/8zd/krLPOSq1We8l9v/rVr+aTn/xk1qxZkze96U3Zvn17Ghsbc+jQofzO7/xOlixZkrvuuis7d+7MBz7wgZx11lm5+OKLx+k7A2AwarVaFi5cmHvuuedl7/Od73wnu3fvztve9rZBP64rSAAcV373d383F154YTo6OvLzP//z+dCHPpQkede73pVzzjknjY2NOeGEE16y51/+5V9yzTXX5LzzzktDQ0Pmz5+fefPm5fHHH8/AwECuv/76TJ06Naeffnre+9735itf+cp4fGsADMFb3vKWbNu2Ld/4xjcO37Zx48aX/Euyf/3Xf82VV16ZxsbBXxdyBQmA48qaNWvyi7/4i0fc3tLS8rJ7ent7c8YZZxxx+zPPPJO+vr6X/PJvtVp92V8GBmB83HbbbXnwwQeza9euXH311Zk9e3YeeOCBrF27NnfccUf+4i/+IgcOHMjpp5+edevWpaGhIS+++GK++tWv5p//+Z+H9FwCCYAJoaGh4WXXWlpasn379qPeftppp+XBBx+s59EAGKEVK1ZkxYoVR9x+3nnn5e677z7qnunTp+db3/rWkJ/LS+wAmPDe85735O///u+zadOm1Gq1bNu2Lc8880zOO++8nHzyyfnsZz+bF198MdVqNZs3b87GjRvH+8gAjBNXkACY8C677LLs3r07f/iHf5i+vr7Mmzcvt99+e+bNm5dPf/rT6ezszCWXXJL9+/fnrLPOyu///u+P95EBGCcNtf/7Vj8AAACTlJfYAQAAFAIJAACgEEgAAACFQAIAACgEEgAAQCGQAAAACoEEAABQCCQAAIDi/wOmtqzhYQ61hgAAAABJRU5ErkJggg==\n", + "image/png": "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izlz5sRzzz2XRcmUULHzv3bt2li0aFEkSRLjx4+P2bNnx1NPPZVFyVSY9331SZAqsYkTJ8bMmTNj48aNERGxcePGmDlzZkyYMOGw8+bPnx8PP/xw5PP52Lt3b3zve9+LefPmZVEyJVTs/D/33HPxt3/7t3HPPffE+9///ixKpcSKmfspU6bEU089Fd///vfj+9//fvzFX/xF/Omf/mncddddWZVNiRT7u79gwYJ48skno1AoRF9fX/zkJz+Js88+O4uSKaFi5/8973lPbNmyJSIient748c//nG8973vrXi9VJ73ffUpV7A4u+ReeumluOWWW6K7uztOPfXUaG9vj+nTp8fVV18dN9xwQ3zgAx+I/v7+uPPOO+NHP/pRRERcffXVcdlll2VcOaVQzPxfcskl8Zvf/Oawi4zvvvvumDFjRoaVc7KKmftD/fM//3Ps378/li5dmlHFlFIx85/P56O9vT22bNkSSZLERz7ykVi6dGkkiX/XrHXFzP+vf/3rWLFiRezZsyf6+/vjwgsvjFtvvTVGjhyZdfmchJUrV0ZHR0fs2bMnTjvttGhpaYnHHnvM+74GIEgBAACk5J/AAAAAUhKkAAAAUhKkAAAAUhKkAAAAUrJNDAAAUBfa29tj8+bN8Zvf/CYeffTReN/73nfc83/+85/HHXfcMfhxV1dXTJo0KR555JETvpaOFAAN7dxzz42dO3dmXQYAJTBnzpxYt25dTJ06tajzzzvvvNiwYcPgfx/84AdjwYIFRX2ujhQAdWf27NmxZ8+eGDFiRIwePTo++tGPxm233RZjx4496tytW7dmUCEA5dDW1nbM488++2ysXr06enp6IiLihhtuiI997GOHndPV1RU/+tGP4s477yzqtXSkAKhLa9asia1bt8YjjzwS27Zti6997WuHjR88eDCjygCopO7u7lixYkV89atfjW9/+9uxZs2aWL58eXR3dx923vr16+PDH/5wnH766UU9ryAFQF2bPHlyzJo1K1588cWYMWNGrFu3Li6++OK4+OKLIyJixowZ8corr0RExIEDB+IrX/lKfPzjH4/zzz8//uzP/iwOHDgQERHPPPNMXH755dHW1haLFi2Kp556KrOvCYDibd26Nf77v/87rr766li8eHFcffXVkcvlBv/uH/Dtb387LrnkkqKf19I+AOra7t27Y8uWLTF37tz44Q9/GN/73vfioYceilNOOeWoc9vb2+MXv/hFPPjgg3H66afHs88+G0mSxGuvvRZ/+Zd/GXfffXfMmjUrfvzjH8cNN9wQ3/nOd2LChAkZfFUAFKtQKAz+Q9pQnnnmmfif//mfuOiii4p+Xh0pAOrSddddF21tbbFkyZK44IIL4q/+6q8iIuKaa66JlpaWo4JUPp+Pb33rW3HrrbfG5MmTY8SIEXHeeedFc3NzbNiwIT760Y/GRRddFEmSxIc//OE455xz4j//8z+z+NIASOHcc8+NV155JX7yk58MHnvuueeiUCgMfvytb30rFi1aFCNHFt9n0pECoC7de++98aEPfeio462trcc8/7e//W288847MW3atKPGdu3aFZs2bYof/OAHg8cOHjwYF154YekKBuCkrVy5Mjo6OmLPnj1x5ZVXRktLSzz22GNx3333xapVq+Lv//7vo6+vL6ZNmxZr1qyJXC4XBw4ciMcffzweeuihVK8lSAHQUHK53DGPn3baaTFq1KjYuXNnnH322YeNtba2xuLFi2PlypWVKBGAYVq2bFksW7bsqOMf/OAH4xvf+MYxP+eUU06Jn/3sZ6lfy9I+AIiIJEnikksuiS9/+cvx2muvRX9/f2zdujV6e3tj0aJF8YMf/CCeeOKJ6O/vj3feeSeeeuqpePXVV7MuG4CMCFIA8L+WLl0a73vf++Izn/lM/OEf/mGsXr068vl8tLa2xn333Rf3339//NEf/VFcdNFF8W//9m+Rz+ezLhmAjOQKh15lBQAAwAnpSAEAAKQkSAEAAKQkSAEAAKQkSAEAAKQkSAEAAKQkSAEAAKQkSAEAAKQkSAEAAKT0/wArLAeTRuM9egAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] @@ -1892,27 +2120,27 @@ "filter_data = df.dropna(subset=['Price'])\n", "plt.figure(figsize=(14,8))\n", "\n", - "sns.distplot(filter_data['Price'], kde=False)" + "sns.histplot(filter_data['Price'], kde=False)" ] }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 64, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1925,18 +2153,17 @@ "type_counts = df['Type'].value_counts()\n", "\n", "df2 = pd.DataFrame({'house_type': type_counts}, index = ['t', 'h', 'u'])\n", - "\n", "df2.plot.pie(y='house_type', figsize=(10,10), autopct='%1.1f%%')" ] }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 104, "metadata": {}, "outputs": [ { "data": { - "image/png": "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/fZJGwYAAACA48u449TNN9/8gttvvfXWSRsGAAAAgOPLi/61vu9973tJktHR0fzrv/5rarXa2Nr27dvzspe97NhNBwAAAMCM9qJxavXq1UmSgwcP5m/+5m/Gtjc0NGTu3Lm59tprj910AAAAAMxoLxqn7r///iTJqlWr8qlPfeqYDwQAAADA8eNF49Sv/WaYGh0dPWRt1ix/9A8AAACAozfuOPVf//VfWbt2bX7wgx/k4MGDSZJarZaGhoZ8//vfP2YDAgAAADBzjTtOdXd354//+I/ziU98IieeeOKxnAkAAACA48S449STTz6Zj370o2loaDiW8wAAAABwHBn3m0W9+c1vzne+851jOQsAAAAAx5lxv3Lq4MGDufLKK7NkyZKcfvrph6z5K34AAAAATMS449RrX/vavPa1rz2WswAAAABwnBl3nLryyiuP5RwAAAAAHIfGHae+973vHXbtDW94w6QMAwAAAMDxZdxxavXq1Yfc3rNnT5555pnMnz8/3/jGNyZ9MAAAAABmvnHHqfvvv/+Q29VqNbfeemte9rKXTfpQAAAAABwfZk30jo2NjfngBz+Yv/u7v5vMeQAAAAA4jkw4TiXJd7/73TQ0NEzWLAAAAAAcZ8Z9Wd955513SIh6+umnMzIykp6enmMyGAAAAAAz37jj1Kc//elDbp900kl59atfnVNOOWXShwIAAADg+DDuOPUHf/AHSZLR0dHs2rUrp59+embNeklXBQIAAABwnBt3Xdq/f39WrVqVs88+O29605ty9tln5+qrr86+ffuO5XwAAAAAzGDjjlPr1q3L008/nc2bN+fRRx/N5s2b8/TTT2fdunXHcj4AAAAAZrBxX9b37W9/O1//+tdz0kknJUle/epX55Of/GTe/OY3H7PhAAAAAJjZxv3KqTlz5mT37t2HbNuzZ0+ampomfSgAAAAAjg/jfuXUu9/97rz//e/PpZdemle84hX52c9+lo0bN+ZP//RPj+V8AAAAAMxg445TV1xxRebPn5/NmzdnaGgo8+bNy+WXXy5OAQAAADBh476sb/369Xn1q1+djRs3ZsuWLdm4cWMWLlyY9evXH8v5AAAAAJjBxh2n+vv787rXve6Qba973evS398/6UMBAAAAcHwYd5xqaGjI6OjoIduq1erztgEAAADAeI07Ti1dujQ33XTTWIwaHR3N5z//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\n", + "image/png": "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MOPHj0+nTp1WaLvyyiszadKkTJo0KX369EmSNDQ05LzzzsvFF1+cO++8M7169cq4cePeVxsAAAAATctGC6d69eqV2traRs//xBNPpEWLFunVq1eSZPDgwbnjjjveVxsAAAAATUvzsgtIkiFDhqQoivTs2TPnnHNOWrdunZkzZ2annXaqzNOuXbs0NDTkjTfeWOe2Nm3aNLqm9u1brZf3xqajQ4ftyi4B2AwZWwAAYPVKD6fGjx+f2traLF68OCNHjszw4cObxG14s2cvSENDsVbL+AfIpu211+aXXQKslLFl02ZsAQCApLq6apUXApX+a33v3OpXU1OT4447Lo888khl+owZMyrzzZkzJ9XV1WnTps06twEAAADQtJQaTi1cuDDz5y/7RrkoikyZMiVdu3ZNknTr1i2LFi3Kww8/nCSZMGFCBgwY8L7aAAAAAGhaNtptfSNGjMhvf/vbvP766znxxBPTpk2bXHvttTn99NNTX1+fhoaG7Lbbbhk2bFiSpLq6OmPGjMmwYcNSV1eXTp06ZezYse+rDQAAAICmpaooirV7sNIWYl2fOXXc+eM3UEVsSL8cc7znwtBkdeiwXb56/Zlll8E6uOHEK4wtAACQJv7MKQAAAAC2XMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEojnAIAAACgNMIpAAAAAEqz0cKp0aNHp1+/funSpUueeeaZJMncuXPz7//+7+nfv38OP/zwnHbaaZkzZ05lmS5duuTwww/PwIEDM3DgwDz99NOVtrvuuisDBgzIwQcfnLPOOitvv/12o9oAAAAAaDo2Wjh14IEHZvz48enUqVNlWlVVVU4++eTceeedmTx5cnbeeeeMGzduueUmTJiQSZMmZdKkSenSpUuS5K233sp3v/vdXHvttfnd736Xli1b5rrrrltjGwAAAABNy0YLp3r16pXa2trlprVp0yZ777135XX37t0zY8aMNa7r3nvvTbdu3fLhD384STJ48ODcfvvta2wDAAAAoGlpXnYB72hoaMivfvWr9OvXb7npJ5xwQurr67P//vvn9NNPT01NTWbOnJmddtqpMs9OO+2UmTNnJslq2wAAAABoWppMOHXppZdm2223zZe+9KXKtHvuuSe1tbVZsGBBzjvvvFx99dU5++yzN0o97du32ijboeno0GG7sksANkPGFgAAWL0mEU6NHj06L7zwQq699tpUV///Ow3fuQ2wVatWOeaYY3L99ddXpk+dOrUy34wZMyrzrq5tbcyevSANDcVaLeMfIJu2116bX3YJsFLGlk2bsQUAAJLq6qpVXgi00Z45tSqXX355nnjiiVx99dWpqampTJ83b14WLVqUJFm6dGnuvPPOdO3aNUnSp0+fPP7443n++eeTLHto+uc+97k1tgEAAADQtGy0K6dGjBiR3/72t3n99ddz4oknpk2bNvnhD3+Yn/zkJ/nwhz+cwYMHJ0k++MEP5uqrr84///nPXHzxxamqqsrSpUvTo0ePnHnmmUmWXUk1fPjwnHLKKWloaEjXrl0zdOjQNbYBAAAA0LRUFUWxdveubSHW9ba+484fv4EqYkP65Zjj3XpDk9Whw3b56vVnll0G6+CGE68wtgAAQJr4bX0AAAAAbLmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACUpnnZBcCWqO32NWle06LsMlhHSxfXZe68xWWXAQAAsFkQTkEJmte0yF/GnFx2Gayjnuf/NIlwCgAAYH1wWx8AAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApRFOAQAAAFAa4RQAAAAApWledgEAAGx827feJjUtnApuihbXLc28N98uuwwAWG+ckQAAbIFqWjTPqKG/KbsM1sF3Rh5ddgkAsF65rQ8AAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACjNRgmnRo8enX79+qVLly555plnKtOfe+65HHvssenfv3+OPfbYPP/88xu0DQAAAICmZaOEUwceeGDGjx+fTp06LTd92LBhOe6443LnnXfmuOOOy8UXX7xB2wAAAABoWjZKONWrV6/U1tYuN2327Nl58sknc9hhhyVJDjvssDz55JOZM2fOBmkDAAAAoOlpXtaGZ86cmY4dO6ZZs2ZJkmbNmmXHHXfMzJkzUxTFem9r167dWtXXvn2r9fhu2RR06LBd2SWwCdFfaCx9BdgQjC0AbE5KC6eautmzF6ShoVirZZwkbNpee23+RtuWvrLp019orI3ZV2BtGFs2bcYWADY11dVVq7wQqLRwqra2NrNmzUp9fX2aNWuW+vr6vPrqq6mtrU1RFOu9DQAAAICmZ6M8c2pl2rdvn65du+bWW29Nktx6663p2rVr2rVrt0HaAAAAAGh6NsqVUyNGjMhvf/vbvP766znxxBPTpk2b3Hbbbfne976XCy+8MNdcc01at26d0aNHV5bZEG0AAAAANC0bJZy66KKLctFFF60wfbfddsuvf/3rlS6zIdoAAAAAaFpKu60PAAAAAIRTAAAAAJRGOAUAAABAaRodTl133XUrnX799devt2IAAAAA2LI0Opy6+uqrVzr9xz/+8XorBgAAAIAtyxp/re+BBx5IkjQ0NOTBBx9MURSVtpdffjktW7bccNUBAAAAsFlbYzg1dOjQJEldXV2+853vVKZXVVWlQ4cOueiiizZcdQAAAABs1tYYTt11111JkvPPPz9jxozZ4AUBAAAAsOVYYzj1jncHUw0NDcu1VVf70T8AAAAA1l6jw6m///3vGT58eJ5++unU1dUlSYqiSFVVVf7xj39ssAIBAAAA2Hw1Opy68MILc8ABB2TUqFHZeuutN2RNAAAAAGwhGh1OvfLKKzn77LNTVVW1IesBAAAAYAvS6IdFHXzwwfnTn/60IWsBAAAAYAvT6Cun6urqctppp6Vnz57ZYYcdlmvzK34AAAAArItGh1Mf/ehH89GPfnRD1gIAAADAFqbR4dRpp522IesAAAAAYAvU6HDqgQceWGXbPvvss16KAQAAAGDL0uhwaujQocu9njt3bpYsWZKOHTvmD3/4w3ovDAAAAIDNX6PDqbvuumu51/X19fnxj3+cli1brveiAAAAANgyVK/rgs2aNcs3vvGN/PSnP12f9QAAAACwBVnncCpJ/vznP6eqqmp91QIAAADAFqbRt/X17dt3uSDq7bffzuLFizNs2LANUhgAAAAAm79Gh1Njx45d7vU222yTXXfdNa1atVrvRQEAAACwZWh0ONW7d+8kSUNDQ15//fXssMMOqa5+X3cFAgAAALCFa3S6tGDBgpx//vnZfffds//++2f33XfPBRdckPnz52/I+gAAAADYjDU6nBoxYkTefvvtTJ48OY899lgmT56ct99+OyNGjNiQ9QEAAACwGWv0bX333Xdffv/732ebbbZJkuy666657LLLcvDBB2+w4gAAAADYvDX6yqkWLVpkzpw5y02bO3duampq1ntRAAAAAGwZGn3l1NFHH52TTjopX/3qV7PTTjtlxowZueGGG3LMMcdsyPoAAAAA2Iw1Opw69dRT07Fjx0yePDmvvvpqdtxxx5x88snCKQAAAADWWaNv6xs5cmR23XXX3HDDDZkyZUpuuOGG7Lbbbhk5cuSGrA8AAACAzVijw6lbb7013bp1W25at27dcuutt673ogAAAADYMjQ6nKqqqkpDQ8Ny0+rr61eYBgAAAACN1ehwqlevXrniiisqYVRDQ0Ouuuqq9OrVa4MVBwAAAMDmrdEPRB86dGhOOeWU7Lffftlpp50yc+bMdOjQIddee+2GrA8AAACAzVijw6kPfOADufnmm/PYY49l5syZqa2tze67757q6kZffAUAAAAAy2l0OJUk1dXV6d69e7p3776BygEAAABgS+KyJwAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTCKQAAAABKI5wCAAAAoDTNyy7g5Zdfzre+9a3K6/nz52fBggWZNm1a+vXrl5qamrRo0SJJMmTIkPTp0ydJ8uijj+biiy9OXV1dOnXqlLFjx6Z9+/ZrbAMAAACg6Sg9nPrgBz+YSZMmVV6PHDky9fX1lddXXnllOnfuvNwyDQ0NOe+883LZZZelV69eueaaazJu3Lhcdtllq20DAAAAoGlpUrf1LV68OJMnT86gQYNWO98TTzyRFi1apFevXkmSwYMH54477lhjGwAAAABNS+lXTr3bXXfdlY4dO+aTn/xkZdqQIUNSFEV69uyZc845J61bt87MmTOz0047VeZp165dGhoa8sYbb6y2rU2bNo2upX37VuvlPbHp6NBhu7JLYBOiv9BY+gqwIRhbANicNKlw6qabblruqqnx48entrY2ixcvzsiRIzN8+PCMGzduo9Qye/aCNDQUa7WMk4RN22uvzd9o29JXNn36C421MfsKrA1jy6bN2ALApqa6umqVFwI1mdv6Zs2alYceeiiHH354ZVptbW2SpKamJscdd1weeeSRyvQZM2ZU5pszZ06qq6vTpk2b1bYBAAAA0LQ0mXDq5ptvTt++fdO2bdskycKFCzN//rJvhIqiyJQpU9K1a9ckSbdu3bJo0aI8/PDDSZIJEyZkwIABa2wDAAAAoGlpMrf13XzzzRk6dGjl9ezZs3P66aenvr4+DQ0N2W233TJs2LAkSXV1dcaMGZNhw4alrq4unTp1ytixY9fYBgAAAEDT0mTCqTvvvHO51zvvvHNuueWWVc6/5557ZvLkyWvdBgAAAEDT0WRu6wMAAABgyyOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0wikAAAAASiOcAgAAAKA0zcsuAABYP9psV5Ottm5RdhmsoyWL6vLG/MVllwEAsNEJpwBgM7HV1i0y5csnll0G6+iQn1+fCKcAgC1Qkwin+vXrl5qamrRosezb3iFDhqRPnz559NFHc/HFF6euri6dOnXK2LFj0759+yRZ5zYAAAAAmo4m88ypK6+8MpMmTcqkSZPSp0+fNDQ05LzzzsvFF1+cO++8M7169cq4ceOSZJ3bAAAAAGhamkw49V5PPPFEWrRokV69eiVJBg8enDvuuON9tQEAAADQtDSJ2/qSZbfyFUWRnj175pxzzsnMmTOz0047VdrbtWuXhoaGvPHGG+vc1qZNm435lgAAAABYgyYRTo0fPz61tbVZvHhxRo4cmeHDh+fggw8utab27VuVun02vg4dtiu7BDYh+guNpa+wNvQXGktfAWBz0iTCqdra2iRJTU1NjjvuuJx66qn58pe/nBkzZlTmmTNnTqqrq9OmTZvU1tauU9vamD17QRoairVaxknCpu211+ZvtG3pK5s+/YXG0ldYG/oLjbUx+woArA/V1VWrvBCo9GdOLVy4MPPnL/twLYoiU6ZMSdeuXdOtW7csWrQoDz/8cJJkwoQJGTBgQJKscxsAAAAATUvpV07Nnj07p59+eurr69PQ0JDddtstw4YNS3V1dcaMGZNhw4alrq4unTp1ytixY5NkndsAAAAAaFpKD6d23nnn3HLLLStt23PPPTN58uT12gYAAABA01H6bX0AAAAAbLmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmEUwAAAACURjgFAAAAQGmal13A3Llzc/755+fFF19MTU1NPvShD2X48OFp165dunTpks6dO6e6elmGNmbMmHTp0iVJctddd2XMmDGpr6/PJz/5yVx22WXZZptt1tgGAAAAQNNR+pVTVVVVOfnkk3PnnXdm8uTJ2XnnnTNu3LhK+4QJEzJp0qRMmjSpEky99dZb+e53v5trr702v/vd79KyZctcd911a2wDAAAAoGkpPZxq06ZN9t5778rr7t27Z8aMGatd5t577023bt3y4Q9/OEkyePDg3H777WtsAwAAAKBpKf22vndraGjIr371q/Tr168y7YQTTkh9fX3233//nH766ampqcnMmTOz0047VebZaaedMnPmzCRZbRsAAAAATUuTCqcuvfTSbLvttvnSl76UJLnnnntSW1ubBQsW5LzzzsvVV1+ds88+e6PU0r59q42yHZqODh22K7sENiH6C42lr7A29BcaS18BYHPSZMKp0aNH54UXXsi1115beQB6bW1tkqRVq1Y55phjcv3111emT506tbLsjBkzKvOurm1tzJ69IA0NxVot4yRh0/baa/M32rb0lU2f/kJj6SusDf2FxtqYfQUA1ofq6qpVXghU+jOnkuTyyy/PE088kauvvjo1NTVJknnz5mXRokVJkqVLl+bOO+9M165dkyR9+vTJ448/nueffz7Jsoemf+5zn1tjGwAAAABNS+lXTj377LP5yU9+kg9/+MMZPHhwkuSDH/xgTj755Fx88cWpqqrK0qVL06NHj5x55plJll1JNXz48JxyyilpaGhI165dM3To0DW2AQAAANC0lB5OfexjH8vTTz+90rbJkyevcrmDDjooBx100Fq3AQAAANB0NInb+gAAAADYMgmnAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAACiNcAoAAACA0ginAAAAAChN87ILAAAAmq7tW9ekpkWLsstgHS2uq8u8NxeXXQasYPvtt05NzVZll8E6Wrx4SebNW7Te1iecAgAAVqmmRYtc/u1Tyi6DdXTOZT9JIpyi6amp2Sr/8R//UXYZrKNzzz03yfoLp9zWBwAAAEBphFMAAAAAlEY4BQAAAEBphFMAAAAAlEY4BQAAAEBphFMAAAAAlEY4BQAAAEBpmpddAAAAAJuHtttvk+Y1/pm5KVq6eGnmznu77DLYQhk1AAAAWC+a1zTP3665p+wyWAd7fPMzZZfAFsxtfQAAAACURjgFAAAAQGk223Dqueeey7HHHpv+/fvn2GOPzfPPP192SQAAAAC8x2YbTg0bNizHHXdc7rzzzhx33HG5+OKLyy4JAAAAgPfYLB+IPnv27Dz55JO5/vrrkySHHXZYLr300syZMyft2rVr1Dqqq6vWads7tG25TstRvnU95uuqpnX7jbo91q+N3V92aNW4sYumZ2P3lW12MLZsyjZ2f9m+zbYbdXusPxu7r7RuY2zZlG3s/rLVdltv1O2x/mz0saV16426Pdavte0vq5u/qiiK4v0W1NQ88cQTueCCC3LbbbdVph1yyCEZO3ZsPvnJT5ZYGQAAAADvttne1gcAAABA07dZhlO1tbWZNWtW6uvrkyT19fV59dVXU1tbW3JlAAAAALzbZhlOtW/fPl27ds2tt96aJLn11lvTtWvXRj9vCgAAAICNY7N85lSSTJ8+PRdeeGHefPPNtG7dOqNHj85HPvKRsssCAAAA4F0223AKAAAAgKZvs7ytDwAAAIBNg3AKAAAAgNIIpwAAAAAojXAKAAAAgNIIp9ZRv379cthhh6WhoWG5ac8888xar+sf//hHpkyZsty0Ll265K233nrfdTbWyy+/nC5duuSMM85YbvqFF16YLl26NOp93XDDDZk9e/aGKnGlLrzwwvz3f/93kuRXv/pVbrjhhiQr36dl+sEPfpBhw4ZVXt99993p0qVLnn322cq0U045Jb/+9a/Xet1vvvlm/uu//mu91Lkm/fr1y3777Zf6+vrKtIkTJ6ZLly6V47A6v//97/PYY49tyBJXMHHixEq/fvzxx3Puuecm2bj7bW3cfvvt+fznP5+BAwdmwIABlXrXlfFl3W2s8aWpHfN+/fplwIABGThwYOW/l19+eZ1qmTp1av70pz+t07Jru50uXbpk9OjRy00/4YQTGv3er7rqqixevHhDlbhSJ5xwQu6+++4kyRVXXFE5bhtjvznOG0+Zx3lj25zOj+vq6tK7d+9Mnz59uekvvfRSevbsmYULF2bgwIFZtGjRatczceLEPPfcc+tcR2O2sanaHM6PTz755PzqV79ablpRFDnwwAMzbdq0DB06NA8//PBq1/F+x4LGbGNzsql9fs2aNSs9evTIm2++ucK2DzrooMyaNSsnnHDCGtfzfs6FG7uNsgmn3oeFCxdm0qRJ72sdS5cuzT/+8Y/ccccd66mq5de9Ntq0aZNnnnkm8+bNS5K89dZbefjhh9OxY8dGLf/zn/98lX8wDQ0N2dA/DPnFL34xX/3qV5Nkg+3TdfWpT30q06ZNq7yeNm1a9thjj8q0+vr6/OUvf8nee++91ut+880389Of/nSd6lrbPpIkO+6443KD+M0335xPfvKTjVp2TeHUu0OvDeHf/u3f8h//8R9J3t9+21BeffXVXHLJJfnxj3+cSZMm5fbbb8/Xvva197VO48v6saHGl6Z6zK+88spMmjSp8t8HP/jBdVrPtGnT8uc//3mdll3b8WDXXXfNH/7wh8pyL730UhYuXNjo5X/0ox9lyZIlK21bl7FybZ155pk55JBDkry//bY2HOflba7HeWPbXM6PW7RokUMPPTQ333zzctNvvvnm9O/fP9tuu20mTZqUrbfeerXrufnmm/P888+vc52N2camanM4Px40aNAKfWTq1Kmprq7OXnvtlZEjR6ZXr16rXcf7HUMbs43Nzab0+dWxY8fstddeue2225abPnHixBx55JHp2LFjfvGLX6xxPas7F16dpUuXNnobZWtedgGbstNOOy0/+tGPcuihh6ampma5thdeeCEXX3xx5syZk+bNm+fss8/O/vvvn2TZtz6nnXZa7rnnnnTv3j1/+MMfsmDBggwcODB77bVXLrrooiTJL37xi/zud7/LG2+8kfPPPz/9+/dPkvztb3/LuHHjKt8cnXHGGfnMZz6Tl19+OYMGDcpRRx2VBx98MF/4whcyZcqUdOvWLY8++mheffXVfO5zn8uQIUNW+Z4OOeSQ3HrrrTn++ONzxx135KCDDspvf/vbSvurr76aESNGZMaMGamrq8uhhx6ab3zjG/nxj3+cV199NWeccUZatGiR//iP/8jtt9+eZ599NgsWLMiMGTPyP//zP7n77rtz3XXXJUl22WWXDB8+PO3bt8/EiRMzefLktGjRIi+++GJ22GGHjB07Nh07dkx9fX3GjRuX++67L0nSp0+fDBkyJM2aNVuu9quuuioLFy7M17/+9Vx55ZUr7NNzzz03zz33XJYsWZJddtklo0aNyvbbb5+pU6dm1KhR2WOPPfLXv/41VVVV+cEPfpDddtvt/XSP5fTo0SMvv/xyXn/99eywww556KGHctppp2XixIk5/vjj8+STT6ZVq1bZZZddVrmPGxoaMnz48Dz44IOpqanJtttumwkTJmT48OGZP39+Bg4cmG222SYTJkxY5TqSZd82HHLIIXnwwQfTuXPn1NbW5rnnnsv8+fPz0ksvZZdddskVV1yRbbbZZqXv5cgjj8zEiRPTt2/fyj8KOnfuXGlfvHhxfvCDH+Shhx7K4sWL06VLl3zve9/LI488krvuuiv3339/fv3rX+fEE09MbW1tRowYkW7duuXJJ5/MWWedlfbt22fkyJFZuHBhtt122wwdOjS77757pX8feeSRlQ+RYcOGVT6Mb7nllpX2rXebOnVqRo8enYkTJ650v/3sZz/Lbbfdlvr6+rRo0SLf+9730rVr1yTL/m7PPvvslf5Nri+vv/56mjdvnjZt2iRJqqqq8olPfKLSfu+99+byyy9PfX192rVrl+HDh+dDH/pQJk6cmHvuuSdXXnllklReX3LJJSv9W0iML01lfGkKx3xtrOp9/vOf/8y3v/3tvP3222loaMiRRx6Z/fbbLxMmTEhDQ0Puv//+HHroofn617+eP/7xj/nxj3+cxYsXZ6uttsq3v/3tdO/ePVOnTl1hPLj00kszcODA3H///Xnttddy0kkn5Utf+tJKa9t2223zsY99LH/605/St2/f3Hzzzfn85z+fJ554ojLPP//5z4waNSpz587NkiVL8pWvfCWDBg3KJZdckiQZPHhwqqur84tf/CKjRo1Ks2bN8txzz+Wtt97KpEmT8p//+Z/53//93yTLwu6LLrooLVu2zFVXXZX/+7//y9y5c/Pqq6/mYx/7WEaNGpXtttsub731VkaMGJHHH388ybKrIP793/99hfovvPDCdOvWLXvttdcK++2kk07KKaeckrlz56auri677757LrnkktTU1GTixIm59dZb07p16zz77LPZbrvtctVVV6VDhw5rfXwd5y3rOG8om9P58aBBg3Lqqafm7LPPTrNmzVIURW655ZaMHTu2UvMjjzySli1bZvr06Rk5cmRee+21JMlJJ52UhoaGPPHEExkxYkR++MMf5oILLsjee++9ys+dCy+8cIX++O5tjB49OtOmTcuSJUvStm3bjBo1Kp06ddoAR3Hj2BzOjw888MB873vfy/Tp0yuf7RMnTsxRRx2VqqqqnHDCCTnppJNywAEHZP78+Rk1alSeeOKJVFVVpVevXjn22GNXOoau6rx24sSJ+d///d+0bNkyL7zwQsaOHZtRo0ZVtjF58uT8/Oc/r4TwF1xwQfbZZ5+NeFTL1VQ/vwYNGpSf/vSn+eIXv5gkWbBgQX73u9/ltttuq4xRU6dOTZL89a9/zZgxYypj2fnnn5/HH398hXPhd/4dtbLPnRNOOCEf//jH87e//S3bb799hg0bttw2VrWfSlewTg444IDi6aefLk4//fTihhtuWG5aURTF0UcfXdx4441FURTFs88+W/Tu3buYPXt2URRF0blz5+InP/lJZV033XRTcfrppy+3/s6dOxe/+MUviqIoiocffrjYb7/9iqIoinnz5hUDBw4sZs2aVRRFUcyaNavo06dPMW/evOKll14qOnfuXNx2222V9XzpS18qzjzzzKK+vr548803i969exfPPffcCu/npZdeKnr37l28+OKLxTHHHFNZ9qmnnlrufX31q18tpk2bVhRFUdTV1RVf/OIXiz/96U8rvP+iKIorr7yy6Nu3b+V9P/3008WnP/3pSu0/+MEPijPPPLOyD/7t3/6tmD59elEURXHVVVdV9sn48eOLr3zlK0VdXV1RV1dXfPnLXy7Gjx9fFEVRXHDBBZX9dOWVVxbf//73V7lP36mjKIri8ssvL8aOHVsURVE8+OCDxSc+8Yni73//e1EURXHNNdcU55xzzgr76P067rjjittuu62YP39+ccghhxRLly4tDj744KIoiuKnP/1pcd555xVFsep9/Pe//70YMGBAUV9fXxRFUbzxxhtFUfz/Y/duazpOw4YNq8x75ZVXFgcffHAxb968oqGhoTjxxBOL//mf/1npezjggAOKp556qhgwYEDxxhtvFFdccUXx85//fLnjcPXVVxdXX311ZZkxY8YUl19+eVEUyx+voli27z/+8Y8XjzzySKXWvn37Fvfff39RFEXx5z//uejbt29RV1dX6d8333xzZdk+ffoUdXV1a+xb7/SFBx98sDjyyCNXud/e3Uf+/Oc/V/4WimLVf5PrU319fXHqqacWvXv3Lk4//fTi+uuvL+bMmVMURVG8/vrrxd577108++yzRVEUxY033lgcffTRK7zH9742vjTt8aXsY74yBxxwQNG/f//iiCOOKI444ojK38zq3uell15aXHvttZW2d8and++3oiiKF154ofjCF75QzJ8/vyiKonjmmWeKvn37VvbVu8eDd2p5Z/mXXnqp6N69e7FgwYIVan7nb/uBBx4ozjzzzKKhoaH47Gc/W8yZM6fo3LlzsWDBgmLJkiXFkUceWfzf//1fURRFMX/+/OKzn/1s5fU7873jggsuKI488sjirbfeKoqiKO65557i0EMPLebPn180NDQU5513XjFmzJjK+/z0pz9dvPbaa0VRFMWFF15YqXvMmDHF+eefXzQ0NFTG/3vuuacoimV/B3fddVdleyvrb0VRFA0NDZV+8c62f/nLXxZFsex49+rVq5gxY0ZRFEUxdOjQypi7Oo7zMpv7cd7YNrfz46IoisMPP7xyLO+///6if//+y9XzTr/77Gc/W0yZMqXS9s6xfPfxL4o1f+68uz++extFsfzf5o033licddZZK615U7I5nB9feumlxejRo4uiWDbm9OjRo5g5c2ZRFMsf/wsvvLAYPnx4pdZ3jud7x4I1ndN07969eOGFFyrzv3sbc+bMKRoaGoqiKIrp06cXffr0We3+3xRtip9fixcvLj71qU8td0530kknVZZ7p6/OnTu32HfffYu//OUvRVEUxdKlSyu1vvdceE2fO6ecckqxZMmSFbaxuv1UNldOvU9nnXVWvvzlL+foo4+uTFuwYEH+8Y9/ZNCgQUmSj370o+natWseffTR9OvXL8myq0/W5J3Lvrt3755XX301dXV1+etf/5qXX355uW/jqqqq8sILL6Rt27Zp0aJFPve5zy23ngEDBqS6ujrbbbdddtttt7z44ov58Ic/vNJt7rzzzmnRokX++Mc/ZuHChenSpUulbeHChZk2bVrmzJlTmfbWW29l+vTp+fSnP73S9e2///5p165dkmVXrfTt2zc77rhjkmXfXA4cOLAyb8+ePfORj3wkSXLMMcfk8MMPT5I88MADOfLIIyvfvh111FH5/e9/n+OOO26N+/DdJk2alMmTJ2fJkiVZuHDhcvtg1113rVyt0L1798qzIdan3r17Z+rUqWnZsmV69uyZZs2a5UMf+lCeffbZTJs2LZ/97GdXu4+PPPLILF26NEOHDs3ee++dAw44YKXbacxx+vznP7/cMvvtt19at26dJNl9993z4osvrvJ9VFVV5XOf+1xuu+223HbbbZkwYUL+/ve/V9rvuuuuLFiwIHfeeWeSZVdSffzjH1/l+j70oQ+lR48eSZLnnnsuW221VeUbnn333TdbbbVVnnvuubRs2TJbbbVVjjjiiCTJ3nvvna233jr//Oc/89BDD622bzXWE088kZ/85CeZN29eqqqqVrgMf2V/ky1atFjr7axKdXV1rrnmmjzzzDN56KGH8vvf/z7XXXddJk+enL/97W/5+Mc/no9+9KNJUrkKYMGCBeu0LeNL0xhfyj7mq+q/V1555XJXRK7pfe61114ZO3Zs3n777ey999751Kc+tdL13nfffXnxxRdz/PHHV6YtXbo0r7/+epLlx4P31v3BD34wrVu3zr/+9a9VXtm6995755JLLsnvf//7dO7cOW3btq20Pf/885k+fXrOOeecyrQlS5bkn//85yrXN2DAgGy77bZJlvWVQw45JK1atUqSfOELX8ioUaMq837mM5/JDjvskCQ5+uijM2LEiMpy3/nOd1JVVZVWrVrl0EMPzQMPPJC+ffuudJsr09DQkJ/97Ge5995709DQkHnz5i13m8+ee+6Z2traJMkee+yR+++/v1HrdZyX2dyPcxk2p/PjQYMG5aabbkrfvn1z00035aijjlphnueeey5Lly5dbhvv7pfvtqbPnXf3x/e6995788tf/jILFy7cKLehbgybw/nx0UcfnZNPPjnnnntubr/99uy55575wAc+sMJ8d999dyZOnJjq6mVP1nnnHOa91nROs+eee2aXXXZZ6bIvvfRSzj333MyaNSvNmzfP66+/ntdee61JXmX5fmxqn19bbbVVDj/88Nx000254IILMnHixJU+A+rRRx/Nbrvtlj333DNJ0qxZs1Ve0bSmz53DDz88zZuvPO5Z3XlrmYRT79NHPvKR9O3bN9dff/1aLbeqD513e+cfDe/cXrJ06dIURZEuXbpk/PjxK8z/8ssvZ5tttklVVdVK1/POutZ0f+znP//5nH/++TnttNOWm97Q0JCqqqr85je/yVZbbbXG+pOkZcuWjZpvQ3v44Yfzq1/9KhMmTEi7du0yefLk3HjjjZX2d192Xl1dvUE+8N85md5uu+2y1157JVk2UD7wwAP5y1/+kosuumiN+/i2227L1KlTc//992fcuHEr3OOeNO44vbf/vbeP1NXVrfa9HHnkkTnmmGOy1157rXDyVRRFhg0b1uhLiBvzt7AxLF68OGeeeWb++7//O5/85Ccza9asyq0G71jZ3+T6DKfe0blz53Tu3DnHH398DjnkkEybNm2VHy7v1PPuh8+u6fglxpf1aX2ML2Ud81tvvTU///nPkyRf+9rXKuHv2r7P/v37p3v37vnzn/+c//qv/8pNN92UcePGrXQ9ffr0yZgxY1aYPn369JWOB2vTx94Jzy+66KJcdtlly7UVRZG2bduu1bNwmsr4NHny5PzlL3/J+PHj06pVq1x77bXLhedr+3e4Oo5zeTbmcd7QNqfz4yOOOCJXXHFFXnrppdx11105//zzG/1+1sWq9sErr7ySyy67LL/5zW+y884755FHHlntrfSbis3h/PjjH/94dtxxx9x777256aab8pWvfKXR739drO7855xzzsmFF16Ygw46KA0NDdljjz0adY6wOWjqn1+DBg3K1772tRx99NH55z//mYMOOmhd3majrWosWdN5a5k8EH09OP300/PLX/6ycl9oq1at0rVr18rAOH369Dz11FPp3r37Spdv1apV5s+f36ht9ejRIy+88EIefPDByrTHHntsvT4MeMCAAfna175WubLg3XX27Nkz//mf/1mZNnPmzMq99S1btlzt+9h7773zxz/+sTL/jTfemH333bfS/sgjj1ROwm666aZKor3PPvvklltuyZIlS7JkyZLccsstyy23Mu/dp2+++WZatWqVNm3aZPHixbnpppsasSfWrx49euSVV17Jb3/72/Tu3TtJ0qtXr4wfPz6tW7fOzjvvvNp9PGfOnLz99tuVZxNst912eemll9KqVassWrSo8g/eNR2n9WHnnXfO2WefnW9+85srtPXr1y833HBD5ZdlFixYUPmlmzX19V133TVLliyp9O8HHnggS5cuza677ppk2bffkydPTrJsYF20aFE+8pGPrLFvrcx799vixYuzdOnSyrfSv/zlLxu9P9aXWbNm5a9//Wvl9b/+9a/MmTMnH/zgB9O9e/c89dRTlX1588035xOf+ERatWqVD33oQ3n66aezePHiLF68uHLVWmJ8eUdTHV/KPuaDBg2qPEx0dcHUmt7nCy+8kA4dOuSoo47Kt771rcrzD95by6c//encd999y/0S0/r+Bc9jjz02J5988grh8q677pqtt946t9xyS2Xa9OnTK1eitWzZcrVXpe2zzz65/fbbs2DBghRFkd/85jfL9ZV77rmn8o38xIkTl+tjN910U4qiyIIFCzJlypS17mPz589P27ZtK9NvvfXWxu2MdeA4bxnHeWPYXM6P27Ztm/322y9nnXVWevfuXbma5d123XXXNG/ePLfffntl2ty5c5Os+Pm1Lp87ybLzqa222iodOnRIQ0NDJkyY8L7fW1OwuZwfDxo0KFdddVWef/75HHjggSud54ADDsh1111X6ZfvjCXv7evrcl77jvnz51ceDn7TTTdt9F8nLVNT//zq0qVLOnbsmPPPPz+HHXbYCs/kS5ZdETp9+vTKuWF9fX3lx4RWNpas7edO0jT+XbwqrpxaDz7wgQ9k4MCB+dnPflaZNm7cuFx88cW54YYb0rx584wZM2aVl27us88++dnPfpYjjjgivXv3rjzwcWW23377XHPNNZWH3y1ZsiQ777xzrr322vX2flq2bJmvf/3rK20bN25cLrvssso/LFu2bJmRI0emQ4cO+fKXv5zvfOc72XrrrSu/iPZunTt3zpAhQ3LSSSclWRZwDB8+vNK+5557ZvTo0XnhhRcqDyxOlp2Avvjii5VLvffbb7984QtfWO17eO8+veCCC/K///u/6d+/f9q2bZtevXpVBqWNpUWLFtljjz0ya9asyi+U/du//VtmzZqVAQMGVOZb1T5etGhRvvvd72bp0qWpr6/P/vvvn+7du6e6ujqHH354Dj/88Gy//faZMGHCao/T+nLssceudPrXv/71/OhHP8rRRx+dqqqqVFVV5bTTTstuu+2WI444It/+9rdzxx13VB6I/m41NTW58sorl3sg+hVXXFEZvNu0aZOnnnqq8usrl19+eWpqatbYt1amTZs2K+y3M844I0cffXTatGmz3h923hhLly7NVVddlVdeeSVbb711GhoactZZZ1VuCRszZkyGDBmSpUuXpl27dpW/ke7du2efffbJoYcemh133DEf//jHKyc0xpdlmur4UvYxX5V3Hrj5jhEjRqRPnz6rfJ+33357Jk+enK222ipVVVX5zne+kyQ56KCDcsstt2TgwIGVB42OHTs2Q4cOzaJFi7JkyZLsueee2X333de6xlXp2LHjSh9E3bx581x77bUZNWpUrrvuujQ0NKR9+/b54Q9/mGTZw4u//OUvZ+utt17pL9r07ds3Tz/9dAYPHpwk6datW0499dRKe69evXL22Wdn1qxZ+ehHP5oLL7wwSfLNb34zl156aaVfH3HEESsEKu/13v32xS9+MX/4wx8yYMCAtG/fPj179lwv34Q7zlvGcS7L5nR+PGjQoMr5zco0b94811xzTYYPH55rrrkmVVVVOemkk/L5z38+xx57bL7//e/nuuuuywUXXLBOnzvJsn/YDhgwIIccckjatm2bvn375uGHH14v769Mm8v58WGHHZbRo0fnC1/4wkpDhyT59re/nVGjRuWwww5Ls2bNKv16ZWPo2p7Xvnsb3/zmN7P99tunT58+lR9c2dxsqp9f7zyi4dJLL11pe5s2bXLVVVfl+9//fhYuXJjq6upccMEF2XfffVc4F16Xz50kq91PZasq1udX4rCO3vvLU/Be7/0lC2gs4wsb2ju/5njBBReUXQobkOMMABuO2/oAAAAAKI0rpwAAAAAojSunAAAAACiNcAoAAACA0ginAAAAACiNcAoAoEQzZsxIjx49Ul9fX3YpAACl8EB0AIBG6tevX15//fU0a9Ys2267bfr06ZPvfve7admyZdmlAQBsslw5BQCwFq699tr89a9/zS233JInn3wy//mf/1l2SQAAmzThFADAOujQoUP222+//OMf/0iSPProoxk8eHB69eqVI444IlOnTq3M+9JLL+X4449Pjx498tWvfjWXXHJJhgwZkiR5+eWX06VLlyxdujRJMmvWrHzjG99I7969c/DBB+fGG2+srOeqq67KmWeemfPPPz89evTIoYcemscff7zS3q9fv1x33XU5/PDD07Nnz5x11lmpq6tLksybNy+nnHJKPvWpT2WvvfbKKaeckn/961+VZU844YT84Ac/yODBg9OjR4984xvfyNy5c3Puuedmzz33zKBBg/Lyyy9X5p8+fXpOPPHE9O7dO/3798+UKVM2wF4GALYEwikAgHXwr3/9K/fdd1922WWXzJo1K6ecckpOPfXUTJs2LRdccEHOOOOMzJkzJ0kyZMiQ7L777pk6dWpOO+20TJo0aZXrPeecc/KBD3wg9913X6688spcfvnleeCBByrtd911Vw499NA8/PDD6devXy699NLllr/99tvz05/+NH/4wx/y9NNPZ+LEiUmShoaGHHXUUbn77rtz9913p0WLFhk+fPhyy06ZMiVjxozJvffemxdffDGDBw/OoEGDMm3atOy22265+uqrkyQLFy7MSSedlMMOOyz3339/fvCDH+SSSy7J//3f/62XfQsAbFmEUwAAa+Fb3/pWevTokb59+6Zdu3Y544wzMmnSpOy///7p27dvqqur8+lPfzrdunXLH//4x8yYMSOPP/54zjjjjNTU1KRXr17p16/fStc9c+bMPPLIIxkyZEhatGiRrl275phjjlkuzOrZs2f69u2bZs2aZeDAgXnqqaeWW8cJJ5yQjh07pk2bNjnggAMqV3a1bds2/fv3zzbbbJNWrVrl1FNPzUMPPbTcskcddVR22WWXbLfddtl///2z8847Z999903z5s0zYMCAPPnkk0mSe+65J506dcqgQYPSvHnzfOITn0j//v1zxx13rM9dDQBsIZqXXQAAwKbk6quvzr777ptp06bl3HPPzdy5czNjxozccccdufvuuyvzLV26NHvvvXdeffXVbL/99tlmm20qbbW1tZk5c+YK635n3latWlWm7bTTTnniiScqr3fYYYfK/2+99dapq6vL0qVL07z5stO6Dh06VNq32WabvPrqq0mSt99+O5dddlnuu+++zJs3L0ny1ltvpb6+Ps2aNVth3S1atFhhWwsXLkySvPLKK3nsscfSq1evSnt9fX2OOOKIRu1DAIB3E04BAKyD3r1756ijjsro0aOzxx57ZODAgRkxYsQK873yyiuZN29e3n777UpAtbJgKkl23HHHzJs3LwsWLKgEVDNnzkzHjh3fd70/+9nP8txzz+XGG29Mhw4d8o9//COf//znsy4/3FxbW5u99tor119//fuuCwDAbX0AAOvoK1/5Su6///706NEjd999d+67777U19enrq4uU6dOzb/+9a906tQp3bp1y1VXXZXFixfnr3/963JXWL1bbW1tevTokcsvvzx1dXV56qmn8pvf/Ga9XJH01ltvpUWLFmndunXeeOON/OhHP1rndX3mM5/J888/n1tuuSVLlizJkiVL8thjj2X69Onvu04AYMsjnAIAWEft2rXLwIED84tf/CLXXHNNfvKTn2SfffZJ3759c91116WhoSFJMm7cuDz66KPZe++988Mf/jCHHHJIampqVrrOyy+/PK+88kr69OmT0047Laeffnr23Xff913rV77yldTV1eVTn/pUjj322PTp02ed19WqVatcd911mTJlSvr06ZP99tsv48aNy+LFi993nQDAlqeqWJdruQEAWGdnnXVWPvKRj+SMM84ouxQAgNK5cgoAYAN77LHH8uKLL6ahoSH33ntv/vCHP+Sggw4quywAgCbBA9EBADaw119/PaeffnreeOONfOADH8j3vve9fOITnyi7LACAJsFtfQAAAACUxm19AAAAAJRGOAUAAABAaYRTAAAAAJRGOAUAAABAaYRTAAAAAJRGOAUAAABAaf4fTLAWMJdJm3YAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -1954,7 +2181,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 105, "metadata": {}, "outputs": [ { @@ -2101,7 +2328,7 @@ "4 Moonee Valley City Council " ] }, - "execution_count": 73, + "execution_count": 105, "metadata": {}, "output_type": "execute_result" } @@ -2112,14 +2339,23 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 112, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVwAAAFsCAYAAACAbAGBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXxU5bnA8d85s2Qyk42EBMIiEDYDgoRVBOUKCGoB16pQtXWpUmqlVqu5WMC1Nmq1igsq6m2vikqrqGiLIG6gKHgR0IDse0hCQkhmksz63j8mM2bPZDsk4fl+Phpy3jPveTKZPPPOux1NKaUQQgjR6vSTHYAQQpwqJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOEKIYRBJOGeQhYtWsSdd95pyLW+/fZbpkyZQkZGBqtXrzbkmq3hyJEjZGRk4Pf76zxn4MCB7N+/38CoOo7Fixdzzz33GHrNm266iXfeecfQa4ZIwq3Fxo0bufrqqxkxYgSjR4/m6quvZsuWLc2q8+2332bmzJlVjmVmZvLEE080q97qMjMzOeOMM8jIyGD06NFcf/317N69u9H1TJw4kS+//LLJcTz11FP84he/YNOmTUyePLnW+ocOHUpGRgYjR47k6quvZunSpQQCgYjqP3ToEAMHDsTn8zU5xkh069aNTZs2YTKZALj22mtZtmxZq14zJJI3yMrP47hx48jMzMTlchkSX0uYPXs2Dz30UIvXW9vfW8iSJUu49NJLW/yakZCEW43T6WT27Nlcc801fPPNN3z++efceuutWK3Wkx1aDXUlmxtvvJFNmzbx2WefkZiYyH//938bHFmwZdi/f/96z1m8eDGbNm3ik08+4de//jUvvvii4a2djiD0PC5fvpzs7GxeeOGFVrlOfa18ERlJuNXs3bsXgGnTpmEymbDZbIwfP57TTz89fM5bb73FhRdeSEZGBhdddBE//PADAC+88AKTJ08OH1+1ahUAu3fvZuHChXz33XfhFt2bb77J+++/z0svvURGRgazZ88GIDc3l9/97necddZZTJw4kX/84x/h6y5atIjbbruNO++8k+HDhzf4sSg6Oprp06ezc+fOWss//vhjfvaznzFy5EiuvfbacEv4j3/8I0eOHGH27NlkZGTw4osv1vr4t956i/PPP5/Ro0cze/ZscnNzAZg8eTIHDx4MP97j8dQbZ2xsLJMmTeJvf/sb77zzDjt27ADg008/5ZJLLmH48OFMmDCBRYsWhR9zzTXXADBq1CgyMjLYtGkTBw4c4LrrrmPMmDGMGTOGO+64g+Li4lqv+dRTT/HAAw8A4PV6GTZsGI888ggA5eXlDBkyhBMnTlRpST/xxBNs3LiR+++/n4yMDO6///5wfV9++SVTpkxh1KhR3HfffYQWcAYCAZ599lnOO+88xo4dy1133UVJSQkAX3/9Neeee26VuEKfLD7//HOef/55/v3vf5ORkcGMGTPqfQ4BkpOTGT9+PNu2bQsf83g8ZGVl8V//9V+cffbZLFiwgPLy8nD5iy++yPjx4xk/fjzLli2r0j2SmZnJwoUL+fWvf82wYcP4+uuv662vsLCQW265hZEjRzJ69GhmzZoV/sTywgsvcM4555CRkcHUqVP56quvgJqt+Lpek6Hn5qWXXmL69OmMGDGC3//+97jd7gafl+oqf0oJtYSzsrIYNWoUEydO5LPPPgufW1JSwrx58xg/fjznnHMOTzzxRPPeeJSooqSkRI0ePVrddddd6tNPP1VFRUVVyj/88EM1fvx4tXnzZhUIBNS+ffvUoUOHwmVHjx5Vfr9fffDBB+rMM89Uubm5Siml/vWvf6mrr766Sl133323evzxx8Pf+/1+demll6pFixYpt9utDhw4oCZOnKg+//xzpZRSTz31lBo0aJBatWqV8vv9qqysrEb8let0Op3qD3/4g5o5c2b48XfccYdSSqk9e/aoM888U61du1Z5PB71wgsvqMmTJyu3262UUuq8885T69atq/N5+vLLL9Xo0aPV999/r9xut7r//vvVrFmzwuUNPb6u8gkTJqjXXntNKaXU+vXr1fbt25Xf71fbtm1TY8eOVatWrVJKKXXw4EE1YMAA5fV6w4/dt2+fWrt2rXK73aqgoEDNmjVLPfjgg3XGP23aNKWUUt9++62aNGmSuuKKK8Jl06dPr/U611xzjXrrrbeq1DVgwAB18803qxMnTqjDhw+rMWPGqM8++0wppdSyZcvU5MmT1YEDB5TT6VS//e1v1Z133hn++c4555w6n5fKv69InsecnBw1bdo09cADD4TLH3zwQXXLLbeo48ePq5KSEnXLLbeoxx57TCml1GeffabOPvtstWPHDlVaWqruvPNONWDAALVv3z6lVPC1NHz4cLVx40bl9/tVeXl5vfU99thjav78+crj8SiPx6M2bNigAoGA2r17tzr33HPV0aNHw8/p/v37a/yMkbwmL7/8cnX06FF1/PhxdcEFF6jXX3+91ueltr+3kMq/w3/9619q0KBB6s0331Q+n0+99tpraty4cSoQCCillPrNb36j5s+fr1wulzp27Ji6/PLL1dKlS+v9ndRHWrjVxMTE8Prrr6NpGvPnz2fs2LHMnj2bY8eOAfDPf/6Tm266iaFDh6JpGr169aJ79+4AXHjhhXTp0gVd17nooovo1atXo/p+t27dSmFhYbgLo2fPnlx55ZV8+OGH4XOGDRvG5MmT0XUdm81Waz0vv/wyI0eOZMqUKbhcLv7yl7/UOOfDDz9kwoQJjBs3DovFwo033kh5eTmbNm2KKNb333+fyy+/nMGDB2O1WvnDH/7Ad999x6FDhyL+eWuTkpLCiRMnABgzZgwDBw5E13VOP/10fvazn/HNN9/U+dhevXoxbtw4rFYriYmJXH/99WzYsKHWczMyMti3bx/Hjx9n48aNXHHFFeTm5uJyudiwYQOjR49uVNy//vWviYuLo1u3bowZM4bt27cDwefpV7/6FT179sThcPCHP/yBDz/8sEX7nn/729+SkZHBhAkTSExM5LbbbgNAKcWyZcuYN28eCQkJxMTEcMstt/DBBx8A8O9//5vLLruM/v37Ex0dza233lqj7kmTJjFixAh0XcdqtdZbn9lsJj8/nyNHjmCxWBg5ciSapmEymfB4POzevRuv10uPHj047bTTalwrktfktddeS5cuXUhISOC8886r0ppvqm7dunHllVdiMpm49NJLyc/P59ixYxw7dozPP/+cefPmYbfbSUpK4le/+lX4520Kc7Oj7YD69u0bTlK7d+/mj3/8I3/+8595/PHHycnJqfXFArB8+XJeeeUVDh8+DEBpaSnHjx+P+LqHDx8mLy+PkSNHho/5/f4q33ft2rXBem644QZuv/32es/Jy8ujW7du4e91XSc1NTXcLdCQvLw8Bg8eHP7e4XCQkJBAbm4uPXr0iKiO2uTm5hIfHw/A5s2beeyxx9i5cyderxePx8MFF1xQ52MLCgp48MEH2bhxIy6XC6UUcXFxtZ5rs9k444wz2LBhAxs2bGD27Nls27aN//u//2PDhg3hLotIJScnh/8dHR0d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x8eTlJTEmDFjWLduHRCceVBQUECvXr1ISkoiPT2dFStWALBixQrS09NJTEyst0wIIdoqTSnV4GfqmTNnctVVV3HJJZcwatQoNmzYQGlpKVOnTuWLL75o8CLHjh1jzpw5lJWVoes68fHx3H333QwePJiDBw8yb948ioqKMJvN/P73v2fChAkA7N69m8zMTIqLi4mLiyMrK4u0tLQGyyIlXQptk8RsDIm5ddTXpRBRwh01ahTffPMNmqYxevRovvnmG4Aq/26PJOG2TRKzMSTm1tHsPtzu3bvz/fffVzm2ZcsWTjvttOZFJoQQp5CIZo4mP3sAACAASURBVCnMnTuXW265hauvvhqv18vzzz/PG2+8EV4RJoQQomERtXDPO+88XnzxRQoLCxk1ahSHDx9m0aJFjB8/vrXjE0KIDiPiebiDBw9m8ODBrRmLEEJ0aHUm3CeffDKiCubOndtiwQghREdWZ8I9evRo+N9ut5uPPvqIM844g+7du3PkyBG2bt3KlClTDAlSCCE6gjoT7sMPPxz+9+23385f//pXpk6dGj720Ucf8Z///Kd1oxNCiA4kokGzzz//nMmTJ1c5NmnSJD777LNWCUoIITqiiBJur169eO2116oce/3112UerhBCNEJEsxQefPBBbr31VpYsWUKXLl04evQoFouFRYsWtXZ8QgjRYUSUcAcNGsTKlSvZvHkzeXl5JCcnM2zYMCwWS2vHJ4QQHUbE2zNqmoZSikAgEP5eCCFE5CJq4e7evZvf/OY3uN1uunbtSk5ODlFRUSxevJi+ffu2doxCCNEhRJRw77vvPq688kpuvPHGcMv2pZde4t577+V///d/WzVAIYToKCLqUti+fTvXX399lW6EX/7yl2zfvr3VAhNCiI4mooSbkpJSY9/bjRs3kpKS0ipBCSFERxRRl8Ltt9/OnDlz+K//+i+6devGkSNH+PTTT3n00UdbOz4hhOgwImrhTpo0ibfffpv+/fvjcrno378/b7/9do3VZ0IIIepWbwtXKYXL5SImJoY+ffowZ86ccJnT6UQpJdPDhBAiQvW2cP/+979z77331lp23333yQwFIYRohHoT7jvvvMOtt95aa9mtt97K22+/3SpBCSFER1Rvwj1y5Ai9e/eutaxXr14cPny4NWISQogOqd6EazKZOHbsWK1lx44dQ9cjXhkshBCnvHoz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\n", "text/plain": [ - "
" + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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N2+eefHFF40xxjz22GNmwYIF5oMPPjDBYNB84QtfMN/4xjcyz+/DH/5wp69Ldn/15HWsrq42F1xwgfn+979vjDFm9+7dZu7cueYf//iHSSQSZtmyZWbu3Lmmvr7eGGPMZZddZv7jP/7DRCIRs3z5cjNr1qzM9dLP++abbzahUMi0traa5557zixYsMBs3LjRxGIx8/Of/9x88pOfNMYY89JLL5mPfexjprGx0TiOYzZu3Jh578+fP98sX77cGGNMQ0ODee+99zo8/2g0ahYsWGDuv/9+E4lEzCuvvGKOP/54s2nTJmNM8n09d+5c884775hYLGa+9rWvma985Ss5X5Nc74207Nc0vd9tt91mWltbzdq1a80xxxxjNm7caIwx5re//a259NJLTXV1tYlEIuY73/mO+epXv9plf4jIwKSRFREZMIqKivjDH/6AZVl85zvf4eSTT+aGG26grq4OSH6y/LnPfY6ZM2diWRYTJkxg7NixAJx33nmMGjUK27Y5//zzmTBhwgGtdVm1ahV79+7NTDsbP348l112Gc8880xmn+OPP54FCxZg2zZ+vz/neX79618zZ84czj77bEKhEP/xH//RYZ9nnnmG0047jfnz5+PxeLjuuusIh8O8/fbbPWrrU089xcc//nGOOeYYvF4vX/va11i5ciU7duzo8fPNZeTIkTQ2NgIwb948pk+fjm3bHHnkkXz0ox/ljTfe6PTYCRMmMH/+fLxeL8OHD+eaa65h+fLlOfedNWsWW7duZd++faxYsYJPfOIT1NTUEAqFWL58OXPnzj2gdn/+85+npKSEMWPGMG/ePNatWwckX6fPfvazjB8/nkAgwNe+9jWeeeaZXp1W9YUvfIFZs2Zx2mmnMXz4cL785S8D8Je//IVTTz2V0047Ddu2mT9/Psceeywvvvgiu3btYtWqVXz5y1/G6/UyZ84czjjjjA7n/tKXvkRhYSF+v59HH32U66+/nsmTJ+N2u7nhhhtYu3YtO3fuxO12EwqF2Lx5M8YYJk+ezMiRIwFwu91s3LiRYDBIaWkpxxxzTIfrvPPOO7S0tHD99dfj9Xo5+eSTOf300/nrX/+a2WfBggXMnDkTt9vNwoUL24wgHYovfvGL+P1+jjzySI488shM3z366KN89atfZfTo0Xi9Xr74xS+yePFiTYkTGYTch7sBIiIHYvLkyZkb/E2bNnHzzTfzgx/8gB/+8IdUV1dzxBFH5DzuiSee4De/+U1makxLSwv79u3r8XV37tzJnj17mDNnTuaxRCLR5vvRo0d3e55rr72Wr371q13us2fPHsaMGZP53rZtKisrM1O5urNnz542N52BQICysjJqamoYN25cj86RS01NDaWlpUDyBva+++5jw4YNxGIxotEo5557bqfH1tXVcdddd7FixQpCoRDGGEpKSnLu6/f7OfbYY1m+fDnLly/P3Hi/9dZbLF++PDPNrKcqKioy/y4oKMgsct+zZ08mmAUYO3Ys8Xic+vr6Azp/V37+85/zoQ99iDfeeIOvf/3r7Nu3j5KSEnbt2sWzzz7LCy+8kNk3Ho8zb9489uzZQ2lpKQUFBZltlZWVVFdXtzl39vtt165d/OAHP8hMl4Pk9K+amhpOPvlkPvWpT3HnnXeyc+dOzj77bG655RaKior4yU9+wv33389//ud/Mn36dL7+9a8za9asNtfZs2cPo0ePxrb3f745ZsyYNu/HESNGZP7t9/tpaWk5hFdtv+zzFhQUZM67a9cuvvCFL7Rpk23b1NfXM2rUqF65tojkBwUrIjJgTZ48mUsuuYT//d//BZI3dLnmyu/cuZNvf/vb/Pa3v2XWrFm4XC4uuuiizHbLsjoc0/6xyspKxo0bx5IlSzptT67zHIyRI0dm1hRA8qazurq6xzdhI0eOzARlkAzMGhoaDukm7t1336WmpoYTTjgBgK9//etcddVVPPTQQ/h8Pu66665M8JfrdfjhD3+IZVk89dRTlJWVsXTp0jbrStqbO3cur732GmvXrmXGjBnMnTuXZcuW8e6773LiiSce9PPI1v512rVrF263m/LycmpqagiHw5ltiUSCvXv3Zr4/0L6eO3cul1xyCXfffTe/+MUvqKys5KKLLuLf/u3fOuy7c+dOGhsbaW1tzQQs7QOV9m2orKzkhhtu6HT9zNVXX83VV19NfX09X/nKV3jooYf4yle+wsyZM7n//vuJxWI88sgjfOUrX+HFF19sc+zIkSPZvXs3juNkgoPq6momTpx4QK9Bbxo9ejQ/+MEPMu9HERm8NA1MRAaMTZs28etf/5rdu3cDyRump59+muOOOw6AT3ziE/z617/mvffewxjDtm3b2LlzJ62trViWxfDhwwH405/+1GZhe/rmNHuxeXl5eZtpUzNnziQQCPDggw8SDodJJBKsX7/+kNMm53Leeefx4osv8uqrrxKLxfj1r3+N1+vNfOI9YsQItm/f3unxF1xwAX/+859Zu3Yt0WiUH/7wh8ycOfOgRlWCwSAvvPACX/va11i4cCHTp08HIBQKUVpais/n49133+Xpp5/OHDN8+HBs227TxlAoRGFhIcXFxdTU1PDQQw91ed0TTzyRJ554gsmTJ+P1epk7dy6PPfYY48aNy/Rje929Lu1dcMEF/Pd//zfbt28nFArxox/9iPPOOw+3282kSZOIRCL84x//IBaLcf/993d4f+zcubPH6ZwBPvOZz/DKK6+wbt06Fi5cyAsvvMA///lPEokEkUiE119/nd27dzN27FiOPfZYfvrTnxKNRjNZ2bpy+eWX8+CDD2be183Nzfztb38DkoHmO++8QywWo6CgAK/Xi23bRKNRnnzySZqbm/F4PAQCgTYjFWkzZ87E7/fz0EMPEYvFeP3113n++ec5//zze/zc24tGo0Qikcx/B/I6AlxxxRX8+Mc/zgSbe/fuHdA1g0SkcwpWRGTAKCoq4p133uHSSy/l+OOP57LLLmPatGl861vfApI3+TfccANf//rXmT17Nl/4whdobGxkypQpXHvttVx++eV86EMfYv369cyePTtz3pNOOokpU6ZwyimnMG/ePCAZ+GzcuJE5c+Zw44034nK5eOCBB1i3bh1nnnkmJ510Et/+9rcJBoO9/jyrqqq49957+f73v89JJ53ECy+8wAMPPJBJ0Xz99ddz//33M2fOnEz2pmwf+tCHuOmmm/jSl77EKaecwvbt2w+4Zkw6W9hpp53GAw88wDXXXMO///u/Z7bffvvt/OQnP2HWrFn8/Oc/57zzzstsKygo4IYbbuCKK65gzpw5rFy5ki9+8YusWbOGOXPmcP3113P22Wd3ef1Zs2YRiUQyoyhTpkzB5/O1mXbX3tVXX83ixYs58cQTc45YtPfxj3+chQsXctVVV3HmmWfi9Xr5zne+AySzoN1+++18+9vf5tRTT6WgoKDNtKv0lLd58+bxsY99rNtrQTKIu+iii/j5z39OZWUlv/jFL/jlL3/JySefzGmnncbDDz+cuWm/7777WLlyJfPmzePHP/4x559/fpcpus866yw+97nP8bWvfY3Zs2dzwQUX8NJLLwHJQPHb3/42c+fO5fTTT6esrIzrrrsOSK6dOeOMM5g9ezaPPvoo9957b4dze71eHnjgAV566SVOOukk7rjjDu655x4mT57co+edy6xZs5g5c2bmv9dee+2Ajr/66qs544wzuPbaa5k1axaXXXZZn3xwICKHn2VMKoejiIiI5KWvfOUrVFVVZRboi4gMFRpZERERyTPvvvsuH3zwAY7j8NJLL/H3v/+dBQsWHO5miYj0Oy2wFxERyTN1dXV86UtfoqGhgdGjR/O9732Po48++nA3S0Sk32kamIiIiIiI5CVNAxMRERERkbykYEVERERERPLSkF6zUl8fxHH6ZxbcsGGF7NvXOxV9JX+pnwc/9fHQoH4e/NTHQ4P6eeCoqCjO+bhGVvqJ2+063E2QfqB+HvzUx0OD+nnwUx8PDerngU/BioiIiIiI5CUFKyIiIiIikpcUrIiIiIiISF5SsCIiIiIiInlJwYqIiIiIiOQlBSsiIiIiIpKX+j1Y+dnPfsb06dNZv349ACtXrmThwoWcc845XHvttdTX12f2PdhtIiIiIiIy8PVrsLJ69WpWrlzJ2LFjAXAch5tvvpnvfve7LF68mDlz5nDfffcd0jYRERERERkc+i1YiUaj3HnnnXzve9/LPPbee+/h8/mYM2cOAJdffjnPPvvsIW0TEREREZHBod+Clf/6r/9i4cKFjBs3LvNYdXU1Y8aMyXw/fPhwHMehoaHhoLeJiIiIiMjg4O6Pi7z99tu89957fOMb3+iPy/VYeXlRv16voqK4X68nh4f6efBTHw8N6ufBT308NKifB7Z+CVaWL1/Opk2bOPPMMwHYvXs31113HZ/+9KfZtWtXZr+9e/di2zZlZWVUVlYe1LYDUV8fxHHMoT25HqqoKKa2trlfriWHj/p58FMfDw3q58FPfTw0qJ8Hjs6Cyn6ZBnb99dezbNkynn/+eZ5//nlGjx7Nww8/zOc+9znC4TArVqwA4NFHH+Xcc88F4Nhjjz2obSIiIiIiMjj0y8hKZ2zb5p577uH2228nEokwduxY7r333kPaJiIiIiIig4NljOmfeVB5SNPApLepnwc/9fHQoH4e/NTHQ4P6eeA4rNPApH+FwjF21oUIhWOHuykiIiIiIgftsE4Dk4MTCseorm8BDKUBL9tqmnn/gwZisQTxhMN7W/fiGDCOYcq4UiwLtu1qJppIUOB1UzWmlOOnjSDUGifhOKzeuo94LE5xoY/iQi+jywtw2zaFBR6GFfuoLA8Q8HsIhWM0BKN43RbRuKGsyEvA76G2oYUdtSHGVQSoKCvMtLEhGM3s0xvPuTfPJyIiIiL5T8HKALNqcz0P/3UNwZYYPZnB9s7GvW2+D4Wj1DXV8sa62h5fc1ixj48cP4ZXV9cQiSVoCkUpLvTg97oZXxHgrQ11mX0Xzp/IxMoSFi3dkHnsigVTmVFV3uPrtbdqc32vnk9EREREBgZNAxtAQuEYv356DU2hngUqvaWhOcKTL2/FcQzNLTEsC4KtcULhKMvfryXhGBKOwRjDky9v5feL38e2LXxeF7ZtsWjphoOekhYKx1i0dEOvnU9EREREBg4FKwNIdX0LwXAcAKsfr2tZYEj+B2BbFmAIte5viwXJqWcGYgkHjzv51kp/bQhGD+ra6eN663wiIiIiMnAoWBlQTI5/9cNVzf6ABMAxJhm8mBxtscDjsonFHYDM17Ii70FdO31cb51PRERERAYOBSsDSGV5gJKAF7s/h1WAsmIfC+dPxLYtigs9GANFPje2beH3Jt9C6YDlvHnjueqc6TiOIRJN4DiGKxZMPehF8QG/hysWTO2184mIiIjIwKEF9gNIwO/hs+cdyR+eW08s4WABC0+ZSO2+Vv7+5naiMUPiIIdckhO79vN5bBbMGcdxU0ZksoGdccK4NtnAdtUFefylLcQTDvGEwyWnVnHKzDEAVF1d0mvZu2ZUlffq+URERERkYFCwMsDMqCrn25+Z0+HG/Zx5E2gIRoknEqzb1kBjKEJVZTEVwwp5f9s+WiIJJlYWYYzFuIoALZE4b6+vw2XDpMoSJo0ppSUcY+POJooL3EwaU9ohKAj4PW0eGzsiwNETh+cMItrve6h6+3wiIiIikv8UrAxAuW7csx+bMKqkzbb233f2eMDvydRJOZS2iIiIiIj0Bq1ZERERERGRvKRgRURERERE8pKCFRERERERyUsKVkREREREJC8pWBERERERkbykYEVERERERPKSghUREREREclLClZERERERCQvKVgREREREZG8pGBFRERERETykoIVERERERHJSwpWREREREQkLylYERERERGRvKRgRURERERE8pKCFRERERERyUsKVkREREREJC8pWBERERERkbykYEVERERERPKSghUREREREclL7sPdADk4oXCMhmCUsiIvANX1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JC8pWBERERERkbykYEVERERERPKSghUREREREclLClZERERERCQvKVgREREREZG8pGBFRERERETykoIVERERERHJSwpWREREREQkLylYERERERGRvKRgRURERERE8pKCFRERERERyUsKVkREREREJC8pWBERERERkbykYEVERERERPKSghUREREREclLClZERERERCQvKVgREREREZG8pGBFRERERETykoIVERERERHJSwpWREREREQkLylYERERERGRvKRgRURERERE8pKCFRERERERyUsKVkREREREJC8pWBERERERkbykYEVERERERPKSghUREREREclLClZERERERCQvKVgREREREZG8pGBFRERERETykoIVERERERHJSwpWREREREQkLylYERERERGRvKRgRURERERE8pKCFRERERERyUsKVkREREREJC8pWBERERERkbykYEVERERERPKSghUREREREclLClZERERERCQvKVgREREREZG8pGBFRERERETykoIVERERERHJSwpWREREREQkLylYERERERGRvKRgRURERERE8pKCFRERERERyUvu/rrQjTfeyI4dO7Btm8LCQr7zne9w1FFHEYlE+MEPfsCrr76Kz+fj+OOP5/vf/z4AW7Zs4Vvf+hYNDQ2UlZVx9913M3HixG63iYiIiIjIwNdvwcrdd99NcXExAEuXLuXWW2/l8ccf595778Xn87F48WIsy6Kuri5zzO23386VV17JRRddxF/+8he++93v8rvf/a7bbSIiIiIiMvD12zSwdKACEAwGsSyLUCjEE088wU033YRlWQCMGDECgPr6etasWcMFF1wAwAUXXMCaNWvYu3dvl9tERERERGRw6LeRFYDbbruNl19+GWMMDz30ENu3b6esrIyf/exnvP766wQCAW666SbmzJlDdXU1o0aNwuVyAeByuRg5ciTV1dUYYzrdNnz48B63p7y8qE+eZ2cqKoq730kGPPXz4Kc+HhrUz4Of+nhoUD8PbP0arNx1110APPHEE9xzzz185StfYfv27Rx99NHccsstvPPOO9xwww0899xz/dKe+vogjmP65VoVFcXU1jb3y7Xk8FE/D37q46FB/Tz4qY+HBvXzwNFZUHlYsoFdfPHFvP7664waNQq3252ZznXccccxbNgwtmzZQmVlJTU1NSQSCQASiQR79uyhsrKyy20iIiIiIjI49EuwEgqFqK6uznz//PPPU1paSnl5OfPmzePll18Gkhm+6uvrmTBhAuXl5Rx11FE8/fTTADz99NMcddRRDB8+vMttIiIiIiIyOFjGmD6fB1VXV8eNN95Ia2srtm1TWlrKLbfcwjHHHMP27du59dZbaWhowO1285WvfIXTTjsNgE2bNvGtb32LpqYmSkpKuPvuu6mqqup2W09pGpj0NvXz4Kc+HhrUz4Of+nhoUD8PHJ1NA+uXYCVfKViR3qZ+HvzUx0OD+nnwUx8PDerngSOv1qyIiIiIiIh0R8GKiIiIiIjkJQUrIiIiIiKSlxSsiIiIiIhIXlKwIiIiIiIieUnBioiIiIiI5CUFKyIiIiIikpcUrIiIiIiISF5SsCIiIiIiInlJwYqIiIiIiOQlBSsiIiIiIpKXFKyIiIiIiEhe6lGwEo1G+dGPfsSZZ57JCSecAMCyZcv4/e9/36eNExERERGRoatHwcoPfvAD1q9fz3333YdlWQBMnTqVRYsW9WnjRERERERk6HL3ZKelS5eyZMkSCgsLse1kfDNq1Chqamr6tHEiIiIiIjJ09WhkxePxkEgk2jy2d+9eysrK+qJNIiIiIiIiPQtWzj33XG655Ra2b98OwJ49e7jzzjv56Ec/2qeNExERERGRoatHwcpXv/pVxo0bx8KFC2lqauKcc85h5MiRfOELX+jr9omIiIiIyBDVozUrXq+XW2+9lVtvvZW9e/cybNiwzEJ7ERERERGRvtBpsJKe8pVLKBTK/Hv8+PG92yIRERERERG6CFbOOussLMvCGJMZRTHGALQZVVm7dm0fN1FERERERIaiToOVdevWZf79pz/9iVdeeYUvfelLjBkzhl27dvHzn/+ck08+uV8aKSIiIiIiQ0+P1qz813/9F0uWLMHv9wMwceJE7rzzTs455xwuueSSPm2giIiIiIgMTT3KBuY4Djt37mzz2K5du3Acp08aJSIiIiIi0qORlc9+9rN85jOf4ZJLLmH06NHs3r2bP//5z3zmM5/p6/aJiIiIiMgQ1aNg5XOf+xzTpk3j2WefZc2aNVRUVPCDH/yAU089ta/bJyIiIiIiQ1SPghWAU089VcGJiIiIiIj0mx6tWYnFYvzkJz/hzDPPZMaMGZx55pn85Cc/IRqN9nX7RERERERkiOrRyMq9997Lu+++yx133JFJXfyLX/yCYDDIrbfe2tdtFBERERGRIahHwcqzzz7LX/7yF4YNGwZAVVUVRx99NBdddJGCFRERERER6RM9mgaWrlzf08dFREREREQOVY+ClXPPPZd/+Zd/4Z///CebNm3ipZde4gtf+ALnnXdeX7dPRERERESGqB5NA7v55pu5//77ufPOO9mzZw+jRo3i/PPP58Ybb+zr9omIiIiIyBDVo2DF6/Vy0003cdNNN/V1e0RERERERIBupoG9+eab3HvvvTm33XfffaxcubIv2iQiIiIiItJ1sPLLX/6SE088Mee2E088kQceeKBPGiUiIiIiItJlsLJ27Vo+/OEP59w2f/583nvvvT5plIiIiIiISJfBSjAYJBaL5dwWj8cJhUJ90igREREREZEug5WqqiqWLVuWc9uyZcuoqqrqk0aJiIiIiIh0Gax89rOf5fbbb2fJkiU4jgOA4zgsWbKE733ve1xzzTX90kgRERERERl6ukxdfOGFF1JXV8ctt9xCLBajrKyMhoYGPB4PX/7yl7ngggv6q50iIiIiIjLEdFtn5ZprruHSSy/l7bffpqGhgbKyMmbNmkVRUVF/tE9ERERERIaoHhWFLCoq6jQrmIiIiIiISF/ocs2KiIiIiIjI4aJgRURERERE8pKCFRERERERyUs9ClYuvvjinI9fcsklvdkWERERERGRjB4FK9u2bevwmDGGHTt29HqDREREREREoJtsYN/85jcBiMVimX+n7dy5kylTpvRdy0REREREZEjrMlg54ogjcv4bYPbs2Zx77rl90yoRERERERnyugxWvvjFLwJw3HHHqc6KiIiIiIj0qx6tWfF4PGzfvh2A2tpabrnlFv71X/+V2traPm2ciIiIiIgMXT0KVu644w5cLhcA//Ef/0E8HseyLL7zne/0aeNERERERGTo6nIaWFpNTQ1jxowhHo+zbNkynn/+eTwej6aGiYiIiIhIn+lRsFJUVERdXR0bNmxg8uTJBAIBotEo8Xi8r9snIiIiIiJDVI+ClauuuopPfOITxGIxbr31VgDeeustqqqq+rRxIiIiIiIydPUoWLn++us566yzcLlcmRTGo0aN4t/+7d/6tHEiIiIiIjJ09ShYARg/fjxvv/027777LqNGjWLWrFm43T0+XERERERE5ID0KNrYtGkT//Iv/0I4HKayspLq6mp8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74cPH47jODQ0NHS5raysrF+ei4iIiIiI9K1+DVbuuusuAJ544gnuuecebrzxRt577z2+8Y1v9GczMsrLi/r1ep3lj5bBRf08+KmPhwb18+CnPh4a1M8DW78GK2kXX3wx3/3ud5k9ezabNm3izDPPBGD37t1cd911/Pu//zuVlZXs2rUrc8zevXuxbZuysrIutx2IwVIUUvKH+nnwUx8PDernwU99PDSonweOzoLKflmzEgqFqK6uznz//PPPU1payg033MCyZct4/vnnef755xk9ejQPP/wwp5xyCsceeyzhcJgVK1YA8Oijj3LuuecCdLlNREREREQGh34ZWWltbeWmm26itbUV27YpLS3lgQceyCyyz8W2be655x5uv/12IpEIY8eO5d577+12m4iIiIiIDA6WMaZ/5kHlIU0Dk96mfh781MdDg/p58FMfDw3q54HjsE4DExEREREROVAKVkREREREJC8pWBERERERkbykYEVERERERPKSghUREREREclLClZERERERCQvKVgREREREZG8pGBFRERERETykoIVERERERHJSwpWREREREQkLylYERERERGRvKRgRURERERE8pKCFRERERERyUsKVkREREREJC8pWBERERERkbykYEVERERERPKSghU5KKFwjJ11IULh2OFuioiIiIgMUu7D3QDp2raaJlZv2UssnmD9Bw3UNrZiYxF1HFpbY8TiYNvgsiESBwvwusGyLMqKfJwz7wimjBvG9j1NvLd5L2MqAoyvKKLA56GyvJCA39PmeqFwjOr6EGDl3A6wfF0Nj72wCduyADh33hGceNTInPt2JRSO0RCMUlbkPeBjRURERGTwU7CSh9I38U8u28zydbXd7u84EHeS/zYkgxYw7N4X5r+fXd/pcYU+Fx87tYojJwynrMjL5l1NPPz0GppbYlgWlAS8XHP+UcyoKs8cs3xdDQ8+uSZ5LWPAsnjkufUsfuMDrjxrWpt9u7Jqcz2Llm7IfH/Fgqk9PlZEREREhgYFK3kmfRMfjSXY2xzp02u1RBI88twGPC7weVy0RBI4JrnNGGgIRnlkyXq+89k5BPweahtaePTvGwCDBSRMcke3y8IAi5ZuoOrqkm5HSULhGIuWbsC2LTxum1jc6fGxIiIiIjJ0KFjJI9k38XEn0W/XjSUglsh9vXA0TkMwyuZdTfzP4vdp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XKpwIDHe2DgnQ2q1r++fm17stTy2z+ofPYTDZ8px5HQVMu+2on9KfJsXhxaTHjPHDEBW/4RWx5s4oi9GZaV0qMVvstWMx3MyMG1U/7BdnFtMegzqa72j5whVMIVXJLQXVyhxR+t7ptBFawFORBRpYWldXFlZicWLF6O+vh6yLCMhIQFLly7F0KFDcfbsWSxbtgx2ux3x8fHIz89HRkYGAHT4tWBFwzAw6l6Y5+6POe4ZmOfujznuGZjnruNWw8DCts5KNGKxQp2Nee7+mOOegXnu/pjjnoF57joivs4KERERERHR7WCxQkREREREUYnFChERERERRSUWK0REREREFJVYrBARERERUVRisUJERERERFGJxQoREREREUUlFitERERERBSVWKwQEREREVFUYrFCRERERERRicUKERERERFFJRYrREREREQUlVisEBERERFRVNJFOoBIkmWpW5+PIoN57v6Y456Bee7+mOOegXnu2iQhhIh0EERERERERC1xGBgREREREUUlFitERERERBSVWKwQEREREVFUYrFCRERERERRicUKERERERFFJRYrREREREQUlVisEBERERFRVGKxQkREREREUYnFChERERERRSUWK52opKQE8+bNw/Tp0zFv3jx8//33rbbRNA2rV6/GlClTMHXqVGzevDn8gVJIgsnzunXr8OijjyIvLw9PPPEEPvvss/AHSiEJJs8+586dw/3334/8/PzwBUghCzbHO3fuRF5eHnJzc5GXl4fKysrwBkohCSbPVVVVWLRoEfLy8jBz5kz86le/gtvtDn+w1CH5+fmYPHkyMjMzcerUqYDb8PqrCxPUaZ577jlRUFAghBCioKBAPPfcc6222bp1q1iwYIHQNE1UVVWJnJwccfHixXCHSiEIJs+FhYWirq5OCCHEiRMnRHZ2tqivrw9rnBSaYPIshBBut1s8++yz4uc//7l44403whkihSiYHB89elTMnDlTlJeXCyGEsNvtwul0hjVOCk0weV6zZo3/++tyucSTTz4pduzYEdY4qeO+/PJLceXKFTFp0iRx8uTJgNvw+qvr4p2VTlJVVYXjx48jNzcXAJCbm4vjx4+jurq62XY7d+7E3LlzIcsyEhMTMWXKFOzatSsSIVMHBJvnnJwcxMTEAAAyMzMhhEBNTU24w6UOCjbPAPDnP/8ZEydORHp6epijpFAEm+N33nkHCxYsQHJyMgAgLi4ORqMx7PFSxwSbZ0mS4HA44PF44HK5oKoqUlNTIxEydcDIkSNhs9na3IbXX10Xi5VOUlpaitTUVCiKAgBQFAUpKSkoLS1ttV1aWpr/sc1mw9WrV8MaK3VcsHluqqCgAHfddRf69OkTrjApRMHm+bvvvsP+/fvx4osvRiBKCkWwOT579iwuXryIZ555Bo8//jjWr18PIUQkQqYOCDbPixcvRklJCcaNG+f/k52dHYmQ6Q7h9VfXxWKF6A764osv8Lvf/Q5vvfVWpEOhTqaqKlasWIHVq1f7L4So+9E0DSdPnsRf//pXvPfeeygsLMS2bdsiHRZ1sl27diEzMxP79+9HYWEhvvrqK/7qThQlWKx0EpvNhrKyMmiaBsD7P7jy8vJWtyVtNhuuXLnif1xaWspf3LuQYPMMAMXFxfjFL36BdevWISMjI9yhUgiCyXNFRQUuXLiARYsWYfLkyXj33XexadMmrFixIlJh020I9ruclpaGGTNmwGAwIDY2Fo888giOHj0aiZCpA4LN8/vvv49Zs2ZBlmXExcVh8uTJKCoqikTIdIfw+qvrYrHSSZKSkpCVlYXt27cDALZv346srCwkJiY2227GjBnYvHkzPB4PqqursWfPHkyfPj0SIVMHBJvno0eP4mc/+xl+//vfY+jQoZEIlUIQTJ7T0tJQVFSEvXv3Yu/evXjhhRfwwx/+EL/+9a8jFTbdhmC/y7m5udi/fz+EEFBVFQcPHsSQIUMiETJ1QLB57tevHwoLCwEALpcLn3/+Oe65556wx0t3Dq+/ui5JcPBtpzl79iyWLVsGu92O+Ph45OfnIyMjAwsXLsSSJUswbNgwaJqGV199FQcOHAAALFy4EPPmzYtw5HQ7gsnznDlzcPny5WYTNNeuXYvMzMwIRk63I5g8N/WHP/wBdXV1WLp0aYQiptsVTI49Hg/y8/NRWFgIWZYxbtw4LF26FLLM3/q6imDyfOHCBaxatQqVlZXQNA2jR4/G8uXLodPpIh0+BWHNmjXYvXs3Kisr0atXL1itVuzYsYPXX90EixUiIiIiIopK/GmIiIiIiIiiEosVIiIiIiKKSixWiIiIiIgoKrFYISIiIiKiqMQ2F0REREREdFvy8/PxySef4PLly/joo48wePDgNrf/+uuvsXr1av/jqqoqJCcnY+vWrW3uxzsrRETU5YwYMQIXL16MdBhERD3WI488go0bN6Jv375Bbf/AAw9g27Zt/j/Dhw9Hbm5uu/vxzgoREUWFyZMno7KyEoqiICYmBuPHj8eKFStgsVhabVtcXByBCImIyGfkyJEBnz9y5AjefPNNOBwOAMCSJUswceLEZttUVVXhwIEDePXVV9s9D++sEBFR1NiwYQOKi4uxdetWfPPNN/jjH//Y7HW32x2hyIiIqD12ux2rVq3CW2+9hS1btmDDhg1YuXIl7HZ7s+0KCgowduxY9O7du91jslghIqKok5qaipycHJw+fRqZmZnYuHEjpk2bhmnTpgEAMjMzcf78eQCA0+nEG2+8gUmTJiE7OxtPP/00nE4nAODw4cN46qmnMHLkSMyaNQtFRUURe09ERN1dcXExLl26hIULF2L27NlYuHAhJEny//faZ8uWLZgzZ05Qx+QwMCIiijqlpaUoLCzE1KlT8a9//Qt79uzBpk2bYDKZWm2bn5+PM2fO4B//+Ad69+6NI0eOQJZllJWV4cc//jHWrl2LnJwcfP7551iyZAk+/vhjJCYmRuBdERF1b0II/w9Mt3L48GFcv34dEyZMCOqYvLNCRERR4yc/+QlGjhyJ+fPnY9SoUXj55ZcBAIsWLYLVam1VrHg8HnzwwQdYvnw5UlNToSgKHnjgARgMBmzbtg3jx4/HhAkTIMsyxo4di/vuuw+ffvppJN4aEVG3N2LECJw/fx4HDx70P3f06FEIIfyPP/jgA8yaNQs6XXD3THhnhYiIosa6deswZsyYVs/bbLaA21+7dg0NDQ3o379/q9euXLmCXbt2Yd++ff7n3G43Ro8e3XkBExH1UGvWrMHu3btRWVmJl156CVarFTt27MD69evx29/+Fq+//jpUVUX//v2xYcMGSJIEp9OJnTt3YtOmTUGfh8UKERFFPUmSAj7fq1cvGI1GXLx4EUOGDGn2ms1mw+zZs7FmzZpwhEhE1KO88soreOWVV1o9P3z4cLz33nsB9zGZTDh06NBtnYfDwIiIqMuSZRlz5szBb37zG5SVlUHTNBQXF8PlcmHWrFnYt28fPvvsM2iahoaGBhQVFeHq1auRDpuIiILEYoWIiLq0pUuXYvDgwXjyySfx4IMP4s0334TH44HNZsP69evxpz/9CQ8//DAmTJiAv/zlL/B4PJEOmYiIgiSJpjNeiIiIiIiIogTvrBARERERUVRisUJERERERFGJxQoREREREUUlFitERERERBSVWKwQEREREVFUYrFCRERERERRicUKERERERFFJRYrREREREQUlVisEBERERFRVPp/PAV9EGHczVgAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" ] }, "metadata": {}, @@ -2127,7 +2363,13 @@ } ], "source": [ - "sns.lmplot('Price', 'Postcode', data=df, fit_reg=False, scatter_kws={\"marker\": \"D\", \"s\": 20}) \n", + "sns.lmplot(x='Price', \n", + " y='Postcode', \n", + " data=df, \n", + " fit_reg=False, \n", + " scatter_kws={\"marker\": \"D\", \"s\": 20}, \n", + " height=7, \n", + " aspect=1.6) \n", "plt.title('Scatter Plot of Data without Regression Line')\n", "plt.xlabel('Price')\n", "plt.ylabel('Post Code')\n", From 470f4b01de3976649c73c20913429ca417cab656 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Wed, 26 May 2021 13:16:56 +0200 Subject: [PATCH 19/25] first version of project --- Assignments/project_layout2.ipynb | 4663 +++++++++++++++++++++++++++++ 1 file changed, 4663 insertions(+) create mode 100644 Assignments/project_layout2.ipynb diff --git a/Assignments/project_layout2.ipynb b/Assignments/project_layout2.ipynb new file mode 100644 index 00000000..b23e47df --- /dev/null +++ b/Assignments/project_layout2.ipynb @@ -0,0 +1,4663 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.animation import FuncAnimation\n", + "import sounddevice as sd\n", + "from IPython.display import HTML\n", + "import time" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv('CovidFaelle_Timeline.csv', sep=';')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TimeBundeslandBundeslandIDAnzEinwohnerAnzahlFaelleAnzahlFaelleSumAnzahlFaelle7TageSiebenTageInzidenzFaelleAnzahlTotTaeglichAnzahlTotSumAnzahlGeheiltTaeglichAnzahlGeheiltSum
026.02.2020 00:00:00Burgenland129443600000000
126.02.2020 00:00:00Kärnten256129300000000
226.02.2020 00:00:00Niederösterreich3168428700000000
326.02.2020 00:00:00Oberösterreich4149027900000000
426.02.2020 00:00:00Salzburg555841000000000
526.02.2020 00:00:00Steiermark6124639500000000
626.02.2020 00:00:00Tirol775763400000000
726.02.2020 00:00:00Vorarlberg839713900000000
826.02.2020 00:00:00Wien919111911110,052323390000
926.02.2020 00:00:00Österreich1089010641110,011234610000
1027.02.2020 00:00:00Burgenland129443600000000
1127.02.2020 00:00:00Kärnten256129300000000
1227.02.2020 00:00:00Niederösterreich3168428700000000
1327.02.2020 00:00:00Oberösterreich4149027900000000
1427.02.2020 00:00:00Salzburg555841000000000
1527.02.2020 00:00:00Steiermark6124639500000000
1627.02.2020 00:00:00Tirol775763400000000
1727.02.2020 00:00:00Vorarlberg839713900000000
1827.02.2020 00:00:00Wien919111912330,15697020000
1927.02.2020 00:00:00Österreich1089010642330,033703840000
\n", + "
" + ], + "text/plain": [ + " Time Bundesland BundeslandID AnzEinwohner \\\n", + "0 26.02.2020 00:00:00 Burgenland 1 294436 \n", + "1 26.02.2020 00:00:00 Kärnten 2 561293 \n", + "2 26.02.2020 00:00:00 Niederösterreich 3 1684287 \n", + "3 26.02.2020 00:00:00 Oberösterreich 4 1490279 \n", + "4 26.02.2020 00:00:00 Salzburg 5 558410 \n", + "5 26.02.2020 00:00:00 Steiermark 6 1246395 \n", + "6 26.02.2020 00:00:00 Tirol 7 757634 \n", + "7 26.02.2020 00:00:00 Vorarlberg 8 397139 \n", + "8 26.02.2020 00:00:00 Wien 9 1911191 \n", + "9 26.02.2020 00:00:00 Österreich 10 8901064 \n", + "10 27.02.2020 00:00:00 Burgenland 1 294436 \n", + "11 27.02.2020 00:00:00 Kärnten 2 561293 \n", + "12 27.02.2020 00:00:00 Niederösterreich 3 1684287 \n", + "13 27.02.2020 00:00:00 Oberösterreich 4 1490279 \n", + "14 27.02.2020 00:00:00 Salzburg 5 558410 \n", + "15 27.02.2020 00:00:00 Steiermark 6 1246395 \n", + "16 27.02.2020 00:00:00 Tirol 7 757634 \n", + "17 27.02.2020 00:00:00 Vorarlberg 8 397139 \n", + "18 27.02.2020 00:00:00 Wien 9 1911191 \n", + "19 27.02.2020 00:00:00 Österreich 10 8901064 \n", + "\n", + " AnzahlFaelle AnzahlFaelleSum AnzahlFaelle7Tage SiebenTageInzidenzFaelle \\\n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 1 1 1 0,05232339 \n", + "9 1 1 1 0,01123461 \n", + "10 0 0 0 0 \n", + "11 0 0 0 0 \n", + "12 0 0 0 0 \n", + "13 0 0 0 0 \n", + "14 0 0 0 0 \n", + "15 0 0 0 0 \n", + "16 0 0 0 0 \n", + "17 0 0 0 0 \n", + "18 2 3 3 0,1569702 \n", + "19 2 3 3 0,03370384 \n", + "\n", + " AnzahlTotTaeglich AnzahlTotSum AnzahlGeheiltTaeglich AnzahlGeheiltSum \n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 0 0 0 0 \n", + "9 0 0 0 0 \n", + "10 0 0 0 0 \n", + "11 0 0 0 0 \n", + "12 0 0 0 0 \n", + "13 0 0 0 0 \n", + "14 0 0 0 0 \n", + "15 0 0 0 0 \n", + "16 0 0 0 0 \n", + "17 0 0 0 0 \n", + "18 0 0 0 0 \n", + "19 0 0 0 0 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Time', 'Bundesland', 'BundeslandID', 'AnzEinwohner', 'AnzahlFaelle',\n", + " 'AnzahlFaelleSum', 'AnzahlFaelle7Tage', 'SiebenTageInzidenzFaelle',\n", + " 'AnzahlTotTaeglich', 'AnzahlTotSum', 'AnzahlGeheiltTaeglich',\n", + " 'AnzahlGeheiltSum'],\n", + " dtype='object')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0\n", + "1 0\n", + "2 0\n", + "3 0\n", + "4 0\n", + "5 0\n", + "6 0\n", + "7 0\n", + "8 0,05232339\n", + "9 0,01123461\n", + "10 0\n", + "11 0\n", + "12 0\n", + "13 0\n", + "14 0\n", + "15 0\n", + "16 0\n", + "17 0\n", + "18 0,1569702\n", + "19 0,03370384\n", + "Name: SiebenTageInzidenzFaelle, dtype: object" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['SiebenTageInzidenzFaelle'].head(20) # noticing error in floats" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cleaning the Data ###" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexTimeBundeslandBundeslandIDAnzEinwohnerAnzahlFaelleAnzahlFaelleSumAnzahlFaelle7TageSiebenTageInzidenzFaelleAnzahlTotTaeglichAnzahlTotSumAnzahlGeheiltTaeglichAnzahlGeheiltSum
0026.02.2020 00:00:00Burgenland129443600000000
1126.02.2020 00:00:00Kärnten256129300000000
2226.02.2020 00:00:00Niederösterreich3168428700000000
3326.02.2020 00:00:00Oberösterreich4149027900000000
4426.02.2020 00:00:00Salzburg555841000000000
5526.02.2020 00:00:00Steiermark6124639500000000
6626.02.2020 00:00:00Tirol775763400000000
7726.02.2020 00:00:00Vorarlberg839713900000000
8826.02.2020 00:00:00Wien919111911110.052323390000
91027.02.2020 00:00:00Burgenland129443600000000
\n", + "
" + ], + "text/plain": [ + " index Time Bundesland BundeslandID AnzEinwohner \\\n", + "0 0 26.02.2020 00:00:00 Burgenland 1 294436 \n", + "1 1 26.02.2020 00:00:00 Kärnten 2 561293 \n", + "2 2 26.02.2020 00:00:00 Niederösterreich 3 1684287 \n", + "3 3 26.02.2020 00:00:00 Oberösterreich 4 1490279 \n", + "4 4 26.02.2020 00:00:00 Salzburg 5 558410 \n", + "5 5 26.02.2020 00:00:00 Steiermark 6 1246395 \n", + "6 6 26.02.2020 00:00:00 Tirol 7 757634 \n", + "7 7 26.02.2020 00:00:00 Vorarlberg 8 397139 \n", + "8 8 26.02.2020 00:00:00 Wien 9 1911191 \n", + "9 10 27.02.2020 00:00:00 Burgenland 1 294436 \n", + "\n", + " AnzahlFaelle AnzahlFaelleSum AnzahlFaelle7Tage SiebenTageInzidenzFaelle \\\n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 1 1 1 0.05232339 \n", + "9 0 0 0 0 \n", + "\n", + " AnzahlTotTaeglich AnzahlTotSum AnzahlGeheiltTaeglich AnzahlGeheiltSum \n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 0 0 0 0 \n", + "9 0 0 0 0 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# cleaning data - changing ',' in floats to '.'.\n", + "df['SiebenTageInzidenzFaelle'] = df['SiebenTageInzidenzFaelle'].str.replace(',', '.')\n", + "# getting rid of each 10th value since this is the value for the whole of austria\n", + "df = df.loc[(df['BundeslandID'] % 10 != 0), :].reset_index()\n", + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Bundesland\n", + " Burgenland 0\n", + " Kärnten 0\n", + " Niederösterreich 0\n", + " Oberösterreich 0\n", + " Salzburg 0\n", + " Steiermark 0\n", + " Tirol 0\n", + " Vorarlberg 0\n", + " Wien 1\n", + " Name: AnzahlFaelle, dtype: int64,\n", + " Bundesland\n", + " Burgenland 307\n", + " Kärnten 843\n", + " Niederösterreich 1133\n", + " Oberösterreich 2257\n", + " Salzburg 805\n", + " Steiermark 1097\n", + " Tirol 1006\n", + " Vorarlberg 803\n", + " Wien 1934\n", + " Name: AnzahlFaelle, dtype: int64)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# getting min vaules\n", + "dfAmin = df.groupby('Bundesland')['AnzahlFaelle'].min()\n", + "# getting max values\n", + "dfAmax = df.groupby('Bundesland')['AnzahlFaelle'].max()\n", + "dfAmin, dfAmax" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# defining the amplitude values for the Audio-Enginge via the Infectionrate and scaling the values to go between 0 and 1\n", + "dfAmpB = np.array(df.loc[(df['BundeslandID'] == 1), 'AnzahlFaelle'])\n", + "dfAmpBn = dfAmpB/dfAmpB.max()\n", + "dfAmpK = np.array(df.loc[(df['BundeslandID'] == 2), 'AnzahlFaelle'])\n", + "dfAmpKn = dfAmpK/dfAmpK.max()\n", + "dfAmpN = np.array(df.loc[(df['BundeslandID'] == 3), 'AnzahlFaelle'])\n", + "dfAmpNn = dfAmpN/dfAmpN.max()\n", + "dfAmpO = np.array(df.loc[(df['BundeslandID'] == 4), 'AnzahlFaelle'])\n", + "dfAmpOn = dfAmpO/dfAmpO.max()\n", + "dfAmpS = np.array(df.loc[(df['BundeslandID'] == 5), 'AnzahlFaelle'])\n", + "dfAmpSn = dfAmpS/dfAmpS.max()\n", + "dfAmpSt = np.array(df.loc[(df['BundeslandID'] == 6), 'AnzahlFaelle'])\n", + "dfAmpStn = dfAmpSt/dfAmpSt.max()\n", + "dfAmpT = np.array(df.loc[(df['BundeslandID'] == 7), 'AnzahlFaelle'])\n", + "dfAmpTn = dfAmpT/dfAmpT.max()\n", + "dfAmpV = np.array(df.loc[(df['BundeslandID'] == 8), 'AnzahlFaelle'])\n", + "dfAmpVn = dfAmpV/dfAmpV.max()\n", + "dfAmpW = np.array(df.loc[(df['BundeslandID'] == 9), 'AnzahlFaelle'])\n", + "dfAmpWn = dfAmpW/dfAmpW.max()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating the Audio Engine ###" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# notelength\n", + "dur = 0.125\n", + "# attack and decay of tones\n", + "a = dur * 0.1\n", + "d = dur * 0.9\n", + "\n", + "# simple sine-oscillator\n", + "def sine(frq, a, d):\n", + " sr = 44100\n", + " env = np.concatenate((np.linspace(0, 0.5, int(round(sr * a, 0))), np.linspace(0.5, 0, int(round(sr * d, 0)))))\n", + " t = np.arange(int(round(d * sr + a* sr, 0))) / sr\n", + " sine = 1 * np.sin(2 * np.pi * frq * t) * env\n", + " return sine\n", + "\n", + "# pause - function. for future iterations of this piece.\n", + "def pause(note):\n", + " pause = np.zeros_like(note)\n", + " return pause\n", + "\n", + "# applying frequency modulation to the oscillator\n", + "def fm(freq, ratio, a, d):\n", + " freqfm = freq + sine(freq * ratio, a, d)\n", + " return freqfm\n", + "\n", + "# simple panning - algorithm\n", + "def panner(x, angle):\n", + " # pan a mono audio source into stereo\n", + " # x is a numpy array, angle is the angle in radiants\n", + " left = np.sqrt(2)/2.0 * (np.cos(angle) - np.sin(angle)) * x\n", + " right = np.sqrt(2)/2.0 * (np.cos(angle) + np.sin(angle)) * x\n", + " return np.dstack((left,right))[0]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Defining the Score ####" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "# tuning in just intonation to generate alienating feeling\n", + "\n", + "partB = [sine(fm(110, 5, a, d), a, d) * dfAmpBn[i] for i in range(len(dfAmpBn))]\n", + "partB2 = np.concatenate(partB)\n", + "partK = [sine(fm(220, 2, a, d), a, d) * dfAmpKn[i] for i in range(len(dfAmpKn))]\n", + "partK2 = np.concatenate(partK)\n", + "partN = [sine(fm(110 * (3/4), 2, a, d), a, d) * dfAmpNn[i] for i in range(len(dfAmpNn))]\n", + "partN2 = np.concatenate(partN)\n", + "partO = [sine(fm(440, 1.25, a, d), a, d) * dfAmpOn[i] for i in range(len(dfAmpOn))]\n", + "partO2 = np.concatenate(partO)\n", + "partS = [sine(fm(220 * (15/8), 2, a, d), a, d) * dfAmpSn[i] for i in range(len(dfAmpSn))]\n", + "partS2 = np.concatenate(partS)\n", + "partSt = [sine(fm(440 * (9/5), 2, a, d), a, d) * dfAmpStn[i] for i in range(len(dfAmpStn))]\n", + "partSt2 = np.concatenate(partSt)\n", + "partT = [sine(fm(880 *(6/5), 1.25, a, d), a, d) * dfAmpTn[i] for i in range(len(dfAmpTn))]\n", + "partT2 = np.concatenate(partT)\n", + "partV = [sine(fm(880 * (2/3), 1.5, a, d), a, d) * dfAmpVn[i] for i in range(len(dfAmpVn))]\n", + "partV2 = np.concatenate(partV)\n", + "partW = [sine(fm(1760 * (3/4), 2.5, a, d), a, d) * dfAmpWn[i] for i in range(len(dfAmpWn))]\n", + "partW2 = np.concatenate(partW)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Animation ###" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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11+fbLNNXa8RAAAAwMZrow5FizVqlOy+e/Lb3y76XSMAAAAA1twmEYqSpGHDpHnz5P/+X0cWAQAAAKyNTSYUJYt+7Hr77ZOf/ayu1wQAAABg47NJhaJk0ZFFn/508tWv1vWaAAAAAGxcNrlQlCz6zaLvfjdp0aKu1wQAAABg47FJhqJk0ZFF/+f/1PVaAAAAAGw8NtlQtMUWyWGHJU2b1vWaAAAAAGwcNtlQlCQLFybHHlvXawEAAACwcdikQ1GjRskJJ9T1WgAAAABsHD72UHTMMcfkueeey5QpU3LxxRdv8NvbeeekQYMNfjMAAAAAG72PNRRVVVWlT58+6dy5c/bcc8+ceuqpad++/Qa9zffeS/7t3zboTQAAAABsEj7WULT//vtn6tSpmTZtWj744IPceeed6dKlywa9zaqqpF27DXoTAAAAAJuEjzUUtWrVKjNmzKicnjlzZlq1arVBb7NBg2TrrTfoTQAAAABsEurX9Qp8VI8ePdKzZ88kyZZbtsl++9Ws0/UVRfLpTycXXrg+1o410bx588ydO7euV4O1ZPw2XsZu42b8Nl7GbuNm/DZuxm/jZew2bsZv49WmTZuVnl98XNOBBx5YPPzww5XTvXr1Knr16vWx3b7p451qamrqfB1Mxm9znIzdxj0Zv413MnYb92T8Nu7J+G28k7HbuCfjt2lOH+tXz2pqatKuXbu0bds2DRo0SNeuXTN48OCPcxUAAAAAWIGP9atnH374Yc4999wMGTIkW2yxRW699dZMnDjx41wFAAAAAFbgY/+NooceeigPPfTQx32z1IGbbrqprleBdWD8Nl7GbuNm/DZexm7jZvw2bsZv42XsNm7Gb9NUL4u+gwYAAADAZu5j/Y0iAAAAAD65hKLNyIIFC1JbW5sxY8bk6aefzkEHHVSn6zNt2rTssMMO6+W65s+fv16uZ2O35OPQuXPnPP/889l1112z884755577kn79u3Tt2/fNb7eNm3a5NRTT12fq7pRK4oiv/71ryunL7zwwvTu3TtJcvbZZ+f0009fo+tbm+fvxRdfnK9+9av53//933zpS19a6WX/67/+a42vf038+c9/zrbbbrvC8/v165eTTz55g67DumjVqlXuv//+TJ48OVOnTs21116bBg0apHv37rn++uvX6bpPP/30nH322av1vLjgggvSqFGjdbq9lenbt2/at2+/wvN79+6dCy+8cIPd/ifRJZdckgkTJmTs2LGpra3N/vvvv8LLrup5PHz48Oy3334bYjU3e8sbp9XdXlb1vP84eI+y9rbffvvU1tamtrY2L7/8cmbOnJna2trMnz8/ffr0WaPr2hz3cevq0UcfTadOnZaad8EFF+SGG25Yr7ez5NjYl9a9q6++OhdccEHl9MMPP7zU/x9+/etf57LLLsvFF19cF6vHx6jO//Sa6eOZ5s+fX/l3p06dir/85S9rtHxVVdV6XZ9p06YVO+yww3q/b5vztPhxOOqoo4opU6YUu+2222ovu8UWW6zwvCOOOKJ44IEH6vz+fVKmd955p3jhhRcqz98LL7yw6N279zqP2+pO9erV26DXnyy7va/L9t+vX7/i5JNPrvNxW9E0atSo4tvf/nblft58883FlVdeWXTv3r24/vrr1/p61/QxW5t94vocp969excXXnhhnY/HxzUdeOCBxciRI4uGDRsWSYoddtih2HnnnVd4+VU9j4cPH17st99+a70+a7pdby7TisZpfb6HWHJa3+916tWr5z3KeppWZx+1svcym9s+bn1MPXr0KG699dal5v3tb38rDjvssFUuu7rb0hZbbLHU2KzLvnRl429a/enkk08u7rrrriJZtA976qmnipEjR1bOHzlyZHHAAQfU+XqaNuzkiKLN1DbbbJN58+YlSY444og88MADlfOuv/76dO/ePcmio36uuOKKPP300/nGN76Rzp07Z9KkSXnqqady3XXXVZZr3LhxbrnllowaNSrPPPNMTjjhhCRJ9+7dc++99+ahhx7K5MmT88tf/nK563PfffflqaeeyoQJE9KjR4/K/Pnz5+enP/1pxowZk7/97W/ZaaedkiRt27bNyJEjM27cuFx++eXr/wHaiB122GHp27dvjj/++LzwwgtJFh3lMnr06IwZMyZ/+MMfKp/C9uvXLzfeeGOefPLJXHnllenXr1+uu+66PPHEE/n73/9e+fT8iiuuyGGHHZba2tp8//vfT1VVVa688sqMHj06Y8eOTc+ePZMsei4NHz4899xzTyZNmpTf//73dfMgbGALFizITTfdlB/84AfLnLfkp2K77bZbHnrooTz11FN5/PHHs8ceeyRZ+fP3hz/8YeVx/fGPf5xk0RFdzz33XAYMGJAJEyakdevWufLKKzN+/PiMGzcup5xySpKkZcuWeeyxx1JbW5vx48fn0EMPzS9+8Ys0atQotbW1lfE47bTTMmrUqNTW1uY3v/lNqqoWvRTMnz8/v/71rzNmzJgcdNBBy5xe0XJLHh14+umnZ+zYsRkzZkwGDhxYuV+HH374Ms+rT4Kjjjoq7777bvr3758kWbhwYX7wgx/kzDPPTOPGjdO6desMHz48kydPzv/8z/9Ullvdx/AHP/hBxo8fn/Hjx1c+nWvcuHH+9Kc/ZcyYMRk/fnxOOeWUnHfeefnUpz6V4cOH59FHH02SHH300Rk5cmSefvrp3H333WnSpEmSZffLHz29ouWW/JT2mGOOydNPP50xY8bkkUceqdyvPffcM8OHD8/f//73nHfeeRv2wa9jO++8c+bOnZv3338/SfLaa6/l5ZdfzmWXXZbRo0dn/Pjx+e1vf7vMcvvtt1/lCIdx48alKIrKeaeffnpl++vYsWOSZY9iGD9+fNq0abPc7frSSy/Nc889lxEjRuT222939EOWP05f//rXV3t7WfJ5vybb1M9//vPU1tampqYmHTp0yMMPP5ypU6fm7LPPTpI0adIkjzzySJ5++umMGzeu8r5neeO62A477JCRI0fmuOOO+3gevE3Yku9de/funYEDB+avf/1rfve736VNmzaprq7O2LFj88gjjyw1BqyZP/zhD/nKV76SBg0aJFn0/P7Upz6VVq1aZdy4cRk/fnyuuOKKyuU/+hq4ov3p8OHDc80116SmpmapI1cWW96+dGX/1xg0aFCqq6tTXV2dRo0a5a677sqzzz6bP/7xj3nyyScdobSGRo4cWfnmyV577ZUJEyZk/vz5adasWRo2bJj27dtn7733rhx13bx58/zhD3/I6NGjM3r06Bx88MFJFm2bt9xyy2bzvmJTVOe1yvTxTAsWLChqa2uLSZMmFa+//nqx7777FsmyR4tcf/31Rffu3Ytk0SfcP/rRj4okxZZbbln84x//KNq2bVskKW6//fbKcj/72c+K0047rUhSbLvttsXzzz9fNG7cuOjevXvx97//vdhmm22KLbfcsnjxxReLXXbZpXLdiz8N3G677YokxVZbbVWMHz++2H777YskRVEUxfHHH18kKX75y18W//3f/10kKQYNGlScfvrpRZLie9/7nk/ryun9998vXnvtteLzn//8UvMXP55Jissvv7w499xzi2TRJ+QPPPBA5VOffv36FXfffXdRr169on379sWUKVOW+xzp0aNHZSwaNmxY1NTUFG3bti2OOOKI4vXXXy9atWpV1KtXrxg5cmRxyCGH1Pnjsr6n+fPnF1tvvXUxbdq0YptttlnqiKIlPxV75JFHis985jNFkmL//fcvqquri2TFz9+jjz66+O1vf1skiz7BeeCBB4rDDjusaNOmTfHhhx9WPr352te+VgwdOrSoqqoqdtppp2L69OlFy5Yti//8z/8sLrnkkiJZ9Ele06ZNK+u7eN0/+9nPFoMHDy7q169fJCn69OlTWZeiKIpvfOMblcsueXplyy3elvfcc8/i+eefX2a7XtHz6pMwnXfeecXVV1+9zPxnnnmmOO+884qXXnqp2H777Sv7pv3222+1H8N99923GDduXNG4ceOiSZMmxYQJE4p99tmn+NrXvlbcdNNNldvaZpttlnock0VHTTz22GNF48aNiyTFRRddVFx22WWVyy3eL3/09MqWW/wpbfPmzZfaly8ep969exdPPPFE0bBhw2KHHXYo5s6dW7mPm+LUpEmTora2tnj++eeLPn36FIcffvhSj0eSYuDAgZXXoOUdUXTllVcWV155ZeXxXTyuhx12WDF+/PjK47rkUQzjx48v2rRps8x2/YUvfKGora0tttxyy6Jp06bF5MmTHf2wknFa3e1l8fN+Tbep73znO0WS4uqrry7Gjh1bNG3atGjevHkxe/bsIll05MLWW29duf3F+7WPjmuyaB+80047FU8++WTx5S9/uc4f0411WnJbWvJ9Se/evYunnnqq2GqrrYokxeDBg4tu3boVSYozzjijuO+++5ZZ3rT60wMPPFCccMIJRZLi4osvLm655ZZi+vTpRfPmzYstttiiqK6uLrp06VIky76PWNH+dPjw4UWfPn2WO7Yr2peu7P8aM2bMqNzWhRdeWPzmN78pkhR77bVX8cEHH6zT0Z6b6/TCCy8UrVu3Lnr27FmcffbZxU9+8pOic+fOxcEHH1w8/vjjSx11fdttt1Xe77du3bqYOHFiZVw3p/cVm9pUP2w23nnnnXTo0CFJcuCBB2bgwIH53Oc+t8rl7rrrriTJZz/72bzwwgt58cUXkyR33HFH5UiSTp065YQTTsgPf/jDJMlWW22VXXfdNUlSXV2df/3rX0mSiRMnpk2bNpk5c+ZSt3H++efnpJNOSpK0bt067dq1y6hRo/Lee+/lT3/6U5Lk6aefztFHH50kOeSQQypHJfzud79b4ZFKm5sPPvggI0eOzFlnnZXvf//7lfmf+9zn8tOf/jTNmjVL06ZNM2TIkMp599xzTxYuXFg5ff/996coikyaNCktWrRY7u106tQpe++9d77+9a8nSbbddtu0a9cu77//fkaPHp1Zs2YlScaMGZO2bdvmiSee2AD3tm7Nnz8/AwcOzPnnn5933nlnmfObNGmSgw8+OPfcc09l3pZbbplkxc/fTp06pVOnTqmtrU2SNG3aNO3atcs//vGPTJ8+PaNGjUqSHHroobnjjjuycOHCzJkzJ4899lg6duyYmpqa3HrrrWnQoEHuv//+jB07dpn1+tKXvpT99tsvNTU1SZJGjRplzpw5SRYdKXXvvfdWLrvk6ZUtt9hRRx2Ve+65J6+99lqSVI5aTFbvefVJNGzYsPzzn/9Mkvzxj3/MoYcemgULFqzWY3jooYfmvvvuy9tvv11Z/rDDDsvDDz+cq666KldccUX+9Kc/5a9//esyt3vggQdmzz33rGw7DRs2zN/+9rfK+Yv3yx89varlFl/m8ccfr+zLlxynP//5z3n//ffz2muvZc6cOWnRokVle97UvPXWW9lvv/1y2GGH5Ytf/GLuuuuu9OrVK/Pnz89FF12Uxo0bZ/vtt8+zzz5beR1a0imnnJJ99913qd/vuOOOO5IkI0aMyDbbbLPS3+5KstR2fcghh2TQoEF577338t577y11pO/mbEXjtKTVfd6vyTY1ePDgJIuOAGvatGnefPPNvPnmm3nvvfey7bbb5q233srPf/7zHH744Vm4cGFatWpV2bctOa5J0qBBg1RXV+ecc87J448/vp4eGZY0ePDgvPvuu0mSgw46KF/72teSLHqNvfLKK+ty1TZ6d9xxR7p27ZrBgwena9euue+++/KXv/wlc+fOTZLcdtttOfzwwzNo0KBl3kd88YtfXOH+9KPb3EdvM1l6X7qy/2sMGzas8lp26KGH5rrrrkuSPPvssxk3btx6fkQ2DyNHjszBBx+cgw8+OFdffXVatWqVgw8+OG+88cYy7+u//OUvZ88996yc3mabbSpHbG5O7ys2NULRZurJJ59M8+bNs+OOO2bBggWVr00ki3a8S3rrrbdWeX316tXLySefnMmTJy81/4ADDsh7771XOf3hhx+mfv2ln3ZHHHFEvvzlL+eggw7KO++8k+HDh1fW4YMPPljhskse7s8iCxcuzCmnnJLq6ur813/9V37xi18kSfr3758TTzwx48aNS/fu3XPkkUdWlvno+C45XvXq1Vvu7dSrVy/nnXdehg4dutT8I444YpXjvSm59tpr88wzz6Rfv37LnFdVVZXXX3+9Emc/annP33r16uUXv/hFbrrppqXmt2nTZrW2wxEjRuTwww/PV77ylfTv3z9XX311fve73y1zGwMGDMgll1yyzPLvvvvuUtFwydMrW251rM7zqi5MnDixEjwX23rrrbPrrrtmwYIFy4xTURRr9Bguz5QpU7LvvvvmuOOOy09/+tNUV1cv8xXEevXqZdiwYfmP//iP5V7HR58Pi0+varlV2Zy232TRPvOxxx7LY489lvHjx+fss8/O3nvvnS984QuZOXNmevfuvcxrYrLoUPwf//jHlUiw2PKeLyt7jV2d7Zplx2nx1+MXW53n/ZpuU4u3hYULFy61XSxcuDD169fPaaedlh133DH77bdfFixYkGnTplXG9qPXtWDBgjz99NM55phjhKINxLa04QwaNCjXXHNNOnTokMaNG2fMmDH59Kc/vdzLLvkauOWWW+aGG25Y4f50ZWO2otfeFf1fw/ivf0888UQOPvjgfP7zn8+ECRMyY8aMXHjhhfnXv/6Vfv36Zfvtt69ctqqqKgceeOBS+8rFNrf3FZsSv1G0mdpjjz2yxRZb5LXXXsv06dOz5557pmHDhtl2221X+BeUnn/++ey2225p06ZNkuSb3/xm5bwhQ4Ys9b3TffbZZ7XXZdttt828efPyzjvvZI899siBBx64ymWeeOKJdO3aNcmi3wrh/3vnnXfyla98JaeddlrOPPPMJIv+4/vyyy9X3tyuqfnz52frrbeunB4yZEi++93vVnb27dq1S+PGjdfPHdiIzJs3L3fffXfOOuusZc6bP39+pk2btlSE2HvvvZOs+Pk7ZMiQnHnmmZVPYT71qU9lxx13XOa6R4wYkW9+85upqqpK8+bNc/jhh2f06NHZdddd88orr+Tmm2/OzTffnH333TfJouC6eKyqq6vz9a9/vXK92223XeUTuZVZneUeffTRfOMb36i8edhuu+1Web11rbq6Oo0bN678RbKqqqpcddVV6d+/f95+++0cffTR2W677bLVVlvlxBNPzBNPPLHaj+GIESNy4oknplGjRmncuHFOOumkjBgxIjvvvHPefvvt3HbbbfnVr35VGaclt7Mnn3wyhxxySOXNeOPGjdOuXbtV3p/VWe7JJ5/M4YcfnrZt21bWf3O0++675zOf+Uzl9D777JPnn38+STJ37tw0adJkmYiYLHrNuuOOO9KtW7fKJ+qLLX5dPOSQQ/LGG2/kX//6V1588cXKGHfo0CH/9m//ttz1eeKJJ/LVr341W265ZZo0aZLjjz9+vdzPjd3yxmn69OlrvL2s7Ta1Ittuu23mzJmTBQsW5Mgjj6xsT8tTFEXOPPPMfPazn81FF1201rfJ6hk5cuRSr7EjRoyo4zXauL311lsZPnx4br311txxxx0ZPXp0jjjiiOywww6pqqrKqaeemscee2yZ5RZHoZXtT1dkefvS1f2/xhNPPFH57cb27dvn85///GrfLv/fyJEjc/zxx+ef//xnFi5cmHnz5qVZs2Y56KCDMnLkyKUuO3To0KXG5t///d8/7tVlA5D0NiOLf9A2WfTJWvfu3bNw4cLMnDkzd999dyZMmJBp06ZVLvNR7777br73ve/l4YcfzltvvVX52kWSXH755bn22mszbty4VFVVZdq0afnqV7+6Wuv18MMP5zvf+U4mTpyY559/Pk8++eQql7ngggty++235+KLL86gQYNW63Y2J/Pmzcuxxx6bxx9/PK+++mouu+yyjBo1Kq+++mpGjRq1VPRZHePGjcuHH36YMWPGpH///rnuuuvStm3bPPPMM6lXr15effXVnHjiiRvmznzCXXXVVTn33HOXe95pp52WG2+8MZdeemkaNGiQO++8M+PGjVvh83fYsGFp37595esQb775Zr71rW/lww8/XOp677vvvhx00EEZO3ZsiqLIRRddlFdeeSXdunXLj370o3zwwQd58803061btyTJTTfdlHHjxuWZZ57Jt771rVx66aUZOnRoqqqq8sEHH+Scc87JP/7xj5Xez0mTJq1yuYkTJ+ZnP/tZHnvssXz44Yepra3NGWecsVaP68fppJNOyg033JDLLrssVVVVefDBB3PJJZfk1FNPzejRo3Pvvfdml112ye9///s8/fTTSbJaj2FtbW369++f0aNHJ0luvvnmjBkzJp06dcqvfvWrLFy4MB988EG++93vJlk0Tg8//HBeeumlHHXUUfn2t7+dO+64o/KVxUsvvTRTpkxZ6X2ZO3fuKpebO3duevbsmT/+8Y+pqqrKnDlzlvnzx5uDpk2b5vrrr0+zZs2yYMGCTJ06NT179szrr7+eCRMmZPbs2Uu9zi3WpUuXtGnTZqk/Fbz4yMF33303zzzzTBo0aFAJ9ffee2+6deuWCRMmZNSoUct8Gr7YU089lcGDB2fcuHF55ZVXMn78+Lzxxhsb4J5vXFY0TqeeeuoabS+rs22sidtuuy0PPPBAxo0bl6eeeiqTJk1a6eUXLlyYU089NYMHD878+fNz4403rtXtsmrnnXde+vXrlx/96Ed59dVXN4rXoU+6O+64I/fff3+6du2a2bNnp1evXhk+fHjq1auXP//5z5Wvai7pjTfeSN++fVe6P12R5e1LV/f/GjfccEMGDBiQZ599Ns8991yeffZZ+9K1MH78+DRv3jy33377UvOaNm1a+YmBxc4///z06dMnY8eOTf369fP4449X3tuw8aqXRT9WBKulSZMmlcM7+/TpkylTpuTaa6+t25UCgE3A4tfYRo0a5fHHH0/Pnj1X+OENAMuqqqpKgwYN8t5772W33XbLI488kj322GOpn7MAVs0RRayRHj16pHv37mnYsGFqa2uX+6eDAYA1d9NNN2XPPffMVlttlQEDBohEAGuocePGGT58eBo0aJB69erle9/7nkgEa8ERRQAAAAAk8WPWAAAAAJSEIgAAAACSCEUAAAAAlIQiAAAAAJIIRQAAAACUhCIAAAAAkiT/D3EHNpMgUFT/AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.style.use('dark_background')\n", + "fig, ax = plt.subplots(figsize=(20, 10))\n", + "ax.set_xlim(0, 10)\n", + "ax.set_ylim(0, df['AnzahlFaelle'].max() + 100)\n", + "ax.set_xticks(np.arange(1, 10))\n", + "ax.set_xticklabels(df.loc[0:8, 'Bundesland'])\n", + "line, = ax.plot(0, 0, 'yo', ms=35)\n", + "\n", + "def animation_frame(i):\n", + " line.set_xdata(df.loc[i:i+8, 'BundeslandID'])\n", + " line.set_ydata(df.loc[i:i+8, 'AnzahlFaelle'])\n", + " return line, \n", + "\n", + "animation = FuncAnimation(fig, func=animation_frame, frames=np.arange(0, len(df), 9), interval=dur * 1000, blit=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Executing Data Sonification and Visulazation ##" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# one might need to execute the following cell twice (or more times) to get audio and animation to sync." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sd.play((panner(partB2, np.radians(-40)) \\\n", + " + panner(partK2, np.radians(-40 + (80/9))) \\\n", + " + panner(partN2, np.radians(-40 + (80/9) * 2)) \\\n", + " + panner(partO2, np.radians(-40 + (80/9) * 3)) \\\n", + " + panner(partS2, np.radians(-40 + (80/9) * 4)) \\\n", + " + panner(partSt2, np.radians(-40 + (80/9) * 5)) \\\n", + " + panner(partT2, np.radians(-40 + (80/9) * 6)) \\\n", + " + panner(partV2, np.radians(-40 + (80/9) * 7)) \\\n", + " + panner(partW2, np.radians(-40 + (80/9) * 8))) * 0.25, 44100)\n", + "\n", + "HTML(animation.to_html5_video())" + ] + } + ], + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From a4ee06d3b35a7125b469be1e9763bf6f8834ff6f Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Wed, 26 May 2021 13:40:15 +0200 Subject: [PATCH 20/25] small adjustments --- Assignments/project_layout2.ipynb | 53 ++++++++++++++++++------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/Assignments/project_layout2.ipynb b/Assignments/project_layout2.ipynb index b23e47df..36623177 100644 --- a/Assignments/project_layout2.ipynb +++ b/Assignments/project_layout2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -11,13 +11,12 @@ "import matplotlib.pyplot as plt\n", "from matplotlib.animation import FuncAnimation\n", "import sounddevice as sd\n", - "from IPython.display import HTML\n", - "import time" + "from IPython.display import HTML" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -26,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -437,7 +436,7 @@ "19 0 0 0 0 " ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -448,7 +447,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -461,7 +460,7 @@ " dtype='object')" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -472,7 +471,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -501,7 +500,7 @@ "Name: SiebenTageInzidenzFaelle, dtype: object" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -519,7 +518,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -761,7 +760,7 @@ "9 0 0 0 0 " ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -776,7 +775,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -806,7 +805,7 @@ " Name: AnzahlFaelle, dtype: int64)" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -821,7 +820,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -855,10 +854,13 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ + "# sd.query_devices()\n", + "sd.default.device = 'Screen Record w/Audio, Core Audio' # just setting this up for screen-rec\n", + "\n", "# notelength\n", "dur = 0.125\n", "# attack and decay of tones\n", @@ -901,7 +903,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -936,7 +938,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -971,12 +973,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Executing Data Sonification and Visulazation ##" + "## Executing Data Sonification and Visualization ##" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -985,7 +987,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -4619,7 +4621,7 @@ "" ] }, - "execution_count": 29, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -4637,6 +4639,13 @@ "\n", "HTML(animation.to_html5_video())" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 5cc2a5c4369ce961e4f37335b233cf3ee755a89f Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Thu, 27 May 2021 22:25:42 +0200 Subject: [PATCH 21/25] adding layout3 --- Assignments/project_layout3.ipynb | 4698 +++++++++++++++++++++++++++++ 1 file changed, 4698 insertions(+) create mode 100644 Assignments/project_layout3.ipynb diff --git a/Assignments/project_layout3.ipynb b/Assignments/project_layout3.ipynb new file mode 100644 index 00000000..72842a69 --- /dev/null +++ b/Assignments/project_layout3.ipynb @@ -0,0 +1,4698 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.animation import FuncAnimation\n", + "import sounddevice as sd\n", + "from IPython.display import HTML" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv('CovidFaelle_Timeline.csv', sep=';')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TimeBundeslandBundeslandIDAnzEinwohnerAnzahlFaelleAnzahlFaelleSumAnzahlFaelle7TageSiebenTageInzidenzFaelleAnzahlTotTaeglichAnzahlTotSumAnzahlGeheiltTaeglichAnzahlGeheiltSum
026.02.2020 00:00:00Burgenland129443600000000
126.02.2020 00:00:00Kärnten256129300000000
226.02.2020 00:00:00Niederösterreich3168428700000000
326.02.2020 00:00:00Oberösterreich4149027900000000
426.02.2020 00:00:00Salzburg555841000000000
526.02.2020 00:00:00Steiermark6124639500000000
626.02.2020 00:00:00Tirol775763400000000
726.02.2020 00:00:00Vorarlberg839713900000000
826.02.2020 00:00:00Wien919111911110,052323390000
926.02.2020 00:00:00Österreich1089010641110,011234610000
1027.02.2020 00:00:00Burgenland129443600000000
1127.02.2020 00:00:00Kärnten256129300000000
1227.02.2020 00:00:00Niederösterreich3168428700000000
1327.02.2020 00:00:00Oberösterreich4149027900000000
1427.02.2020 00:00:00Salzburg555841000000000
1527.02.2020 00:00:00Steiermark6124639500000000
1627.02.2020 00:00:00Tirol775763400000000
1727.02.2020 00:00:00Vorarlberg839713900000000
1827.02.2020 00:00:00Wien919111912330,15697020000
1927.02.2020 00:00:00Österreich1089010642330,033703840000
\n", + "
" + ], + "text/plain": [ + " Time Bundesland BundeslandID AnzEinwohner \\\n", + "0 26.02.2020 00:00:00 Burgenland 1 294436 \n", + "1 26.02.2020 00:00:00 Kärnten 2 561293 \n", + "2 26.02.2020 00:00:00 Niederösterreich 3 1684287 \n", + "3 26.02.2020 00:00:00 Oberösterreich 4 1490279 \n", + "4 26.02.2020 00:00:00 Salzburg 5 558410 \n", + "5 26.02.2020 00:00:00 Steiermark 6 1246395 \n", + "6 26.02.2020 00:00:00 Tirol 7 757634 \n", + "7 26.02.2020 00:00:00 Vorarlberg 8 397139 \n", + "8 26.02.2020 00:00:00 Wien 9 1911191 \n", + "9 26.02.2020 00:00:00 Österreich 10 8901064 \n", + "10 27.02.2020 00:00:00 Burgenland 1 294436 \n", + "11 27.02.2020 00:00:00 Kärnten 2 561293 \n", + "12 27.02.2020 00:00:00 Niederösterreich 3 1684287 \n", + "13 27.02.2020 00:00:00 Oberösterreich 4 1490279 \n", + "14 27.02.2020 00:00:00 Salzburg 5 558410 \n", + "15 27.02.2020 00:00:00 Steiermark 6 1246395 \n", + "16 27.02.2020 00:00:00 Tirol 7 757634 \n", + "17 27.02.2020 00:00:00 Vorarlberg 8 397139 \n", + "18 27.02.2020 00:00:00 Wien 9 1911191 \n", + "19 27.02.2020 00:00:00 Österreich 10 8901064 \n", + "\n", + " AnzahlFaelle AnzahlFaelleSum AnzahlFaelle7Tage SiebenTageInzidenzFaelle \\\n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 1 1 1 0,05232339 \n", + "9 1 1 1 0,01123461 \n", + "10 0 0 0 0 \n", + "11 0 0 0 0 \n", + "12 0 0 0 0 \n", + "13 0 0 0 0 \n", + "14 0 0 0 0 \n", + "15 0 0 0 0 \n", + "16 0 0 0 0 \n", + "17 0 0 0 0 \n", + "18 2 3 3 0,1569702 \n", + "19 2 3 3 0,03370384 \n", + "\n", + " AnzahlTotTaeglich AnzahlTotSum AnzahlGeheiltTaeglich AnzahlGeheiltSum \n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 0 0 0 0 \n", + "9 0 0 0 0 \n", + "10 0 0 0 0 \n", + "11 0 0 0 0 \n", + "12 0 0 0 0 \n", + "13 0 0 0 0 \n", + "14 0 0 0 0 \n", + "15 0 0 0 0 \n", + "16 0 0 0 0 \n", + "17 0 0 0 0 \n", + "18 0 0 0 0 \n", + "19 0 0 0 0 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(20)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Time', 'Bundesland', 'BundeslandID', 'AnzEinwohner', 'AnzahlFaelle',\n", + " 'AnzahlFaelleSum', 'AnzahlFaelle7Tage', 'SiebenTageInzidenzFaelle',\n", + " 'AnzahlTotTaeglich', 'AnzahlTotSum', 'AnzahlGeheiltTaeglich',\n", + " 'AnzahlGeheiltSum'],\n", + " dtype='object')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0\n", + "1 0\n", + "2 0\n", + "3 0\n", + "4 0\n", + "5 0\n", + "6 0\n", + "7 0\n", + "8 0,05232339\n", + "9 0,01123461\n", + "10 0\n", + "11 0\n", + "12 0\n", + "13 0\n", + "14 0\n", + "15 0\n", + "16 0\n", + "17 0\n", + "18 0,1569702\n", + "19 0,03370384\n", + "Name: SiebenTageInzidenzFaelle, dtype: object" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['SiebenTageInzidenzFaelle'].head(20) # noticing error in floats" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Cleaning the Data ###" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexTimeBundeslandBundeslandIDAnzEinwohnerAnzahlFaelleAnzahlFaelleSumAnzahlFaelle7TageSiebenTageInzidenzFaelleAnzahlTotTaeglichAnzahlTotSumAnzahlGeheiltTaeglichAnzahlGeheiltSum
0026.02.2020 00:00:00Burgenland129443600000000
1126.02.2020 00:00:00Kärnten256129300000000
2226.02.2020 00:00:00Niederösterreich3168428700000000
3326.02.2020 00:00:00Oberösterreich4149027900000000
4426.02.2020 00:00:00Salzburg555841000000000
5526.02.2020 00:00:00Steiermark6124639500000000
6626.02.2020 00:00:00Tirol775763400000000
7726.02.2020 00:00:00Vorarlberg839713900000000
8826.02.2020 00:00:00Wien919111911110.052323390000
91027.02.2020 00:00:00Burgenland129443600000000
\n", + "
" + ], + "text/plain": [ + " index Time Bundesland BundeslandID AnzEinwohner \\\n", + "0 0 26.02.2020 00:00:00 Burgenland 1 294436 \n", + "1 1 26.02.2020 00:00:00 Kärnten 2 561293 \n", + "2 2 26.02.2020 00:00:00 Niederösterreich 3 1684287 \n", + "3 3 26.02.2020 00:00:00 Oberösterreich 4 1490279 \n", + "4 4 26.02.2020 00:00:00 Salzburg 5 558410 \n", + "5 5 26.02.2020 00:00:00 Steiermark 6 1246395 \n", + "6 6 26.02.2020 00:00:00 Tirol 7 757634 \n", + "7 7 26.02.2020 00:00:00 Vorarlberg 8 397139 \n", + "8 8 26.02.2020 00:00:00 Wien 9 1911191 \n", + "9 10 27.02.2020 00:00:00 Burgenland 1 294436 \n", + "\n", + " AnzahlFaelle AnzahlFaelleSum AnzahlFaelle7Tage SiebenTageInzidenzFaelle \\\n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 1 1 1 0.05232339 \n", + "9 0 0 0 0 \n", + "\n", + " AnzahlTotTaeglich AnzahlTotSum AnzahlGeheiltTaeglich AnzahlGeheiltSum \n", + "0 0 0 0 0 \n", + "1 0 0 0 0 \n", + "2 0 0 0 0 \n", + "3 0 0 0 0 \n", + "4 0 0 0 0 \n", + "5 0 0 0 0 \n", + "6 0 0 0 0 \n", + "7 0 0 0 0 \n", + "8 0 0 0 0 \n", + "9 0 0 0 0 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# cleaning data - changing ',' in floats to '.'.\n", + "df['SiebenTageInzidenzFaelle'] = df['SiebenTageInzidenzFaelle'].str.replace(',', '.')\n", + "# getting rid of each 10th value since this is the value for the whole of austria\n", + "df = df.loc[(df['BundeslandID'] % 10 != 0), :].reset_index()\n", + "df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Bundesland\n", + " Burgenland 0\n", + " Kärnten 0\n", + " Niederösterreich 0\n", + " Oberösterreich 0\n", + " Salzburg 0\n", + " Steiermark 0\n", + " Tirol 0\n", + " Vorarlberg 0\n", + " Wien 1\n", + " Name: AnzahlFaelle, dtype: int64,\n", + " Bundesland\n", + " Burgenland 307\n", + " Kärnten 843\n", + " Niederösterreich 1133\n", + " Oberösterreich 2257\n", + " Salzburg 805\n", + " Steiermark 1097\n", + " Tirol 1006\n", + " Vorarlberg 803\n", + " Wien 1934\n", + " Name: AnzahlFaelle, dtype: int64)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# getting min vaules\n", + "dfAmin = df.groupby('Bundesland')['AnzahlFaelle'].min()\n", + "# getting max values\n", + "dfAmax = df.groupby('Bundesland')['AnzahlFaelle'].max()\n", + "dfAmin, dfAmax" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "# defining the amplitude values for the Audio-Enginge via the Infectionrate and scaling the values to go between 0 and 1\n", + "# scikitlearn - standard scaler" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [], + "source": [ + "IDS = list(set(df['BundeslandID']))\n", + "\n", + "dfAmps = [np.array(df.loc[(df['BundeslandID'] == bid), 'AnzahlFaelle']) for bid in IDS]\n", + "dfAmpsn = [dfAmps[n]/dfAmps[n].max() for n in range(len(dfAmps))] " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating the Audio Engine ###" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " 0 BlackHole 16ch, Core Audio (16 in, 16 out)\n", + "> 1 MacBook Pro Mikrofon, Core Audio (1 in, 0 out)\n", + "< 2 MacBook Pro Lautsprecher, Core Audio (0 in, 2 out)\n", + " 3 QuickTime Player Input, Core Audio (16 in, 16 out)\n", + " 4 Screen Record w/Audio, Core Audio (0 in, 2 out)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sd.query_devices()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "sd.default.device = 'MacBook Pro Lautsprecher, Core Audio' # just setting this up for screen-rec" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [], + "source": [ + "# notelength\n", + "dur = 0.125\n", + "# attack and decay of tones\n", + "a = dur * 0.1\n", + "d = dur * 0.9\n", + "\n", + "# simple sine-oscillator\n", + "def sine(frq, a, d):\n", + " sr = 44100\n", + " env = np.concatenate((np.linspace(0, 0.5, int(round(sr * a, 0))), np.linspace(0.5, 0, int(round(sr * d, 0)))))\n", + " t = np.arange(int(round(d * sr, 0)) + int(round(a * sr, 0))) / sr\n", + " sine = 1 * np.sin(2 * np.pi * frq * t) * env\n", + " return sine\n", + "\n", + "# pause - function. for future iterations of this piece.\n", + "def pause(note):\n", + " pause = np.zeros_like(note)\n", + " return pause\n", + "\n", + "# applying frequency modulation to the oscillator\n", + "def fm(freq, ratio, a, d):\n", + " freqfm = freq + sine(freq * ratio, a, d)\n", + " return freqfm\n", + "\n", + "# simple panning - algorithm\n", + "def panner(x, angle):\n", + " # pan a mono audio source into stereo\n", + " # x is a numpy array, angle is the angle in radiants\n", + " left = np.sqrt(2)/2.0 * (np.cos(angle) - np.sin(angle)) * x\n", + " right = np.sqrt(2)/2.0 * (np.cos(angle) + np.sin(angle)) * x\n", + " return np.dstack((left,right))[0]\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Defining the Score ####" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": {}, + "outputs": [], + "source": [ + "# tuning in just intonation to generate alienating feeling\n", + "# base note variable\n", + "# different scale\n", + "# widgtes ipy scaler etc.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [], + "source": [ + "basefreq = 110\n", + "basemult = [1, 2, 1, 4, 2, 4, 8, 8, 16]\n", + "intervals = [1, 1, (3/4), 1, (15/8), (9/5), (6/5), (2/3), (3/4)]\n", + "fmratios = [5, 2, 2, 1.25, 2, 2, 1.25, 1.5, 2.5]\n", + "score = []\n", + "subscore = []\n", + "\n", + "\n", + "for j in range(len(dfAmpsn)):\n", + " for i in range(len(dfAmpsn[j])):\n", + " subscore.append(sine(fm(basefreq * basemult[j] * intervals[j], fmratios[j], a, d), a, d) * dfAmpsn[j][i])\n", + " score.append(np.concatenate(subscore))\n", + " subscore = []\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Animation ###" + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "metadata": {}, + "outputs": [], + "source": [ + "# scale background like raster\n", + "plt.style.use('dark_background')\n", + "fig, ax = plt.subplots(figsize=(20, 10))\n", + "ax.set_xlim(0, 10)\n", + "ax.set_ylim(0, df['AnzahlFaelle'].max() + 100)\n", + "ax.set_xticks(np.arange(1, 10))\n", + "ax.set_xticklabels(df.loc[0:8, 'Bundesland'])\n", + "line, = ax.plot(0, 0, 'yo', ms=35)\n", + "\n", + "def animation_frame(i):\n", + " line.set_xdata(df.loc[i:i+8, 'BundeslandID'])\n", + " line.set_ydata(df.loc[i:i+8, 'AnzahlFaelle'])\n", + " return line, \n", + "\n", + "animation = FuncAnimation(fig, func=animation_frame, frames=np.arange(0, len(df), 9), interval=dur * 1000, blit=False)\n", + "\n", + "plt.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Executing Data Sonification and Visualization ##" + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "metadata": {}, + "outputs": [], + "source": [ + "# one might need to execute the following cell twice (or more times) to get audio and animation to sync." + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 158, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pan1 = -30\n", + "volscal = 0.45\n", + "\n", + "sd.play((panner(score[0], np.radians(pan1)) \\\n", + " + panner(score[1], np.radians(pan1 + (80/9))) \\\n", + " + panner(score[2], np.radians(pan1 + (80/9) * 2)) \\\n", + " + panner(score[3], np.radians(pan1 + (80/9) * 3)) \\\n", + " + panner(score[4], np.radians(pan1 + (80/9) * 4)) \\\n", + " + panner(score[5], np.radians(pan1 + (80/9) * 5)) \\\n", + " + panner(score[6], np.radians(pan1 + (80/9) * 6)) \\\n", + " + panner(score[7], np.radians(pan1 + (80/9) * 7)) \\\n", + " + panner(score[8], np.radians(pan1 + (80/9) * 8))) * volscal, 44100)\n", + "\n", + "\n", + "HTML(animation.to_html5_video())" + ] + }, + { + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From 73513f19fa5ae9b2d6edc3f6952c87c3b5bde364 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Sat, 29 May 2021 12:13:02 +0200 Subject: [PATCH 22/25] final_version_v1 --- Assignments/project_layout3.ipynb | 7183 ++++++++++++++--------------- 1 file changed, 3554 insertions(+), 3629 deletions(-) diff --git a/Assignments/project_layout3.ipynb b/Assignments/project_layout3.ipynb index 72842a69..1aa8b612 100644 --- a/Assignments/project_layout3.ipynb +++ b/Assignments/project_layout3.ipynb @@ -1,8 +1,15 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Data Sonification and Visualization of COVID-19-Cases in Austria #" + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -11,12 +18,13 @@ "import matplotlib.pyplot as plt\n", "from matplotlib.animation import FuncAnimation\n", "import sounddevice as sd\n", - "from IPython.display import HTML" + "from IPython.display import HTML, display\n", + "import ipywidgets as widgets" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -25,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -436,7 +444,7 @@ "19 0 0 0 0 " ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -447,7 +455,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -460,7 +468,7 @@ " dtype='object')" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -471,7 +479,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -500,7 +508,7 @@ "Name: SiebenTageInzidenzFaelle, dtype: object" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -518,7 +526,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -760,7 +768,7 @@ "9 0 0 0 0 " ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -775,7 +783,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -805,7 +813,7 @@ " Name: AnzahlFaelle, dtype: int64)" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -820,17 +828,17 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# defining the amplitude values for the Audio-Enginge via the Infectionrate and scaling the values to go between 0 and 1\n", - "# scikitlearn - standard scaler" + "# scikitlearn - standard scaler for future iteration" ] }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -873,16 +881,16 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ - "sd.default.device = 'MacBook Pro Lautsprecher, Core Audio' # just setting this up for screen-rec" + "sd.default.device = 'Screen Record w/Audio, Core Audio' # just setting this up for screen-rec" ] }, { "cell_type": "code", - "execution_count": 151, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -892,6 +900,7 @@ "a = dur * 0.1\n", "d = dur * 0.9\n", "\n", + "\n", "# simple sine-oscillator\n", "def sine(frq, a, d):\n", " sr = 44100\n", @@ -900,16 +909,19 @@ " sine = 1 * np.sin(2 * np.pi * frq * t) * env\n", " return sine\n", "\n", + "\n", "# pause - function. for future iterations of this piece.\n", "def pause(note):\n", " pause = np.zeros_like(note)\n", " return pause\n", "\n", + "\n", "# applying frequency modulation to the oscillator\n", "def fm(freq, ratio, a, d):\n", " freqfm = freq + sine(freq * ratio, a, d)\n", " return freqfm\n", "\n", + "\n", "# simple panning - algorithm\n", "def panner(x, angle):\n", " # pan a mono audio source into stereo\n", @@ -928,35 +940,31 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ - "# tuning in just intonation to generate alienating feeling\n", - "# base note variable\n", - "# different scale\n", - "# widgtes ipy scaler etc.\n" + "# tuning in just intonation to generate alienating feeling" ] }, { "cell_type": "code", - "execution_count": 153, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ - "basefreq = 110\n", - "basemult = [1, 2, 1, 4, 2, 4, 8, 8, 16]\n", - "intervals = [1, 1, (3/4), 1, (15/8), (9/5), (6/5), (2/3), (3/4)]\n", - "fmratios = [5, 2, 2, 1.25, 2, 2, 1.25, 1.5, 2.5]\n", - "score = []\n", - "subscore = []\n", - "\n", - "\n", - "for j in range(len(dfAmpsn)):\n", - " for i in range(len(dfAmpsn[j])):\n", - " subscore.append(sine(fm(basefreq * basemult[j] * intervals[j], fmratios[j], a, d), a, d) * dfAmpsn[j][i])\n", - " score.append(np.concatenate(subscore))\n", - " subscore = []\n" + "def score(basefreq):\n", + " basemult = [1, 2, 1, 4, 2, 4, 8, 8, 16]\n", + " intervals = [1, 1, (3/4), 1, (15/8), (9/5), (6/5), (2/3), (3/4)]\n", + " fmratios = [5, 2, 2, 1.25, 2, 2, 1.25, 1.5, 2.5]\n", + " score1 = []\n", + " subscore = []\n", + " for j in range(len(dfAmpsn)):\n", + " for i in range(len(dfAmpsn[j])):\n", + " subscore.append(sine(fm(basefreq * basemult[j] * intervals[j], fmratios[j], a, d), a, d) * dfAmpsn[j][i])\n", + " score1.append(np.concatenate(subscore))\n", + " subscore = []\n", + " return score1" ] }, { @@ -968,12 +976,11 @@ }, { "cell_type": "code", - "execution_count": 154, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "# scale background like raster\n", - "plt.style.use('dark_background')\n", + "plt.style.use('seaborn-darkgrid')\n", "fig, ax = plt.subplots(figsize=(20, 10))\n", "ax.set_xlim(0, 10)\n", "ax.set_ylim(0, df['AnzahlFaelle'].max() + 100)\n", @@ -986,7 +993,7 @@ " line.set_ydata(df.loc[i:i+8, 'AnzahlFaelle'])\n", " return line, \n", "\n", - "animation = FuncAnimation(fig, func=animation_frame, frames=np.arange(0, len(df), 9), interval=dur * 1000, blit=False)\n", + "animation = FuncAnimation(fig, func=animation_frame, frames=np.arange(0, len(df), 9), interval=dur * 1000, blit=False, repeat=False)\n", "\n", "plt.close()" ] @@ -1000,7 +1007,7 @@ }, { "cell_type": "code", - "execution_count": 155, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -1009,14 +1016,40 @@ }, { "cell_type": "code", - "execution_count": 158, + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "337fb934f772406da1f40e0bc3f33e20", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "IntSlider(value=110, description='basefreq', max=220, min=55)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# slider for setting the basefrequency\n", + "slider = widgets.IntSlider(value=110, min=55, max=220, step=1, description='basefreq')\n", + "display(slider)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "" @@ -4643,24 +4567,25 @@ "" ] }, - "execution_count": 158, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "basefreq = slider.value\n", "pan1 = -30\n", "volscal = 0.45\n", "\n", - "sd.play((panner(score[0], np.radians(pan1)) \\\n", - " + panner(score[1], np.radians(pan1 + (80/9))) \\\n", - " + panner(score[2], np.radians(pan1 + (80/9) * 2)) \\\n", - " + panner(score[3], np.radians(pan1 + (80/9) * 3)) \\\n", - " + panner(score[4], np.radians(pan1 + (80/9) * 4)) \\\n", - " + panner(score[5], np.radians(pan1 + (80/9) * 5)) \\\n", - " + panner(score[6], np.radians(pan1 + (80/9) * 6)) \\\n", - " + panner(score[7], np.radians(pan1 + (80/9) * 7)) \\\n", - " + panner(score[8], np.radians(pan1 + (80/9) * 8))) * volscal, 44100)\n", + "sd.play((panner(score(basefreq)[0], np.radians(pan1)) \\\n", + " + panner(score(basefreq)[1], np.radians(pan1 + (80/9))) \\\n", + " + panner(score(basefreq)[2], np.radians(pan1 + (80/9) * 2)) \\\n", + " + panner(score(basefreq)[3], np.radians(pan1 + (80/9) * 3)) \\\n", + " + panner(score(basefreq)[4], np.radians(pan1 + (80/9) * 4)) \\\n", + " + panner(score(basefreq)[5], np.radians(pan1 + (80/9) * 5)) \\\n", + " + panner(score(basefreq)[6], np.radians(pan1 + (80/9) * 6)) \\\n", + " + panner(score(basefreq)[7], np.radians(pan1 + (80/9) * 7)) \\\n", + " + panner(score(basefreq)[8], np.radians(pan1 + (80/9) * 8))) * volscal, 44100)\n", "\n", "\n", "HTML(animation.to_html5_video())" From db61d50978b4fc3743d9ecc6be06df2ba8dd439d Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 8 Jun 2021 15:57:25 +0200 Subject: [PATCH 23/25] adding first iteration of finished layout --- Assigments/prolayout6.py | 222 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 Assigments/prolayout6.py diff --git a/Assigments/prolayout6.py b/Assigments/prolayout6.py new file mode 100644 index 00000000..07466098 --- /dev/null +++ b/Assigments/prolayout6.py @@ -0,0 +1,222 @@ +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +from matplotlib.animation import FuncAnimation +from IPython.display import HTML +import sounddevice as sd + +# reading in data +df = pd.read_csv('CovidFaelle_Timeline.csv', sep=';') + +# displaying first ten, checking columns +df.head(10) +lof = list(df.columns) +lof + +# cleaning data + +# changing to proper floats +df['SiebenTageInzidenzFaelle'] = df['SiebenTageInzidenzFaelle'].str.replace(',', '.') +df['SiebenTageInzidenzFaelle'].head(20) + +# getting rid of every tenth value (whole of austria) +df = df.loc[df['BundeslandID'] % 10 != 0, :].reset_index() +df.tail(10) + + +# scaling values for volume, size and color + + +BIDS = list(set(df['BundeslandID'])) +AmpSize = [np.array(df.loc[(df['BundeslandID'] == bid), 'AnzahlFaelle']) + for bid in BIDS] + + +Color = [np.array(df.loc[(df['BundeslandID'] == bid), + 'SiebenTageInzidenzFaelle']) for bid in BIDS] + + +Pitch = [np.array(df.loc[(df['BundeslandID'] == bid), + 'SiebenTageInzidenzFaelle']) for bid in BIDS] + +# Converter function to floats + + +def strtofloat(a): + for i in range(len(a)): + a[i] = float(a[i]) + return a + + +Color2 = [np.apply_along_axis(strtofloat, 0, Color[j]) + for j in range(len(Color))] + +# scale funtion for 'colorchanges' and pitchchanges +Pitch2 = [np.apply_along_axis(strtofloat, 0, Pitch[j]) + for j in range(len(Pitch))] +Pitch2 + + +def pv(ar): + for i in range(len(ar)): + if ar[i] < 50: + ar[i] = 1 + elif 50 < ar[i] < 150: + ar[i] = 1.5 + elif 100 < ar[i] < 300: + ar[i] = 2 + elif ar[i] > 300: + ar[i] = 3 + return ar + + +Pitches = [np.apply_along_axis(pv, 0, Pitch2[j]) + for j in range(len(Pitch2))] + + +def cc(ar): + for i in range(len(ar)): + if ar[i] < 50: + ar[i] = 'green' + elif 50 < ar[i] < 150: + ar[i] = 'yellow' + elif 100 < ar[i] < 300: + ar[i] = 'orange' + elif ar[i] > 300: + ar[i] = 'red' + return ar + + +Color3 = [np.apply_along_axis(cc, 0, Color2[j]) + for j in range(len(Color2))] + + +# last preparations + +AmpSize1 = [] +for i in range(len(AmpSize[0])): + for j in range(len(AmpSize)): + AmpSize1.append(AmpSize[j][i]) +AmpSize1 + +Color4 = [] +for x in range(len(Color3[0])): + for y in range(len(Color3)): + Color4.append(Color3[y][x]) + + +# AudioEngine + +sd.query_devices() +sd.default.device = 'BlackHole 16ch, Core Audio' + + +def puresine(freq, dur, phase): + sr = 44100 + phase1 = phase * np.pi + t = np.arange(dur * sr) / sr + sine = 1 * np.sin(2 * np.pi * freq * t + phase1) + return sine + + +# simple panning - algorithm +def panner(x, angle): + # pan a mono audio source into stereo + # x is a numpy array, angle is the angle in radiants + left = np.sqrt(2)/2.0 * (np.cos(angle) - np.sin(angle)) * x + right = np.sqrt(2)/2.0 * (np.cos(angle) + np.sin(angle)) * x + return np.dstack((left, right))[0] + + +# Scaling to values between 0 and 1 +Amps = [np.array(df.loc[(df['BundeslandID'] == bid), 'AnzahlFaelle']) + for bid in BIDS] +Amps2 = [Amps[i] / Amps[i].max() for i in range(len(Amps))] + + +sr = 44100 +splits = len(Amps2[0]) +dur = splits / 5 +dur +global line +line = int(round((sr * dur) / splits, 0)) +Amps2N = [np.append(Amps2[u], [0]) for u in range(len(Amps2))] +Pitches2 = [np.append(Pitches[u], [Pitches[u][-1]]) + for u in range(len(Pitches))] +basefreqs = [110, 110 * 1.5, 220, 440 * (15/8), + 550, 440 * (3/4), 880 * (9/8), 990, + 880] +Pitches3 = [Pitches2[i] * basefreqs[i] for i in range(len(Pitches2))] + +pitch = [np.concatenate([np.linspace(Pitches3[j][i], Pitches3[j][i + 1], line) + for i in range(len(Pitches3[j]) - 1)]) + for j in range(len(Pitches3))] + + +env = [np.concatenate([np.linspace(Amps2N[j][i], Amps2N[j][i + 1], line) + for i in range(len(Amps2N[j]) - 1)]) + for j in range(len(Amps2N))] + + +def summation(callback, freqs): + # Cumulative Sum + phaseY = np.cumsum(freqs) + # sin (cumulative sum (f) ) + x = np.sin((phaseY) * np.pi * 2 / sr) + return x + + +longsines = [summation(np.sin, pitch[i]) * env[i] for i in range(len(pitch))] + + +# plot + +plt.style.available +plt.style.use('dark_background') +fig, ax = plt.subplots(figsize=(20, 8)) +ax.set_xticks(df['BundeslandID'][:9]) +ax.set_xticklabels(list(df['Bundesland'][:9])) +ax.set_ylim(-2, 12) +ax.set_frame_on(False) +ax.axes.get_yaxis().set_visible(True) +ax.axes.get_xaxis().set_visible(True) +ax.set_yticklabels([]) +ax.grid(False, axis='both') +ax.set_title('Covid19_Cases_in_Austria') + +x = np.array(list(set(df['BundeslandID']))) +y = [4, 3, 2, 5, 4, 6, 7, 3, 6] + + +lines = ax.scatter(x, y, + marker='o', + s=50, + c='green', alpha=0.8) + +plt.close() + + +def animate(i): + lines.set_sizes(np.array(AmpSize1[i:i+9]) * 5) + lines.set_color(Color4[i:i+9]) + ax.set_ylabel(df['Time'][i][:10]) + if i == len(df) - 9: + sd.play((panner(longsines[0], np.radians(-50)) + + panner(longsines[1], np.radians(0)) + + panner(longsines[2], np.radians(50)) + + panner(longsines[3], np.radians(10)) + + panner(longsines[4], np.radians(20)) + + panner(longsines[5], np.radians(-20)) + + panner(longsines[6], np.radians(-30)) + + panner(longsines[7], np.radians(5)) + + panner(longsines[8], np.radians(-5))) * 0.25, sr) + return lines, + + +animation = FuncAnimation(fig, func=animate, + frames=np.arange(27, len(df), 9), + interval=(dur / splits) * 1000, + blit=False, repeat=False) + + +HTML(animation.to_html5_video()) From fc8a9bdc05127ea4651678d376e9203dbc6feb88 Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Tue, 29 Jun 2021 14:22:49 +0200 Subject: [PATCH 24/25] Adding Final_Project --- Assignments/Final_Project.ipynb | 8407 +++++++++++++++++++++++++++++++ 1 file changed, 8407 insertions(+) create mode 100644 Assignments/Final_Project.ipynb diff --git a/Assignments/Final_Project.ipynb b/Assignments/Final_Project.ipynb new file mode 100644 index 00000000..bb02ffd1 --- /dev/null +++ b/Assignments/Final_Project.ipynb @@ -0,0 +1,8407 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 13, + "id": "bff7f964", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.animation import FuncAnimation\n", + "from IPython.display import HTML\n", + "import sounddevice as sd" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "d9249d6b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Time',\n", + " 'Bundesland',\n", + " 'BundeslandID',\n", + " 'AnzEinwohner',\n", + " 'AnzahlFaelle',\n", + " 'AnzahlFaelleSum',\n", + " 'AnzahlFaelle7Tage',\n", + " 'SiebenTageInzidenzFaelle',\n", + " 'AnzahlTotTaeglich',\n", + " 'AnzahlTotSum',\n", + " 'AnzahlGeheiltTaeglich',\n", + " 'AnzahlGeheiltSum']" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# reading in data\n", + "df = pd.read_csv('CovidFaelle_Timeline.csv', sep=';')\n", + "\n", + "# displaying first ten, checking columns\n", + "df.head(10)\n", + "lof = list(df.columns)\n", + "lof" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "3cf14652", + "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", + "
indexTimeBundeslandBundeslandIDAnzEinwohnerAnzahlFaelleAnzahlFaelleSumAnzahlFaelle7TageSiebenTageInzidenzFaelleAnzahlTotTaeglichAnzahlTotSumAnzahlGeheiltTaeglichAnzahlGeheiltSum
4076452823.05.2021 00:00:00Wien919111916813643984644.2655922313190128067
4077453024.05.2021 00:00:00Burgenland129443615178998027.1705903242017347
4078453124.05.2021 00:00:00Kärnten2561293303987323642.0457808156138307
4079453224.05.2021 00:00:00Niederösterreich316842875910660057634.198450162362103128
4080453324.05.2021 00:00:00Oberösterreich414902796711586376151.0642601595116111691
4081453424.05.2021 00:00:00Salzburg5558410114996420135.9950605874648698
4082453524.05.2021 00:00:00Steiermark61246395507940058146.614440205416475953
4083453624.05.2021 00:00:00Tirol7757634376226145159.5274206828460664
4084453724.05.2021 00:00:00Vorarlberg8397139292959629373.7776903017328477
4085453824.05.2021 00:00:00Wien9191119111513655485744.8411502313185128252
\n", + "
" + ], + "text/plain": [ + " index Time Bundesland BundeslandID \\\n", + "4076 4528 23.05.2021 00:00:00 Wien 9 \n", + "4077 4530 24.05.2021 00:00:00 Burgenland 1 \n", + "4078 4531 24.05.2021 00:00:00 Kärnten 2 \n", + "4079 4532 24.05.2021 00:00:00 Niederösterreich 3 \n", + "4080 4533 24.05.2021 00:00:00 Oberösterreich 4 \n", + "4081 4534 24.05.2021 00:00:00 Salzburg 5 \n", + "4082 4535 24.05.2021 00:00:00 Steiermark 6 \n", + "4083 4536 24.05.2021 00:00:00 Tirol 7 \n", + "4084 4537 24.05.2021 00:00:00 Vorarlberg 8 \n", + "4085 4538 24.05.2021 00:00:00 Wien 9 \n", + "\n", + " AnzEinwohner AnzahlFaelle AnzahlFaelleSum AnzahlFaelle7Tage \\\n", + "4076 1911191 68 136439 846 \n", + "4077 294436 15 17899 80 \n", + "4078 561293 30 39873 236 \n", + "4079 1684287 59 106600 576 \n", + "4080 1490279 67 115863 761 \n", + "4081 558410 11 49964 201 \n", + "4082 1246395 50 79400 581 \n", + "4083 757634 37 62261 451 \n", + "4084 397139 29 29596 293 \n", + "4085 1911191 115 136554 857 \n", + "\n", + " SiebenTageInzidenzFaelle AnzahlTotTaeglich AnzahlTotSum \\\n", + "4076 44.26559 2 2313 \n", + "4077 27.17059 0 324 \n", + "4078 42.04578 0 815 \n", + "4079 34.19845 0 1623 \n", + "4080 51.06426 0 1595 \n", + "4081 35.99506 0 587 \n", + "4082 46.61444 0 2054 \n", + "4083 59.52742 0 682 \n", + "4084 73.77769 0 301 \n", + "4085 44.84115 0 2313 \n", + "\n", + " AnzahlGeheiltTaeglich AnzahlGeheiltSum \n", + "4076 190 128067 \n", + "4077 20 17347 \n", + "4078 61 38307 \n", + "4079 62 103128 \n", + "4080 116 111691 \n", + "4081 46 48698 \n", + "4082 164 75953 \n", + "4083 84 60664 \n", + "4084 73 28477 \n", + "4085 185 128252 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# cleaning data\n", + "\n", + "# changing to proper floats\n", + "df['SiebenTageInzidenzFaelle'] = df['SiebenTageInzidenzFaelle'].str.replace(',', '.')\n", + "df['SiebenTageInzidenzFaelle'].head(20)\n", + "\n", + "# getting rid of every tenth value (whole of austria)\n", + "df = df.loc[df['BundeslandID'] % 10 != 0, :].reset_index()\n", + "df.tail(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "2bc8390b", + "metadata": {}, + "outputs": [], + "source": [ + "# scaling values for volume, size and color and repetitions\n", + "\n", + "\n", + "BIDS = list(set(df['BundeslandID']))\n", + "AmpSize = [np.array(df.loc[(df['BundeslandID'] == bid), 'AnzahlFaelle'])\n", + " for bid in BIDS]\n", + "\n", + "\n", + "Color = [np.array(df.loc[(df['BundeslandID'] == bid),\n", + " 'SiebenTageInzidenzFaelle']) for bid in BIDS]\n", + "\n", + "\n", + "Pitch = [np.array(df.loc[(df['BundeslandID'] == bid),\n", + " 'SiebenTageInzidenzFaelle']) for bid in BIDS]\n", + "\n", + "Rep = [np.array(df.loc[(df['BundeslandID'] == bid),\n", + " 'SiebenTageInzidenzFaelle']) for bid in BIDS]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "1a449f3c", + "metadata": {}, + "outputs": [], + "source": [ + "# Converter function to floats\n", + "\n", + "\n", + "def strtofloat(a):\n", + " for i in range(len(a)):\n", + " a[i] = float(a[i])\n", + " return a\n", + "\n", + "\n", + "Color2 = [np.apply_along_axis(strtofloat, 0, Color[j])\n", + " for j in range(len(Color))]\n", + "\n", + "# scale funtion for 'colorchanges' and pitchchanges\n", + "Pitch2 = [np.apply_along_axis(strtofloat, 0, Pitch[j])\n", + " for j in range(len(Pitch))]\n", + "Pitch2\n", + "\n", + "Rep2 = [np.apply_along_axis(strtofloat, 0, Rep[j])\n", + " for j in range(len(Rep))]\n", + "\n", + "\n", + "def pv(ar):\n", + " for i in range(len(ar)):\n", + " if ar[i] < 50:\n", + " ar[i] = 1\n", + " elif 50 < ar[i] < 100:\n", + " ar[i] = 1.5\n", + " elif 100 < ar[i] < 150:\n", + " ar[i] = 2\n", + " elif 150 < ar[i] < 250:\n", + " ar[i] = 2.25\n", + " elif ar[i] > 250:\n", + " ar[i] = 3\n", + " return ar\n", + "\n", + "\n", + "Pitches = [np.apply_along_axis(pv, 0, Pitch2[j])\n", + " for j in range(len(Pitch2))]\n", + "\n", + "\n", + "def cc(ar):\n", + " for i in range(len(ar)):\n", + " if ar[i] < 50:\n", + " ar[i] = 'lightgreen'\n", + " elif 50 < ar[i] < 100:\n", + " ar[i] = 'green'\n", + " elif 100 < ar[i] < 150:\n", + " ar[i] = 'yellow'\n", + " elif 150 < ar[i] < 250:\n", + " ar[i] = 'orange'\n", + " elif ar[i] > 250:\n", + " ar[i] = 'red'\n", + " return ar\n", + "\n", + "\n", + "Color3 = [np.apply_along_axis(cc, 0, Color2[j])\n", + " for j in range(len(Color2))]" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "5d6e88f0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " 0 BlackHole 16ch, Core Audio (16 in, 16 out)\n", + "> 1 MacBook Pro Mikrofon, Core Audio (1 in, 0 out)\n", + "< 2 MacBook Pro Lautsprecher, Core Audio (0 in, 2 out)\n", + " 3 QuickTime Player Input, Core Audio (16 in, 16 out)\n", + " 4 Screen Record w/Audio, Core Audio (0 in, 2 out)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# last preparations\n", + "\n", + "AmpSize1 = []\n", + "for i in range(len(AmpSize[0])):\n", + " for j in range(len(AmpSize)):\n", + " AmpSize1.append(AmpSize[j][i])\n", + "AmpSize1\n", + "\n", + "Color4 = []\n", + "for x in range(len(Color3[0])):\n", + " for y in range(len(Color3)):\n", + " Color4.append(Color3[y][x])\n", + "\n", + "\n", + "# AudioEngine\n", + "\n", + "sd.query_devices()\n", + "# sd.default.device = 'BlackHole 16ch, Core Audio' #only for scree-rec" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "31f7e27b", + "metadata": {}, + "outputs": [], + "source": [ + "# simple sine-osc with ad-env\n", + "\n", + "\n", + "def sine(frq, a, d):\n", + " sr = 44100\n", + " env = np.concatenate((np.linspace(0, 0.5, int(round(sr * a, 0))),\n", + " np.linspace(0.5, 0, int(round(sr * d, 0)))))\n", + " t = np.arange(int(round(d * sr, 0)) + int(round(a * sr, 0))) / sr\n", + " sine = 1 * np.sin(2 * np.pi * frq * t) * env\n", + " return sine\n", + "\n", + "\n", + "# simple panning - algorithm\n", + "def panner(x, angle):\n", + " # pan a mono audio source into stereo\n", + " # x is a numpy array, angle is the angle in radiants\n", + " left = np.sqrt(2)/2.0 * (np.cos(angle) - np.sin(angle)) * x\n", + " right = np.sqrt(2)/2.0 * (np.cos(angle) + np.sin(angle)) * x\n", + " return np.dstack((left, right))[0]\n", + "\n", + "\n", + "# Scaling to values between 0 and 1\n", + "Amps = [np.array(df.loc[(df['BundeslandID'] == bid), 'AnzahlFaelle'])\n", + " for bid in BIDS]\n", + "Amps2 = [np.array(Amps[i] / Amps[i].max()) for i in range(len(Amps))]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d869327d", + "metadata": {}, + "outputs": [], + "source": [ + "# setting samplerate\n", + "sr = 44100\n", + "# notelength\n", + "dur = 0.4\n", + "# attack and decay of tones\n", + "a = dur * 0.01\n", + "d = dur * 0.99\n", + "\n", + "# assign basefreqeuncies to counties based on their latitude\n", + "\n", + "latitude_df = pd.read_html('https://www.distancelatlong.com/country/austria')\n", + "latitude_df[2].loc[:, ['States', 'Latitude']]\n", + "basefreqs = [110, 110 * 1.5, 220, 440 * (3/4),\n", + " 440 * (9/8), 550, 440 * (15/8), 880, 990]\n", + "\n", + "\n", + "lat_dict = {latitude_df[2].loc[i, 'States']:\n", + " latitude_df[2].loc[i, 'Latitude']\n", + " for i in range(len(latitude_df[2]))}\n", + "\n", + "\n", + "lat_dict_sort = sorted(lat_dict.items(), key=lambda x: x[1])\n", + "\n", + "\n", + "zipped_lat_freq = list(zip(lat_dict_sort, basefreqs))\n", + "\n", + "\n", + "basefreqs_lat = [sorted(zipped_lat_freq)[i][1]\n", + " for i in range(len(zipped_lat_freq))]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c68830bb", + "metadata": {}, + "outputs": [], + "source": [ + "# defining variations in pitch\n", + "\n", + "Pitches2 = [Pitches[i] * basefreqs_lat[i] for i in range(len(Pitches))]\n", + "Pitches2\n", + "\n", + "# defining repetitions\n", + "\n", + "\n", + "def reps(ar):\n", + " for i in range(len(ar)):\n", + " if ar[i] < 50:\n", + " ar[i] = 1\n", + " elif 50 < ar[i] < 100:\n", + " ar[i] = 2\n", + " elif 100 < ar[i] < 150:\n", + " ar[i] = 3\n", + " elif 150 < ar[i] < 250:\n", + " ar[i] = 4\n", + " elif ar[i] > 250:\n", + " ar[i] = 6\n", + " return ar\n", + "\n", + "\n", + "Reps = [np.apply_along_axis(reps, 0, Rep2[j])\n", + " for j in range(len(Rep2))]" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "26a74df6", + "metadata": {}, + "outputs": [], + "source": [ + "# making tuples for reps and pitchchanges\n", + "\n", + "\n", + "Pitches2\n", + "Amps2\n", + "p_r = [[] for i in range(len(Reps))]\n", + "for i in range(len(Reps)):\n", + " for j in range(len(Reps[i])):\n", + " p_r[i].append((Reps[i][j], Pitches2[i][j]))\n", + "p_r2 = [np.array(i) for i in p_r]\n", + "p_r[0]\n", + "\n", + "sine_pat = [[] for i in range(len(p_r))]\n", + "sine_pat\n", + "for i in range(len(sine_pat)):\n", + " for j in p_r[i]:\n", + " sine_pat[i].append(np.tile(sine(j[1], a / int(j[0]),\n", + " d / int(j[0])), int(j[0])))\n", + "\n", + "# useless. anyways.\n", + "sine_pat2 = [i for i in sine_pat]\n", + "\n", + "sine_pat3 = [[] for j in range(len(sine_pat2))]\n", + "for i in range(len(sine_pat3)):\n", + " for j in range(len(Amps2[i])):\n", + " sine_pat3[i].append(sine_pat2[i][j] * Amps2[i][j])" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "e3c72cbb", + "metadata": {}, + "outputs": [], + "source": [ + "# plot\n", + "\n", + "plt.style.available\n", + "plt.style.use('dark_background')\n", + "fig, ax = plt.subplots(figsize=(20, 8))\n", + "ax.set_xticks(df['BundeslandID'][:9])\n", + "ax.set_xticklabels(list(df['Bundesland'][:9]))\n", + "ax.set_ylim(-2, 12)\n", + "ax.set_frame_on(False)\n", + "ax.axes.get_yaxis().set_visible(True)\n", + "ax.axes.get_xaxis().set_visible(True)\n", + "ax.set_yticklabels([])\n", + "ax.grid(False, axis='both')\n", + "ax.set_title('Covid19_Cases_in_Austria')\n", + "\n", + "x = np.array(list(set(df['BundeslandID'])))\n", + "\n", + "# scaling and applying latitude values\n", + "scaled_lat = list(zip(lat_dict_sort, list(range(1, 10))))\n", + "scaled_lat2 = sorted(scaled_lat)\n", + "scaled_lat3 = [i[1] for i in scaled_lat2]\n", + "\n", + "y = scaled_lat3\n", + "\n", + "\n", + "lines = ax.scatter(x, y,\n", + " marker='o',\n", + " s=50,\n", + " c='green', alpha=0.8)\n", + "\n", + "plt.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "31248bb6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# go\n", + "\n", + "def animate(i):\n", + " lines.set_sizes(np.array(AmpSize1[i:i+9]) * 5)\n", + " lines.set_color(Color4[i:i+9])\n", + " ax.set_ylabel(df['Time'][i][:10])\n", + " if i == len(df) - 9:\n", + " sd.play((panner(np.concatenate(sine_pat3[0]), np.radians(-40)) +\n", + " panner(np.concatenate(sine_pat3[1]), np.radians(-30)) +\n", + " panner(np.concatenate(sine_pat3[2]), np.radians(-20)) +\n", + " panner(np.concatenate(sine_pat3[3]), np.radians(-10)) +\n", + " panner(np.concatenate(sine_pat3[4]), np.radians(0)) +\n", + " panner(np.concatenate(sine_pat3[5]), np.radians(10)) +\n", + " panner(np.concatenate(sine_pat3[6]), np.radians(20)) +\n", + " panner(np.concatenate(sine_pat3[7]), np.radians(30)) +\n", + " panner(np.concatenate(sine_pat3[8]), np.radians(40))) * 0.5,\n", + " sr)\n", + " return lines,\n", + "\n", + "\n", + "animation = FuncAnimation(fig, func=animate,\n", + " frames=np.arange(9, len(df), 9),\n", + " interval=dur * 1000,\n", + " blit=False, repeat=False)\n", + "\n", + "\n", + "HTML(animation.to_html5_video())" + ] + } + ], + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From ff7ae28a74fbe4806305162365c294685311f17a Mon Sep 17 00:00:00 2001 From: Michael Stark Date: Thu, 15 Jul 2021 16:00:28 +0200 Subject: [PATCH 25/25] adding summer_project Drum_Machine --- Assignments/Drum_Machine.ipynb | 269 +++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 Assignments/Drum_Machine.ipynb diff --git a/Assignments/Drum_Machine.ipynb b/Assignments/Drum_Machine.ipynb new file mode 100644 index 00000000..c6bda041 --- /dev/null +++ b/Assignments/Drum_Machine.ipynb @@ -0,0 +1,269 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "e35a7edf", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import sounddevice as sd\n", + "from scipy import signal as sig" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "67a8fb32", + "metadata": {}, + "outputs": [], + "source": [ + "sd.query_devices()\n", + "sd.default.device = 'BlackHole 16ch, Core Audio' #only for scree-rec" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "667559e7", + "metadata": {}, + "outputs": [], + "source": [ + "# Instruments\n", + "\n", + "sr = 44100\n", + "duration = 160 \n", + "\n", + "def kick(frq, dur):\n", + " line = np.linspace(0, 1, int((sr / 1000) * dur))\n", + " line2 = np.sqrt(line)\n", + " line3 = line2 * frq - 0.15\n", + " line4 = np.cos(line3)\n", + " envexp = 0.5 ** (25 * line)\n", + " kick = line4 * envexp\n", + " sos = sig.butter(2, 300, 'lp', analog=False, fs=1000, output='sos')\n", + " filtered = sig.sosfilt(sos, kick)\n", + " return filtered * 3\n", + "\n", + "KICK = kick(30, duration)\n", + "\n", + "\n", + "def snare(frq, dur):\n", + " noise = np.random.random_sample(int((sr / 1000) * dur)) * 2 - 1\n", + " line = np.linspace(0, 1, int((sr / 1000) * dur))\n", + " envexp = 0.5 ** (12.5 * line)\n", + " sos = sig.butter(4, 20, 'hp', analog=False, fs=1000, output='sos')\n", + " filtered = sig.sosfilt(sos, (noise * envexp))\n", + " sos = sig.butter(1, [5, 40], 'bp', fs=1000, output='sos')\n", + " filtered_2 = sig.sosfilt(sos, filtered)\n", + " def sine_tone(frq, dur):\n", + " sr = 44100\n", + " line = np.linspace(0, 1, int((sr / 1000) * dur))\n", + " t = np.arange(int((sr / 1000) * dur)) / sr\n", + " envexp = 0.5 ** (25 * line)\n", + " sine = 1 * np.sin(2 * np.pi * frq * t) * envexp\n", + " return sine\n", + " snare = (filtered_2 + sine_tone(frq, dur)) * 4\n", + " return snare\n", + "\n", + "SNARE = snare(250, duration)\n", + "\n", + "\n", + "def hi_hat(dur):\n", + " line = np.linspace(1, 0, int((sr / 1000) * dur))\n", + " line2 = line ** 4\n", + " def square_tone(frq, dur):\n", + " sr = 44100\n", + " line = np.linspace(0, 1, int((sr / 1000) * dur))\n", + " t = np.arange(int((sr / 1000) * dur)) / sr\n", + " envexp = 0.5 ** (25 * line)\n", + " sine = 1 * np.sin(2 * np.pi * frq * t)\n", + " square = np.where(sine > 0, 1, -1) * envexp\n", + " return square\n", + " noise = np.random.random_sample(int((sr / 1000) * dur)) * 2 - 1\n", + " high_noise = square_tone(350, dur) + square_tone(800, dur) + (noise / 4)\n", + " sos = sig.butter(10, 100, 'hp', analog=False, fs=1000, output='sos')\n", + " filtered = sig.sosfilt(sos, high_noise)\n", + " sos = sig.butter(2, 100, 'hp', analog=False, fs=1000, output='sos')\n", + " filtered_2 = sig.sosfilt(sos, filtered)\n", + " line3 = filtered_2 * line2 * 4\n", + " return line3\n", + "\n", + "HIHAT = hi_hat(duration)\n", + "\n", + "\n", + "def open_hat(dur):\n", + " line = np.linspace(1, 0, int((sr / 1000) * dur))\n", + " line2 = line ** 0.1\n", + " def square_tone(frq, dur):\n", + " sr = 44100\n", + " line = np.linspace(0, 1, int((sr / 1000) * dur))\n", + " t = np.arange(int((sr / 1000) * dur)) / sr\n", + " envexp = 0.5 ** (25 * line)\n", + " sine = 1 * np.sin(2 * np.pi * frq * t)\n", + " square = np.where(sine > 0, 1, -1) * envexp\n", + " return square\n", + " noise = np.random.random_sample(int((sr / 1000) * dur)) * 2 - 1\n", + " high_noise = square_tone(350, dur) + square_tone(800, dur) + (noise / 4)\n", + " sos = sig.butter(10, 50, 'hp', analog=False, fs=1000, output='sos')\n", + " filtered = sig.sosfilt(sos, high_noise)\n", + " sos = sig.butter(2, 50, 'hp', analog=False, fs=1000, output='sos')\n", + " filtered_2 = sig.sosfilt(sos, filtered)\n", + " line3 = filtered_2 * line2 * 4\n", + " return line3\n", + " \n", + "OPENHAT = open_hat(duration)\n", + "\n", + "\n", + "def wood_block(frq, ratio, amount, dur):\n", + " def sine_tone(frq, dur):\n", + " sr = 44100\n", + " line = np.linspace(0, 1, int((sr / 1000) * dur))\n", + " t = np.arange(int((sr / 1000) * dur)) / sr\n", + " envexp = 0.5 ** (25 * line)\n", + " sine = 1 * np.sin(2 * np.pi * frq * t) * envexp\n", + " return sine\n", + " fm = frq + sine_tone(frq * ratio, dur) * amount\n", + " sr = 44100\n", + " line = np.linspace(0, 1, int((sr / 1000) * dur))\n", + " t = np.arange(int((sr / 1000) * dur)) / sr\n", + " envexp = 0.5 ** (25 * line)\n", + " sine = 1 * np.sin(2 * np.pi * fm * t) * envexp\n", + " return sine\n", + " \n", + "WOODBLOCK = wood_block(880, 2.25, 80, duration)\n", + "\n", + "\n", + "def mid_tom(frq, dur):\n", + " line = np.linspace(1, 0, int((sr / 1000) * dur))\n", + " line2 = line ** 2.5\n", + " freq = np.linspace(np.sqrt(frq + (frq * 0.5)), np.sqrt(frq), int((sr / 1000) * dur))\n", + " freq2 = freq ** 2\n", + " t = np.arange(int((sr / 1000) * dur)) / sr\n", + " sine = 1 * np.sin(2 * np.pi * freq2 * t) * line2 * 2.5\n", + " noise = np.random.random_sample(int((sr / 1000) * dur)) * 2 - 1\n", + " sos = sig.butter(10, 70, 'hp', analog=False, fs=1000, output='sos')\n", + " filtered = sig.sosfilt(sos, noise)\n", + " sos = sig.butter(2, 30, 'lp', analog=False, fs=1000, output='sos')\n", + " filtered_2 = sig.sosfilt(sos, filtered)\n", + " tom = sine + ((filtered_2 * line2) * 0.085)\n", + " return tom\n", + "\n", + "MIDTOM = mid_tom(175, duration)\n", + "\n", + "\n", + "# simple panning - algorithm\n", + "def panner(x, angle):\n", + " # pan a mono audio source into stereo\n", + " # x is a numpy array, angle is the angle in radiants\n", + " left = np.sqrt(2)/2.0 * (np.cos(angle) - np.sin(angle)) * x\n", + " right = np.sqrt(2)/2.0 * (np.cos(angle) + np.sin(angle)) * x\n", + " return np.dstack((left,right))[0]\n", + "\n", + "\n", + "def pause(note):\n", + " pause = np.zeros_like(note)\n", + " return pause" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "a1f22e54", + "metadata": {}, + "outputs": [], + "source": [ + "# Sequencer\n", + "\n", + "kick_pat = '*------**-----*-'\n", + "snare_pat = '----*-------*--*'\n", + "hihat_pat = '**-*-*-***-*-*--'\n", + "open_hat_pat = '--*---*---*---*-'\n", + "wood_block_pat = '-*---*-*-*---***'\n", + "mid_tom_pat = '---*--*----*--*-'" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "3579ed30", + "metadata": {}, + "outputs": [], + "source": [ + "kick_seq = np.concatenate([KICK if char == '*' else pause(KICK) for char in kick_pat])\n", + "snare_seq = np.concatenate([SNARE if char == '*' else pause(SNARE) for char in snare_pat])\n", + "hihat_seq = np.concatenate([HIHAT if char == '*' else pause(HIHAT) for char in hihat_pat])\n", + "open_hat_seq = np.concatenate([OPENHAT if char == '*' else pause(OPENHAT) for char in open_hat_pat])\n", + "wood_block_seq = np.concatenate([WOODBLOCK if char == '*' else pause(WOODBLOCK) for char in wood_block_pat])\n", + "mid_tom_seq = np.concatenate([MIDTOM if char == '*' else pause(MIDTOM) for char in mid_tom_pat])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "07cd4efa", + "metadata": {}, + "outputs": [], + "source": [ + "rep = 16\n", + "\n", + "panning_values = [0.03, 0, -15, 15, -35, 35]\n", + "instrument_seq = [kick_seq, snare_seq, hihat_seq, open_hat_seq, wood_block_seq, mid_tom_seq]\n", + "panned_instruments = [panner(instrument_seq[i], panning_values[i]) for i in range(len(panning_values))]\n", + "vol_mix_values = [1, 1, 0.4, 0.35, 0.6, 0.6]\n", + "vol_pan_inst = [np.tile(panned_instruments[j] * vol_mix_values[j], (rep, 1)) for j in range(len(vol_mix_values))]\n", + "beat = sum(vol_pan_inst) " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "a30e0821", + "metadata": {}, + "outputs": [], + "source": [ + "sd.play(beat, sr)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "0e62778f", + "metadata": {}, + "outputs": [], + "source": [ + "sd.stop()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a807522e", + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}