Skip to content

Instantly share code, notes, and snippets.

@nikolay-shenkov
Last active August 19, 2016 20:31
Show Gist options
  • Save nikolay-shenkov/6ca1ee1225b25e42d97adde0fcc2b560 to your computer and use it in GitHub Desktop.
Save nikolay-shenkov/6ca1ee1225b25e42d97adde0fcc2b560 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# NYC Main St subway ridership exploration"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this notebook we explore subway ridership from one of the busy NYC subway stations (Main Street) through data visualizations. We show how we can progressively segment the subway ridership records (ENTRIESn_hourly) to obtain a detailed understanding of ridership patterns. \n",
"\n",
"Variables of interest are weekday, hour, rain (whether it rained or not on that day)."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"'0.7.0'"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sns.__version__"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Parse data"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"subway = pd.read_csv('nyc_subway_weather.csv', parse_dates=[1, 7])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>UNIT</th>\n",
" <th>DATEn</th>\n",
" <th>TIMEn</th>\n",
" <th>ENTRIESn</th>\n",
" <th>EXITSn</th>\n",
" <th>ENTRIESn_hourly</th>\n",
" <th>EXITSn_hourly</th>\n",
" <th>datetime</th>\n",
" <th>hour</th>\n",
" <th>day_week</th>\n",
" <th>...</th>\n",
" <th>pressurei</th>\n",
" <th>rain</th>\n",
" <th>tempi</th>\n",
" <th>wspdi</th>\n",
" <th>meanprecipi</th>\n",
" <th>meanpressurei</th>\n",
" <th>meantempi</th>\n",
" <th>meanwspdi</th>\n",
" <th>weather_lat</th>\n",
" <th>weather_lon</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>R003</td>\n",
" <td>2011-05-01</td>\n",
" <td>00:00:00</td>\n",
" <td>4388333</td>\n",
" <td>2911002</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2011-05-01 00:00:00</td>\n",
" <td>0</td>\n",
" <td>6</td>\n",
" <td>...</td>\n",
" <td>30.22</td>\n",
" <td>0</td>\n",
" <td>55.9</td>\n",
" <td>3.5</td>\n",
" <td>0.0</td>\n",
" <td>30.258</td>\n",
" <td>55.98</td>\n",
" <td>7.86</td>\n",
" <td>40.700348</td>\n",
" <td>-73.887177</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>R003</td>\n",
" <td>2011-05-01</td>\n",
" <td>04:00:00</td>\n",
" <td>4388333</td>\n",
" <td>2911002</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>2011-05-01 04:00:00</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>...</td>\n",
" <td>30.25</td>\n",
" <td>0</td>\n",
" <td>52.0</td>\n",
" <td>3.5</td>\n",
" <td>0.0</td>\n",
" <td>30.258</td>\n",
" <td>55.98</td>\n",
" <td>7.86</td>\n",
" <td>40.700348</td>\n",
" <td>-73.887177</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2 rows × 27 columns</p>\n",
"</div>"
],
"text/plain": [
" UNIT DATEn TIMEn ENTRIESn EXITSn ENTRIESn_hourly \\\n",
"0 R003 2011-05-01 00:00:00 4388333 2911002 0.0 \n",
"1 R003 2011-05-01 04:00:00 4388333 2911002 0.0 \n",
"\n",
" EXITSn_hourly datetime hour day_week ... pressurei \\\n",
"0 0.0 2011-05-01 00:00:00 0 6 ... 30.22 \n",
"1 0.0 2011-05-01 04:00:00 4 6 ... 30.25 \n",
"\n",
" rain tempi wspdi meanprecipi meanpressurei meantempi meanwspdi \\\n",
"0 0 55.9 3.5 0.0 30.258 55.98 7.86 \n",
"1 0 52.0 3.5 0.0 30.258 55.98 7.86 \n",
"\n",
" weather_lat weather_lon \n",
"0 40.700348 -73.887177 \n",
"1 40.700348 -73.887177 \n",
"\n",
"[2 rows x 27 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"subway.head(2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The NYC subway data is quite complex, so for this tutorial let's pick one station to explore.\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(186, 27)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"main_st = subway[subway.station == 'MAIN ST']\n",
"main_st.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is a big station but it only has one turnstile unit (R055). If there were more units, we would need to do additional processing to sum the `ENTRIESn_hourly` across all turnstiles for each date and time. "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"R055 186\n",
"Name: UNIT, dtype: int64"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"main_st.UNIT.value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Mean by hour - line plot"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can take a look at how ridership changes at different times of the day. A simple way to do this is to find the average ridership for a given hour.\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"20 31\n",
"16 31\n",
"12 31\n",
"8 31\n",
"4 31\n",
"0 31\n",
"Name: hour, dtype: int64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# check number of records for each hour\n",
"main_st.hour.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"mean_by_hour = main_st.groupby('hour')['ENTRIESn_hourly'].mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This produces a series, with the hour as the index:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"hour\n",
"0 5617.645161\n",
"4 723.774194\n",
"8 8054.645161\n",
"12 15608.032258\n",
"16 9789.032258\n",
"20 10361.903226\n",
"Name: ENTRIESn_hourly, dtype: float64"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean_by_hour"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The simplest way to plot it is, well, to call the built-in Series plot function."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10b0d6d90>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n+P/AVpnLhsj8BgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1043d5e10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mean_by_hour.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This line plot is reasonably effective at showing the ridership by hour. Note that the x-axis labels are not aligned with the actual data points. We can fix it as follows:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1043a1ed0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mean_by_hour.plot(linewidth=3)\n",
"plt.xticks(main_st.hour.unique()) # set x-axis ticks at [0, 4, 8, 12, 16, 20]\n",
"plt.ylabel('Mean ridership', fontsize=14)\n",
"plt.xlabel('Hour', fontsize=14)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##Deeper insights with grouped bars"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To delve deeper into this relationship, we can use a bar plot - the `barplot` function from seaborn."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAABGCAYAAABv7kdbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAAYZJREFUeJzt2DEuRVEYRtH7PAyIUq+QiELCCBTqF61CK2qFEZAoRKLQ\nKxkQkWsCorv7Cmu1f/NVOydnMY7jAEBjbe4BAP+J6AKERBcgJLoAIdEFCIkuQGj9p+P7x+e4ubGs\ntgD8CSdPb8PN3tbiu9uP0d3cWA77q4dpVv0Cj1cHw9Ht6dwzJnN3fD28HBzOPWMyOw/3w8Xqce4Z\nkzi/2h9en8/mnjGZ7d3L4eTpbe4Zs/C9ABASXYCQ6AKERBcgJLoAIdEFCIkuQEh0AUKiCxASXYCQ\n6AKERBcgJLoAIdEFCIkuQEh0AUKiCxASXYCQ6AKERBcgJLoAIdEFCIkuQEh0AUKiCxASXYCQ6AKE\nRBcgJLoAIdEFCIkuQEh0AUKiCxASXYCQ6AKERBcgJLoAIdEFCIkuQEh0AUKiCxASXYCQ6AKERBcg\nJLoAIdEFCIkuQEh0AUKiCxASXYCQ6AKERBcgJLoAIdEFCC3GcZx7A8C/4aULEBJdgJDoAoREFyAk\nugAh0QUIfQHQuR6AY7gr5QAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a6e5950>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# take a look at the default seaborn palette\n",
"# we will use these colors for our visualizations\n",
"default_pal = sns.color_palette()\n",
"sns.palplot(default_pal)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAERCAYAAACD9ivUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X98XXWd5/FXkjb9YW5CQtOyKEOh1g8z4z4quNMCltIq\nFKg6iMqP7QLVrmXodBhYV1RwCgpWQH0gVN0i0Eqh67rCiDtMaWkcEBJwtKBrreLHYg3OrguEJm0S\n07T5cfePc0JvLknuOem9Ofcm7+fj0Ufu+Z7vPefzfdzmfnK+33O+37J0Oo2IiEgc5UkHICIipUfJ\nQ0REYlPyEBGR2JQ8REQkNiUPERGJTclDRERim1ToE5jZAuB2d19iZgbcD6SB37r7J8I6q4CrgB5g\nnbtvNbOpwBZgJtAOrHD3fWZ2OnBXWLfB3W8pdBtERGSwgl55mNn1wH3AlLDo88AX3X0RMNXM3m9m\ns4BrgDOA84HbzGwysBrYFdZ9CFgbHmMDcJm7nwUsMLN5hWyDiIi8WaG7rV4CLsrYPggca2ZlQIrg\n6mE+0OTuve7eDuwB5gELge3h+7YB7zOzFFDp7s1h+RPAOQVug4iIZClo8nD3R4HejKKvA+uBXxF0\nR/0IqAYOZNTpBGoIkstAeUdGWXtG3YFyEREZQ2M9YL4FWOjuf0HQFXUnQYKozqiTAtoIkkQqo2w/\nQbLIrru/wDGLiEiWgg+YZ5lOkAAA/gicCewE1plZJTANOAXYDTwHLAOeD382unuHmR0ys5OAZuA8\ngnGUEfX29qUnTarIb0tERMa/suF2jHXyWAX8o5kdBA4Dq9z9VTNbDzQRBHqjux82sw3AZjNrBA4B\ny8NjXA18h+CqaYe778x10ra2rgI0RURkfKuvTw27r2wizKrb0tIx/hspEsGmTfeyY8fjLF26jJUr\nr0o6HCly9fWpYa889JCgyATR3X2QhoZtADQ0bKe7+2DCEUkpU/IQmSB6enoY6GlIp/vp6elJOCIp\nZUoeIiISm5KHiIjEpuQhIiKxKXmIiEhsSh4iIhKbkoeIiMSm5CEiIrEpeYiISGxKHiIiEpuSh4iI\nxKbkISIisSl5iIhIbEoeIiISm5KHiIjEpuQhIiKxFXwZWjNbANzu7kvMrB64DziGYMnZK939ZTNb\nBVwF9ADr3H2rmU0FtgAzgXZghbvvM7PTgbvCug3ufkuh2yAiIoMV9MrDzK4nSBZTwqIvA1vcfTFw\nM/BOM5sFXAOcAZwP3GZmk4HVwC53XwQ8BKwNj7EBuMzdzwIWmNm8QrZBRETerNDdVi8BF2Vsvwd4\nm5k1AMuBJ4H5QJO797p7O7AHmAcsBLaH79sGvM/MUkCluzeH5U8A5xS4DSIikqWgycPdHwV6M4pm\nA63ufi7wb8BngWrgQEadTqAGSGWUd2SUtWfUHSgXEZExVPAxjyz7gMfC148B64CdBAlkQApoI0gS\nqYyy/QTJIrvu/lwnra2dzqRJFUcVuEipq6zsH7R97LFV1NSkhqktMrKxTh6NwDLgvwOLgN0EyWOd\nmVUC04BTwvLnwrrPhz8b3b3DzA6Z2UlAM3Ae8PlcJ21r68p7Q0RKTUdH56Dtffs6OXxYN1zK8Orr\nh//jYqz/53wKWGFmTQRf/F9y91eB9UAT8EPgRnc/TDAw/k4zawQ+AXwhPMbVwHeAfwV+5u47x7gN\nIiITXlk6nU46hoJraekY/40UyaGjo51Vq658Y/u++x4klaoe4R0y0dXXp8qG2zfW3VYikkNfXx/N\nzXvzftyurj8N2m5u3sv06W/J2/Fnzz6ZigqNLU4USh4iRaa5eS9rH76Fqhn5vSroP9w3aPvuxnso\nr8zPl33n6+3cevFNzJkzNy/Hk+Kn5CFShKpmVFNzXG1ej9l3qJdOXnlju3rWMVRM0VeAjI5utRAR\nkdiUPEREJDYlDxERiU3JQ0REYlPyEBGR2JQ8REQkNiUPERGJTclDRERiU/IQEZHYlDxERCQ2JQ8R\nEYlNyUNERGJT8hARkdiUPEREJLaCz8dsZguA2919SUbZcuDv3P3McHsVcBXQA6xz961mNhXYAswE\n2oEV7r7PzE4H7grrNrj7LYVug4iIDFbQKw8zux64D5iSUXYqsDJjexZwDXAGcD5wm5lNBlYDu9x9\nEfAQsDZ8ywbgMnc/C1hgZvMK2QYREXmzQndbvQRcNLBhZscCXwSuzagzH2hy9153bwf2APOAhcD2\nsM424H1mlgIq3b05LH8COKegLRARkTcpaPJw90eBXgAzKwfuBz4JZC6mXA0cyNjuBGqAVEZ5R0ZZ\ne0bdgXIRERlDY7kG5WnA2wm6naYBf25mdwJPESSQASmgjSBJpDLK9hMki+y6+3OduLZ2OpMm5Wet\nZpFCa2urSjqEUamrq6K+PpW7oowLY5U8ytz9eeDfA5jZicD/cPdPhmMeXzSzSoKkcgqwG3gOWAY8\nH/5sdPcOMztkZicBzcB5wOdznbytrSv/LRIpkNbWzqRDGJXW1k5aWjqSDkPyaKQ/BiIlDzOrApYA\nc4F+grGMH7p7d8QY0sPtcPdXzWw90ASUATe6+2Ez2wBsNrNG4BCwPHzL1cB3CLrcdrj7zogxiIhI\nnpSl08N+r2Nm04GbgQ8Du4CXCW6RPQk4Ffg+cKu7F/WfSi0tHcM3UqTI/O53e7jjqbuoOa42r8ft\nO9TLHx/+zRvbx198ChVT8tP5cOCVNj6z5DrmzJmbl+NJcaivT5UNty/X/5wtwL3ADe7en7kjHAD/\nQFjnQ0cbpIiIlI5cd1t9xN23M0SScfd+d/8nMm7FFZHiVVae8UdkWda2SEwjJg93H+juecnMvmlm\nfzVCHREpYuWTK6h6Rx0AVXPrKJ+sOxBl9KJ2eJ4CfITg6e+ZwIPAFnd/pWCRiUje1c4/ntr5xycd\nhowDkR4SdPcud3/I3c8hGEC/luBq5Adm9vaCRigiIkUn6q26bwcuJ7hd9mXgMwR3Wr2XYOoQ3WIh\nIjKBRO22agAeAM5195czyh83s3PzHpWIiBS1SMnD3U8aYd9/yV84IiJSCkZMHmbWz9BPh5cBaXfX\n7RoiIhPQiMnD3csBzGyeu/9ibEISEZFiF3VK9u8WNAoRESkpUQfMf21mNwE/AQ4OFLr7MwWJSkRE\nilrU5FFHMKvukoyyNMGtuiIiMsFEvdtqSe5aIiIyUUR9SPAphrjryt115SEiMgFF7bb6fMbrycCF\nBEvFiojIBBS12+rprKIfmtlPgJvyH5KIiBS7qN1Wf5axWQb8JXBsxPcuAG539yVm9i5gPdBLsLTs\nle7eYmargKsIVilc5+5bzWwqwUJTM4F2YIW77zOz04G7wroN7n5LlDhERCR/oj7n8XTGv6cIurGu\nyfUmM7seuA+YEhbdBawJx0oeBT5jZrPCY50BnE8w7ftkYDWwy90XAQ8Ba8NjbAAuc/ezgAVmNi9i\nG0REJE+Oem6rHF4iWGnwoXD7Und/NePc3cB8oMnde4F2M9sDzAMWAneEdbcB/2BmKaDS3ZvD8ieA\ncwA9/S4iMoaidlvVA98A3he+50lgdUYiGJK7P2pmJ2Zsvxoe70xgDbCI4GrjQMbbOoEaIJVR3pFR\n1p5RtwMYbWITEZFRinq31beA54BVBF1dVwEbgQ/EPaGZXQrcACwLxzDageqMKimCO7naw9cDZfsJ\nkkV23f25zllbO51JkzSHo5SGtraqpEMYlbq6KurrU7kryrgQNXmc7O4fztj+spldEfdkZnY5QeJZ\n7O4DX/o/Bb5oZpXANIIlb3cTJKtlwPPhz0Z37zCzQ2Z2EtAMnMfg24iH1NbWFTdUkcS0tnYmHcKo\ntLZ20tLSkXQYkkcj/TEQdcA8bWYnDGyEd1/1xAnCzMqBu4Eq4FEze9LMbg67stYDTcAPgRvd/TDB\nwPg7zawR+ATwhfBQVwPfAf4V+Jm774wTh4iIHL2oVx5rgR+Hz3aUAQsIriByClcePDPcHPL2Xnff\nSNANlll2ELhkiLo/JbgzS0REEhL1bqt/NrNTCe6MKgeudvfXChqZiIgUrah3W9UCHwVmEFx5nGpm\n6AE9EZGJKWq31Q+A14BfMfSytCIiMoFEXs/D3c8uaCQiIjKsTZvuZceOx1m6dBkrV0Yaci6oqHdb\n/dLM3l3QSEREZEjd3QdpaNgGQEPDdrq7D+Z4R+GNeOVhZr8n6KaaDlxqZv+XYFLDMiDt7icXPkQR\nkYmtp6eHdDoYMUin++np6WHq1GmJxpSr22pxrgOY2Wnu/rP8hCMiIqVgxOQRPqORy/3AafkJR0RE\nSkHUMY+RlOXhGCIiUkLykTx0666IyASTj+QhIiITjJKHiIjEpjEPERGJLeoT5pjZXwJ1ZCQLd38G\n+EgB4hIRiaXYnsAe76JOjPhN4IPAXo4MkKeB97r73gLFJiISSfYT2MuXX5H4Q3TjXdQrj6WAhWts\niIgUlWJ6Aruvr4/m5vz+Td3V9adB283Ne5k+/S15Pcfs2SdTURF9ue6oyWMvoxzbMLMFwO3uvsTM\n5gAPAP3AbndfE9ZZRbC4VA+wzt23mtlUYAswk2A98xXhmuenA3eFdRs0LbyIFJPm5r2sffgWqmZU\n5+2Y/Yf7Bm3f3XgP5ZXRv+hz6Xy9nVsvvok5c+ZGfk/U5NEK/NrMngO6BwrdfeVIbzKz64ErgIFF\nme8kWGa20cw2mNmFBMvJXkPwlPp0oMnMdgCrgV3ufouZXUqwmuF1BMvTXuTuzWa21czmufsvojZY\nRKTQqmZUU3Ncbd6O13eol05eeWO7etYxVEyJPGRdEFHPvj38F9dLwEXAQ+H2u929MXy9jaA7rB9o\ncvdeoN3M9gDzgIXAHRl1/8HMUkCluzeH5U8A5wBKHiIiYyjqMrSbAcysHDgV+J2774/wvkfN7MSM\nosyurw6gGkgBBzLKO4GarPKOjLL2rGOcFKUNIiKSP7mmZH878F3gZuCHwDMEYxAVZvYf3f3ZmOfr\nz3idAvYTJIPqrPK2sDyVVbdjiLo5k5iIiORXriuP9cBXgceBlUAVMBd4K/Ad4D0xz/czM1sUPh9y\nAfAksBNYZ2aVwDTgFGA38BywDHg+/Nno7h1mdsjMTgKagfOAz+c6aW3tdCZNyt/gkkghtbVVJR3C\nqNTVVVFfn8pdsQAqK/sHbR97bBU1NcnEMlE+v1zJ463u/l0AMzsXeCQcm3jZzGpGEd+ngPvMbDLw\nYni8tJmtB5oIurVudPfDZrYB2GxmjcAhYHl4jKsJElc5sMPdd+Y6aVtb1yhCFUlGa2tn7kpFqLW1\nk5aWjpz1xuJW1hde2JXYrazj6fMbKZnkSh5lAGZWBiwBvpmxHemTCdcEOTN8vYchFphy943Axqyy\ng8AlQ9T9KXBGlHOLSPGZKLeyjne5kscuM/sMMJXgr/9nw6uGTxHcYisiEttEuJV1vMs1MeIa4ESC\nW2c/5O79wNcJbrG9rsCxiYy5TZvu5bLLPsSmTfcmHYpIUcu1DO0B4G+zyq4uaEQiCdH8SFKsysoz\nnnIoy9pOyIhXHma2MeP1iqx9TYUKSiQJQ82PJFIMyidXUPWOOgCq5tZRPjn5u0dzdQqemvH6WmBz\nxnZ+b2UQEZFh1c4/ntr5xycdxhtyjXmUDfMatHa5iMiElSt5pId5LSIiE1iubqtKMzuBIMkMvB64\nAqksaGQiIlK0ciWPKuBpjiSMZzL26UpERGSCynWr7uwxikNEREpIrll1F420P5zgUEQkUcX4HMR4\nl6vb6gsj7EsD781jLCIiozLwHETnb1uL5jmI8S5Xt9WS4faZmT4dESkaxfYcxHiX6wnzaWb2N2b2\n0azyZcCugkYmIiJFK1e31WaCiRFrzGwm8BhwH8GU6HeM9EYRERm/ciWPvyJYObAO2Ap8GtgOXOHu\nLQWOTUREilSu5LE/XDnwtfABwb919++PQVwiIlLEciWPzAcBX81H4ghXIbwfMKAPWBX+fADoB3a7\n+5qw7irgKqAHWOfuW81sKrAFmAm0Ayvcfd/RxiUiItHFmZ6kImt6Etz9D6M451LgLe6+0MzOAb4E\nTCZYu7zRzDaY2YUEKxVeA5wGTAeazGwHsBrY5e63mNmlwFq0MJWIyJg62ulJTh7FObsJBuDLgBqC\nq4oF7t4Y7t9GkGD6gaaw26zdzPYQrGi4kCOD9dsIkoeIiIyhJKYnaQKmAb8BjgU+CJyVsb8DqAZS\nwIGM8k6CZJNZPlBXJpi+vj6am/fm9ZhdXX8atN3cvJfp0/O3bM3s2SdTUaHHo2R8yDU9yY/d/Yw8\nn/PTwLPu/jkzeyvwIwbP0JsC9hOMZ1RnlbeF5amsujLBNDfvZe3Dt1A1I39/O/Qf7hu0fXfjPZRX\n5ufLvvP1dm69+CbmzJmbl+OJJC1Xt9XUApyziiNXDvvDGH5uZme7+9PABcCTwE5gnZlVElypnALs\nBp4DlgHPhz8byaG2djqTJukvvvGkra2KqhnV1BxXm7dj9h3qpZNX3tiunnUMFVNy/YpEV1dXRX19\nKme9traqvJ1zLKl9gfHevgG5fjPqzOzK4Xa6+4ORz3TEV4Bvm1ljeP7PAi8A95vZZOBF4BF3T5vZ\neoJurjKCAfXDZrYB2By+/xCwPNcJ29q6RhGmFLPW1s6kQ4ittbWTlpaOSPVKkdp3pF4pGqp9IyWT\nKAPmi3nzErQQDJjHTh7uvh+4aIhdi4eouxHYmFV2ELgk7nlFRCR/ciWPl9195ZhEIiIiJSPXGuaa\nFF9ERN4kV/K4YkyiEBGRkpKr2+q/mtmwa5WrS0tEZGLKlTx+NETZ24HrgZ/kPRoRESkJuZ4w35y5\nbWZ/D/wN8BlgfQHjEhGRIhbpCSgzOxn4drh5hrv/rnAhiYhIscs1YD5wtfFj4B+BxUocIiKSa26r\np4H5BE+F7weuMLM39o/yCXMRESlxubqtfg/sBU4I/2Ua1RPmIiJS+nINmH9sjOIQEZESMuKYh5lt\nzHi9ImtfU6GCEhGR4pZrwPy0jNfXZu3L3yo5IiJSUnLebZUhe56rYZ88FxGR8S1X8kgP81pk3Ckr\nz/j7qCxrW0QGyXW3VaWZnUCQZAZeD/xGVQ7/NpHSUz65gqp31NH521aq5tZRPlmrT4oMJ8piUE9z\nJGE8k7FPVyIy7tTOP57a+ccnHYZI0ct1q+7sQpzUzD4L/HV4/m8AzwIPAP3AbndfE9ZbBVwF9ADr\n3H2rmU0FtgAzgXZghbvvK0Sco7Fp073s2PE4S5cuY+XKq5IOR0SkIHLdqnubmdWMsL/OzO6Ic0Iz\nO5tgfqwzgSXAHOBOgjXKzwbKzexCM5sFXAOcAZwP3Baucb4a2OXui4CHgLVxzl9I3d0HaWjYBkBD\nw3a6uw8mHJGISGHk6rb6HvC/zOyPBF1W/wfoBU4E3gscD1wX85znAbvN7AdACvg0sNLdG8P924Cl\nBFchTe7eC7Sb2R5gHrAQuCOjbtEkj56eHtLpoDcvne6np6eHqVOnJRyViEj+5eq2+jmw2MyWEHQz\nfYDgS/13wLfc/clRnHMG8GfhsU4G/onBV0AdQDVBYjmQUd4J1GSVD9QVEZExFGlKdnd/CngqT+fc\nB7wYXlH81sy6gbdl7E8RTMLYzuDEkALawvJUVt0R1dZOZ9Kkwt85U1nZP2j72GOrqKlJDVNbjkZb\nW1XSIcRWV1dFfX3u/w+l2DZQ+waM9/YNiLqex3nAF4E6Mh4WdPeT4wYINAF/D3zNzI4neFL9X8zs\nbHd/GrgAeBLYCawzs0pgGnAKsBt4DlgGPB/+bHzzKQZra+saRZjxdXR0Dtret6+Tw4fjPIcpUbW2\nduauVGRaWztpaemIVK8UqX1H6pWiodo3UjKJlDyArwOfJPjyPqpbdMM7ps4ys58SJKLVQDNwfzgg\n/iLwiLunzWw9QbIpIxhQP2xmG4DNZtYIHAKWH008IiISX9Tk8bq7/3O+Turunx2iePEQ9TYCG7PK\nDgKX5CsWERGJL2ryaDSzO4HtQPdAobs/M/xbiltfXx/NzXvzesyurj8N2m5u3sv06fmdP3L27JOp\nqNCTzyKSrKjJY37489SMsjTB7bolqbl5L2sfvoWqGfm7Wav/cN+g7bsb76G8Mn9f9J2vt3PrxTcx\nZ87cvB1TRGQ0ot5ttaTQgSShakY1NcfV5u14fYd66eSVN7arZx1DxZSo+VlEpHREvdtqIXA9wVxX\nZUAFcGKhpi8REZHiFvU+0vuBHxAkm28CewimFBERkQkoavI46O7fBn5E8KDeKuCjhQpKRESKW9Tk\n0W1mdYADp7t7mmBWWxERmYCiJo87gf8JPAZcaWa/Al4oWFQiIlLUIiUPd38YWOruHcC7gcuBKwoZ\nWCnSMqYiMlFESh5mVgvca2ZPEswzdQ3BDLeSYWAZU0DLmIrIuBb1IYT7gB0EDwt2AH8kWM3v/QWK\nq2RpGVMRmQiijnmc5O73Av3ufsjd/4HB06iLiMgEEjV59IbL0aYBzGwuwaJQIiIyAUXttrqZ4BmP\nE8LlY88AVhYqKBERKW5RrzxeAB4Ffk+whOz3Ce66EhGRCSjqlcfjwC4gc00P3YcqIjJBRZ7y1d3/\ncyEDERGR0hE1efzAzD5BsLZ470Chu/9htCc2s5kE65CfA/QBDxAMwu929zVhnVXAVUAPsC5cwnYq\nwW3CM4F2YIW77xttHCIiEl/UMY8a4GvAvwBPh/9+NNqTmtkk4B6gKyy6k2CN8rOBcjO70MxmETyM\neAZwPnBbuMb5amCXuy8CHgLWjjYOEREZnahXHh8BZobrh+fDV4ENwA0EYyenuXtjuG8bsJTgKqTJ\n3XuBdjPbA8wDFgJ3ZNRV8hARGWNRrzz2AnlZcs/MPga85u4NHBl0z4yjA6gGUsCBjPJOgiugzPKB\nuiIiMoaiXnmkgV+b2W7g8EChu49mDfOPA/1mdi7BlcSDQH3G/hSwn2A8ozqrvC0sT2XVHVFt7XQm\nTRo8z1RbW9UoQk9eXV0V9fWp3BXHuVL8/KJ+dqXYNlD7Boz39g2ImjzWjS6cNwvHNQAIJ1q8GviK\nmS1y92eACwgG5ncC68yskmAyxlOA3cBzwDKCwfZlQCM5tLV1vamstbXzqNuShNbWTlpaOpIOI3Gl\n+PlF/exKsW2g9mXWK0VDtW+kZBIpebj700cXVk6fAu4LB8RfBB5x97SZrQeaCLq3bnT3w2a2Adhs\nZo3AIWB5gWMTEZEskZ/zKISsbq/FQ+zfCGzMKjsIXFLYyEREZCRRB8xFRETeoOQhIiKxKXmIiEhs\nSh4iIhKbkoeIiMSm5CEiIrEpeYiISGxKHiIiEpuSh4iIxKbkISIisSl5iIhIbEoeIiISm5KHiIjE\npuQhIiKxKXmIiEhsSh4iIhKbkoeIiMQ25isJmtkkYBMwG6gkWB/918ADQD+w293XhHVXAVcBPcA6\nd99qZlOBLcBMoB1Y4e77xrgZIiITWhJXHpcDr7v7IuB84BvAnQRrlJ8NlJvZhWY2C7gGOCOsd1u4\nxvlqYFf4/oeAtQm0QURkQksieXyPI1/4FUAvcJq7N4Zl24BzgflAk7v3uns7sAeYBywEtmfUPWes\nAhcRkcCYd1u5exeAmaWAh4HPAV/NqNIBVAMp4EBGeSdQk1U+UFdERMbQmCcPADM7Afg+8A13/66Z\nfTljdwrYTzCeUZ1V3haWp7Lqjqi2djqTJlUMKmtrqxp1/Emqq6uivj6Vu+I4V4qfX9TPrhTbBmrf\ngPHevgFJDJjPAp4A1rj7U2Hxz81skbs/A1wAPAnsBNaZWSUwDTgF2A08BywDng9/NpJDW1vXm8pa\nWzuPvjEJaG3tpKWlI+kwEleKn1/Uz64U2wZqX2a9UjRU+0ZKJklcedwAHAOsNbObgDRwLfD1cED8\nReARd0+b2XqgCSgjGFA/bGYbgM1m1ggcApYn0AYRkQktiTGP64Drhti1eIi6G4GNWWUHgUsKEpyI\niESihwRFRCQ2JQ8REYlNyUNERGJT8hARkdiUPEREJDYlDxERiU3JQ0REYlPyEBGR2JQ8JJZNm+7l\nsss+xKZN9yYdiogkSMlDIuvuPkhDwzYAGhq20919MOGIRCQpSh4SWU9PD+l0GoB0up+enp6EIxKR\npCQyJbsUXl9fH83Ne/N6zK6uPw3abm7ey/Tpb8nb8WfPPpmKiorcFUUkcUoe41Rz817WPnwLVTPy\nt1ZW/+G+Qdt3N95DeWV+vuw7X2/n1otvYs6cuXk5nogUlpLHOFY1o5qa42rzdry+Q7108sob29Wz\njqFiiv4LiUxEGvOQyMrKyzI2srZFZEJR8pDIyidXUPWOOgCq5tZRPlnjEyITVUn2OZhZGfDfgHlA\nN/AJd8/v6LAMqXb+8dTOPz7pMEQkYaV65fEhYIq7n0mwrO2dCccjIjKhlGryWAhsB3D3nwD/Idlw\nREQmllJNHtXAgYztXjMr1baIiJSckhzzANqBVMZ2ubv3xz1I5+vt+YtoDMSNt5TaN5pYx3P7Sqlt\noPYdbf2kjSbesoHpJkqJmX0Y+IC7rzSz04G17v7+pOMSEZkoSvXK41HgXDN7Ntz+eJLBiIhMNCV5\n5SEiIsnSILOIiMSm5CEiIrEpeYiISGxKHiIiElup3m1VlCbCnFtmNhN4HjjH3X+bdDz5En529wMG\n9AGrxkv7zGwBcLu7LzGzdwHrgV7gEHClu7ckGuBRympfPXAfcAxQRtC+lxMNcJTMbBKwCZgNVALr\ngF8DDwD9wG53X5NUfLryyK9xPedW+J/5HqAr6VgKYCnwFndfCNwKfCnhePLCzK4n+DKdEhbdBaxx\n9/cS3PL+2aRiy4ch2vdlYIu7LwZuBt6ZUGj5cDnwursvAs4HvkHwnXKju58NlJvZhUkFp+SRX+N9\nzq2vAhuAPyYdSAF0AzXhFUgNcDjhePLlJeCijO1L3f2X4etJwMGxDymvstv3HuBtZtYALAeeTCSq\n/PgesDZ8XUFwtXiauzeGZduAc5IIDJQ88m3czrllZh8DXnP3BoLugPGmCZgG/Ab4FkHXTslz90cJ\nvnQGtl8FMLMzgTXA1xIKLS+y20fQxdPq7ucC/0YJX1m5e5e7/8nMUsDDwOcY/LvXQfCHTiLGxRdb\nEcnLnFvRk10EAAACYElEQVRF6uMET/U/BbwLeDAc/xgvPg086+5GMGb1oJlVJhxTQZjZpQRjc8vc\nfV/S8eTZPuCx8PVjwLsTjOWomdkJBFdPm939uwRjHQNSwP5EAkPJI9+eBZYBhHNu/XLk6qXD3c92\n9yXuvgT43wQDka8lHVceVXHkqnE/QZfOuFsq0cwuJ7jiWFyqA8k5NBL+DgKLgF8lGMtRMbNZwBPA\np919c1j8czNbFL6+gKC9idDdVvk1UebcGo9z2nwF+LaZNRL8Xtzg7qU+HjBI2IV6N/Ay8KiZpYGn\n3f0LyUaWV58C7jez1QR/DCxPOJ6jcQPBXWNrzewmgt+7a4Gvm9lk4EXgkaSC09xWIiISm7qtREQk\nNiUPERGJTclDRERiU/IQEZHYlDxERCQ2JQ8REYlNyUOkAMzs7PBpfJFxSclDpHD0EJWMW3rCXKRw\nZprZVmAOwYSLlwD/CfgkwRxFLwB/5+5dZtbv7uUAZrYCONvdV5rZ74GfEMy3dZa7v55EQ0Sy6cpD\npHBOAFa7+ynAvwOuJphy4ix3n0ewLsrNYd2RrlK2uvufK3FIMVHyECmcX7j7H8LXLxJMn/2Yuw/M\nhHov8L7w9UjT3P+0QPGJjJqSh0jhZK4zkQbaGJwkyhi663hy1va4mqBRxgclD5GxUwZ80MyOCbdX\ncWSluxYz+4twJcO/TiQ6kRg0YC4yNtIEU4TfBjwTrgf/AsE4CARjIVuB/0ewquGMjPeJFB1NyS4i\nIrGp20pERGJT8hARkdiUPEREJDYlDxERiU3JQ0REYlPyEBGR2JQ8REQkNiUPERGJ7f8DfT67SHtf\nfc8AAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1038f18d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.barplot(data=main_st, x='hour', y='ENTRIESn_hourly',\n",
" # use a fixed color from the default palette\n",
" # otherwise, each bar will be of different color\n",
" color=default_pal[1])\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that we used the raw data (`main_st`) rather than the aggregated series (`mean_by_hour`). Seaborn automatically aggregates our 'ENTRIESn_hourly' variable for each hour. By default, the mean function is applied to compute an aggregated result (for each hour). You can pass a different function using the `estimator` argument, such as `estimator=np.median`."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"One additional advantage of using the `barplot` function is that it provides us with error-bars. It is very important to know what is the variability in our point estimates (average ridership in this case). For example, how large is the ridership difference between hour=16 and hour=20 relative to the variability in these two hours?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can easily add an additional categorical variable (rain) using the hue argument, which creates a grouped bar chart:"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a789bd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"bar = sns.barplot(data=main_st, x='hour', y='ENTRIESn_hourly', hue='rain',\n",
" # OPTIONAL: use red for no-rain (0) and blue for rain (1)\n",
" palette={0: default_pal[2], 1: default_pal[0]})\n",
"\n",
"bar.set_xlabel('Hour', fontsize=14)\n",
"bar.set_ylabel('Mean ridership', fontsize=14)\n",
"\n",
"# OPTIONAL: improve on the default legend\n",
"legend = bar.legend(loc='upper left', fontsize=13, title='rain')\n",
"legend.get_title().set_fontsize(14)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see that the difference between rain and no-rain is quite small compared to the variability for each hour. \n",
"\n",
"We can expect ridership to be very different between weekdays and weekends causing a large variability in our estimates by hour. We might be able to dicrease this if we further segment our visualization using `factorplot`. "
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ca51290>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"factors = sns.factorplot(data=main_st, x='hour', y='ENTRIESn_hourly', hue='rain', \n",
" col='weekday', kind='bar', \n",
" palette={0: default_pal[2], 1: default_pal[0]})\n",
"\n",
"factors.set_xlabels('Hour', fontsize=14)\n",
"factors.set_ylabels('Average ridership', fontsize=14)\n",
"plt.suptitle('Main St Subway Ridership', fontsize=16)\n",
"\n",
"# OPTIONAL: adjust title spacing and fontsize\n",
"factors.fig.subplots_adjust(top=0.85)\n",
"for ax in factors.axes[0]: ax.set_title(ax.get_title(), fontsize=14)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we can see, there is a huge difference in ridership between weekdays and weekends for hour > 4, so it was important to separate it out. \n",
"\n",
"There does appear to be some difference in ridership between rain and no-rain during weekends (`weekday = 0`). At this point, we can't make a conclusion - a more robust statistical analysis is needed since the differences are quite small. But this type of visualizations are a great starting point. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Another thing to keep in mind is that as we segment our data, we decrease the number of observations in each grouping. We can see, for example, that there are only two observations that correspond to a rainy weekend, at hour==20:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ENTRIESn_hourly</th>\n",
" <th>DATEn</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>8076</th>\n",
" <td>8866.0</td>\n",
" <td>2011-05-14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8082</th>\n",
" <td>6870.0</td>\n",
" <td>2011-05-15</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ENTRIESn_hourly DATEn\n",
"8076 8866.0 2011-05-14\n",
"8082 6870.0 2011-05-15"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"main_st.loc[(main_st.hour==20) & (main_st.weekday==0) & (main_st.rain==1)]\\\n",
" [['ENTRIESn_hourly', 'DATEn']]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There is a trade-off: as we segment our data, we can break up various conditions (weekends, hour) and possible confounding variables. But we work with less data in each group. "
]
}
],
"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.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment