Last active
July 25, 2017 08:22
-
-
Save spepechen/97656341dc140ecf34c18eea6cd42ec8 to your computer and use it in GitHub Desktop.
Lab session 0725
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Pandas worksheet\n", | |
| "\n", | |
| "Before you begin, run the cell below to import the appropriate libraries." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "import pandas as pd\n", | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "pd.set_option('max_rows', 25)\n", | |
| "# plt.style.use('ggplot')\n", | |
| "plt.style.use('fivethirtyeight')\n", | |
| "plt.rcParams[\"figure.figsize\"] = (10, 4)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "For this worksheet, you'll be using a simplified version of a month's worth of data from NYC's [Green Taxis](http://www.nyc.gov/html/tlc/html/about/trip_record_data.shtml). You can download the data [here](green_tripdata_simple_2016-12.csv.gz). Make sure you've decompressed the file and put it in the same directory as this worksheet. (The simplified version omits a number of fields and randomly samples 100k rows from several million rows, mainly to decrease the file size.)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df = pd.read_csv(\"./green_tripdata_simple_2016-12.csv\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style>\n", | |
| " .dataframe thead tr:only-child th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2016-12-01 00:00:47</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.34</td>\n", | |
| " <td>14.16</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>2016-12-01 00:01:23</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.87</td>\n", | |
| " <td>6.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>2016-12-01 00:01:54</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.35</td>\n", | |
| " <td>17.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>2016-12-01 00:01:58</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.72</td>\n", | |
| " <td>10.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>2016-12-01 00:04:51</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.86</td>\n", | |
| " <td>18.96</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>2016-12-01 00:05:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.70</td>\n", | |
| " <td>8.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>2016-12-01 00:05:38</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.00</td>\n", | |
| " <td>8.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>2016-12-01 00:07:17</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.34</td>\n", | |
| " <td>10.14</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>2016-12-01 00:08:05</td>\n", | |
| " <td>1</td>\n", | |
| " <td>25.17</td>\n", | |
| " <td>125.00</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>2016-12-01 00:08:40</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.40</td>\n", | |
| " <td>7.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99988</th>\n", | |
| " <td>2016-12-31 23:56:07</td>\n", | |
| " <td>3</td>\n", | |
| " <td>0.65</td>\n", | |
| " <td>6.96</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99989</th>\n", | |
| " <td>2016-12-31 23:56:15</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.65</td>\n", | |
| " <td>7.56</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99990</th>\n", | |
| " <td>2016-12-31 23:56:26</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.88</td>\n", | |
| " <td>9.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99991</th>\n", | |
| " <td>2016-12-31 23:56:32</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.00</td>\n", | |
| " <td>0.00</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99992</th>\n", | |
| " <td>2016-12-31 23:57:37</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.42</td>\n", | |
| " <td>4.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99993</th>\n", | |
| " <td>2016-12-31 23:57:40</td>\n", | |
| " <td>5</td>\n", | |
| " <td>2.61</td>\n", | |
| " <td>11.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99994</th>\n", | |
| " <td>2016-12-31 23:57:56</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.50</td>\n", | |
| " <td>13.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99995</th>\n", | |
| " <td>2016-12-31 23:58:03</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.33</td>\n", | |
| " <td>5.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99996</th>\n", | |
| " <td>2016-12-31 23:58:54</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3.77</td>\n", | |
| " <td>15.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99997</th>\n", | |
| " <td>2016-12-31 23:59:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>3.43</td>\n", | |
| " <td>14.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99998</th>\n", | |
| " <td>2016-12-31 23:59:57</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.44</td>\n", | |
| " <td>10.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>99999</th>\n", | |
| " <td>2016-12-31 23:59:58</td>\n", | |
| " <td>2</td>\n", | |
| " <td>5.20</td>\n", | |
| " <td>17.30</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>100000 rows × 4 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.80\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.30\n", | |
| "2 2016-12-01 00:00:47 1 2.34 14.16\n", | |
| "3 2016-12-01 00:01:23 1 0.87 6.80\n", | |
| "4 2016-12-01 00:01:54 1 4.35 17.30\n", | |
| "5 2016-12-01 00:01:58 1 1.72 10.30\n", | |
| "6 2016-12-01 00:04:51 1 2.86 18.96\n", | |
| "7 2016-12-01 00:05:33 1 1.70 8.80\n", | |
| "8 2016-12-01 00:05:38 1 1.00 8.30\n", | |
| "9 2016-12-01 00:07:17 1 1.34 10.14\n", | |
| "10 2016-12-01 00:08:05 1 25.17 125.00\n", | |
| "11 2016-12-01 00:08:40 1 1.40 7.80\n", | |
| "... ... ... ... ...\n", | |
| "99988 2016-12-31 23:56:07 3 0.65 6.96\n", | |
| "99989 2016-12-31 23:56:15 1 0.65 7.56\n", | |
| "99990 2016-12-31 23:56:26 1 1.88 9.80\n", | |
| "99991 2016-12-31 23:56:32 1 0.00 0.00\n", | |
| "99992 2016-12-31 23:57:37 1 0.42 4.80\n", | |
| "99993 2016-12-31 23:57:40 5 2.61 11.80\n", | |
| "99994 2016-12-31 23:57:56 1 2.50 13.30\n", | |
| "99995 2016-12-31 23:58:03 1 0.33 5.80\n", | |
| "99996 2016-12-31 23:58:54 1 3.77 15.30\n", | |
| "99997 2016-12-31 23:59:33 1 3.43 14.30\n", | |
| "99998 2016-12-31 23:59:57 1 1.44 10.80\n", | |
| "99999 2016-12-31 23:59:58 2 5.20 17.30\n", | |
| "\n", | |
| "[100000 rows x 4 columns]" | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Problem set #1: Columns as series and series operations\n", | |
| "\n", | |
| "Write an expression in the cell below that evaluates to the *average trip distance* of all rows in the data frame.\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| " 2.6186306999999607" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style>\n", | |
| " .dataframe thead tr:only-child th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2016-12-01 00:00:47</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.34</td>\n", | |
| " <td>14.16</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.80\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.30\n", | |
| "2 2016-12-01 00:00:47 1 2.34 14.16" | |
| ] | |
| }, | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head(3)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "2.6186306999999607" | |
| ] | |
| }, | |
| "execution_count": 10, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df['trip_distance'].mean()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Write an expression in the cell below that evaluates to the sum of the `total_amount` field for rows 100 through 200 in the data set.\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| " 1267.4999999999982" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style>\n", | |
| " .dataframe thead tr:only-child th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2016-12-01 00:00:47</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.34</td>\n", | |
| " <td>14.16</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>2016-12-01 00:01:23</td>\n", | |
| " <td>1</td>\n", | |
| " <td>0.87</td>\n", | |
| " <td>6.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>2016-12-01 00:01:54</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.35</td>\n", | |
| " <td>17.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>2016-12-01 00:01:58</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.72</td>\n", | |
| " <td>10.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>2016-12-01 00:04:51</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.86</td>\n", | |
| " <td>18.96</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>2016-12-01 00:05:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.70</td>\n", | |
| " <td>8.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>2016-12-01 00:05:38</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.00</td>\n", | |
| " <td>8.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>2016-12-01 00:07:17</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.34</td>\n", | |
| " <td>10.14</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.80\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.30\n", | |
| "2 2016-12-01 00:00:47 1 2.34 14.16\n", | |
| "3 2016-12-01 00:01:23 1 0.87 6.80\n", | |
| "4 2016-12-01 00:01:54 1 4.35 17.30\n", | |
| "5 2016-12-01 00:01:58 1 1.72 10.30\n", | |
| "6 2016-12-01 00:04:51 1 2.86 18.96\n", | |
| "7 2016-12-01 00:05:33 1 1.70 8.80\n", | |
| "8 2016-12-01 00:05:38 1 1.00 8.30\n", | |
| "9 2016-12-01 00:07:17 1 1.34 10.14" | |
| ] | |
| }, | |
| "execution_count": 13, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head(10)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "1 16.30\n", | |
| "2 14.16\n", | |
| "3 6.80\n", | |
| "4 17.30\n", | |
| "Name: total_amount, dtype: float64" | |
| ] | |
| }, | |
| "execution_count": 14, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df['total_amount'][1:5]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "1267.4999999999982" | |
| ] | |
| }, | |
| "execution_count": 16, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df['total_amount'][100:200].sum()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Okay, now this one is tricky. Write an expression (or a series of statements that ends in an expression) in the cell below that evaluates to the *total trip distance* (i.e., the sum of the trip distance field) for all single-occupant rides (i.e., where the passenger count is 1).\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| " 219594.60999999827" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style>\n", | |
| " .dataframe thead tr:only-child th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.8</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.3</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.8\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.3" | |
| ] | |
| }, | |
| "execution_count": 17, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head(2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "219594.60999999827" | |
| ] | |
| }, | |
| "execution_count": 21, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "one = df[df['passenger_count'] == 1]\n", | |
| "one['trip_distance'].sum()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "## Problem set #2: Plots\n", | |
| "\n", | |
| "In the cell below, write a statement or sequence of statements that draws a pie chart of passenger count frequency. (Hint: use `.value_counts()`.)\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| "" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style>\n", | |
| " .dataframe thead tr:only-child th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.8</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.3</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.8\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.3" | |
| ] | |
| }, | |
| "execution_count": 22, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head(2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "1 84399\n", | |
| "2 7623\n", | |
| "5 3582\n", | |
| "3 1977\n", | |
| "6 1713\n", | |
| "4 688\n", | |
| "0 11\n", | |
| "7 4\n", | |
| "8 2\n", | |
| "9 1\n", | |
| "Name: passenger_count, dtype: int64" | |
| ] | |
| }, | |
| "execution_count": 23, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df['passenger_count'].value_counts()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 25, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x1161d0748>" | |
| ] | |
| }, | |
| "execution_count": 25, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAApYAAAD3CAYAAACnxRTcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VOXZBvD7nNmzh2xgwq4QZF9EEBQFBapSBIt1K1Lr\nbtXa1rVVq19biq1SP7Fal09UXIrUBbAgKBaQTVFk3wIECJCFJJPMPmf7/phJWAOZ5Mycmcn9u644\nyTmTOU8MhDvved/3EZxOpwYiIiIiolYSjS6AiIiIiJIDgyURERER6YLBkoiIiIh0wWBJRERERLpg\nsCQiIiIiXTBYEhEREZEuGCyJiIiISBcMlkRERESkCwZLIiIiItIFgyURERER6YLBkoiIiIh0wWBJ\nRERERLpgsCQiIiIiXTBYEhEREZEuGCyJiIiISBcMlkRERESkCwZLIiIiItIFgyURERER6YLBkoiI\niIh0wWBJRERERLpgsCQiIiIiXTBYEhEREZEuGCyJiIiISBcMlkRERESkCwZLIiIiItIFgyURERER\n6YLBkoiIiIh0wWBJRERERLowG10AEVG8klUNAUWDpAKSqkE77px23AcnHD/Nc048duwjsyjAbhJg\nNQF2kwBREHSsnogo9hgsiShheWUVzoCGuqCKuqAKZ1BFXVBDfVCFT9bglTX4ZA0+JfToV0LHjn8M\nyBoCqoaAAgTDQTKoAAFVg6qdvQY9WUTAJgqwmQTYTIDN1BA8w48iTvj4+OfZRAF2s4B0i4BMq4gM\nq4gsq4AMq4hMq4jM8PsWkeGViKKHwZKIDOUMqDjqV1AXDAVEZ0A99n44MNYFtfDx8PtBFfVBFUHV\n6Or11TAy6pajl2hTzEIoZFrEcAAVwsHz9O+3s4nItYvId5jgMDOUEtGZCU6nM8a/kxNRspNUDZU+\nFZU+BeVeBRU+FRU+BRXe8KMvdKzSpyCgGF0tNVeaWUCuQ0S+3YRch4g8u4g8hwl5dhEFDhMKUkS0\nDz+mmDmFn6gtYrAkomaTVA1lbgWHvAoqGgKj91hQbAiPNQEV/MHStmVYhVDIdIjokGJCQUro/cJU\nEzqlmdEpzYQ8h8noMolIZwyWRNRI0zSU+1Tsd8nY71ZOeCx1KTjiVaDwJwbpJMUsoFOaCZ3STOgc\nDpud0s3oHD7Wzs7gSZRoGCyJ2hhnQEVpODAeOClAHnDL8PPWNMWJDIuAoiZCZ+d0MzKtvN1OFG8Y\nLImSkFtSsbtOxk6njF11EkrqQiOO+90y6oL8K0/JIcsqoHuGGT2zLOiZZQ69ZVrQOd3ErZuIDMJg\nSZTAjvoV7HDK2OWUsdMpYVedjN11Mg55FM5xpDbLYRLQPdOM4iwzemaa0SPLguIsM7plmLndElGU\nMVgSJYC6oIrttRK218rY7pRC7ztlHPUn2X47RFFkEYFu6Wb0yAqPcmaGRjl7ZFpg51ZKRLpgsCSK\nM3vrZWw4GsTGagnbwmHykJcTH4miRRSAzmkm9GlnwYAcKwbkWjAgx4IcLh4iihiDJZGBDrhlbDgq\nYcPRIDYclbCxOggn50ASxYWOaSYMyDkWNgfmWLhSnegsGCyJYqTcq+D7o0F8f1TCD0eD+KFa4q1s\nogRzfNgcGB7ZZNgkOobBkigKjvoVfF8lYUN1aCTyh6NBlPsYIomSUcc0EwbmWDAg14oBORYMyrUi\ny8atkKhtYrAk0sFOp4RV5UGsrghgXWUQB92cE0nUVgkAirPMGFZgxbACG4YXWNEpzWx0WUQxwWBJ\nFCFN07CtVsaq8gBWVQSwujyIKt7SJqIzKEo14cJ8K4YVWDG8wIbzs83ca5OSEoMl0VmomobNNaER\nyVXlAaypCKImwCBJRC2XZRUwvMCGkR1sGNneir7tLAyalBQYLIlOIqsaNlZLoRHJ8gDWVgbZrYaI\nour4oDmiwIp+OQyalJgYLIkAbK+VsLTMj+VHAlhXEYRb5l8LIjJOllXAZefYcUWRDVcU2ZHn4Mpz\nSgwMltQm+WUNK44EsKTMjyVlfhzgYhsiilMCgAG5FlxRZMcVhXYMzuNoJsUvBktqMw665VCQPOjH\niiNB+BT+0SeixJNjEzGmMDSSeXmRHdnc2ojiCIMlJS1F1bCuMtgYJrc5ZaNLIiLSlUkABudaG2+Z\n98+xQOBoJhmIwZKSSo1fwdJDASw56MeXh/xsj0hEbUqBQ8SYQjvGFtlxeZENaRaOZlJsMVhSwjvk\nUfBJqQ/zS334tioIlX+iiYhgNwFXFNlxbdcUjOtoh8PMkUyKPgZLSkjl3lCY/GSfD+sqg+AfYiKi\npqWZBYzvZMekLg5cXmSHzcSQSdHBYEkJo9Kn4NNSHz4Kh0mOTBIRRS7DKuCqTg5M7urAZefYYBYZ\nMkk/DJYU19ySigX7/fhwjxfLjwTAhdxERPppZxMxobMdk7s6cHEHG7cxolaLOFj2798f06dPx5VX\nXnna84sXL8YjjzyCjRs36lIgtT2SquHLQ358uMeHRQf98HKzciKiqMt3iJjY2YHJ3RwYlm/l6nJq\nEXOkn3DgwAF4PJ4mz3s8Hhw8eLBVRVHbtKk6iLd3efHRPh97cRMRxVilT8VrOzx4bYcHndJMmNoj\nFT87LwUFKez6Q80XcbAEcMbfYkpKSpCent7igqht8csaPtrnxf/t9GB9lWR0OUREBOCAW8Efv6/H\njB/q8aOOdvy8ZyouPcfGUUw6q2bdCn/vvffw/vvvAwC+/vpr9OzZE3l5eac8z+l0Ytu2bRg/fjze\nffdd/aulpFFSJ+H/dnrw3m4v95okIkoAXdNNmNYzFTedl4JcO0cx6fSaNWLp8/lQXV3d+LHb7YYo\nnrrpampqKm699VY88sgj+lVISUNWNXx2wI83dniw8kiAWwQRESWQfS4FT62vx5++r8fVnR2Y1jMV\nl3SwGV0WxZmIF+/069cPf/nLX5pcvEN0sjK3jNm7vJizy4NyH+dOEhEli/MyzbilRwpuOi+VPcsJ\nALcboihRNQ1fHgrg/3Z4sKTMz22CiIiSmN0E/LiLA7cVp2JoPkcx27IWB0uXy4WDBw/C6XRC0059\niREjRrS6OEo8AUXDnN0evLjFjVKXYnQ5REQUY8PyrXigbxrGd7RzsU8bFHGwrK6uxsMPP4z58+dD\nUU4NDpqmQRAE1NTU6FYkxT+vrOLNnV7M2uLCES9vdxMRtXW9ssz4ZZ80XNc9BRZ292kzIg6WN998\nMxYvXow777wTw4cPR1ZW1mmfN3LkSF0KpPjmklS8tt2Df2x146ifgZKIiE5UmGLC3b1T8fOeqUi1\ncB5msos4WBYWFuIXv/gFnnnmmWjVRAmgNqDi5W1uvLrNze2CiIjorHJsIu7pnYY7zk9FOgNm0op4\ng3SHw4FOnTpFoxZKAJU+BS9tceP/dnrgkhgoiYioeaoDKv7n+3q8uMWFu3un4c5eacjiSvKkE/GI\n5eOPP45t27bhk08+iVZNFIcOeRS8sNmFd3Z54eMSbyIiaqUMq4A7eqXhl70ZMJNJxMFy1apVeOyx\nx5Cbm4ubb74ZRUVFMJlO3YF/8ODBuhVJxqn2K/jLBhfe2uVBkFMoiYhIZ9k2AY8MyMBtxakwc5FP\nwos4WGZnZx/75NNsI8BV4We2atUqvPjii9i4cSOOHDmCl156CTfddJPRZZ1CVjW8tt2DGT/Ucw4l\nERFFXY9MM/7ngkyM62g3uhRqhYjnWL700kvRqKPN8Hg8OP/883HDDTfgrrvuMrqc0/rykB+Pr6vD\nzjrZ6FKIiKiN2FUn46dfVGP0OTb8aWgmemVbjC6JWoCddwxUWFiIZ599Nm5GLPfUyXj8Gyc+LwsY\nXQoREbVhJgGY1jMVjw9MR4791Ol2FL84W5ZQF1Tx+2/qMOyTCoZKIiIynKIBb+zwYNC/K/DiFheC\nXDSaMCK+FX7vvfee9TmCIGDWrFktKohiR9U0vLPLiz9+X48qbm5ORERxpi6o4Ylv6/HmDg+euSAT\nV3d2GF0SnUXEwXLFihWnLNpRVRXl5eVQFAW5ublISUnRrUCKjjUVATyytg6baiSjSyEiIjqjvS4F\nNy+rwaXn2PC/I7LQKS3i+EIxEvF3ZvPmzac9LkkS3nzzTbz88sv4+OOPW10YRYdHUvGH9fV4fYcH\nvLFARESJ5L+HAxj5SSX+fGEmbj4v1ehy6DR0m2NpsVhwxx13YPTo0Xj44Yf1elnS0ZqKAEZ+WonX\nGCqJiChB1Usafvm1Ezd8UY0qn2J0OXQS3Rfv9OnTB6tXr9b7ZZOG2+3Gpk2bsGnTJqiqirKyMmza\ntAkHDx6M2jX9sobHv3HiqkVHsc/Fv4RERJT4Fh30Y/gnlZhf6jO6FDqO7tsNTZ06FWvWrMHu3bv1\nfNmksXLlSkyYMOGU4zfccANefvll3a+3sTqI25fXYhf3pCQioiT10+4OPDssC5lWbnZjtIjnWM6Y\nMeO0x+vq6rB69Wps3LgRDz74YKsLS1YXX3wxnE5n1K+jaRr+sc2Dp9fXsRUjEREltX/t8WFVeRAv\njczCqHPYucdIrWrpeLysrCx07doVU6dOxS233HLado8UG1U+BfesrMXSQ9yTkoiI2g4BwG29UvHM\nkEw4zMwhRmDnnSTz38N+3LGiFpU+DlMSEVHbdH6WGR9ckcNtiQzAyQhJ5M0dHvxkSTVDJRERtWnb\nnDIuX1iFbyuDRpfS5rR4xHLJkiVYsmQJDhw4AADo1KkTxo8fj8svv1zXAunsNE3DU+vr8b9b3EaX\nQkREFDfsJuAfI7MxuRsbt8RKxMHS7/fjlltuwdKlSyGKItq3bw8AKC8vh6qquOKKK/D222/DZrNF\npWA6kV/WcOfKGnxa6je6FCIiorgjAHhsYDoeHpBhdCltQsS3wqdPn44lS5bg4Ycfxt69e7FlyxZs\n2bIF+/btw6OPPoqlS5fiL3/5SzRqpZMc9SuYsLiKoZKIiKgJGoA/b3DhjuU1CChcVhJtEY9Y9unT\nB5dddhlefPHF056/77778NVXX2HLli26FEint8sp4bovqlHKDc+JiIiaZVi+FXPGtEOu3WR0KUkr\n4hHLqqoqDBw4sMnzAwYMQFVVVauKojP7ujyAsZ9VMVQSERFFYG1lEGMWVGGnUzK6lKQVcbAsLCzE\nihUrmjy/YsUKFBYWtqooatrcPV5M/vwonEEO5xMREUVqv1vB2M+q8MNRrhiPhoiD5Y033ohPP/0U\n9913H7Zv3w5JkiBJErZv3477778fCxYswM033xyNWtu8+aU+3LWylp10iIiIWqEuqGHSkqPYWsOR\nS71FPMdSVVU88MADmDNnDgRBaOywo2kaNE3Dz372M7zwwgvsvKOzVeUBTF5yFAHe/SYiItJFnl3E\nZz/KRY8si9GlJI0W72O5detWLFmyBAcPHgQAdOzYEWPHjkXv3r11LZCArTUSfrSoCvW8/U1ERKSr\nDiki/vOjPHTNYJcePbClY5w74JYx7rMqHPHy/jcREVE0dE03YenVeVwtroOI51iuXbsWzz//fJPn\nZ86ciW+++aZVRVFIjV/BtUuqGSqJiIiiaJ9LwU+XVsMr89/b1oo4WM6YMQObN29u8vyWLVswY8aM\nVhVFgFdWcd0X1dhdJxtdChERUdL77qiEW/9bC0XljdzWiDhYbtq0CUOHDm3y/AUXXICNGze2qqi2\nTlY1TPuqBuuruFqNiIgoVhYf9ON339YZXUZCizhYer3es674drvdLS6IgGe+q8eSsoDRZRAREbU5\nr2zzYGkZWyW3VMTB8txzz8WyZcuaPP/FF1+gW7durSqqLVtbEcCsrQzmRERERrn361oc9XN/v5aI\nOFhOnToVS5cuxcMPP4za2trG4zU1NXjooYewbNky/OxnP9O1yLbCI6m4e2UtOL2DiIjIOJU+Ffev\nchpdRkJq0XZD999/P9555x0IgoD8/HwAQGVlJTRNw4033oiXXnpJ90Lbgt+sceKNHR6jyyAiIiIA\n/zsiC1N7pBpdRkJp8T6WK1euxPz581FaWgoA6NKlCyZOnIiRI0fqWV+b8dUhPyYvqQYHK4mIiOJD\nmlnAyon53Dw9AlHfIN3j8WDWrFm4/vrr0blz52heKmHVB1Vc9Eklyjycz0FERBRPRnWw4dPxuUaX\nkTAinmMZKY/HgxkzZjSObNKpXtjsYqgkIiKKQ8uPBLDogM/oMhJG1IMlAGgab/A25bBHwT+2cl4l\nERFRvHpyfT0krqxtlpgES2ra9A318Cn8w0pERBSvdtfJXFzbTAyWBtpdJ+G9Eq/RZRAREdFZvLDZ\nxVHLZmCwNNCsLW5wsJKIiCj+HfGqmLeXcy3PhsHSIDV+Bf/aw9FKIiKiRDFri8voEuIeg6VB5uz2\ngt2iiIiIEsfWWhnLD7OP+JkwWBrknd0crSQiIko0/9rD2+FnElGw9Hq9mDBhAubMmdPsz8nOzsaC\nBQswYMCAiItLVttrJeyuk40ug4iIiCL02QEfglwg0aSIgmVKSgo2btwIRWn+PVyLxYKRI0ciMzMz\n4uKS1cL9/G2HiIgoEdUFNXx1OGB0GXEr4lvhF110EVavXh2NWtqMhQc4P4OIiChRLeAAUZMiDpbP\nPvssvvvuOzzxxBMoLS2FqqrRqCtpVfsVbKyWjC6DiIiIWmhNBUcsmyI4nc6IJgq0b98emqZBkkLh\nSBRFWCyWE19UEHD48GH9qkwiS8v8mLK02ugyiIiIqBX23NAeOXaT0WXEHXOknzBp0iQIghCNWtqE\nDUeDRpdARERErfRtVRDjOzqMLiPuRBwsX3755WjU0WZsOMrb4ERERInuh6MSg+VpRBwsqXX21HOb\nISIiokR30BO7Lid9+vRBWVnZKcd79eqFNWvWxKyO5mjRBuklJSW444470KtXL+Tl5WH58uUAgOrq\natx7771Yv369rkUmk3If2+0QERElukMxDJbXXXcdTKbQfM4pU6Zg2rRpAIDt27fHXeaKOFhu3rwZ\no0ePxldffYULLrjghD0tc3JysH37drzxxhu6FpksAoqG+iA3VSUiIkp0h2MYLDdt2gRFUXDppZfi\ntddew/79+xvPPf744zGrozkiDpZPP/00CgoKsH79esycOROadmJQGjNmDNatW6dbgcmkkqOVRERE\nSaHKH7t/0wcOHAgA6NKlC7755hssX768cVeeHTt2xKyO5og4WK5duxa33HILMjMzT7s6vGPHjigv\nL9eluGQTZK4kIiJKCnIMt/H++c9/DgCYPXs2xo4dC1VVkZaWBkmS4PPF12btLVq8Y7PZmjxXWVl5\nxvNtmblFM1qJKNEUi/V43roGOWYXXCkp8JpN8CtWBGQLgrIJsiRA0EyAIkJQREARoKkaIANQAGgA\nVCH8CEATAFULva8CmgoICgBVbTymqjj2HEWDpgGQtdDrqoCmaICqQVMBKGr4mApN1aApoTcoGlQt\nfFzRws/TTrkzJQgCNJxp2zkNZzx97JXO/gwh9OU364lnvFIzaxJwlq+t4WkCtBM+buq1zvZCwtnr\nCr/OWZ8mCM24XuN/mqCFv7Lmfm9CfxYEoekrn/z9EzSc+H9PEM7+PW7mLodCc6pv1vfl7BcVrWbg\n5inNK6yV/vOf/wAAHA5HY5Csr69HamoqgsH42sYw4mDZv39/fP7557j99ttPOSdJEv7973/jggsu\n0KW4ZGMRuf8nUVuwQ83Alf5x+DM24IG178FSXwXpvEIEu2ZDyhEQtLrgUiS4hTS4kQq3aodLEeGW\nAbckQ5IFSIoGERZYTQ5YRBvMgg1m0QoRZphghqAKgCZCUwFV0SAoKmRJgSwrkCTplDDYUpqmQdAE\niBAhQoCgiRA0AQKEUEDQRIha6F/qhudBDb0vhI8dC8fHjjcEYiH8uZqiQWgIzRqgKTghTEMDNDkc\nktVwSFZCn6epoVDcEJCPD8sNb2o4LGuyCrXxuApVDr01PEeV1WakDiLAlmmP2bWef/55CIKAnJwc\nlJeX48knn8Trr7+OgwcPIjMzM2Z1NEfEwfI3v/kNfvKTn+D+++/HtddeCwAoLy/HF198geeeew4l\nJSWYOXOm7oUmAys36CdqUx7HQPypT1+8IS3HpB/mwba1tPFcvs2KYK9CBDtbIbcLQrE5oQoVgOXY\n/TW/kAa32A5uIR1uzQ6XaoVbBlySgnolAJffDa/fA+3kJGQGbCYHbJZU2EwpsJlSYDXZYRZtMAtW\nmAQLRJggaGYImgBNFUIBVVahNAZUGbIsh6Y8CYAKFaHKEn1Oz7FbRwIAU/jtBMeFZBECoAqhUA0R\nQkM4htgYnBvCs4Djw/OxAN0YrsMBGSogNH58bDT6+DCtNYxAKzg26nx8gA6PQjeONqsa1IZR53BQ\nDgVsFap88mM4XMtqY+CmyFnTrTG7lsfjgSAIyMzMhNPpxK233opXX30VmqZh8ODBMaujOSJu6QgA\nH374IR5++GHU1dWFfpsVBGiahszMTMycOROTJk2KRq0JT9U0tH/7MIJsr07U5nQUvPjA9RmG/vAZ\nBPn0jRKUNDuknkUIdsqAnK1CNtVAC1bhTENoCizwmLLhFjLhRipcmg0uWYRb1lAflODye+HyuyAr\nkTdnEGGC3ZoKuykNNpMDVvPJo6cmiJoZAkxAQzhVQgFHlhXIkqzr6ClFxymj0hAhqGcelW4M0xqA\nxhDd9Ki0poaugXAobjgfCsVoelRaDR1rDNUqoMnqmUeljw/XSig8q5L+o9L5fQtww8Kftf6FmmHc\nuHFNLowWBAHl5eVxMw2xRcESALxeL5YtW4a9e/dCVVV07doVo0ePRnp6ut41JpVB88qx15Xov/ET\nUUuNEKvxVsWH6LJ1ZbOer2SmIlhcCKkoHVKmDEWshiYdjfi6PjEDHjEbLjSMflqOjX4G/KHRz4An\n4tdtDqvJDrs5DTZzCmwmBywme2NANQkWiJoJIkzhW/vHAqoiK40BVZbZXIJ0dEJIBgSEwnPjqHTj\ntI+mR6ULOhXgkutGxaTcsrIyXHfdddi2bVvjMUEQMGzYMDz33HPo1atX3LTbbnHnnZSUFFx99dV6\n1tImdEk3M1gStWGr1Bycm3cXpo0eh7/tfR9ZpVvP+HxTnQeOdbvgOG6wQsnJQKD4HEjnpELOkKAI\nVdCk2jO+jkOth0OtR+4JLx5+swPIBGTBAo/Y7tjop2qFWxHhkjW4gkG4/D64fPWQ1chCXlDxI6j4\ngUBEn3aMAIgWE+yWVNjMqY2jp1YxfHsfFoiCGYJmhggTtPDIWcPoqSIrkDh6SscTAE3QoDRO7Yj8\n3+VOnTvrW9MZmM1m9OvXDxUVFXC73ejSpQssFgv69OmD888/P2Z1NEfEwfLgwYNnPC8IAux2O3Jy\ncuImPceTbhlmLDvc0p+uRJQsZqtdMbvL4/hzlw14YMt7sB093OzPNVXXI2VV/QnHpIJsSD07INjB\nASU9CFmrAOT6Jl7h9MyahEylApmoOHZQAGAJv6WGDnnFTHjELLiRDpfmgFs1wxUe/XRFafRThQKv\nVA+vFNnXdAIzYDHZYTenwm5OhdVkP25xVMPcUzMEzQThlNFTFYosQ+LoKYXFatGM0+nEuHHjMGzY\nMMydOxc5OTnYv38/nn766ZhcP1IR3wrPzs5uVmC02+0YPnw4HnroIQwbNqzFBSabD0q8uGvlmUcW\niKhtSYXcuMDH5GlFcDqJVJiLYI8CSO0dkFN9UNRyQInO7e6TybCGFh6JGeGV71a4FBPckor6YBCu\ngBcunwtKhKOf8UCECJslFE5t5hRYRQcspoa5pxaYYA0vjhIBNbxyv2FxlBxaGCVJMlSVE+4T2eTJ\nk5GTkxP16zzzzDNYtWoVPv/886hfSw8RB8t33nkH//znP3H48GFMmTIF3bp1AwDs2bMH8+bNQ1FR\nEW666Sbs27cPc+fOhdvtxrx583DJJZdE5QtINAfcMvp9WHH2JxJRm9OcBT6tJXUuQOC8fMgFVsgp\nXihKOaAYs8GypgnwmRrmfqaFRj8VM1wK4ArKjaOfvqDXkPqizSLaQnNPLcfmnlpFO0yCFeazjp6G\ntpXi6KkxrFYrpk6dGpM7sxdeeCHGjBmDI0eOYOXKlWjfvj2mTp2K22+/PS7vDEccLP/2t79h3rx5\nWLx4MbKysk44V1tbi/Hjx+OnP/0pfv3rX6OmpgajRo1Cp06d8Nlnn+laeCLrM7ccZTHsMUpEiSXS\nBT6toQoC5G4dEDw3F1K+BbLdDVUuB9T4mbIjwQa3qR3cwrHRT7ciwiWpqA8G4PJ74fa7oKht7+eq\nAAF2S2hhlL1x9NQeGj0VLDAJlvDcUzG0OEoJbWWkyCoURYEshQIqR08j07lzZ4wdOzYm1yooKAAA\n3HPPPbjmmmuwefNmPPLII3jqqadwxx13xKSGSEQcLHv37o177rkH995772nPz5o1C6+88gq2bNkC\nAJgxYwZefPFFlJWVtb7aJHHPylq8V5Kcv4ETkX6mifuatcBHb6pJhHReIaRuOZByRcg2N1TpMKDF\n7+hYaPQzC24xCy6khVa+K+bwyvfQ6Ge93wV/ML7a38ULs2iF3ZwGuyW076nFZIdFCK/cFy2hTfk1\nEwSERk+hhEdPFfWEraXaihEjRsRs0UxeXh4GDhyIJUuWNB575plnsHDhQnzzzTcxqSESES/eqamp\ngdfbdCjyer2orq5u/LigoICr8E5ybTcHgyURnVXDAp8/ddmAX219H7aqQzG5rqiosO04CNuOY4s1\nVavlhO5BirUeqnQkvKu38QRBQ4paixS1FvnHnzCH3xyhD0Ojnznh0c+U0NxPWYRLVuEKBBrnfqpx\n8nXFiqwG4Q7WwB2safFrCBYhNO/UkgKbKRU2kx1m0QGLaG1cHCXADFE7afRUCc89TaDR006dOsXs\nWgUFBejZs+cJx3r06BG3A3YRB8uBAwfilVdewdixY9G/f/8Tzv3www/45z//iUGDBjUe27lzJ845\n55zWV5pELu1gQ75DRKUv/v/yEJHxfoeB+GPvvngzCgt8mksMSrBtLT2he5Da0D2oUxbkHEAxO6EG\nKwDE7882CwLIVg4jG8etwhcBWMNv6YCmifCaMuEWs0O33jUHXIopvPJdhivgg8vnhl/i6OfxNGjw\nyW74ZHfjWU9WAAAcV0lEQVTLX8QEmM3WY1tLhbeVari937ByXwzPPYUmQA13Jzo29zS6o6ft27dH\nWlpa1F7/ZMOGDUNJSckJx0pKStCxY8eY1RCJiG+Fb9myBRMmTEBdXR0GDx6Mrl27AgD27duH7777\nDhkZGVi4cCH69OkDv9+PK664AuPGjcPvf//7qHwBierhtU68uj02qzOJKHnEYoFPa6gpdgR7RdY9\nKFEFBQfcpmy4cdLop6SE9/30wO13QdXiN2gnK0ETQiOn5lTYwxvzm8WGjfktEAUrTDABjYujQoPv\nodFTNdTSVJKgKKd+70aNGoUePXrE7Gv5/vvvMXbsWDz66KOYPHkyNm3ahPvvvx9PPPEEbr/99pjV\n0Vwt6rxz5MgRzJw5E8uWLWvc17Jjx44YPXo0HnjgARQWFupeaLLZWB3EqPlVRpdBRAkqlgt8WkvJ\nSEGwV0dIRWmt6h6UiFSI8IrZcIuZcCMdbs12bPQzKIVXvrsQkPxGl0qnYRIscBw3eppma4frx94B\ni8US0zo+//xzPPPMMygpKUFRURFuv/123HnnncmxKpz0c/WiKnxdHjS6DCJKYEYt8GmtlnQPSmYB\nIQUesR1cQjo8SAm33BSOW/keGv3kmgVjjexzJcYN+anRZcQ1BksDfVHmx0+WVp/9iUREZ/EnxHaB\nTzSc3D1I0SqgRdg9KJmpEOE1hVpuupAaXvluCq18D0pwBXyo97kQlONnq6hkIgom/Ponf0Nmajuj\nS4lrLQqWO3fuxLvvvovS0lI4nc5TfoMSBAHz58/XrchkdtmCSmw4Gn/zpIgo8TggG7rAJxqOdQ+y\nQ071x7R7UKIKCCmhrkdCBtyaA27VApcSnvsZCKDe74Yn4OboZ4QGnXcJJo34RVSv8dprr+HNN99s\nnGZYXFyM3/72txg3blxUr6uniIPlBx98gHvvvRcWiwXnnnvuKZukN1i4cKEuBSa7rw75MWkJRy2J\nSD/xvsCntaTOBQicmw+5vfHdgxKVChM8Yrvw3M9UuDRbaN9PSYNLCsLlD41+SgqnawGA1WzDA5Nn\nICMlO6rX+eyzz2C1WtG9e3eoqor3338fL7zwAv773/+iT58+Ub22XiIOlgMGDEB2djbmzZsXkx6Z\nbcGNX1bjPwc4cZuI9JVIC3xaI9Q9qD2C5+ZDyjfHZfegROUX0uA2ZcODdLiQEm65KYa3XQrN/fT4\n3dCScNX/8S7tPxFjBk425NpdunTBU089hZ///OeGXD9SEe9jWV5ejvvuu4+hUkd/HpqJLw/5EWhb\n+/ESUZStUnNwbt5dmDZ6XEIu8GkuUdNg3XME1j1HGo+pJhHSuYWQuh/fPegIoCXfCG402TU37LIb\nuccfFAHYwm8ZgAJzePSzoeWmHS5FhFsG6oPB8L6f9ZCUxPx/n5Wai4v7XhXz6yqKgk8++QQejwdD\nhw6N+fVbKuJg2bt3bxw5cuTsT6Rm65Juxn290/G3TS6jSyGiJGRUBx8jiYoK286DsO1MnO5BicoE\nGRlqJTLUymMHBQCW8Ftq6JBfSAvP/UwPLTxSreGWm0p45bsbXr8n7kY/r7zwJljNtphdb+vWrRg7\ndiz8fj9SU1MxZ84c9O7dO2bXb62Ib4WvXbsW06ZNw+zZszFs2LBo1dXm+GUNoxdWYltt/PbiJaLE\nl4wLfFrjhO5B7QDFEv/dg5KZAgs8pmy4hWNzP92KCS5JhSsood7vhcvvghyj0c+eHQfg5jEPxuRa\nDYLBIMrKylBfX49PP/0Ub731FhYuXBiz3uStFXGwnDJlCkpLS7Fnzx6ce+65KCoqgslkOvFFBQFz\n587VtdC2YIdTwmXzq+BT4uu3NSJKPsm+wKc1TuwepEE2VSdt96BE5RMz4BGz4ULD6Kfl2OhnwB8a\n/Qy0bveANHsm7p34P0hzZOpUdctMnDgRHTt2xKxZswyto7kivhW+Y8cOCIKAoqIi+P3+U/pXAojL\nneATQXGWBX8amolfr3EaXQoRJbmDWgpGpE3BiEtGt4kFPpEQvX7YvyuB/btjx5SMFASLO0LqmN7m\nugfFI4daD4daf+LcT1P4zQ4gE5AFS2juZ8Pop2qFWxHhkrVwy83Q3E9ZPfVOoQAB1158u+GhEgBU\nVUUwmDir87lBehy66ctqfMZV4kQUQ4nawcdISrt0BIoLIRWye1Ai84qZ8IhZcCMdLs0Bt2pGZt4A\nDO0zMea1/OEPf8DYsWNRWFgIt9uNefPm4e9//zvmzp2LK664Iub1tASDZRyq8SsY+WklDns5x4eI\nYisZOvgYSc7PRrCY3YMSmZg9APYBf4IgmM7+ZJ3dfffdWLlyJSorK5GRkYHevXvj/vvvx5gxY2Je\nS0u1KFgGg0F88MEHWLlyJaqqqvD000+jf//+cDqdWLRoES655BIUFhZGo942Y1V5AJOXHOUWREQU\nc1zgo69TuwdVAIrb6LLoNARbHhwXvAjBevrmL3R2EQfLmpoaTJgwAdu2bUN+fj6qqqrw8ccfY9So\nUVBVFf369cO1116Lp59+Olo1txkL9/sw7asayBxTJiIDcIFP9JzYPcgHRTnC7kFGM6fCPvBZmNK7\nG11JQhMj/YSnnnoKBw8exOLFi7F69eoTeo2Koogf//jHWLp0qa5FtlVXd3bgHxdng0uhiMgIDQt8\nLr3kOZT2vtjocpKKZX8F0r7cjKx3v0Pua9uQ96YT2V9nI/VID1jV3hCtnQExdnsntnmiDfZ+TzNU\n6iDiVeGLFy/GnXfeiQsvvBA1NTWnnO/evTvmzJmjS3EEXNc9BW5J40pxIjJMW+ngY6SmuwedA6lb\nLqQ8dg+KGsEMW5/fwZSVGL24413EwdLlcqGoqKjJ84FAAIrCiYF6urU4FW5JxZPrOdeJiIzTFjv4\nGCnUPagMtp1ljcdUsxlSzyJ2D9KNAFuv38CcmzgtE+NdxMGyW7du2LBhA2655ZbTnl+2bBl69erV\n6sLoRPf3TUd9UGPbRyIy3O8wEH/s3ZcLfAwgyjJsW0th21raeIzdg1rO2uNumNtfZnQZSSXiYHnL\nLbfgiSeewEUXXYTRo0cDCG2I7vV68eyzz2LZsmV48cUXdS+UgN8PzoBLUvHP7a3rJkBE1Fo+mHG9\nZQw6Dh3OBT4GEwNB2H/YB/sPx46d0D0oS4VsroUWrAS7BzUQYD3vDliKfmx0IUmnRdsNPfjgg5g9\nezbS09PhcrmQk5MDp9MJRVFw22234a9//Ws0aiUAmqbh/lVOvLPba3QpRESNRojVmF0xD123rjC6\nFGpCqHtQUah7UJYCRTjaNrsHCSKsxb+CpcPYqF1i+vTpmDFjxgnH8vPzsWvXrqhdM160eIP0devW\n4eOPP8bevXuhqiq6du2KSZMm4aKLLtK7RjqNZ3+ox/QNLv7uSURxhR18Ekub6x4kWmHr/QjMeSOi\nepnp06fjo48+wsKFCxuPmUwm5ObmnuGzkgM77ySwT0t9uHtlLbzc6JKI4gw7+CQuOT8bwZ4dEDwn\nyboHmdNh7/dUTFZ/T58+HfPnz8eaNWuifq14E/Ecy0AgAK/Xi+zs7MZj1dXVeOutt1BXV4eJEydi\n0KBBuhZJpzexiwNd0k248YsaHPJyRSARxQ8u8Elc5spamCtrkXLcMemcXAR7Jm73IMGeD3v/P0FM\n7Riza5aWlqK4uBhWqxVDhgzBk08+iS5dusTs+kaJeMTyzjvvxI4dO7B8+XIAgNfrxUUXXYT9+/cD\nAMxmMxYsWIBhw4bpXy2dVoVXwU3LqrG+ihPniSj+sINPcpI6FSBwXvx3DxKzB8De+9GYtmlcunQp\n3G43zjvvPBw9ehR//etfsXv3bqxduxbt2rWLWR1GiDhY9u3bFzfddBMeffRRAMDbb7+NBx54APPm\nzUPfvn0xefJktG/fHvPmzYtKwXR6flnD/atqMXdv/P2lJiICuMAn2amCALlbewS750HKt0BxeKDI\nRwA1YFhNlk7XwdL9FgiCybAaAMDj8aB///741a9+hV/+8peG1hJtEd8Kr6qqQmFhYePH//nPfzB0\n6FCMGTMGAHDTTTdh5syZ+lVIzWI3C3h1VDsUZ7vwP9/Vc1EPEcWdVWoOzsu7E9NGj+UCnyR05u5B\nOZDyzJBtrth0DzKlwHb+b6K+SKe5UlNTUVxcjL179xpdStRFHCzT0tLgdIbaC8qyjNWrV+Puu+9u\nPO9wOOBycRNvo/y6Xzp6Zppx54pauLmoh4jiEDv4tB1Ndw8qRLBru6h0DxJSO8Pe9wmIKU13CYw1\nv9+P3bt34+KLLza6lKiLOFgOHDgQ77zzDi655BIsWrQIbrcb48ePbzy/b98+5Ofn61okReaqzg58\nfY0Fd66oxbrKoNHlEBGdFhf4tE2h7kH7Ydu6v/GYarMiWFyIYOfWdQ8yFVwKW/GvIJjsOlcdmd//\n/vcYP348ioqKGudYer1e3HDDDYbWFQsRz7HcuHEjJk2aBKfTCU3TcM011+DNN99sPD948GAMHjwY\nr776qu7FUmQUVcPMzW7M+KEeEjt7EVEc4wIfOllE3YPMabD1uDdu2jPeeuutWL16Naqrq5Gbm4sh\nQ4bgd7/7HYqLi40uLepatI9ldXU11q1bh4yMDIwcObLxuNPpxPvvv48RI0agX79+uhZKLffD0SDu\nWFGLXXWy0aUQEZ0RF/jQmRzfPUjOlCGLNRDSCmHr9RuI9jyjyyNwg/Q2wydr+OP39Xh5mxsqv+NE\nFOduEUvx3N73uMCHmqTZ7AhedyekMdcAgmB0ORQWcbDcuXMnSkpKcNVVVzUeW7VqFZ577jnU1dXh\n2muvxT333KN7oaSPbyuDuG9VLXY4OXpJRPGPHXzodOTzByFw60PQ8joYXQqdJOJgOWXKFAiCgLlz\n5wIADh06hAsvvBA2mw15eXnYtWsXZs2ahRtvvDEqBVPrBRUNz2504YXNLs69JKK454DMBT4EANBS\nMxCYchvkSydwlDJOiZF+wsaNGzFixLF9of71r39BVVV8/fXXWLt2LcaNG4fXX39d1yJJX1aTgN8P\nysCyCfkYkmcxuhwiojPywYzrLWNw7tDnsG7INdDM/LnV1miCCOnSCfA8+w7ky37MUBnHIg6WdXV1\nyMnJafx46dKluPjii9GhQ2g4ety4cSgpKdGvQoqavu0sWHpVHt4YlY2OacZ2JSAiOpuDWgpGpE3B\npZc8h329LzG6HIoRpfv58D31MgI//w2Qlml0OXQWEQfLvLw8HDhwAEBoFfj69etx2WXHlvcHAsa1\nbqLICYKAa7ul4NtJBfjD4AxkWPhbIBHFt4YOPr8Y/Sc4u/Q2uhyKEjUzG/7bHoHviZegdu1pdDnU\nTBFvkH7ZZZfh1VdfRUZGBr7++msAwJVXXtl4fseOHSe0fKTEYDcL+FW/dNzcIwXTN7gwe6cHCleP\nE1Ece0vtgrfYwSfpaCYTpDGTEJw0DUhJM7ocilDEi3eqqqowdepUrF27FlarFX/4wx8aWzr6/X70\n6tUL1113HWbMmBGVgik2djolPPFtHZaUcQSaiOIfF/gkPk0QoAy+GIFrfwHtnM5Gl0Mt1OJ9LOvq\n6uBwOGC1WhuP+Xw+lJSUoKioCNnZ2boVScb572E/fvdNHbbWcnsiIop/7OCTmOS+QxG89he85Z0E\nuEE6nZWqaZiz24s/f1+Pch/3JyKi+McOPolB6dkfgZ/8AmoPdutLFi0OlocPH8bGjRtRX18PVT01\nbLSFRuttjVdW8fYuL2ZtcaPMoxhdDhHRWbGDT3xSuvZE8NrboPS9wOhSSGcRB8tAIIB7770XH3/8\nMVRVhSAI0LTQSwjH7StVU1Ojb6UUNyRVw4d7vPjfLW528CGihMAOPvFB6dgdwWumQRlysdGlUJRE\nHCyffPJJ/OMf/8Djjz+OCy+8EFdffTVefvlltG/fHrNmzUJVVRVeeeUV9OrVK1o1U5zQNA2fHfDj\n75tdWF/FuUxEFN+4wMc4cq+BkK68Hkq/C40uhaIs4mDZt29fjBo1CrNmzUJNTQ26d++OTz75BKNG\njYKmabjyyivRp08f/PWvf41WzRSHVhwJ4O+bXFh2mKvIiSi+cYFPbGiiCHnIKEhXXs9FOW1IxBuk\nV1ZW4oILQnMizObQNph+vx9A6Fb4xIkTMX/+fB1LpERwSQcbPhqXi/9OyMM1XRwQuc86EcUpdvCJ\nLs1qQ3DMNfDOmIPAvU8xVLYxEW+Qnpubi/r60C2E9PR0OBwO7Nu3r/G8JEnweDz6VUgJZUCuFbMv\na4c9dTJe2OLCByVeBLmQnIjiUEMHn1tGj+MCHx1oaRmQLp+E4OWTgPQso8shg0R8K/z666+H3W7H\n7NmzAQBTpkzBrl278Morr0BVVdx1110oKirCokWLolEvJZgKr4J3S7x4e5cHpS6uJCei+MUFPi2j\ndO4BacxEyMMvB6w2o8shg0UcLBctWoR3330Xr7/+Oux2O7Zt24YJEyagtrYWmqahXbt2+PDDDzFo\n0KBo1UwJSNM0/PdwALN3efCfA35IHMUkojjEBT7No1kskC+4DNLl10Dtfr7R5VAc0WWD9Pr6eqxc\nuRImkwnDhg1DVhaHwKlpVT4F75V48dZOD/ZyFJOI4hAX+Jye2r4jpFFXQbp4PG9302m1OFguX74c\nn3/+OQ4cOAAA6NSpE8aNG4dRo0bpWiAlL03TsOJIEG/t8mDhfh/nYhJR3GEHn/Do5JBRkEddBaXX\nwKhc4/nnn8eCBQtQUlICq9WKIUOG4KmnnsL553M0NNFEHCw9Hg9uvfVWLF26FJqmNY5OOp1OCIKA\nMWPG4M0330RaWlpUCqbkVO0PjWK+vcuL3XXcdJ2I4ktb7OCjdO8F+aKxkIaNBtIyo3qtyZMnY/Lk\nyRg0aBA0TcOf//xnfPvtt1i3bh2ys7Ojem3SV8TB8sEHH8Ts2bPx0EMP4a677kK7du0AhDrtvPzy\ny/jb3/6GadOmYebMmVEpmJLf1+UBvL3Tg4UH/PDKbGVPRPEj2Rf4qPnnQB5+BaSLroDWvsiwOtxu\nNzp16oR3330XP/rRjwyrgyIXcbDs0qULrrnmGvz9738/7fkHHngAn376KUpLS/Woj9owj6Ri8UE/\n5u314ctDft4qJ6K4EFrgswKTfvgwKRb4aKkZkC+8DNKIsVDP7W10OQCA8vJyFBcXY9GiRRg+fLjR\n5VAEIt7HUlVV9O3bt8nzffv2xSeffNKqoogAINUi4tpuKbi2WwqcARUL9vvw730+rDwSgMKBTCIy\niA9mXG8ZjY5DhyXsAh/NYoHSfzikEWOh9BsGmCOOA1H16KOPom/fvhg6dKjRpVCEIh6xvO2221Bf\nX4+5c+ee9vyUKVOQlZWF1157TZcCiU5W6VPwaakPn5T6sKYiCJUhk4gMlCgLfDSrHUq/oZAHXwx5\nwHAgJT7XQjz++OP46KOPsHjxYnTp0sXocihCEQfLnTt34tZbb0VRURFuv/12dOvWDQCwZ88evPba\nazh8+DDeeOONxrmXDfLy8vSrmiisyqdg4X4/Pt3vw9dHAuCUTCIySjwu8NFS0iAPGA558CVQ+g2N\n+w3MH3vsMXz00UdYsGABevToYXQ51AIRB8vjV2cJwokNoTVNO+1xILS4hyiaavwKFh7wY36pD8uP\nBLgJOxEZwugFPmpmNpSBIyEPuRhKr0Fxd5u7KY888gg+/vhjLFiwAD17sr94ooo4WE6fPv20wfFs\nHn300Yg/h6il3JKK5YcD+OKQH0vLAijzcCN2IoqdWC/wUfPPgTzgIshDLoF6Xh9AFKN+TT399re/\nxb/+9S/MmTMHxcXFjcdTU1O5fWGC0aXzDlG82+GUsLTMjy8PBbC6PMAV5kQUE9Hq4KNZbVB6DYTS\ndyjkfkOhFRi3NZAemurY98gjj+Cxxx6LcTXUGgyW1OZ4JBUrjgTwxaEAlpb5ccDN0Uwiii49Fvio\nHTpB7jsUSr8LofTsF/fzJaltYrCkNm93nYSlZQF8UebHqooAAsyZRBQlkSzw0ewOKL0GQe43FErf\nodDyOsSgQqLWYbAkOo5XVrHySBBfHPJjVXkA22tl8C8IEentdAt8NIsFavfzIRcPhHL+IKjdewFm\ni4FVEkWOwZLoDJwBFWsrA1hTHsSaiiA2VAe52pyIdJElKlhkXY3+FndovuR5fXh7mxIegyVRBHyy\nhvVVQaypCGBNRRDfVgbh5uaZRNQMKWYBQ/KsuKjAihHtbRiSZ4XDHPkuK0TxjMGSqBVkVcPmGgmr\nykNBc21FENUBDmkSEdDOJuKCPAuGF9hwUXsrBuZaYREZJCm5MVgS6UjTNOyqk7GmIojVFQF8WxlE\nqUvhPE2iJJdmFtA/14JBuVYMyrVgYK4VXdITY2NyIj0xWBJFWV1QxcZqCRurg+FHCSV1XBRElKhs\nJqBPdihEDsy1YFCeFT0yzRBb0DyEKNkwWBIZwCWp2BwOmT9UB7GpWsKuOhkK/zYSxRWTAPTMModH\nIkOjkb3bWXhLm6gJDJZEccIrq9hS0xA2Q487aiVwbRBRbKSYBfTMMqM4y4I+7SwYlGtB/xwLUsyJ\n1R6RyEgMlkRxLKBo2FojYVONhO21EnY4Zex0Sij3cYEQUUvZTUCPTAuKs83olWVBcZYZvbIt6Jxm\ngsDb2UStwmBJlICcARU7nBJ2OuUTHg97GTiJGthMwLkZodBYHA6Q52db0CXdxPmQRFHCYEmURFyS\nij11MnbVydhdJ6OkTsbuehl76mT4OIGTklSGVUCXNDO6Z5gbRyF7ZZvRLd0ME+dCEsUUgyVRG6Bp\nGso8CnaHA+cBt4ID7mOPtQH+GKD4ZRaAwlQTuqSb0SX95Eczsm2cA0kULxgsiQhuSW0MmQfdyinv\nH/XzFjtFV5ZVaAyKJ4fHolQTzBx5JEoIDJZEdFZeWT1t4DzglnHIo6DKp3L1OjUp3SKgfYoJHVJM\n6JAihh9Db53TTeicZkYWRx2JkgKDJRG1mqZpqA2oqPCpqPSpqPIroUefgkp/+NGnotKnoMqvQuIA\naMITAGTbRBQ4ROQ7TChwiMgLP+Y7QqHxnFQR7VNMSLcwNBK1FQyWRBRTmqbBGdRQ6Ts1fFb4VFT5\nVdQHw2+ShvqgCpekQeVPqqhJMQvIsgrIsorItInIsorIsomhYyd8LCI/HBzzHSI3CSeiUzBYElHc\n0zQNbllDfVCDS2oIntoJ4bM+qKHu+HPSsed4ZQ0BRYNf0RBMgtFSswA4zAJsJgF2kwCHOfxoEmA3\nC3CYALtZQKpZRJYtFBiPD4eNx8IfW00MiESkD7PRBRARnY0gCEi3CEi3AICpVa+laqGAGVAQftTg\nCwfPQDh4SqoGSQWCqgZZDR0LKhrk8DEpPHwqCAIEhG4LCwJOfV8ABAinHMNpPkcUQuHQbkYoIDaG\nxFMfuZCFiOIVgyURtSmiICDFLCCFP/2IiHTHGdVEREREpAsGSyIiIiLSBYMlEREREemCwZKIiIiI\ndMFgSURERES6YLAkIiIiIl0wWBIRERGRLhgsiYiIiEgXDJZEREREpAsGSyIiIiLSBYMlEREREemC\nwZKIiIiIdMFgSURERES6YLAkIiIiIl0wWBIRERGRLhgsiYiIiEgXDJZEREREpAsGSyIiIiLSBYMl\nEREREemCwZKIiIiIdMFgSURERES6YLAkIiIiIl0wWBIRERGRLhgsiYiIiEgXDJZEREREpAsGSyIi\nIiLSBYMlEREREemCwZKIiIiIdMFgSURERES6+H9RYYuVea+p0AAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1161b1358>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "df['passenger_count'].value_counts().plot(kind = \"pie\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Now, in the cell below, draw a histogram of trip distances. Use 50 bins.\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| "" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style>\n", | |
| " .dataframe thead tr:only-child th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.8</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.3</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.8\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.3" | |
| ] | |
| }, | |
| "execution_count": 27, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head(2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df4.plot.hist(stacked=True, bins=20)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 36, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x118f105c0>" | |
| ] | |
| }, | |
| "execution_count": 36, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\no3j22Wcb820lSZKkmGv0Z6vt2bOH2traxn5bSZIkKaai3krxySeffOXxPXv2sH79ev7lX/7FJ1JI\nkiTptBN1MO7Vq9fXPpUiFApx+eWXU1BQcMqNSZIkSU0p6mC8cOHCo44lJCTQrl07LrzwQr8OWpIk\nSaelqIPxmDFjYtGHJEmSFFeN/uE7SZIk6XQU9R3jG264IeqTJCQksGzZsqhfJ0mSJDWVqIPxvn37\n+PTTT/noo49o06YNnTp1AmDHjh3U1dXRpUsXOnTo0OiNSpIkSbEUdTCeOXMmo0ePpqCggFtvvZUW\nLVoAcPDgQV544QVmzpzJ4sWL6du3b6M3K0mSJMVK1HuMH3roIW699VZuv/32cCgGaNGiBb/4xS+4\n9dZbeeihhxq1SUmSJCnWog7Gf/rTn+jSpcvXrnfu3JktW7ZE3ciCBQto164dubm54WOhUIj8/Hx6\n9OhBhw4dGDFiBFu3bo14XUNDA7m5uXTt2pWOHTsyevRoKisrI2pqa2vJyckhNTWV1NRUcnJyjvp2\nvh07dpCVlUXHjh3p2rUrkydP5sCBA1FfhyRJkk5PUQfj5ORkXnnlFYLB4FFrwWCQ//iP/yA5OTmq\n93z77bd5+umnycjIiDi+cOFCCgsLmTt3LqtXryYpKYkbbriBurq6cE1eXh4rVqxgyZIllJSUUFdX\nR1ZWVkR/Y8eOZfPmzRQXF1NcXMzmzZsZN25cRN9ZWVnU19dTUlLCkiVLWL58OdOmTYvqOiRJknT6\nijoY33vvvaxfv54f/ehHPPvss5SWllJaWsqzzz7Ltddey8aNG7n33ntP+P327NnDL3/5S37zm9/Q\nrl278PFQKMSiRYuYMGECI0eOpFevXixatIj6+nqKi4vDr33uueeYNWsWgwYNIjMzk8WLF/Pee++x\ndu1aAMrLy3nttdcoKCigb9++9O3bl8cee4xVq1ZRUVEBwOrVq9m6dSuLFy8mMzOTQYMGMXPmTJ59\n9ln+9re/RTsiSZIknYaiDsZ33HEHCxYs4MMPP+T+++/nuuuu47rrruP+++/nww8/ZP78+dxxxx0n\n/H5fBt+BAwdGHP/oo4+oqqpi8ODB4WNnn302AwYMYOPGjQBs2rSJgwcPRtSkpKSQnp4erikrK6N1\n69b069cvXNO/f39atWoVUZOenk5KSkq4ZsiQITQ0NLBp06YopiNJkqTTVdRPpQDIzs7m5z//OW+/\n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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x117f8df60>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "df['trip_distance'].plot.hist(bins=20)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Okay! This last one is extremely tricky, but I know you can do it. In the cell below, write a statement or series of statements that draws a scatter plot with trip distance as the X axis and the total amount on the Y axis, but only including the rows where the total amount is greater than zero.\n", | |
| "\n", | |
| "Expected output:\n", | |
| "\n", | |
| "" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 42, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style>\n", | |
| " .dataframe thead tr:only-child th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>lpep_pickup_datetime</th>\n", | |
| " <th>passenger_count</th>\n", | |
| " <th>trip_distance</th>\n", | |
| " <th>total_amount</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>2016-12-01 00:00:00</td>\n", | |
| " <td>1</td>\n", | |
| " <td>1.84</td>\n", | |
| " <td>9.80</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>2016-12-01 00:00:33</td>\n", | |
| " <td>1</td>\n", | |
| " <td>4.20</td>\n", | |
| " <td>16.30</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>2016-12-01 00:00:47</td>\n", | |
| " <td>1</td>\n", | |
| " <td>2.34</td>\n", | |
| " <td>14.16</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " lpep_pickup_datetime passenger_count trip_distance total_amount\n", | |
| "0 2016-12-01 00:00:00 1 1.84 9.80\n", | |
| "1 2016-12-01 00:00:33 1 4.20 16.30\n", | |
| "2 2016-12-01 00:00:47 1 2.34 14.16" | |
| ] | |
| }, | |
| "execution_count": 42, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.head(3)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 46, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "new = df[df['total_amount'] > 0]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 47, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(100000, 4)" | |
| ] | |
| }, | |
| "execution_count": 47, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.shape" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 48, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(99533, 4)" | |
| ] | |
| }, | |
| "execution_count": 48, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "new.shape" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 49, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x118877908>" | |
| ] | |
| }, | |
| "execution_count": 49, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\nxhucPXuWyZMn+zo0EREREakDDaKovf3228nKymLhwoVkZGTQvXt33nvvPTp00GMQERERkcagQRS1\nAFOnTmXq1Km+DkNEREREfKBBbL4gIiIiIo2biloRERER8XsqakVERETE7xksFou96mYiIiIiIvWX\nempFRERExO+pqBURERERv6eiVkRERET8nopaEREREfF7KmpFRERExO+pqPWilStX0qtXL2JiYhgy\nZAh79+71dUh+afHixQwbNoz27dvTpUsXxo8fz7/+9S+nNna7nZSUFLp160br1q0ZMWIER44c8VHE\n/m3x4sVERkYya9YsxzHlt/bOnj3L/fffT5cuXYiJiWHAgAHs3r3b8b5yXDtWq5Xnn3/e8f/cXr16\n8fzzz1NUVORooxy7Z8+ePUyYMIHu3bsTGRnJ22+/7fR+dfKZn5/PrFmz6Ny5M23btmXChAmkp6fX\n5W3Ua5XluLCwkLlz5zJw4EDatm1L165dmTp1KidPnnQ6h3J8lYpaL9mwYQOzZ8/mscceY9euXSQm\nJnLHHXeU+WWUqu3evZspU6bw6aef8tFHHxEYGMhtt93GhQsXHG2WLFlCamoqCxYsYNu2bZhMJsaM\nGUNOTo4PI/c/f/3rX3nzzTdJSEhwOq781o7FYuGmm27Cbrfz3nvvsW/fPl588UVMJpOjjXJcOy+/\n/DIrV65kwYIF7N+/n/nz57Ny5UoWL17saKMcu+fSpUv06NGD+fPnExYWVub96uQzOTmZTZs2sWrV\nKrZu3UpOTg7jx4/HarXW5a3UW5Xl+PLlyxw8eJCZM2eyc+dO/vznP5Oens64ceOcvqwpx1dpnVov\nufHGG0lISOCPf/yj41i/fv0YPXo0c+fO9WFk/i83N5cOHTrw9ttv88tf/hK73U63bt2YNm0aM2fO\nBODKlSvEx8fz3HPPMXnyZB9H7B8uXrzIkCFD+OMf/8iCBQvo0aMHCxcuVH49YN68eezZs4dPP/20\n3PeV49obP348LVq0YNmyZY5j999/PxcuXODdd99VjmupXbt2vPjii9x9991A9X5nL168SFxcHKmp\nqfzqV78C4NSpU/Ts2ZN169Zx4403+ux+6iPXHJfnu+++47rrrmPPnj0kJCQoxy7UU+sFBQUFHDhw\ngOHDhzsdHz58OPv27fNRVA1Hbm4uNpuNyMhIAE6cOEFGRoZTvsPCwhg4cKDy7YYZM2YwevRoBg8e\n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\nwdmzZ2ndujXLly/n//7v/+jXrx/33HMPANHR0QAcP36cjRs3MmbMGDp16sTFixdZs2YNt912G9u2\nbfGumlIAAAZcSURBVOOnP/2p0/U2bNjApUuXmDx5MgaDgSVLljBx4kQOHDhAUFAQAEeOHOGmm24i\nICCAe+65h06dOvHjjz+yYcMG5s+fD4DZbObnP/85NpuNKVOmYDKZ2LlzJ4899hhZWVnMmjWr2rkT\nkcZNRa2INEo//elP6d27N+vWrWPEiBF07NjR6f3//Oc//PnPf+aWW26p1vl++OEH9u/f7zjPbbfd\nxnXXXcf8+fN5/fXXq3WOQ4cO8d577zFlyhReeuklAKZNm8Z9993H4cOHK/3sd999x/Hjx1m9ejWj\nR492HC9dFI4fP55HH32UTp06MX78eKfP9+jRgwMHDhAQcPUB3j333MO1117L8uXLeeWVV5zap6en\n8+233xIZGQlAXFwcd911F1988QU333wzADNnzsRqtbJr1y46derk+GxJDznA888/T0FBAXv37qVV\nq1YA3Hvvvfzf//0fixcvZtq0aY5riIhURsMPRETK0a5du2oXtAA333yzU2EcFxfHjTfeyKefflrt\nc3z++edAcSFb2v3331/lZyMiIgD44osvuHTpUrWvWSIkJMRR0Obl5ZGVlYXVaqVfv34cOHCgTPtR\no0Y5FZsDBw4Eint8Ac6dO8eePXu46667nApaAIPBAIDdbmfjxo0kJSVhMBg4f/6848/w4cO5cuUK\n33zzjdv3IiKNk3pqRUTK4dpzW5UuXbqUe+zTTz/FYrFUq7fx5MmTGAyGMsMVyju3q06dOvHggw+S\nmprKe++9x4ABA7j55psZP348LVu2rPLzNpuNJUuW8Oabb5ZZ+7a8XLgOxyi5v5Ll0UqK2+7du1d4\nzXPnzmGxWFi7di1r164tt43ZbK4ydhERUFErIlKusLAwX4fgtt///vf8+te/5uOPP2bbtm3MmTOH\nRYsWsWXLFrp161bpZxcvXszzzz/PnXfeyZw5c2jZsiVGo5HFixfzn//8p0z7ilZesNvt1Y7XZrMB\nMG7cOH7961+X26aquEVESqioFRHxgB9++KHcY82bN6/2mND27dtjt9s5duyYUzFX3rkr0r17d7p3\n786jjz7KP//5T4YOHcprr73GH//4R+Dqo39XH374ITfccANLly51Ol56FzN3/OQnPwGKJ4tVpFWr\nVkRERFBUVMTQoUNrdB0RkRIaUysijVZ4eDiAR3YU++STT5we23///fd88cUXJCUlVfscP//5zwFY\nsWKF0/Hly5dX+dns7GyKioqcjnXt2pWwsDCnzSWaNGlS7v0ajcYyvaz79u1j//791Y6/tKioKAYN\nGsSf//xnx1CEEiXXMRqNjBo1ii1btnDo0KEy5zh37lyNri0ijZN6akWk0erbty8A8+bNY9y4cQQH\nBzN48OAanatLly7ccsstTJ06FZvNxooVKwgNDeXxxx+v9jl69erFuHHjWLVqFdnZ2QwYMIAvv/yS\n77//vsrP7tq1i1mzZjFq1Cji4+Ox2+1s2LCBnJwcbr/9dke7vn37snPnTl555RXatm1Lq1atGDJk\nCL/85S+ZP38+9913HwMHDuSHH37gzTffpFu3buTm5tYoJy+++CK//OUvGTp0KJMnT6ZTp06cPHmS\nDRs2ONa0feaZZ9i9ezdJSUlMmjSJ7t27Y7FYOHToEJs3byYjI6NG1xaRxkdFrYg0Wn379mXu3Lms\nWrWKBx98EJvNxqZNm2p0rjvuuIMmTZqQmppKRkYGvXr1IiUlhbi4OLfO8+qrrxIVFcX777/P1q1b\n+Z//+R/ee+89EhISKv3cT3/6U37+85/z+eef89ZbbxESEkL37t15++23nTaLeOGFF5gxYwbz58/n\n0qVLDBo0iCFDhvDoo49y5coV3n//fTZu3Ej37t154403WL9+Pbt3765RThISEvj888/5/e9/z5/+\n9Cfy8vJo166dY8kvAJPJxBdffMGLL77Ili1beOONN2jRogX/v707tmEQBqIAeunoaJmA1vMwBhPQ\nMBxrIDEApRuk1FEkghKRyOG9+iRf+Ytvu23bGMfxrXOBa7qt63q81Q/Ag3meI6UUwzBE3/e/Xgfg\nsnRqAQAonvoBwMm2bXt56amqqqjr+ksbAfwfoRbgZMuyREppd6bruqfntAA4TqcW4GQ555imaXem\naRofDQB8QKgFAKB4LooBAFA8oRYAgOIJtQAAFE+oBQCgeEItAADFuwPCLBW1/hABRQAAAABJRU5E\nrkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x118d90278>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "new.plot.scatter(x='trip_distance', y='total_amount')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Excellent! You're done." | |
| ] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.6.1" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment