"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"flights_years = df_filtered.Year.value_counts()\n",
"\n",
"plt.figure(figsize=(18,4))\n",
"sns.barplot(x=flights_years.index, y=flights_years.values)\n",
"plt.xlabel('Year')\n",
"plt.ylabel('Total number of flights')\n",
"plt.xticks(rotation='vertical')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The dip in flights in 2002 is due to new regulations following the tragedy in 2001. After that, a year or adjustments to the new protocols, number of flights started increasing again."
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-16T09:44:19.158616Z",
"start_time": "2019-05-16T09:44:18.405807Z"
}
},
"source": [
"##### The most busy airports\n",
"\n",
"Find the most busy airports"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:47:48.402561Z",
"start_time": "2019-10-14T20:47:33.336228Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"origin_value_counts = df_filtered.Origin.value_counts()\n",
"dest_value_counts = df_filtered.Origin.value_counts()\n",
"\n",
"plt.figure(figsize=(12, 5))\n",
"\n",
"plt.subplot(121)\n",
"sns.barplot(x=origin_value_counts.index[:11], y=origin_value_counts.values[:11])\n",
"plt.title('Most frequent origins')\n",
"plt.xlabel('Airport code', fontsize=14)\n",
"plt.ylabel('Number of take-offs')\n",
"\n",
"plt.subplot(122)\n",
"sns.barplot(x=dest_value_counts.index[:11], y=dest_value_counts.values[:11])\n",
"plt.title('Most frequent destinations')\n",
"plt.xlabel('Airport code')\n",
"plt.ylabel('Number of landings')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### When are flights scheduled to depart?\n",
"\n",
"Let's look at the number of flights per day of week and month, as well as the number of flights per hour of day and day of week."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:47:55.041585Z",
"start_time": "2019-10-14T20:47:48.406665Z"
},
"scrolled": true
},
"outputs": [],
"source": [
"df_filtered['Month'] = df_filtered.Month - 1 # to make it start from 0\n",
"df_filtered['DayOfWeek'] = df_filtered.DayOfWeek - 1 # to make it start from 0\n",
"\n",
"# label them as categories\n",
"df_filtered.categorize(column='Month')\n",
"df_filtered.categorize(column='DayOfWeek')\n",
"\n",
"# Helper lists for labelling the plots \n",
"label_month_list = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n",
"label_day_list = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:47:55.756934Z",
"start_time": "2019-10-14T20:47:55.044662Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot number of flights per departure hour vs day of week\n",
"df_filtered.plot('CRSDepHour', 'DayOfWeek', colorbar=True, colormap=cm_plusmin, figsize=(15, 5))\n",
"plt.xticks(np.arange(24), np.arange(24))\n",
"plt.yticks(np.arange(7), label_day_list)\n",
"plt.tick_params(labelsize=12)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Overall distributions of flight times, distances, and speed.\n",
"\n",
"Now, let's look at the overall distribution of the flight durations, distances and speed of flight. \n",
"\n",
"For some of the distributions the limits are adjusted to clip obvious outliers due to likely faulty data recordings."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:09.125465Z",
"start_time": "2019-10-14T20:48:02.437717Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(18, 5))\n",
"\n",
"plt.subplot(131)\n",
"df_filtered.plot1d('AirTime', limits=[0, 500], lw=3, shape=64)\n",
"plt.xlabel('AirTime [min]')\n",
"\n",
"plt.subplot(132)\n",
"df_filtered.plot1d('Distance', limits='minmax', lw=3, shape=64)\n",
"plt.xlabel('Distance [miles]')\n",
"\n",
"plt.subplot(133)\n",
"# Calculate the mean speed of the aircraft\n",
"df_filtered['Speed'] = df_filtered.Distance / (df_filtered.AirTime/60.) # this is in miles per hour\n",
"\n",
"df_filtered.plot1d('Speed', limits=[100, 700], lw=3, shape=64)\n",
"plt.xlabel('Speed [miles/hour]')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Nearest neighbours\n",
"\n",
"Out of curiositly, let's find which are the closest airports which had a regular connection between them."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:09.765664Z",
"start_time": "2019-10-14T20:48:09.127276Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[########################################]: 100.00% elapsed time : 0s = 0.0m = 0.0h\n",
" "
]
},
{
"data": {
"text/plain": [
"11 2710\n",
"17 46\n",
"18 5\n",
"16 3\n",
"12 2\n",
"10 2\n",
"19 1\n",
"8 1\n",
"6 1\n",
"dtype: int64"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check if there are frequent flights at uber-short distances\n",
"df_filtered[df_filtered.Distance <= 20].Distance.value_counts(progress=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ok rather large number of flights for distance of 11 miles. Let's find the airports in question."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:10.323996Z",
"start_time": "2019-10-14T20:48:09.767523Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"SFO 1615\n",
"OAK 1042\n",
"JFK 36\n",
"LGA 17\n",
"dtype: int64"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Let's see the origins for this short route\n",
"df_filtered[df_filtered.Distance == 11.].Origin.value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It looks like there are quite a large number of flights between SFO and OAK airports. Let's see how that connection evolved throughout the years."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:14.145166Z",
"start_time": "2019-10-14T20:48:10.326026Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# How the number of the shortest destination flights evolved through the years\n",
"nf_sfo_oak = df_filtered[(df_filtered.Distance == 11.) & ((df_filtered.Origin=='SFO') | (df_filtered.Origin == 'OAK'))]['Year'].value_counts()\n",
"nf_jfk_lga = df_filtered[(df_filtered.Distance == 11.) & ((df_filtered.Origin=='JFK') | (df_filtered.Origin == 'LGA'))]['Year'].value_counts()\n",
"\n",
"# plot it\n",
"fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2)\n",
"fig.set_size_inches(16, 4)\n",
"\n",
"sns.barplot(nf_sfo_oak.index, nf_sfo_oak.values, ax=ax1)\n",
"sns.barplot(nf_jfk_lga.index, nf_jfk_lga.values, ax=ax2)\n",
"\n",
"ax1.set_title('Number of flights between San Francisco and Oakland airpors')\n",
"ax2.set_title('Number of flights between John F. Kennedy and LaGuardia airpors')\n",
"ax1.set_ylabel('Number of flights')\n",
"ax1.set_xlabel('Year')\n",
"ax2.set_xlabel('Year')\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In Oakland, it looks like a regular connection existed for 5 years! (at least).\n",
"\n",
"In NYC, just a handful of flights scheduled over the years, probably private, or special services."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Long distance relationship\n",
"\n",
"Let's find the most distant airports that have a regular connection."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:14.752248Z",
"start_time": "2019-10-14T20:48:14.147346Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[########################################]: 100.00% elapsed time : 0s = 0.0m = 0.0h \n",
" "
]
},
{
"data": {
"text/plain": [
"4962 13045\n",
"4983 4863\n",
"4963 2070\n",
"dtype: int64"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check if there are frequent flights at uber-long distances\n",
"df_filtered[df_filtered.Distance > 4900].Distance.value_counts(progress=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So we have few common long distance relations. Let's examine them."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:25.540106Z",
"start_time": "2019-10-14T20:48:14.756020Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
#
Origin
Dest
Distance
count
\n",
"\n",
"\n",
"
0
EWR
HNL
4962
6517
\n",
"
1
EWR
HNL
4963
1035
\n",
"
2
HNL
EWR
4962
6528
\n",
"
3
HNL
EWR
4963
1035
\n",
"
4
HNL
JFK
4983
2432
\n",
"
5
JFK
HNL
4983
2431
\n",
"\n",
"
"
],
"text/plain": [
" # Origin Dest Distance count\n",
" 0 EWR HNL 4962 6517\n",
" 1 EWR HNL 4963 1035\n",
" 2 HNL EWR 4962 6528\n",
" 3 HNL EWR 4963 1035\n",
" 4 HNL JFK 4983 2432\n",
" 5 JFK HNL 4983 2431"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Group by Origin, Destination and Distance, and count the number of flights\n",
"df_filtered[df_filtered.Distance > 4900].groupby(by=['Origin', 'Dest', 'Distance'], agg={'Origin':'count'})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are assentially two pairs of airports. Newark (EWR) --- Honolulu (HNL); and John F. Kennedy (JFK) --- Honolulu (HNL)\n",
"\n",
"Notice that between EWR and HNL there are two sets of distances, which are very close to each other. We will examine this in turn. \n",
"\n",
"Now let's look at the number of flights per year between these airport pairs."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:26.608357Z",
"start_time": "2019-10-14T20:48:25.541953Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA0sAAAEdCAYAAADdDPy1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deZglZXn38e9PQEGGUZEBAwpETERBcUExcReM0ZigoomJC2gQl1ejkYQYIzgqxhcMxkQNghsiatAIURQXSICovC5EBRwdFRRkERlAxhkWFb3fP+ppqDmc7j7d092nZ+b7ua5zddXzVNVzn6o6T/V9ajmpKiRJkiRJ67rDuAOQJEmSpMXIZEmSJEmShjBZkiRJkqQhTJYkSZIkaQiTJUmSJEkawmRJkiRJkoYwWZKmkeSEJEeOqe0k+UCSnyX52iTTHJnkmiRXJdk1SSXZvNV9NsmBI7Z1dpKD5zL+ttx1YtLCmYt9N8nOSdYm2ayNz8t+sqlKsiLJ4+a5jQX7DCZZnuSk+W5npmayDjblPmvw8z6P7RyU5EuznPfdSQ6f65ikyZgsaYOT5JIkP02yda/s4CRnjzGs+fIo4InAPavq4YOVSe4FHArcv6ruMVhfVU+uqg+ubxDj+udhQ/inJcnjWozvGij/UpKDxhTWjE2WBFXVj6tqSVX9eiHbncH8leQ+I057SZL9ZtvW+hqWvFbVHlV19phCWlDts3L5kPKNJgGf7D1OMu3Y+7fBz8R8f97nQlW9pKreNO44tOkwWdKGanPgleMOYqZm8W3dLsAlVXXDFPXXVtXV6xeZ1tMNwPOT7DrmOG41398Mr6921nSDOQZtaPFq47eYv0Qal7leJ65jgcmSNlxvBf4myV0HK4Z9W9f/5rKd/v9ykn9Ocn2SHyb5/VZ+WZKrh1y6tl2SM5KsSXJOkl16y9691V2X5HtJ/rRXd0KSY5OcnuQG4PFD4t0xyafa/BcleVEr/0vgvcDvtcsi3jAw337AGcCOrf6EIcvuv+/NkhyT7pK9HyV5+ZBvNXdp62ZNki8k2a6V/0/7e31r6/eS3Keti9VtmScPtj/ghUmuTPKTJIf2YrxDktckuTjJtUk+lmTbKdq9NMlD27zPbe/h/m384CT/OcJySfKIJOe2feD89C6FauvtTZOsi2GuB04AXj/ZBElemOS76S6p/PzEPpTkDUne0Ya3SHJDkqPb+FZJbk5ytzb+8XSXW65O8j9J9ugtf8p9Lck2Sc5K8q9JMsV7GYx72LffuyX5WovjkzNcr29O8mXgRuBDwKOBd7bt+84k70pyzEAMpyV51QixLm/b+cS23VYk2bvVfQjYGTittXXYLOK993T7xmTbKMkhwHOAw1r7p7XyW7/ZT3KnJG9vn5Mr2/CdWt3jklye5NB0fdRPkryg1+4fJflmkp+n68eWT7e+evNOfE7WJPlOkqf36g5Kd5b0n9q++6MkT+7V/3a6fmBNkjOAqT4no8bzonR94XXp+sYde3WV5CVJftDiedfE/pzuM/+6dH3E1W0/uMskbaxzRiVTXD44k2mHzDvV/nK7/q3NM7Sv6L3//5PkB8APRlgnuyX573R94DVJPpx23Bz2mcjtL+UeenzqrYehn7dWP+l+NcJ6m66vO7INT3wu/i7JVcAHemWvbe/5kiTP6c1/lxbzqravvC7ti5Cs+//BdcDyzPxYp41NVfnytUG9gEuA/YBTgCNb2cHA2W14V6CAzXvznA0c3IYPAm4BXgBsBhwJ/Bh4F3An4A+ANcCSNv0Jbfwxrf5fgC+1uq2By9qyNgceAlwD7NGbdzXwSLovJ7Yc8n7OAf4N2BJ4ELAK2LcX65emWBePAy7vja/z3gfe90uA7wD3BO4GnDlk2ouB3wW2auP/d4p1+lHgHybeF/CoSWKcmPejbX09oL3H/Vr9q4CvtLjuBBwHfHSKdk8EDm3Dx7eYX9qr++sRlrsTcC3wlBb/E9v4sunWxWTbALgH8HPgvq38S8BBbfhpwEXA/ej2k9cB57a6JwAXtuHfb+1+tVd3fq+tFwLbtPfzduBbvboTGNjXWtmRwN2Br9E+L5O8j7Np+8ok26+/n1wB7Nm25yeAk2awXn8M7NHWwxaD7QIPB64E7tDGt6NLVHaYJO4C7tOGlwM3t/Y3A94CfGWw7+iNzzbeSfeNEbbRkQPx3xoT8Ea6fXZ7YBlwLvCm3n52S5tmixbzjcDdevUPaO/jgcBPgadN9jkaiOFZwI5t3j+jO1P6W70+6FfAi9o6fWnbPmn1/w94W3u/j6HrK08apb+apH9+Al0f+pC2zHcA/zOwvT8N3JXuH/1VwB/21v1FwL2BJXTHiA9Nsh8P7gvLuW0/HnnaEfrks5lZvzppX9F7/2cA2wJbjbBO7kO3X9+Jbp/6H+DtU3wmBt/7VMen5Uz9eZtuv5rq2DbS54jbPhdHtWm36pVN7JePbW1P9M0nAp9sy98V+D7wl724bgFe0db/Vox4rPO18b7GHoAvXzN9cVuytCfdP4fLmHmy9INe3QPa9Dv0yq4FHtSGTwD+vVe3BPg1cK92APjiQHzHAa/vzXviFO/lXm1Z2/TK3gKc0It1rpKl/wZe3Jt2vyHTvq5X/zLgc1Os0xPpkpV7TrO9JubdvVd2NPC+Nvxd2sG3jf8W3T9nm0/S7l8Cn+rNe/DE9gEuBR4ywnL/jvZPVK/+88CB062LqbZBe18nt+F+svRZ2sG4jd+B7h/dXegOxjfTJTSvAV5Ll3wtAd4A/Osk7d61rZu7TLavtbL3A98G/naa7XTrvjLJ9uvvJ/3k4P7AL+n+WRplvb5xunbbtntiG345cPoUcQ8mS2cOxHbTYN/RG59tvKPuG8O20VTJ0sXAU3p1T6K7DHdiP7uJdT8LVwOPmKTttwP/PNnnd5p94VvA/m34IOCiXt2d27LuQfeP+S3A1r36jzB1IvEbujOx/dct3NZPvQ84ujfPErrP7a697f2oXv3HgNe04f8CXtaruy+T9CVD9oXlzF+yNJN+ddK+ovf+nzDkMzB0nQyJ72nAN6f4TNwaE9Mfn5YzxedthP1q0mPbqJ+jtr5/Se+LSG5Llvr75ceAw+n6qV/Q3ec7Ufdibvv/4SDgxwPtj3Ss87XxvrwMTxusqvo23bdpr5nF7D/tDd/UljdYtqQ3flmv3bXAdXTfmO0C7JPuEp7rk1xPd6nNPYbNO8SOwHVVtaZXdindN95zbceBWIbFdVVv+EbWXQeDDgMCfK1dfvHCadrvt3dpiwe6dXhqb/19l+4AvcMkyzkHeHSSe9Ad+E4GHpnufqG70B2Qp1vuLsCzBrbbo+gSqgkzWRcTjgKelGSvgfJdgH/ptXUd3brbqapuAs6j+/bzMe39nUt3huixbXziMsr/2y5r+TndPzmw7mVPw7bpH9ElZO8eIf5RDW7LLVoco6zXqT4PEz4IPLcNP5fucr1RDW63LTP5fQezjXfovjHiNprKjnTrc0L/cwLd/Ym3TNL2Pukus1yVZDXdmeSR2k3y/CTf6q2DPQfmvfX9VtWNbXBJi+1nte49lf34h7myqu7af9F9sTBhnXXQ+ttrWbdPnOyzOWz9bc7kfclCmUlfMmlf0ZtmJvvk9kn+PckVbZ88iZntj9Mdnyb9vI2wXw01i8/Rqqq6eaBs2H65Y1vGHbn9fjLV+p3psU4bGZMlbeheT3d5SL+jm+gg79wru92T4mboXhMDSZbQXQJxJV2nes7AwX9JVb20N29NsdwrgW2TbNMr25nuMqe59hO6S9Im3GuyCYe43Xuoqquq6kVVtSPdN3P/lqmfStZvb2e69w7dOnzywDrcsqqumKTdi+gOyn9Fd3nOGroD9iF031T+ZoTlXkZ3RqFft3VV/d8ZrJPbqapr6b7RH3xS02V0Z/X67W1VVee2+nPoLj96MPD1Nv4kukvSJu5r+Atgf7ozgneh+wYYuoP4rSEMCes9wOeA09N7guR6GtyWv6K7dGqU9ToY47CYTwL2b0nn/YD/nKO4B9uaTbxTmW4bTbesK+n+WZ7Q/5xM5yPAp4B7VdVd6JLjae9NS3c/zHvozuDdvSUv3x5lXro+5W4D+9XOI8Y7mXXWQVv23RmtTxy2/m5h3S/HJtzA6MeImUw7E8P2h+n6isnmm8xb2vQPrKqldF8+TNdnTJj18Wk996tR+rq+Ye9h2H55JV0/9Stuv5/039M6y5vFsU4bGZMlbdDaP84n0/3jPFG2iq7je277huqFwG7r2dRTkjwqyR3p/hH+alVdRndm63eTPC/dzflbJHlYkvuNGP9ldGcR3pJkyyQPpLvM7MPrGe8wHwNemWSndDf4/t0M5l1Fd/nMvScKkjwryUTy9TO6A8xUj5s9PMmd2426L6DbbtD9U/fm3PbAg2VJ9p+s3eYcuoPwOW387IHx6ZZ7EvDHSZ7U9pEt203B/WRytt5Gd+9Rfx94N/D3ue1m/7skedbA+3k+8J2q+mV7PwcDP2r7M3TX1/+C7lv2OwP/OIOYXg58D/h0kq2mmG7zti4mXltMMt1zk9w/yZ3p7qH5j+oeNTyb9fpTBrZvVV1OlzR+CPhEO/s2Fwbbmuv9YLptdLv3OuCjwOvavrodcESLcdS2r6uqm5M8nO4fzlFsTffZXQWQ7qERe44yY1VdSndW9A1J7pjkUcAfj9juZD4CvCDJg9I93OIf6frbS0aY96PAX6d76MSSNu/JA2fjJnwLeHbrs/cGnjnFcmcy7UwM69+m6ytmahtgLd1DJHYC/nagftJ9cj2PT7Per1i/vq5vYr98NPBU4OOtn/oY3bFhm3Z8eDVTfM5mcazTRsZkSRuDN9J1zH0vojsoXEt3c/a5gzPN0EfozmJdBzyU7lI72lmNPwCeTfet1VXcdqPpqP6c7puzK4FT6e53OmM94x3mPcAXgAuAbwKn033rOm2n3y69eTPw5XZJxSOAhwFfTbKW7hvtV1bVj6ZYzDl0Ny7/F/BPVfWFVv4vbf4vJFlDd4P7PlO0O7GsbbjtrMvg+HTLvYzum8vX0h3ML6PbX9a7T6yqn9Pdu7Rtr+xUuv3i39tlJd8Gntyb7Vy6S+Um4v8O3X1M/fdzIt3lIle0+q/MIKaiO/N2GfDJJFtOMumxdJegTrw+MMl0H6K7b+Aquhue/6q1M5v1+i/AM9M9xetfe+UfpLufcCaX4E3nLXTJyPVJ/mYe9oPpttH7gPu39oedLTuSLvm4ALgQ+EYrG8XLgDe2ff0Iun8Ip1VV3wGOoXtQw0/p1vmXR2wTuqRsH7q+8fV062DWquq/6O4t+QTdmavd6PrXUbyfbn/5H+BHdJ+hV0wy7eFt2T+juzfwI1MsdybTjmxY/zZCXzFTb6B7WMZq4DN0D73oW+czMWT+WR2f1nO/mnVf13MV3fa6ki65e0lVrWx1r6A7W/hDuktAP0K370xmpsc6bWQmnmYjaROT7vG/766qXaadWFpgSR5D923vrr1LKyVpSuke/39SVc3FlQKSZ5akTUW63+x5SpLN2+UYr6f7plBaVNrlf68E3muiJEkaJ5MladMRuksyfkZ3Gd536S7XkRaNdr/f9XRPpHv7mMORJG3ivAxPkiRJkobwzJIkSZIkDTHZD/VtFLbbbrvaddddxx2GJEmSpEXqf//3f6+pqmXD6jbqZGnXXXflvPPOG3cYkiRJkhapJJdOVudleJIkSZI0hMmSJEmSJA1hsiRJkiRJQ5gsSZIkSdIQJkuSJEmSNITJkiRJkiQNYbIkSZIkSUOYLEmSJEnSECZLkiRJkjTE5uMOQJL6ln/sSeNt/08/P2ndkz95wAJGcnuf3f8TY21fkqRNjcmSNE/+4wN/OLa2n/mCz01Zf9yHxpuQvPh5kyckmp2nnHrkWNs//emvm7L+j045doEiub3PPOOlU9Y/9T8+vECR3N6nn/mcsbW9MfuzUy4aW9snP+M+Y2tb2pBc/c4vjK3t7V/+ByNPa7Kkaa181/5ja3v3//PJsbUtSZI0nZ8cfcXY2v6tw3YaW9ubCpMlSZIWqT/5j9PG1vannvnHY2tbkhYLkyVJkiQtat9879Vja/vBB28/trY1fj4NT5IkSZKGMFmSJEmSpCEWLFlKsnbg9esk7+jV75tkZZIbk5yVZJdeXZIcleTa9jo6SRYqdkmSJEmbngW7Z6mqlkwMJ9ka+Cnw8Ta+HXAKcDBwGvAm4GTgEW2WQ4CnAXsBBZwB/BB49wKFL0mSep7+iS+Nre1TD3jU2NqWtGkZ12V4zwSuBr7Yxp8BrKiqj1fVzcByYK8ku7f6A4FjquryqroCOAY4aGFDliRJkrQpGdfT8A4ETqyqauN7AOdPVFbVDUkubuUrB+vb8B7DFpzkELozUey8885zH7kWlbPf80dja/txL/rM2NqWJEnS/FvwM0tJdgYeC3ywV7wEWD0w6Wpgm0nqVwNLht23VFXHV9XeVbX3smXL5i5wSZIkSZuUcVyG93zgS1X1o17ZWmDpwHRLgTWT1C8F1vbOTEmSJEnSnBpXsvTBgbIVdA9vAG59AMRurfx29W14BZIkSZI0TxY0WUry+8BOtKfg9ZwK7JnkgCRbAkcAF1TVylZ/IvDqJDsl2RE4FDhhgcKWJEmStAla6DNLBwKnVNWafmFVrQIOAN4M/AzYB3h2b5Lj6B4pfiHwbeAzrUySJEmS5sWCPg2vql48Rd2ZwO6T1BVwWHtJkiRJ0rwb1+8sSZIkSdKiZrIkSZIkSUOM60dpJUmSJM2jn779f8fW9g6veujY2p5LnlmSJEmSpCFMliRJkiRpCJMlSZIkSRrCZEmSJEmShjBZkiRJkqQhTJYkSZIkaQiTJUmSJEkawmRJkiRJkoYwWZIkSZKkIUyWJEmSJGkIkyVJkiRJGsJkSZIkSZKGMFmSJEmSpCFMliRJkiRpCJMlSZIkSRpiwZOlJM9O8t0kNyS5OMmjW/m+SVYmuTHJWUl26c2TJEcluba9jk6ShY5dkiRJ0qZjQZOlJE8EjgJeAGwDPAb4YZLtgFOAw4FtgfOAk3uzHgI8DdgLeCDwVODFCxe5JEmSpE3NQp9ZegPwxqr6SlX9pqquqKorgGcAK6rq41V1M7Ac2CvJ7m2+A4FjquryNv0xwEELHLskSZKkTciCJUtJNgP2BpYluSjJ5UnemWQrYA/g/Ilpq+oG4OJWzmB9G96DIZIckuS8JOetWrVqPt6KJEmSpE3ASMlSkscm2ac3flCSLyU5LsmSEdvaAdgCeCbwaOBBwIOB1wFLgNUD06+mu1SPIfWrgSXD7luqquOrau+q2nvZsmUjhiZJkiRJ6xr1zNLbgXsAJLkvcBxwAfB7wFtHXMZN7e87quonVXUN8DbgKcBaYOnA9EuBNW14sH4psLaqasS2JUmSJGlGRk2WdgMubMMHAGdU1cuAFwF/PMoCqupnwOXAsARnBd3DGwBIsnVrc8Ww+ja8AkmSJEmaJ6MmSwVs1ob3BT7Xhq8C7j6D9j4AvCLJ9knuBrwK+DRwKrBnkgOSbAkcAVxQVSvbfCcCr06yU5IdgUOBE2bQriRJkiTNyOYjTvd14PAkZ9Ddb3RIK9+VLmEa1ZuA7YDvAzcDHwPeXFU3JzkAeCdwEvBV4Nm9+Y4D7s1tZ7fe28okSZIkaV6Mmiz9NfBhYH+65ObiVv4s4NxRG6uqXwEva6/BujOB3W83U1dXwGHtJUmSJEnzbqRkqaoupPsx2EF/A9wypxFJkiRJ0iIw6qPD/zvJXYdU3RH4wtyGJEmSJEnjN+oDHh5HlxgN2pLuHiZJkiRJ2qhMeRlekof0Rh+Y5Lre+GbAk4Ar5iMwSZIkSRqn6e5ZOo/useHF8MvtbgJeMddBSZIkSdK4TZcs/TYQ4IfAw4FVvbpfAldX1a/nKTZJkiRJGpspk6WqurQNjnpvkyRJkiRtFEb9nSWS3IvuYQ7bM5A8VdXb5jguSZIkLaDPnnzN2Np+8p9tN7a2pamMlCwleQ7wfrrfVFpFdw/ThAJMliRJkiRtVEY9s/RG4BjgcO9RkiRJkrQpGPVepB2A95ooSZIkSdpUjJosnQ7sM5+BSJIkSdJiMulleEme0Rs9AzgqyR7AhcCv+tNW1SnzE54kSZIkjcdU9yz9x5Cy1w4pK2CzuQlHkiRJkhaHSZOlqvK3lSRJkiRtskyIJEmSJGmIUX9n6YhJqgq4GbgI+FxV3TRXgUmSJEnSOI36O0vPAnYGtgaubGU7AjfQ/UjtvYCrkzy2qn4451FKkiRJ0gIb9TK8Y4CvA7tW1c5VtTOwK/BVuh+s3RH4PvDPUy0kydlJbk6ytr2+16vbN8nKJDcmOSvJLr26JDkqybXtdXSSzOytSpIkSdLoRk2WXg+8uqounyhow4cBb6yqa4F/AB4xwrJeXlVL2uu+AEm2A04BDge2Bc4DTu7NcwjwNGAv4IHAU4EXjxi7JEmSJM3YqMnSDsCWQ8rvBGzfhn8K3HmWcTwDWFFVH6+qm4HlwF5Jdm/1BwLHVNXlVXUF3Zmug2bZliRJkiRNa9Rk6UzguCQPS3KH9noYcCzdD9YCPAD40QjLekuSa5J8OcnjWtkewPkTE1TVDcDFrfx29W14D4ZIckiS85Kct2rVqhHfniRJkiSta9Rk6WC6M0dfBX7RXl9pZS9q06wB/maa5fwdcG9gJ+B44LQkuwFLgNUD064GtmnDg/WrgSXD7luqquOrau+q2nvZsmWjvTtJkiRJGjDS0/Cq6mrgD5PcF7gvEOC7VfX93jRnjbCcr/ZGP5jkz4GnAGuBpQOTL6VLwBhSvxRYW1U1SvySJEmSNFOjPjocgKr6HvC9aSecwSLpEq8VdPclAZBka2C3Vk77uxfwtTa+V69OkiRJkubcpMlSkn8F/r6qbmjDk6qqv5quoSR3BfYBzgFuAf4MeAzwKuA64K1JDgA+AxwBXFBVK9vsJwKvTnI6XYJ1KPCO6dqUJEmSpNma6szSA4AtesOTGfVSuC2AI4HdgV8DK4GntbNVtETpncBJdPdGPbs373F09zpd2Mbf28okSZIkaV5MmixV1eOHDc9WVa0CHjZF/Zl0idSwuqL7TafD1jcOSZIkSRrFqE/DkyRJkqRNynT3LI1klHuWJEmSJGlDMt09S6Pw8d2SJEmSNjpTJUsHApdX1W8WKhhJkiRJWiymumfpR8DdAZL8d3v0tyRJkiRtEqZKltYAy9rw47jtMeKSJEmStNGb6jK8M4H/TvLdNn5qkl8Om7CqnjDnkUmSJEnSGE2VLD0PeCFwH+CxwPeAGxciKEmSJEkat6l+lPYm4F0ASR4EHFpV1y9UYJIkSZI0TlOdWbpVVT1+vgORJEmSpMVkqgc8SJIkSdImy2RJkiRJkoYwWZIkSZKkISZNlpK8P8k2bfgxSUa6v0mSJEmSNgZTnVl6LrB1Gz4L2Hb+w5EkSZKkxWGqs0WXAK9I8gUgwO8l+dmwCavqf+YhNkmSJEkam6mSpb8F3gP8PVDAqZNMV8BmcxyXJEmSJI3VVD9K+0ngk0nuClwH7AFcvVCBSZIkSdI4Tfs0vKq6Hng88IOqunbYa6aNJvmdJDcnOalXtm+SlUluTHJWkl16dUlyVJJr2+voJJlpu5IkSZI0qpGecFdV5yS5U5LnA/enu/TuO8BHquoXs2j3XcDXJ0aSbAecAhwMnAa8CTgZeESb5BDgacBere0zgB8C755F24vSVcceOba27/HS142tbUmSJGmxGul3lpLcH/g+8DZgH7ok5p+B7ye530waTPJs4Hrgv3rFzwBWVNXHq+pmYDmwV5LdW/2BwDFVdXlVXQEcAxw0k3YlSZIkaSZG/VHafwG+BexcVY+uqkcDOwPnA28ftbEkS4E3AocOVO3RlgVAVd0AXNzKb1ffhvdgiCSHJDkvyXmrVq0aNTRJkiRJWseoydIjgddW1c8nCtrwPwCPmkF7bwLeV1WXDZQvAVYPlK0GtpmkfjWwZNh9S1V1fFXtXVV7L1u2bAahSZIkSdJtRrpnCbgZuOuQ8ru0umkleRCwH/DgIdVrgaUDZUuBNZPULwXWVlWN0rYkSZIkzdSoZ5ZOA96T5JFJNmuvRwHHAZ8acRmPA3YFfpzkKuBvgAOSfANYQffwBgCSbA3s1soZrG/DK5AkSZKkeTJqsvRK4AfAF+nOJN0MnEP30IdXjbiM4+kSoAe117uBzwBPovvB2z2THJBkS+AI4IKqWtnmPRF4dZKdkuxId8/TCSO2K0mSJEkzNuqjw68H9k9yH+B+QIDvVNVFozZUVTcCN06MJ1kL3FxVq9r4AcA7gZOArwLP7s1+HHBv4MI2/t5WJkmSJEnzYtR7lgBoydHICdI0y1o+MH4msPsk0xZwWHtJkiRJ0rwb9TI8SZIkSdqkmCxJkiRJ0hAmS5IkSZI0xLTJUpLNk7ysPYVOkiRJkjYJ0z7goapuSfJWusd8S5IkaZbedepPx9b2/3n6DmNrW9pQjXoZ3leAh8xnIJIkSZK0mIz66PD3AMck2QX4X+CGfmVVfWOuA5MkSZKkcRo1WfpI+/u2IXUFbDY34UiSJEnS4jBqsvTb8xqFJEmSJC0yIyVLVXXpfAciSZIkSYvJyL+zlOTJST6d5DtJ7tXKDk6y7/yFJ0mSJEnjMVKylOQ5wMeAH9BdkrdFq9oMOGx+QpMkSZKk8Rn1zNJhwIuq6q+BW3rlXwEeNOdRSZIkSdKYjZos/Q7w/4aUrwWWzl04kiRJkrQ4jJosXQn87pDyxwAXz104kiRJkrQ4jJosHQ/8a5JHtvF7JTkQOBo4dl4ikyRJkqQxGvXR4UcnuQtwBrAlcBbwC+Cfqupd8xifJEmSJI3FqD9KS1X9Q5I3A/enOyP1napaO2+RSZIkSdIYjfw7S00BNwM3Ar+eaWNJTkrykyQ/T/L9JAf36vZNsjLJjUnOSrJLry5JjkpybXsdnSQzbV+SJEmSRjXq7yzdKcnbgeuA84ELgOuS/EuSLWfQ3luAXatqKfAnwJFJHppkO+AU4HBgW+A84OTefIcATwP2Ah4IPBV48QzalSRJkqQZGfXM0rHAM4GD6R4jfp82/HTg30ZtrKpWVNUvJkbbazfgGcCKqvp4Vd0MLAf2SrJ7m/ZA4JiquryqrrsWvj8AABVzSURBVACOAQ4atV1JkiRJmqlRk6VnAS+oqg9X1Q/b68PAX9IlUSNL8m9JbgRWAj8BTgf2oDtjBUBV3UD3SPI9WtE69W14D4ZIckiS85Kct2rVqpmEJkmSJEm3GjVZugG4Ykj5FcBNM2mwql4GbAM8mu7Su18AS4DVA5OubtMxpH41sGTYfUtVdXxV7V1Vey9btmwmoUmSJEnSrUZNlt4BvD7JVhMFbfjwVjcjVfXrqvoScE/gpcBaYOnAZEuBNW14sH4psLaqaqZtS5IkSdIoJn10eJJPDRQ9DrgiyQVt/AFt/q3Xs/3dgBV09yVNtL11r5z2dy/ga218r16dJEmSJM25qX5n6dqB8U8MjP9oJg0l2R54AvBpukv39gP+HPgL4FzgrUkOAD4DHAFcUFUr2+wnAq9OcjrdQyEOZRZntCRJkiRpVJMmS1X1gjluq+guuXs33eV/lwKvqqpPArRE6Z3AScBXgWf35j0OuDdwYRt/byuTJEmSpHkx1ZmlOVVVq4DHTlF/JrD7JHUFHNZekiRJkjTvRkqWktyN7rePHg9sz8CDIapq+zmPTJIkSZLGaNQzSyfS/a7RB4Gf0l1SJ0mSJEkbrVGTpccBj62qb8xjLJIkSZK0aIz6O0sXz2BaSZIkSdrgjZoAvRJ4S5K9kmw2nwFJkiRJ0mIw6mV4FwFbAd8ASLJOZVWZQEmSJEnaqIyaLH0UuAvwV/iAB0mSJEmbgFGTpb2Bh1fVt+czGEmSJElaLEa9Z+k7wNL5DESSJEmSFpNRk6XXAW9Lsl+SHZJs23/NZ4CSJEmSNA6jXoZ3evv7Bda9Xylt3Ac8SJIkSdqojJosPX5eo5AkSZKkRWakZKmqzpnvQCRJkiRpMRkpWUrykKnqq+obcxOOJEmSJC0Oo16Gdx7dvUn9X6Pt37vkPUuSJEmSNiqjJku/PTC+BfBg4B+Av5/TiCRJkiRpERj1nqVLhxRflGQ18Hrgs3MalSRJkiSN2ai/szSZHwEPmotAJEmSJGkxGSlZGvwR2iR3T7In8BbgeyMu405J3pfk0iRrknwzyZN79fsmWZnkxiRnJdmlV5ckRyW5tr2OTpLhLUmSJEnS+hv1nqVrWPeBDtA97OEy4M9m0NZlwGOBHwNPAT6W5AHAWuAU4GDgNOBNwMnAI9q8hwBPA/ZqcZwB/BB494htS5IkSdKMzPZHaX8DrAIuqqpbRllAVd0ALO8VfTrJj4CHAncHVlTVxwGSLAeuSbJ7Va0EDgSOqarLW/0xwIswWZIkSZI0T8b2o7RJdgB+F1gBvBQ4v9feDUkuBvYAVra/5/dmP7+VSZIkSdK8mDJZSrLtKAupqutm0miSLYAPAx+sqpVJltCdqepbDWzThpe08X7dkiSpqnUuD0xyCN1le+y8884zCUuSJEmSbjXdmaVh9yoNqhGWc6skdwA+BPwSeHkrXgssHZh0KbBmkvqlwNrBRAmgqo4HjgfYe++9p4tdkiRJkoaaLskZvFep7w+BVwIj3bME3VPtgPcBOwBPqapftaoVdPclTUy3NbBbK5+o3wv4Whvfq1cnSZIkSXNuymRp2L1KSR4CHAU8BjiO7sl1ozoWuB+wX1Xd1Cs/FXhrkgOAzwBHABe0hzsAnAi8OsnpdGeyDgXeMYN2JUmSJGlGRv5R2iS/neQjwFeB64D7V9VfVdXgvUaTzb8L8GK6H7G9Ksna9npOW8YBwJuBnwH7AM/uzX4c3SPFLwS+TZdQHTdq7JIkSZI0U9Pea5Tk7nRnel4CfBn4vao6b6YNVdWldL/NNFn9mcDuk9QVcFh7SZIkSdK8m/LMUpLXAhfT/ZDs/lX1hNkkSpIkSZK0oZnuzNKRwE3A5cDLkrxs2ERV9SdzHZgkSZIkjdN0ydKJTP/ocEmSJEna6Ez3NLyDFigOSZIkSVpURv4x2Y3BqmNPGlvby1763LG1LUmSJGnmRn50uCRJkiRtSkyWJEmSJGkIkyVJkiRJGsJkSZIkSZKGMFmSJEmSpCFMliRJkiRpCJMlSZIkSRrCZEmSJEmShjBZkiRJkqQhTJYkSZIkaQiTJUmSJEkawmRJkiRJkoYwWZIkSZKkIUyWJEmSJGmIBU2Wkrw8yXlJfpHkhIG6fZOsTHJjkrOS7NKrS5KjklzbXkcnyULGLkmSJGnTstBnlq4EjgTe3y9Msh1wCnA4sC1wHnByb5JDgKcBewEPBJ4KvHgB4pUkSZK0iVrQZKmqTqmq/wSuHah6BrCiqj5eVTcDy4G9kuze6g8Ejqmqy6vqCuAY4KAFCluSJEnSJmix3LO0B3D+xEhV3QBc3MpvV9+G92CIJIe0S/3OW7Vq1TyFK0mSJGljt1iSpSXA6oGy1cA2k9SvBpYMu2+pqo6vqr2rau9ly5bNS7CSJEmSNn6LJVlaCywdKFsKrJmkfimwtqpqAWKTJEmStAlaLMnSCrqHNwCQZGtgt1Z+u/o2vAJJkiRJmicL/ejwzZNsCWwGbJZkyySbA6cCeyY5oNUfAVxQVSvbrCcCr06yU5IdgUOBExYydkmSJEmbloU+s/Q64CbgNcBz2/DrqmoVcADwZuBnwD7As3vzHQecBlwIfBv4TCuTJEmSpHmx+UI2VlXL6R4LPqzuTGD3SeoKOKy9JEmSJGneLZZ7liRJkiRpUTFZkiRJkqQhTJYkSZIkaQiTJUmSJEkawmRJkiRJkoYwWZIkSZKkIUyWJEmSJGkIkyVJkiRJGsJkSZIkSZKGMFmSJEmSpCFMliRJkiRpCJMlSZIkSRrCZEmSJEmShjBZkiRJkqQhTJYkSZIkaQiTJUmSJEkawmRJkiRJkoYwWZIkSZKkITaYZCnJtklOTXJDkkuT/MW4Y5IkSZK08dp83AHMwLuAXwI7AA8CPpPk/KpaMd6wJEmSJG2MNogzS0m2Bg4ADq+qtVX1JeBTwPPGG5kkSZKkjVWqatwxTCvJg4Fzq2qrXtnfAI+tqj8emPYQ4JA2el/ge3MYynbANXO4vLlkbLNjbLNjbLNjbLNjbLNjbLNjbLO3mOMzttnZVGLbpaqWDavYUC7DWwKsHihbDWwzOGFVHQ8cPx9BJDmvqvaej2WvL2ObHWObHWObHWObHWObHWObHWObvcUcn7HNjrFtIJfhAWuBpQNlS4E1Y4hFkiRJ0iZgQ0mWvg9snuR3emV7AT7cQZIkSdK82CCSpaq6ATgFeGOSrZM8Etgf+NAChzIvl/fNEWObHWObHWObHWObHWObHWObHWObvcUcn7HNziYf2wbxgAfofmcJeD/wROBa4DVV9ZHxRiVJkiRpY7XBJEuSJEmStJA2iMvwJEmSJGmhmSxJkiRJ0hCbZLKU5OVJzkvyiyQnDNQdnOSiJGuTfC7Jjr26OyV5d5KfJrkuyWlJdurVPyjJF5OsTnJ5kiMWMLa7Jvlgkqvba/nAvIs5tt9P8rUka5JckORRM4zrTknel+TStoxvJnlyr37fJCuT3JjkrCS79OqS5Kgk17bX0UnSq9+1zXNjW8Z+iyi2NyW5MMktg+t03PEl2T7JR5Nc2fa5LyfZZzHE1urPSrIqyc+TnJ9k/8USW2+6xyapJEcultiSXJLkpnSf87VJvrBYYmvTvDLJj5LckOS7SX533LEl2bm3viZeleTQccfW6tfr2DDPsY3z2PD4VrY6ySVDlj3OY8N0sa3XsWE+Y+tNN47+bbr1Ns7+bdr1lvH1b5PGlvH3b9Nt0/X+3xeAqtrkXsAzgKcBxwIn9MofC1wN7AHcsdWf06s/DDgf2AHYku5pfKf06r8DvBnYDNgN+AnwJwsU2weAjwN3BnYFLgZesNhjA7al+/XlZ7XYngv8DLjbDOLaGljeln0H4Kl0v8G1K92vO69uy98SeCvwld68Lwa+B9wT2Kmtp5f06v8f8DZgK+AA4Hpg2SKJ7UDgycAngeWz/CzMS3zAvYFXA7/VtushbTsvGXdsrf6BwOZteJ+23N9aDLG1abYAvgV8BThyMWzTVn8JsN9s9rUFiO1g4ALg/kDo+rltF0NsA+38NvBrYNfFEBvreWyYr9gY/7Hh4cDz6PquS4Yse5zHhuliW69jw3zGNub+bbr1dgnj69+mi22c/du027Q37UL3b9Ott/X+37eqNs1kqbcSj2Tdf/r/CXhXb3xHoIDd2vixwNG9+j8CvtcbvxG4f2/848DfL1Bs1wAP69W/FvjiYo+tfShWDCz/+8Bfrue2vYDuAHYIcG6vfGvgJmD3Nn4ucEiv/i8nPojA7wK/ALbp1X+RSf4JWsjYBpZ3ErNMlhYivl79z4GHLrbY6Drbm4GHL5bYgNcARwMnMMN/JuYzNtbzn4n5io3uAHsZsO9ii23IMl8PnLVYYmMOjw1zvE3Hemzole/HwD9hjPnYMFVsA/VzdmyYy9gYU/82XWyMsX+bZn8ba/826v7WplnQ/m2EbTon/dsmeRneFNJe/XGAPdvf9wGPTLJjkjsDzwE+25v+7cDzk2yR5L7A7wFnLlBsDKnv1y3W2AbnHayfeTDJDnQHsxV0Z7vOn6ir7je7Lm7lDNa34X7dD6tqzST144xtXsxXfEkeRHfW8aLFEluSTye5GfgqcDZw3mKIrV1i8ELgjbONZ75iaz6c7hLGLyTZa5HEds/22jPJZe1SlTckmfUxbh4/q88HPjjbuOYhtjk9NsxhbOM+Nkxl3MeGBTWXsY25fxvFuPq3qYy7f5uJhe7fpjMn/ZvJ0rpOB/40yQOTbAUcQXeG5M6t/vvAj4Er6L4lvx/rfuA/DTyTLutdCbyvqr6+QLF9DnhNkm2S3IeuM7pzb/7FGtu5wI5J/rztzAfSnSq9M7OQZAvgw8AHq2olsITuFG7famCbNjxYvxpYkiQjzDvO2ObcfMWXZCndJatvqKrB5Y0ttqp6apv+KcDnq+o3iyS2fwUOr6q1s4lnnmN7Dt2lEbsAZwGfT3LXRRDbPVvZHwAPAB4P/DndmYpxx9Zf7qPpLuP+j9nENU+xzdmxYY5jG/exYSrjPjYsmHmIbZz923TG2b9NZdz926jLHUf/Np056d9Mlnqq6r/oTiF+AriU7pTsGuDyNsmxdNdM3p3uVOAptDNL6X4093N0ydOWwL2AJyV52QLF9ld0O8MP6K5T/uhE3WKOraquBfanu7/lp8Af0mX9lzND7VuWDwG/BF7eitcCSwcmXdriG1a/FFhb3fna6eYdZ2xzar7ia8nzaXSX1rxlMcUGUFW/qqrP0n0e/mTcsSX5Y7pLe06eaSzzHRtAVX25qm6qqhvb9rweePQiiO2mVnZ0VV1fVZcAx9ElwuOOre9A4BOz/UdxHva3OTs2zHVsi+DYMJVxHxsWxFzHtgj6tymNuX+byrj7t1GNo3+banlz1r+ZLA2oqndV1e9U1fZ0//xvDny7Ve9Fd6/OdVX1C+AdwMOTbEd3Q/uvq+rEqrqlqi4H/p1Z7Myzia3F9JyqukdV7UG3bb/WZl3MsVFV51TVw6pqW7ob9e7brx9F+ybyfXTfahxQVb9qVSvottvEdFvTfTu5Ylh9G+7X3TvJNpPUjzO2OTNf8SW5E/CfdGdiX7yYYhti8zb/uGPbF9g7yVVJrgL+DHhVkk8ugtiGKW5/qdQ4Yvse3QF2vb5ImM/11r44eBazvERlnmKbk2PDfK23MR8bpjLuY8O8m6fYxt2/zdRC9m9TGXf/Nsqyx9W/TWXu/vetObxZbEN50f1jtCXwFrosdste2Z50H46d6e5j+MfefB+gSwTuQvc0l9cCV7S6pXTfQvwFXTJwD7qn5bx5gWLbje6M12Z0T8G5BthjscfW6h/c1udSuutLvzyLbfpuuifrLBkoX0Z3yvaAFudRrHtz80uA79I9iWlHug9g/0lRX6F7gMWWwNOZ4ROP5jm2Ldp8H6F76MaWwGaLYd212E6jS5Y2X4/P6nzEtnvbD7dqcT6X7kD0kEUQ2zZ0n8+J18nAPzODpx7NY2w7A4+ku/dsS+BvgVXA3ccdW6s/ke6Si23oLltZyQwfBjBfsbVp/oLuzHsW0Wdhro4N87VNx3lsuEMrf3LbblsCd+zVj/PYMF1s631smI/YGH//NlVs4+7fptum4+zfpoytTTOu/m2qbTon/VtVbbLJ0nK6DL3/Wg7cle4JHDcAV9ElBZv15rs73bWUV7cN8CV6T9ACngB8vW3Yq4D3AHdeoNj+FLiS7skf3wKeNLDcxRzbR1tcq+k6z+1nGNcuLZab6U7ZTrye0+r3o+tYbqJL5HbtzRu6p/Jc115H0/uw012/fHab93vM8Ek58xzbCUO2x0GLIT66x8lX2+b95T56EcR2P7qHOqyh+xx/HXj6YlhvQ9o5gZk/Wne+1tse3PY5vxb4L2DvxRBbq19K963hGronRx0x2XodxzYFPg+8aSbra4HW23odG+Y5tnEeGx7H7fvXs3v1uzK+Y8N0sZ0wpP6gxRDbQDsnsLD926SxMf7+bbptOs7+bdptyvj6t+nW23r/71tVtx4EJUmSJEk93rMkSZIkSUOYLEmSJEnSECZLkiRJkjSEyZIkSZIkDWGyJEmSJElDmCxJkiRJ0hAmS5IkSZI0hMmSJGmDkuSkJN9KcseB8n2T/CrJ748rNknSxsVkSZK0oXk5cHfg9RMFSZYC7wfeWlXnzkejg8mZJGnjZ7IkSdqgVNX1wAuAw5I8vBX/M/AzYDlAkj2TfDbJmiRXJ/lwkh0mlpFknyRnJLkmyeokX+wtiySbJ6kkL0nyySQ3AG9csDcpSVoUTJYkSRucqjoTOBY4MckzgecAz6uqXybZCTgH+CbwMOCJwF2BU5OkLWIb4IPAo4FHABcCn01yt4Gm3gB8EngA8O75fVeSpMUmVTXuGCRJmrEkW9ElRL8DvKaq3trK/xF4aFU9qTftdsCqVv6NIcsKcDXwiqr69ySbA78C3l5Vfz3/70aStBh5ZkmStEGqqpuAfwJ+ARzTq3oo8PgkaydewCWtbjeAJDskOT7J95OsBtbQ3Qe180Az583ne5AkLW6bjzsASZLWwy3Ab6rqN72yOwCnAX83ZPqr2t+T6C7NexVwKV3CdTYw+BCHG+YyWEnShsVkSZK0sfkGsD9wSVXdMsk0jwIOqarTAZL8FnCPBYpPkrSB8DI8SdLG5h3AdsBHkzw8yb2TPDHJe9t9TgDfB56X5H7tKXj/Tnd2SZKkW5ksSZI2KlV1OfBIYDPg88AK4J3AjXQPbQA4iO4yvG8CHwGOAy5b6FglSYubT8OTJEmSpCE8syRJkiRJQ5gsSZIkSdIQJkuSJEmSNITJkiRJkiQNYbIkSZIkSUOYLEmSJEnSECZLkiRJkjSEyZIkSZIkDfH/AacPRPTgwTgEAAAAAElFTkSuQmCC\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Flight between Newark and Honolulu airport (the more common distance of 4962 miles)\n",
"nf_ewr_nhl = df_filtered[(df_filtered.Distance == 4962)]['Year'].value_counts()\n",
"\n",
"plt.figure(figsize=(14, 4))\n",
"sns.barplot(nf_ewr_nhl.index, nf_ewr_nhl.values)\n",
"plt.title('Number of flights between Newark Liberty International and Honolulu International airpors')\n",
"plt.ylabel('Number of flights')\n",
"plt.xlabel('Year')\n",
"plt.show()\n",
"\n",
"# Pretty much 2 per day since 1999"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:27.838656Z",
"start_time": "2019-10-14T20:48:26.633959Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Flight between Newark and Honolulu airport (the less common distance of 4963 miles)\n",
"nf_ewr_nhl = df_filtered[(df_filtered.Distance == 4963)]['Year'].value_counts()\n",
"\n",
"plt.figure(figsize=(14, 4))\n",
"sns.barplot(nf_ewr_nhl.index, nf_ewr_nhl.values)\n",
"plt.title('Number of flights between Newark Liberty International and Honolulu International airpors')\n",
"plt.ylabel('Number of flights')\n",
"plt.xlabel('Year')\n",
"plt.show()\n",
"\n",
"# Pretty much 2 per day since 1999"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The flights between Honolulu International Airport and Newark Liberty International should travel exactly 4962 miles. However, due to the tragedy in in 2001, the trajectory of the route has been changed slightly, accounting for the change in the distance flown. If we sum up the above two histograms, we can see that the service was never suspended: \n",
"2 flights per day since 1999!"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:29.371721Z",
"start_time": "2019-10-14T20:48:27.841367Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Flight between Newark and Honolulu airport (all distances)\n",
"nf_ewr_nhl = df_filtered[(df_filtered.Distance == 4962) | \n",
" (df_filtered.Distance == 4963)]['Year'].value_counts()\n",
"\n",
"plt.figure(figsize=(14, 4))\n",
"sns.barplot(nf_ewr_nhl.index, nf_ewr_nhl.values)\n",
"plt.title('Number of flights between Newark Liberty International and Honolulu International airpors')\n",
"plt.ylabel('Number of flights')\n",
"plt.xlabel('Year')\n",
"plt.show()\n",
"\n",
"# Pretty much 2 per day since 1999"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's do the same, now of the right JFK --- HNL pair."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:30.501292Z",
"start_time": "2019-10-14T20:48:29.373789Z"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Flights between John F Kennedy and Honolulu Airpot\n",
"nf_jfk_nhl = df_filtered[(df_filtered.Distance == 4983)]['Year'].value_counts()\n",
"\n",
"plt.figure(figsize=(14, 4))\n",
"sns.barplot(nf_jfk_nhl.index, nf_jfk_nhl.values)\n",
"plt.title('Number of flights between John F. Kennedy International and Honolulu International airpors')\n",
"plt.ylabel('Number of flights')\n",
"plt.xlabel('Year')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pretty much 2 flights per day since 2013 as well. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Look at some aggregates of the data & identifying the central transport hubs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are a lot of airports in this dataset. But most of them do no not contribute much to the over all traffic."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:48:36.759997Z",
"start_time": "2019-10-14T20:48:30.503658Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[########################################]: 100.00% elapsed time : 6s = 0.1m = 0.0h\n",
" Total number of flights: 183819525\n",
"Total number of unique airports: 411\n",
"Percentage of total flights contributed by the 10 most frequent airports: 33.6%\n",
"Percentage of total flights contributed by the 30 most frequent airports: 64.6%\n",
"Percentage of total flights contributed by the 50 most frequent airports: 80.1%\n",
"Percentage of total flights contributed by the 100 most frequent airports: 93.1%\n"
]
}
],
"source": [
"# Start by checking the number of flights per origin\n",
"n_flights_per_origin = df_filtered.Origin.value_counts(progress=True)\n",
"\n",
"\n",
"# See how many of the airports \"contribute\" to the total traffic.\n",
"print('Total number of flights:', n_flights_per_origin.sum())\n",
"print('Total number of unique airports:', len(n_flights_per_origin))\n",
"_ = n_flights_per_origin[:10].sum() / n_flights_per_origin.sum() * 100\n",
"print('Percentage of total flights contributed by the 10 most frequent airports: %.1f%%' % (_))\n",
"_ = n_flights_per_origin[:30].sum() / n_flights_per_origin.sum() * 100\n",
"print('Percentage of total flights contributed by the 30 most frequent airports: %.1f%%' % (_))\n",
"_ = n_flights_per_origin[:50].sum() / n_flights_per_origin.sum() * 100\n",
"print('Percentage of total flights contributed by the 50 most frequent airports: %.1f%%' % (_))\n",
"_ = n_flights_per_origin[:100].sum() / n_flights_per_origin.sum() * 100\n",
"print('Percentage of total flights contributed by the 100 most frequent airports: %.1f%%' % (_))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we wanna turn our attention to just the dominant transport hubs, i.e. the more frequently used airports. \n",
"To do this, let's construct a DataFrame in which we will aggregate some of the flight data that we are interested in, based on the point of Origin of each flight. We will also count the number of flights departing from each Origin. \n",
"\n",
"From the this grouped DataFrame, let's filter out airports with less than 200_000 departures. The rationale is the following: for an airport to be considered frequently used, we require for it to have, on average, 20 destinations per day, one flight per day for each of the over 30 years. These criteria are of course arbitrary."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:49:01.477513Z",
"start_time": "2019-10-14T20:48:36.765408Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
#
Origin
count
Distance_mean
Distance_std
TaxiIn_mean
TaxiIn_std
TaxiOut_mean
TaxiOut_std
DepDelay_mean
DepDelay_std
\n",
"\n",
"\n",
"
0
EWR
3859089
949.0571505347506
683.2925150804604
6.838859406285781
5.2516574875636035
25.176960048736476
16.315227934779696
12.16040468644496
36.88187947317769
\n",
"
1
CVG
2236016
609.4698910920137
462.1946183756504
7.084379192896184
25.313514489463852
16.22206424898427
14.008528839181672
7.816483497436057
31.602297095284012
\n",
"
2
IAH
4536870
823.7763056909279
478.1311208961596
6.222613386537248
4.511241307472678
18.27043037853273
10.227049373119087
8.016037724277812
29.73318498885663
\n",
"
3
CMH
1043900
553.7959335185362
419.27614762353124
7.491396621204861
7.516344340461818
12.457756452366263
8.72102111843323
7.867450008695839
33.14990352504729
\n",
"
4
MSP
3991564
781.2819729309113
454.3176216823334
6.767775443591901
5.983795721994184
18.494465320732463
10.732072657149963
7.25238365298468
29.763247664698596
\n",
"
...
...
...
...
...
...
...
...
...
...
...
\n",
"
103
ISP
217621
680.4168439626691
399.45987051857014
5.340379240609876
15.117993471455739
9.534550794316752
6.063978121339791
7.429246477090541
27.84409835266481
\n",
"
104
LBB
236482
330.7310577549243
111.3834323713817
5.9124980334345265
4.882674768768664
8.967333306178974
5.144326845523153
6.31462146038509
27.81948038801572
\n",
"
105
MDW
2036806
683.0181455671282
456.4011863833172
5.485737155429885
5.139088077261766
12.095677916191496
7.944049952532181
11.454665250031036
30.028289049173726
\n",
"
106
JAN
274483
402.2841451018825
160.00579622018353
8.076626032355284
10.868612839525154
10.921605833984447
6.6165198941456795
7.065939519638525
31.954831690328525
\n",
"
107
FAT
239846
419.3971923651009
338.8946939867262
7.950092585296667
5.206262971708373
11.36442416995143
6.085021086488832
6.833798912193658
35.815952046865924
\n",
"\n",
"
"
],
"text/plain": [
"# Origin count Distance_mean Distance_std TaxiIn_mean TaxiIn_std TaxiOut_mean TaxiOut_std DepDelay_mean DepDelay_std\n",
"0 EWR 3859089 949.0571505347506 683.2925150804604 6.838859406285781 5.2516574875636035 25.176960048736476 16.315227934779696 12.16040468644496 36.88187947317769\n",
"1 CVG 2236016 609.4698910920137 462.1946183756504 7.084379192896184 25.313514489463852 16.22206424898427 14.008528839181672 7.816483497436057 31.602297095284012\n",
"2 IAH 4536870 823.7763056909279 478.1311208961596 6.222613386537248 4.511241307472678 18.27043037853273 10.227049373119087 8.016037724277812 29.73318498885663\n",
"3 CMH 1043900 553.7959335185362 419.27614762353124 7.491396621204861 7.516344340461818 12.457756452366263 8.72102111843323 7.867450008695839 33.14990352504729\n",
"4 MSP 3991564 781.2819729309113 454.3176216823334 6.767775443591901 5.983795721994184 18.494465320732463 10.732072657149963 7.25238365298468 29.763247664698596\n",
"... ... ... ... ... ... ... ... ... ... ...\n",
"103 ISP 217621 680.4168439626691 399.45987051857014 5.340379240609876 15.117993471455739 9.534550794316752 6.063978121339791 7.429246477090541 27.84409835266481\n",
"104 LBB 236482 330.7310577549243 111.3834323713817 5.9124980334345265 4.882674768768664 8.967333306178974 5.144326845523153 6.31462146038509 27.81948038801572\n",
"105 MDW 2036806 683.0181455671282 456.4011863833172 5.485737155429885 5.139088077261766 12.095677916191496 7.944049952532181 11.454665250031036 30.028289049173726\n",
"106 JAN 274483 402.2841451018825 160.00579622018353 8.076626032355284 10.868612839525154 10.921605833984447 6.6165198941456795 7.065939519638525 31.954831690328525\n",
"107 FAT 239846 419.3971923651009 338.8946939867262 7.950092585296667 5.206262971708373 11.36442416995143 6.085021086488832 6.833798912193658 35.815952046865924"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Group by origin, calculate some aggregate stats\n",
"df_group_by_origin = df_filtered.groupby(by='Origin', agg={'Year': 'count',\n",
" 'Distance': ['mean', 'std'],\n",
" 'TaxiIn': ['mean', 'std'],\n",
" 'TaxiOut': ['mean', 'std'],\n",
" 'DepDelay': ['mean', 'std'],\n",
" })\n",
"\n",
"# Require to have at least 200k flights, to be considered a typical commercial airport \n",
"# (~20 destinations with one flight per day for at least 30 years)\n",
"df_group_by_origin = df_group_by_origin[(df_group_by_origin['count'] > 200_000)]\n",
"df_group_by_origin"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using the aggregations, we can examine, for instance, which are the most far-reaching airports."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:49:01.503137Z",
"start_time": "2019-10-14T20:49:01.479496Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
#
Origin
count
Distance_mean
Distance_std
TaxiIn_mean
TaxiIn_std
TaxiOut_mean
TaxiOut_std
DepDelay_mean
DepDelay_std
\n",
"\n",
"\n",
"
0
SJU
702358
1464.27
405.821
8.51326
6.78075
14.767
6.08924
8.07646
38.908
\n",
"
1
HNL
1.01435e+06
1434.64
1461.09
6.24755
4.49869
14.1278
5.32919
3.01592
32.826
\n",
"
2
JFK
2.37464e+06
1329.25
881.625
6.90835
9.6304
28.4205
17.3369
11.6521
39.1827
\n",
"
3
SEA
3.10943e+06
1177.29
632
6.46298
4.91571
15.5762
6.61427
7.46982
28.2154
\n",
"
4
ANC
569356
1171.8
796.034
5.14451
3.55129
12.8845
6.35645
5.93125
30.087
\n",
"
5
OGG
389631
1118.23
1248.24
6.57531
4.92173
8.99997
4.78332
2.52952
34.3253
\n",
"
6
SFO
4.31266e+06
1104.17
870.573
6.67325
5.17686
17.4708
7.7682
10.6094
32.9309
\n",
"
7
LAX
6.17816e+06
1080.4
861.132
6.16223
4.77581
15.6503
7.52632
8.33092
28.1817
\n",
"
8
MIA
2.18468e+06
998.621
502.731
7.6241
6.25082
18.2477
9.4347
10.0096
34.5715
\n",
"
9
EWR
3.85909e+06
949.057
683.293
6.83886
5.25166
25.177
16.3152
12.1604
36.8819
\n",
"\n",
"
"
],
"text/plain": [
" # Origin count Distance_mean Distance_std TaxiIn_mean TaxiIn_std TaxiOut_mean TaxiOut_std DepDelay_mean DepDelay_std\n",
" 0 SJU 702358 1464.27 405.821 8.51326 6.78075 14.767 6.08924 8.07646 38.908\n",
" 1 HNL 1.01435e+06 1434.64 1461.09 6.24755 4.49869 14.1278 5.32919 3.01592 32.826\n",
" 2 JFK 2.37464e+06 1329.25 881.625 6.90835 9.6304 28.4205 17.3369 11.6521 39.1827\n",
" 3 SEA 3.10943e+06 1177.29 632 6.46298 4.91571 15.5762 6.61427 7.46982 28.2154\n",
" 4 ANC 569356 1171.8 796.034 5.14451 3.55129 12.8845 6.35645 5.93125 30.087\n",
" 5 OGG 389631 1118.23 1248.24 6.57531 4.92173 8.99997 4.78332 2.52952 34.3253\n",
" 6 SFO 4.31266e+06 1104.17 870.573 6.67325 5.17686 17.4708 7.7682 10.6094 32.9309\n",
" 7 LAX 6.17816e+06 1080.4 861.132 6.16223 4.77581 15.6503 7.52632 8.33092 28.1817\n",
" 8 MIA 2.18468e+06 998.621 502.731 7.6241 6.25082 18.2477 9.4347 10.0096 34.5715\n",
" 9 EWR 3.85909e+06 949.057 683.293 6.83886 5.25166 25.177 16.3152 12.1604 36.8819"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Sort the grouped dataframe by the mean distance, and show the top 10 rows.\n",
"df_group_by_origin.sort(by='Distance_mean', ascending=False).head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The furthest reaching airports are of course those located in remote places like Hawaii, Alaska, or Puerto Rico. In addition to these, the largest central hubs like LA, NY, SF, Miami are also far-reaching.\n",
"\n",
"Next, let's find the mean distance of all the mean distances in the grouped DataFrame. This gives a \"natural\" scale between big cities or populare destination for the U.S.; i.e. it gives a sense of the typical separation beteween important destinations. "
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:49:01.517066Z",
"start_time": "2019-10-14T20:49:01.505191Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
"597.9130442788901"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Mean Distance\n",
"df_group_by_origin.Distance_mean.mean()\n",
"# Median distance\n",
"np.median(df_group_by_origin.Distance_mean.values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Taxi times\n",
"\n",
"Let's look at the distribution of mean taxi-in and taxi-out times for the frequent airports."
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:49:01.747436Z",
"start_time": "2019-10-14T20:49:01.518832Z"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAEUCAYAAAA8z6yoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de5wcVZnw8d+TiwlmuBnC/U1CIgQFBNnhJq6QF4UVFWFRomLCRUDQsPsiKiwvwYBIUPbFy3LZ5Y4Q+SBCVlkVddcAwrpIQBGDEAQSCBdNQCEDIZDwvH90JzZDz6Vnerq7Zn7fz6c/6Tp1quqpSmXmyalT50RmIkmSVGTDmh2AJElSf5nQSJKkwjOhkSRJhWdCI0mSCs+ERpIkFZ4JjSRJKjwTGkmSVHgjGnmwiJgJHAnsBFyXmUeWyw8H/q2i6jBgPaA9M++psp9bgT2B1eWiJzNzSk/H32STTXLixIl9PwFJktQ099xzz/LMHFdtXUMTGuAp4GzgAEoJCwCZOReYu3Y5Io4EZgH3drOvmZl5WS0HnzhxIgsWLKhlE0mS1CIiYklX6xqa0GTmTQAR0Q5s3U3VI4Bvp8MYS5KkXmi5PjQRMQF4D/DtHqrOiYjlEXFnROw78JFJkqRW1XIJDTAD+EVmPtZNnVOAScBWwCXAzRExuVrFiDguIhZExIJly5bVP1pJktR0rZrQXN1dhcy8KzNXZOaqzLwauBM4sIu6l2Rme2a2jxtXtR+RJEkquEZ3Cu5WROwNbAl8r8ZNE4j6RyRJErz66qssXbqUl19+udmhDHqjR49m6623ZuTIkTVt1+jXtkeUjzkcGB4Ro4HVmbn29esjgBszc0U3+9gI2AO4jdJr29Mo9bn5PwMZuyRp6Fq6dCnrr78+EydOJML/Pw+UzOTZZ59l6dKlbLPNNjVt2+hHTqcDK4FTgU+Wv58OUE5uDqPK46aIOC0iflxeHEnp1e9lwHLgRODgzHxowKOXJA1JL7/8MmPHjjWZGWARwdixY/vUEtbo17ZnA7O7WPcysFEX686p+L4M2G0AwtMgd9SVv2L+Q113DJ86ZRxXHrV7AyOSVCQmM43R1+vcip2CpQHRXTLTm/WSpNbVUp2CpUZYfO4H3lA28dQfNiESSWpdkydP5tprr2WvvfZ6w7pFixax++6785e//KUJkVVnC40kSQXV1ta27jNs2DDWW2+9dctz587teQfdeOSRR6omMwDbbbddSyUzYAuNJEmF1dHRse77xIkTueyyy3jve9/bxIiaxxYaSZIGqTvvvJM99tiDDTfckC233JKTTjqJ1atLI6XMnz+fTTfdlKeffhqAu+++m4033phHH30UgM0335w77rij6n4ffPBBRoz4a5vInnvuyZlnnsmee+7JBhtswIEHHsif//znAT6717OFRpKkGjWq3121Pn+1GDlyJBdccAG77rorixcv5oADDmDKlCkcf/zxTJ06lenTp3P00Udz4403Mn36dM477zwmTZrUp2N95zvf4Uc/+hGbb74573vf+/jmN7/J7Nmz+xV/LWyhkSRpkNp9993ZbbfdGD58OJMnT+aYY47htttuW7f+nHPOYenSpeyxxx5MmTKFY445ps/HOvbYY5k8eTJjxozhIx/5CL/5zW/qcQq9ZguNJEk16m/LSaM88MADnHzyydx7772sXLmS1atXs/fee69bP2rUKGbMmMEXv/hFLrrooqr7WLVqFWPHjl23vPaRVGebb775uu9vfvObX9e/pxFsoZEkaZA69thj2XXXXXnkkUd44YUXOOOMM8jMdesXL17MnDlzOOKII17Xv6bSqFGj6OjoWPfZdNNNG3kKvWZCI0nSILVixQo23HBD2traWLhwIZdeeum6da+99hozZszgxBNP5IorrqCtrY2zzjqridH2jwmNJEmD1Ne//nUuu+wy2tra+OxnP8u0adPWrTvvvPNYuXIls2bNYtiwYVx99dVceOGF3HXXXU2MuO+isulpsGtvb88FCxY0Owz1U1/nZFr7VkJ3IwUX5bm4pMb6/e9/z9ve9rZmhzFkdHW9I+KezGyvto0tNCoc52SSJHXmW04qLOdkkiStZQuNJEkqPBMaSZJUeCY0kiSp8ExoJElS4ZnQSJKkwjOhkSRJhdfQhCYiZkbEgohYFRFXVZRPjIiMiI6Kz6xu9vOWiJgXES9GxJKI+ERDTkCSpCFi8uTJ/PKXv2x2GL3W6Baap4CzgSu6WL9RZraVP1/uZj8XAq8AmwGHAxdHxA71DVWSpNbW1ta27jNs2DDWW2+9dctz587t174feeQR9tprrzpF+le33HILb33rW+u+34YOrJeZNwFERDuwdV/2ERFjgEOBHTOzA7gjIn4ATAdOrVeskiS1uo6OjnXfJ06cyGWXXcZ73/veJkbUPK02UvCSiEjgZ8AXMnN5lTrbAWsyc1FF2X3APo0IUAOvp7maBlJXIw13NT+UujH3o/DwT7tev+3+cPgNjYtHGoLuvPNOPve5z/Hggw8yZswYpk2bxnnnnceIESOYP38+06ZN47777mOLLbbg7rvvZv/99+eee+5h0qRJbL755nzve9/j3e9+d9V933jjjcyaNYunnnqK9vZ2Lr74Yrbddltefvll1ltvPZ544gm23rrUdvGxj32MHXfckRNOOIFDDjmEVatW0dbWBsCSJUsYO3Zsv8+1VRKa5cBuwG+AsZQeKc0FDqhStw14vlPZ88D61XYcEccBxwGMHz++TuFqIPUmmZk6ZVxdjzl1yrhuj+v8UH3QXTLTm/VSK5u9YYOO0/nXXW1GjhzJBRdcwK677srixYs54IADmDJlCscffzxTp05l+vTpHH300dx4441Mnz6d8847j0mTJvW439/97ncceeSR3HzzzbzrXe/iq1/9KgcddBD3339/t9uNHTuWefPmMXPmTP7whz/069w6a4mEpvzoaO002H+MiJnA0xGxQWa+0Kl6B7BBp7INgBVd7PsS4BIozbZdv6g10Bo583V3rS/OD9VP1X4gN+qXgTTE7b77X3+2TZ48mWOOOYbbbruN448/HoBzzjmH9vZ29thjD6ZMmcIxxxzTq/1ed911HHLIIey7774AnHbaaXzrW99iwYIF7LLLLnU/j95oiYSmirWJR1RZtwgYERHbZubD5bKdgYUNiUySpH62nDTKAw88wMknn8y9997LypUrWb16NXvvvfe69aNGjWLGjBl88Ytf5KKLLqq6j1WrVr3ukdCjjz7KU089xYQJE9aVDR8+nK222oonn3yyaQlNo1/bHhERo4HhwPCIGF0u2yMipkTEsIgYC3wLuDUz33DHZOaLwE3AWRExJiL2Bj4MXNPIc5EkqdUde+yx7LrrrjzyyCO88MILnHHGGWT+9WHF4sWLmTNnDkcccQQnnXQSq1evfsM+Ro0aRUdHx7rPpptuypZbbsmSJUvW1VmzZg1PPvkkW221FW9605sYOXIkL7300rr1zzzzzLrvEdXaKvqv0a9tnw6spPQ20ifL308HJgG3UHps9DtgFfDxtRtFxGkR8eOK/XwGWA/4E3AdcEJm2kIjSVKFFStWsOGG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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Taxing\n",
"plt.figure(figsize=(8, 4))\n",
"df_group_by_origin.plot1d('TaxiIn_mean', limits=[0, 30], lw=2, shape=64, label='Taxi-in')\n",
"df_group_by_origin.plot1d('TaxiOut_mean', limits=[0, 30], lw=2, shape=64, label='Taxi-out')\n",
"plt.xlabel('Taxi [min]')\n",
"plt.legend()\n",
"plt.show()\n",
"\n",
"# Taxing out on average takes much longer than Taxing in: \n",
"# makes sense, you don't wait so much once the plane landf, but can often wait on \"queue\" before taking off"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's point fingers and find the airports with the shortest and longest taxi times."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"ExecuteTime": {
"end_time": "2019-10-14T20:49:01.800771Z",
"start_time": "2019-10-14T20:49:01.749478Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Shortest Taxi-In:\n"
]
},
{
"data": {
"text/html": [
"