From 9946631d32c24ebc4a8c9753e52e09a6f0e859ca Mon Sep 17 00:00:00 2001 From: radumas Date: Tue, 4 Sep 2018 21:01:57 -0400 Subject: [PATCH] #13, fixed barplot display for trip length distros --- doc/filtering_observed_arrivals.ipynb | 362 +++----------------------- 1 file changed, 30 insertions(+), 332 deletions(-) diff --git a/doc/filtering_observed_arrivals.ipynb b/doc/filtering_observed_arrivals.ipynb index 10235e6..cadb9d6 100644 --- a/doc/filtering_observed_arrivals.ipynb +++ b/doc/filtering_observed_arrivals.ipynb @@ -12,9 +12,18 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/rad/.local/share/virtualenvs/ttc_subway_times-ZmuzQ-JX/lib/python3.5/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 wheel package will be renamed from release 2.8; in order to keep installing from binary please use \"pip install psycopg2-binary\" instead. For details see: .\n", + " \"\"\")\n" + ] + } + ], "source": [ "import datetime\n", "from psycopg2 import connect\n", @@ -7371,7 +7380,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -7391,361 +7400,50 @@ " WHERE monday AND route_type = 1 AND route_short_name != '3'\n", " GROUP BY route_short_name, trip_id\n", ")\n", - ",gtfs_trip_length_distro AS (SELECT lineid, stops, COUNT(trip_id)\n", + ",gtfs_trip_length_distro AS (SELECT lineid, stops, COUNT(trip_id) as num_trips\n", "FROM gtfs_trip_lengths\n", "GROUP BY lineid, stops)\n", "\n", - "SELECT lineid, stops, COUNT(gtfs_trip_lengths.trip_id) as scheduled, COUNT(inferred_trips.trip_id) as observed \n", + "SELECT lineid, stops, COALESCE(num_trips,0) as scheduled, COUNT(inferred_trips.trip_id) as observed \n", "FROM inferred_trips\n", - "LEFT OUTER JOIN gtfs_trip_lengths USING (lineid, stops)\n", - "GROUP BY lineid, stops\n", + "FULL OUTER JOIN gtfs_trip_length_distro USING (lineid, stops)\n", + "GROUP BY lineid, stops, num_trips\n", + "ORDER BY lineid, stops\n", "'''\n", "trip_lengths = pandasql.read_sql(sql, con)" ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 22, "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", - "
lineidstopsscheduledobserved
01111010
211755
51311048010480
611809
711206
811007
11129330330
12120133
1416018
15187070
19130480480
20128011
2412099
251269191
28125028
311273232
34130577
4111407
4211906
44132219924219924
4512407
461907
4917025
5111633
541411
5511505
571231414
61110785
6212209
6311308
6615011
67121013
\n", - "
" - ], + "image/png": "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nZsXvehFufPOO5MkX/7yl/PkJz85c+fOzec///kH15846rnjjjvm2muv/Y2+/cM//EN222237LTTTnnnO9/5YPt73vOebLvtttlnn33y/e9/f9SnJMkURlCraoskf5Jkh9baPVV1ZpIXJ3lekhNba5+pqo8kOTrJSd3zz1trT6qqFyd5b5LDx9J7AACA1dCXv/zlPOEJT8h//Md/JEluv/327LrrrjnjjDOy22675Re/+EXWXXfdJMnll1+eb3/721l77bWz3Xbb5fWvf33WXXfdvPvd7855552X9ddfP+9973tzwgkn5K1vfWte9apX5atf/Wqe9KQn5fDDly+KnXvuubnmmmty8cUXp7WWgw46KF//+tez/vrr5zOf+Uwuv/zy3H///Zk7d26e+tSnjvy8TPUS31lJ1q2q+5Ksl+TmJPsleWm3/LQkx2UQUA/uppPks0k+VFXVmjFuAACAJPnd3/3dvPnNb87b3va2HHjggdloo42y+eabZ7fddkuSPOYxj3lw3f333z8bbrhhkmSHHXbIddddl9tuuy3f+973svfeeydJ/vd//zd77bVXrr766my99dbZZpttkiRHHHFETj755Cn369xzz825556bXXfdNUly55135pprrskdd9yRQw45JOutt16S5KCDDlrxk7AUkwbU1tqNVfWPSa5Pck+Sc5NcmuS21tr93WqLkmzRTW+R5IZu2/ur6vYkmyb5n+H9VtUxSY5Jkic+8YkrfiQAAACriW233TaXXXZZzjnnnLz97W/Pfvvtt8x111577QenH/nIR+b+++9Pay3Petaz8ulPf/oh615++eXL3M+sWbPywAMPPDi/tH8H01rLn//5n+fVr371Q9rf9773TXpMozDpZ1CrauMMRkW3TvKEJOsnOWBFC7fWTm6tzWutzZs9e/aK7g4AAGC1cdNNN2W99dbLEUcckbe85S256KKLcvPNN+eSSy5Jktxxxx25//77l7n9nnvumW9+85tZuHBhksFnWn/wgx/kyU9+cq699tr88Ic/TJKHBNitttoql112WZLksssuy49//OPf2O9znvOcnHrqqQ9+nvXGG2/MLbfckqc97Wn54he/mHvuuSd33HFHvvSlL43mREwwlUt8n5nkx621xUlSVZ9PsneSjapqVjeKOifJjd36NybZMsmiqpqVZMMkt4685wAAAKupK6+8Mm95y1vyiEc8ImuttVZOOumktNby+te/Pvfcc0/WXXfdnHfeecvcfvbs2fnEJz6Rl7zkJfnlL3+ZJHn3u9+dbbfdNieffHKe//znZ7311su+++774M2WXvjCF+b000/PU57ylOyxxx7Zdtttf2O/z372s7NgwYLstddeSQb/fuaTn/xk5s6dm8MPPzw777xzHve4xz14KfKo1WQfDa2qPZKcmmS3DC7x/USS+UmeluRzQzdJuqK19uGqem2S322t/XF3k6Q/aK0d9nA15s2b1+bPn7/iRwMAADAFCxYsyPbbb7+quzEjLe3cVtWlrbV5k2076SW+rbWLMrjZ0WVJruy2OTnJ25K8qaoWZvAZ01O6TU5JsmnX/qYkx079UAAAAFhTTekuvq21dyZ554TmHyXZfSnr3pvkRSveNQAAANYkk46gAgAAwMogoAIAANALAioAAAC9MKXPoK5KVdPbbpKbEwMAANAzRlABAAB64Nprr82OO+64qrvxG57xjGdkZf1b0N6PoAIAAIzbdK/cXJa+XNF5//33Z9as1Sf2GUEFAABYBU444YTsuOOO2XHHHfO+970vySBQvuxlL8v222+fQw89NHfffXeS5Nhjj80OO+yQnXbaKX/2Z3+WJFm8eHFe+MIXZrfddstuu+2Wb37zm0mS4447Li9/+cuz99575+Uvf3n23HPPXHXVVQ/WXTIietddd+UP//APs/vuu2fXXXfNWWedlSS555578uIXvzjbb799DjnkkNxzzz0r7ZysPlEaAABghrj00kvz8Y9/PBdddFFaa9ljjz3y9Kc/Pd///vdzyimnZO+9984f/uEf5sMf/nBe+cpX5gtf+EKuvvrqVFVuu+22JMkb3vCGvPGNb8w+++yT66+/Ps95znOyYMGCJMn3vve9XHDBBVl33XVz4okn5swzz8y73vWu3Hzzzbn55pszb968/MVf/EX222+/nHrqqbntttuy++6755nPfGY++tGPZr311suCBQtyxRVXZO7cuSvtvBhBBQAAWMkuuOCCHHLIIVl//fWzwQYb5A/+4A/yjW98I1tuuWX23nvvJMkRRxyRCy64IBtuuGHWWWedHH300fn85z+f9dZbL0ly3nnn5XWve1122WWXHHTQQfnFL36RO++8M0ly0EEHZd11102SHHbYYfnsZz+bJDnzzDNz6KGHJknOPffcHH/88dlll13yjGc8I/fee2+uv/76fP3rX88RRxyRJNlpp52y0047rbTzYgQVAACgJ2rCh2GrKrNmzcrFF1+c888/P5/97GfzoQ99KF/96lfzwAMP5MILL8w666zzG/tZf/31H5zeYostsummm+aKK67IGWeckY985CNJktZaPve5z2W77bYb70EtByOoAAAAK9m+++6bL37xi7n77rtz11135Qtf+EL23XffXH/99fnWt76VJPnUpz6VffbZJ3feeWduv/32PO95z8uJJ56Y73znO0mSZz/72fngBz/44D4vv/zyZdY7/PDD8/d///e5/fbbHxwRfc5znpMPfvCDad0dnb797W8nSZ72tKflU5/6VJLku9/9bq644orRn4BlEFABAABWsrlz5+aoo47K7rvvnj322CN/9Ed/lI033jjbbbdd/umf/inbb799fv7zn+c1r3lN7rjjjhx44IHZaaedss8+++SEE05IknzgAx/I/Pnzs9NOO2WHHXZ4cGR0aQ499NB85jOfyWGHHfZg2zve8Y7cd9992WmnnfKUpzwl73jHO5Ikr3nNa3LnnXdm++23z1/91V/lqU996nhPxpBqPbj/8bx589qy/q/OdG/33IPDAgAAemrBggXZfvvtV3U3ZqSlnduqurS1Nm+ybY2gAgAA0AsCKgAAAL0goAIAANALAioAALBG6sP9eGaaFT2nAioAALDGWWeddXLrrbcKqSPUWsutt9661P/LOlWzRtgfAACA1cKcOXOyaNGiLF68eFV3ZUZZZ511MmfOnGlvL6ACAABrnLXWWitbb731qu4GE7jEFwAAgF4QUAEAAOgFARUAAIBeEFABAADoBQEVAACAXhBQAQAA6AUBFQAAgF4QUAEAAOgFARUAAIBeEFABAADoBQEVAACAXhBQAQAA6AUBFQAAgF4QUAEAAOgFARUAAIBeEFABAADoBQEVAACAXhBQAQAA6AUBFQAAgF4QUAEAAOgFARUAAIBeEFABAADoBQEVAACAXhBQAQAA6AUBFQAAgF4QUAEAAOgFARUAAIBeEFABAADoBQEVAACAXhBQAQAA6IVJA2pVbVdVlw89flFVf1pVm1TVV6rqmu554279qqoPVNXCqrqiquaO/zAAAABY3U0aUFtr32+t7dJa2yXJU5PcneQLSY5Ncn5rbZsk53fzSfLcJNt0j2OS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\n", "text/plain": [ - " lineid stops scheduled observed\n", - "0 1 11 10 10\n", - "2 1 17 5 5\n", - "5 1 31 10480 10480\n", - "6 1 18 0 9\n", - "7 1 12 0 6\n", - "8 1 10 0 7\n", - "11 1 29 330 330\n", - "12 1 2 0 133\n", - "14 1 6 0 18\n", - "15 1 8 70 70\n", - "19 1 30 480 480\n", - "20 1 28 0 11\n", - "24 1 20 9 9\n", - "25 1 26 91 91\n", - "28 1 25 0 28\n", - "31 1 27 32 32\n", - "34 1 3 0 577\n", - "41 1 14 0 7\n", - "42 1 19 0 6\n", - "44 1 32 219924 219924\n", - "45 1 24 0 7\n", - "46 1 9 0 7\n", - "49 1 7 0 25\n", - "51 1 16 3 3\n", - "54 1 4 1 1\n", - "55 1 15 0 5\n", - "57 1 23 14 14\n", - "61 1 1 0 785\n", - "62 1 22 0 9\n", - "63 1 13 0 8\n", - "66 1 5 0 11\n", - "67 1 21 0 13" + "
" ] }, - "execution_count": 36, "metadata": {}, - "output_type": "execute_result" + "output_type": "display_data" } ], "source": [ - "trip_lengths[trip_lengths['lineid'] == 1]\n" + "line_one = trip_lengths[trip_lengths['lineid'] == 1]\n", + "fig, ax = plt.subplots(figsize=(16,9))\n", + "line_one.plot(x='stops', y='scheduled', kind='bar', ax=ax,position=0, color='red')\n", + "line_one.plot(x='stops', y='observed', sharey=True, sharex=True, kind='bar', ax=ax, position=1, color='blue')\n", + "ax.set_title('Line 1 Distribution of Trip Lengths')\n", + "ax.yaxis.set_label('Number of trips')" ] }, { - "cell_type": "code", - "execution_count": 29, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name '_converter' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\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[0mline_one\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtrip_lengths\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mtrip_lengths\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'lineid'\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[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0max\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m16\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m9\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[0mline_one\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'stops'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'scheduled'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'bar'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mline_one\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'stops'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'observed'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msharey\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'bar'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/share/virtualenvs/ttc_subway_times-ZmuzQ-JX/lib/python3.5/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, x, y, kind, ax, subplots, sharex, sharey, layout, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, secondary_y, sort_columns, **kwds)\u001b[0m\n\u001b[1;32m 2675\u001b[0m \u001b[0mfontsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfontsize\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolormap\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcolormap\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtable\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtable\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2676\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0myerr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxerr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msecondary_y\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2677\u001b[0;31m sort_columns=sort_columns, **kwds)\n\u001b[0m\u001b[1;32m 2678\u001b[0m \u001b[0m__call__\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplot_frame\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__doc__\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2679\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/share/virtualenvs/ttc_subway_times-ZmuzQ-JX/lib/python3.5/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36mplot_frame\u001b[0;34m(data, x, y, kind, ax, subplots, sharex, sharey, layout, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, secondary_y, sort_columns, **kwds)\u001b[0m\n\u001b[1;32m 1900\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0myerr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mxerr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1901\u001b[0m \u001b[0msecondary_y\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msecondary_y\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msort_columns\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msort_columns\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1902\u001b[0;31m **kwds)\n\u001b[0m\u001b[1;32m 1903\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1904\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/share/virtualenvs/ttc_subway_times-ZmuzQ-JX/lib/python3.5/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m_plot\u001b[0;34m(data, x, y, subplots, ax, kind, **kwds)\u001b[0m\n\u001b[1;32m 1725\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1726\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mseries\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1727\u001b[0;31m \u001b[0mplot_obj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mklass\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msubplots\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkind\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkind\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1728\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1729\u001b[0m \u001b[0mplot_obj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgenerate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/share/virtualenvs/ttc_subway_times-ZmuzQ-JX/lib/python3.5/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, data, **kwargs)\u001b[0m\n\u001b[1;32m 1172\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1173\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlog\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'log'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1174\u001b[0;31m \u001b[0mMPLPlot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1175\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1176\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstacked\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.local/share/virtualenvs/ttc_subway_times-ZmuzQ-JX/lib/python3.5/site-packages/pandas/plotting/_core.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, data, kind, by, subplots, sharex, sharey, use_index, figsize, grid, legend, rot, ax, fig, title, xlim, ylim, xticks, yticks, sort_columns, fontsize, secondary_y, colormap, table, layout, **kwds)\u001b[0m\n\u001b[1;32m 98\u001b[0m table=False, layout=None, **kwds):\n\u001b[1;32m 99\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 100\u001b[0;31m \u001b[0m_converter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_WARN\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 101\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mby\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mby\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name '_converter' is not defined" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], "source": [ - "line_one = trip_lengths[trip_lengths['lineid'] == 1]\n", - "fig, ax = plt.subplots(figsize=(16,9))\n", - "line_one.plot(x='stops', y='scheduled', kind='bar', ax=ax)\n", - "line_one.plot(x='stops', y='observed', sharey=True, kind='bar', ax=ax)" + "So we are certainly getting 1, 2, and 3 stop trips that shouldn't exist and undercounting the more appropriate number of trips.\n", + "The one-stop trips are primarily at termini, not so certain what is going on with the 2, 3 stop trips..." ] }, {