Subversion Repositories Boeken.quickpython

Rev

Blame | Last modification | View Log | Download

{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting pandas\n",
      "  Using cached pandas-0.20.3-cp36-cp36m-manylinux1_x86_64.whl\n",
      "Collecting matplotlib\n",
      "  Using cached matplotlib-2.0.2-cp36-cp36m-manylinux1_x86_64.whl\n",
      "Collecting numpy\n",
      "  Using cached numpy-1.13.1-cp36-cp36m-manylinux1_x86_64.whl\n",
      "Collecting pytz>=2011k (from pandas)\n",
      "  Using cached pytz-2017.2-py2.py3-none-any.whl\n",
      "Requirement already satisfied: python-dateutil>=2 in ./lib/python3.6/site-packages (from pandas)\n",
      "Collecting pyparsing!=2.0.0,!=2.0.4,!=2.1.2,!=2.1.6,>=1.5.6 (from matplotlib)\n",
      "  Using cached pyparsing-2.2.0-py2.py3-none-any.whl\n",
      "Requirement already satisfied: six>=1.10 in ./lib/python3.6/site-packages (from matplotlib)\n",
      "Collecting cycler>=0.10 (from matplotlib)\n",
      "  Using cached cycler-0.10.0-py2.py3-none-any.whl\n",
      "Installing collected packages: pytz, numpy, pandas, pyparsing, cycler, matplotlib\n",
      "Successfully installed cycler-0.10.0 matplotlib-2.0.2 numpy-1.13.1 pandas-0.20.3 pyparsing-2.2.0 pytz-2017.2\n"
     ]
    }
   ],
   "source": [
    "!pip install pandas matplotlib numpy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[1, 2, 3], [4, 5, 6], [7, 8, 9]]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[[1, 2, 3], [4, 5, 6], [7, 8, 9]]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid = [[1,2,3], [4,5,6], [7,8,9]]\n",
    "print(grid)\n",
    "\n",
    "[[1, 2, 3], [4, 5, 6], [7, 8, 9]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   0  1  2\n",
      "0  1  2  3\n",
      "1  4  5  6\n",
      "2  7  8  9\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df = pd.DataFrame(grid)\n",
    "print(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   one  two  three\n",
      "0    1    2      3\n",
      "1    4    5      6\n",
      "2    7    8      9\n"
     ]
    }
   ],
   "source": [
    "df = pd.DataFrame(grid, columns=[\"one\", \"two\", \"three\"] )\n",
    "print(df)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0    2\n",
      "1    5\n",
      "2    8\n",
      "Name: two, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print(df[\"two\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[2, 5, 8]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[2, 5, 8]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print([x[1] for x in grid])\n",
    "[2, 5, 8]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n",
      "5\n",
      "8\n"
     ]
    }
   ],
   "source": [
    "for x in df[\"two\"]:\n",
    "    print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   one  three\n",
      "0    1      3\n",
      "1    4      6\n",
      "2    7      9\n"
     ]
    }
   ],
   "source": [
    "edges = df[[\"one\", \"three\"]]\n",
    "print(edges)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   one  three\n",
      "0    3      5\n",
      "1    6      8\n",
      "2    9     11\n"
     ]
    }
   ],
   "source": [
    "print(edges.add(2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2    1\n",
       "5    1\n",
       "8    1\n",
       "Name: two, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['two'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                                   report\n",
      "abs_humidity                         None\n",
      "atmo_opacity                        Sunny\n",
      "ls                                    296\n",
      "max_temp                               -1\n",
      "max_temp_fahrenheit                  30.2\n",
      "min_temp                              -72\n",
      "min_temp_fahrenheit                 -97.6\n",
      "pressure                              869\n",
      "pressure_string                    Higher\n",
      "season                           Month 10\n",
      "sol                                  1576\n",
      "sunrise              2017-01-11T12:31:00Z\n",
      "sunset               2017-01-12T00:46:00Z\n",
      "terrestrial_date               2017-01-11\n",
      "wind_direction                         --\n",
      "wind_speed                           None\n"
     ]
    }
   ],
   "source": [
    "mars = pd.read_json(\"mars_data_01.json\")\n",
    "print(mars)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "temp = pd.read_csv(\"temp_data_01.csv\", header=0, names=range(18), usecols=range(4,18))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "           4      5    6     7     8      9    10    11    12       13   14  \\\n",
      "0  1979/01/01  17.48  994   6.0  30.5   2.89  994 -13.6  15.8  Missing    0   \n",
      "1  1979/01/02   4.64  994  -6.4  15.8  -9.03  994 -23.6   6.6  Missing    0   \n",
      "2  1979/01/03  11.05  994  -0.7  24.7  -2.17  994 -18.3  12.9  Missing    0   \n",
      "3  1979/01/04   9.51  994   0.2  27.6  -0.43  994 -16.3  16.3  Missing    0   \n",
      "4  1979/05/15  68.42  994  61.0  75.1  51.30  994  43.3  57.0  Missing    0   \n",
      "5  1979/05/16  70.29  994  63.4  73.5  48.09  994  41.1  53.0  Missing    0   \n",
      "6  1979/05/17  75.34  994  64.0  80.5  50.84  994  44.3  55.7    82.60    2   \n",
      "7  1979/05/18  79.13  994  75.5  82.1  55.68  994  50.0  61.1    81.42  349   \n",
      "8  1979/05/19  74.94  994  66.9  83.1  58.59  994  50.9  63.2    82.87   78   \n",
      "\n",
      "        15       16      17  \n",
      "0  Missing  Missing   0.00%  \n",
      "1  Missing  Missing   0.00%  \n",
      "2  Missing  Missing   0.00%  \n",
      "3  Missing  Missing   0.00%  \n",
      "4  Missing  Missing   0.00%  \n",
      "5  Missing  Missing   0.00%  \n",
      "6    82.40    82.80   0.20%  \n",
      "7    80.20    83.40  35.11%  \n",
      "8    81.60    85.20   7.85%  \n"
     ]
    }
   ],
   "source": [
    "print(temp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "           4      5    6     7     8      9    10    11    12     13   14  \\\n",
      "0  1979/01/01  17.48  994   6.0  30.5   2.89  994 -13.6  15.8    NaN    0   \n",
      "1  1979/01/02   4.64  994  -6.4  15.8  -9.03  994 -23.6   6.6    NaN    0   \n",
      "2  1979/01/03  11.05  994  -0.7  24.7  -2.17  994 -18.3  12.9    NaN    0   \n",
      "3  1979/01/04   9.51  994   0.2  27.6  -0.43  994 -16.3  16.3    NaN    0   \n",
      "4  1979/05/15  68.42  994  61.0  75.1  51.30  994  43.3  57.0    NaN    0   \n",
      "5  1979/05/16  70.29  994  63.4  73.5  48.09  994  41.1  53.0    NaN    0   \n",
      "6  1979/05/17  75.34  994  64.0  80.5  50.84  994  44.3  55.7  82.60    2   \n",
      "7  1979/05/18  79.13  994  75.5  82.1  55.68  994  50.0  61.1  81.42  349   \n",
      "8  1979/05/19  74.94  994  66.9  83.1  58.59  994  50.9  63.2  82.87   78   \n",
      "\n",
      "     15    16      17  \n",
      "0   NaN   NaN   0.00%  \n",
      "1   NaN   NaN   0.00%  \n",
      "2   NaN   NaN   0.00%  \n",
      "3   NaN   NaN   0.00%  \n",
      "4   NaN   NaN   0.00%  \n",
      "5   NaN   NaN   0.00%  \n",
      "6  82.4  82.8   0.20%  \n",
      "7  80.2  83.4  35.11%  \n",
      "8  81.6  85.2   7.85%  \n"
     ]
    }
   ],
   "source": [
    "temp = pd.read_csv(\"temp_data_01.csv\", na_values=['Missing'], header=0, names=range(18), usecols=range(4,18))\n",
    "print(temp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.00%'"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp[17][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.00'"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp[17]=temp[17].str.strip(\"%\")\n",
    "temp[17][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.00'"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp[17][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp[17] = pd.to_numeric(temp[17])\n",
    "temp[17][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0.0000\n",
       "1    0.0000\n",
       "2    0.0000\n",
       "3    0.0000\n",
       "4    0.0000\n",
       "5    0.0000\n",
       "6    0.0020\n",
       "7    0.3511\n",
       "8    0.0785\n",
       "Name: 17, dtype: float64"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "temp[17] = temp[17].div(100)\n",
    "temp[17]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   Team member  Territory  Month  Calls\n",
      "0        Jorge          3      1    107\n",
      "1        Jorge          3      2     88\n",
      "2        Jorge          3      3     84\n",
      "3        Jorge          3      4    113\n",
      "4          Ana          1      1     91\n",
      "5          Ana          1      2    129\n",
      "6          Ana          1      3     96\n",
      "7          Ana          1      4    128\n",
      "8          Ali          2      1    120\n",
      "9          Ali          2      2     85\n",
      "10         Ali          2      3     87\n",
      "11         Ali          2      4     87\n"
     ]
    }
   ],
   "source": [
    "calls = pd.read_csv(\"sales_calls.csv\")\n",
    "print(calls)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "    Territory  Month  Amount\n",
      "0           1      1   54228\n",
      "1           1      2   61640\n",
      "2           1      3   43491\n",
      "3           1      4   52173\n",
      "4           2      1   36061\n",
      "5           2      2   44957\n",
      "6           2      3   35058\n",
      "7           2      4   33855\n",
      "8           3      1   50876\n",
      "9           3      2   57682\n",
      "10          3      3   53689\n",
      "11          3      4   49173\n"
     ]
    }
   ],
   "source": [
    "revenue = pd.read_csv(\"sales_revenue.csv\")\n",
    "print(revenue)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   Team member  Territory  Month  Calls  Amount\n",
      "0        Jorge          3      1    107   50876\n",
      "1        Jorge          3      2     88   57682\n",
      "2        Jorge          3      3     84   53689\n",
      "3        Jorge          3      4    113   49173\n",
      "4          Ana          1      1     91   54228\n",
      "5          Ana          1      2    129   61640\n",
      "6          Ana          1      3     96   43491\n",
      "7          Ana          1      4    128   52173\n",
      "8          Ali          2      1    120   36061\n",
      "9          Ali          2      2     85   44957\n",
      "10         Ali          2      3     87   35058\n",
      "11         Ali          2      4     87   33855\n"
     ]
    }
   ],
   "source": [
    "calls_revenue = pd.merge(calls, revenue, on=['Territory', 'Month'])\n",
    "print(calls_revenue)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  Team member  Territory  Month  Calls  Amount\n",
      "0       Jorge          3      1    107   50876\n",
      "1       Jorge          3      2     88   57682\n",
      "2       Jorge          3      3     84   53689\n",
      "3       Jorge          3      4    113   49173\n"
     ]
    }
   ],
   "source": [
    "print(calls_revenue[calls_revenue.Territory==3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  Team member  Territory  Month  Calls  Amount\n",
      "1       Jorge          3      2     88   57682\n",
      "2       Jorge          3      3     84   53689\n",
      "4         Ana          1      1     91   54228\n",
      "9         Ali          2      2     85   44957\n"
     ]
    }
   ],
   "source": [
    "print(calls_revenue[calls_revenue.Amount/calls_revenue.Calls>500])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   Team member  Territory  Month  Calls  Amount  Call_Amount\n",
      "0        Jorge          3      1    107   50876   475.476636\n",
      "1        Jorge          3      2     88   57682   655.477273\n",
      "2        Jorge          3      3     84   53689   639.154762\n",
      "3        Jorge          3      4    113   49173   435.159292\n",
      "4          Ana          1      1     91   54228   595.912088\n",
      "5          Ana          1      2    129   61640   477.829457\n",
      "6          Ana          1      3     96   43491   453.031250\n",
      "7          Ana          1      4    128   52173   407.601562\n",
      "8          Ali          2      1    120   36061   300.508333\n",
      "9          Ali          2      2     85   44957   528.905882\n",
      "10         Ali          2      3     87   35058   402.965517\n",
      "11         Ali          2      4     87   33855   389.137931\n"
     ]
    }
   ],
   "source": [
    "calls_revenue['Call_Amount'] = calls_revenue.Amount/calls_revenue.Calls\n",
    "print(calls_revenue)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1215\n",
      "101.25\n",
      "93.5\n",
      "129\n",
      "84\n"
     ]
    }
   ],
   "source": [
    "print(calls_revenue.Calls.sum())\n",
    "print(calls_revenue.Calls.mean())\n",
    "print(calls_revenue.Calls.median())\n",
    "print(calls_revenue.Calls.max())\n",
    "print(calls_revenue.Calls.min())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  Team member  Territory  Month  Calls  Amount  Call_Amount\n",
      "0       Jorge          3      1    107   50876   475.476636\n",
      "1       Jorge          3      2     88   57682   655.477273\n",
      "2       Jorge          3      3     84   53689   639.154762\n",
      "4         Ana          1      1     91   54228   595.912088\n",
      "5         Ana          1      2    129   61640   477.829457\n",
      "9         Ali          2      2     85   44957   528.905882\n",
      "464.2539427570093\n"
     ]
    }
   ],
   "source": [
    "print(calls_revenue[calls_revenue.Call_Amount >= calls_revenue.Call_Amount.median()])\n",
    "print(calls_revenue.Call_Amount.median())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "       Calls  Amount\n",
      "Month               \n",
      "1        318  141165\n",
      "2        302  164279\n",
      "3        267  132238\n",
      "4        328  135201\n"
     ]
    }
   ],
   "source": [
    "print(calls_revenue[['Month', 'Calls', 'Amount']].groupby(['Month']).sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "           Calls  Amount\n",
      "Territory               \n",
      "1            444  211532\n",
      "2            379  149931\n",
      "3            392  211420\n"
     ]
    }
   ],
   "source": [
    "print(calls_revenue[['Territory', 'Calls', 'Amount']].groupby(['Territory']).sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7ff3576c9390>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nZXl1WadsX5OZ2cxJS5IaN3XoXfgQsCIijqD/H4ZHMvPbEfEj4KGIuB14Driv7H8f8EBEbAZ+Blw9\nBvOWJDVoyNBn5gZg7kHGX6b/fP2B43uBzzdldpKkUfOVsZJUOUMvSZUz9JJUOUMvSZUz9JJUOUMv\nSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz\n9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJU\nOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUz9JJUOUMvSZUbMvQRcXJErI2IH0XEixFxcxn/YEQ8HhEv\nle8fKOMREV+JiM0RsSEizh3rH0KSdGiNPKLfD/xxZp4JzAduiogzgVuAJzNzFvBkWQe4GJhVvhYD\nX236rCVJDRsy9Jn508z8YVn+BbAJmAksBFaU3VYAl5flhcA3st/3gWkR8aGmz1yS1JBhnaOPiC5g\nLvAMMCMzf1o2bQdmlOWZwNZBN+stYwcea3FE9ERET19f3zCnLUlqVMOhj4hjgG8BSzPz54O3ZWYC\nOZw7zszlmdmdmd0dHR3DuakkaRgaCn1EtNEf+Qcz85/L8I6BUzLl+84yvg04edDNO8uYJKkFGrnq\nJoD7gE2Z+deDNq0GFpXlRcCqQePXlatv5gOvDzrFI0kaZ1Mb2OcC4PeAFyJifRlbBtwJPBIRNwBb\ngKvKtseAS4DNwBvA9U2dsSRpWIYMfWb+JxCH2LzgIPsncNMo5yVJahJfGStJlTP0klQ5Qy9JlTP0\nklQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5\nQy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9J\nlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlTP0klQ5Qy9JlRsy9BFxf0TsjIiNg8Y+GBGPR8RL\n5fsHynhExFciYnNEbIiIc8dy8pKkoTXyiP7rwEUHjN0CPJmZs4AnyzrAxcCs8rUY+GpzpilJGqkh\nQ5+ZTwM/O2B4IbCiLK8ALh80/o3s931gWkR8qFmTlSQN30jP0c/IzJ+W5e3AjLI8E9g6aL/eMiZJ\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7ff3578ceda0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "calls_revenue[['Territory', 'Calls']].groupby(['Territory']).sum().plot.bar()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fdee6e07cf8>"
      ]
     },
     "execution_count": 152,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nvH4354wAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdee75d2780>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "calls_revenue[['Month', 'Call_Amount']].groupby(['Month']).mean().plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.3"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": "block",
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}