diff --git a/DataScienceGuidedCapstone b/DataScienceGuidedCapstone new file mode 160000 index 000000000..752307a89 --- /dev/null +++ b/DataScienceGuidedCapstone @@ -0,0 +1 @@ +Subproject commit 752307a894bc05dc095427868c7c103ea4ce6153 diff --git a/Notebooks/02_data_wrangling.ipynb b/Notebooks/02_data_wrangling.ipynb index 115e4463e..5807c8872 100644 --- a/Notebooks/02_data_wrangling.ipynb +++ b/Notebooks/02_data_wrangling.ipynb @@ -120,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 14, "metadata": { "scrolled": true }, @@ -170,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -187,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -261,7 +261,7 @@ "[330 rows x 27 columns]>" ] }, - "execution_count": 26, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -288,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 23, "metadata": { "scrolled": true }, @@ -502,7 +502,7 @@ "[5 rows x 27 columns]" ] }, - "execution_count": 30, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -543,7 +543,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -714,7 +714,7 @@ "NightSkiing_ac 600.0" ] }, - "execution_count": 36, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -750,7 +750,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -831,7 +831,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -949,7 +949,7 @@ "[330 rows x 3 columns]" ] }, - "execution_count": 48, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -979,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -1018,7 +1018,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -1032,7 +1032,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 57, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1045,7 +1045,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -1059,7 +1059,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 59, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1079,7 +1079,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 45, "metadata": {}, "outputs": [ { @@ -1136,7 +1136,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -1145,7 +1145,7 @@ "33" ] }, - "execution_count": 77, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -1172,7 +1172,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -1220,7 +1220,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 82, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1238,7 +1238,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 56, "metadata": {}, "outputs": [ { @@ -1253,7 +1253,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 85, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -1283,7 +1283,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -1294,7 +1294,7 @@ "dtype: int64" ] }, - "execution_count": 89, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -1329,7 +1329,7 @@ }, { "cell_type": "code", - "execution_count": 94, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -1397,7 +1397,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 68, "metadata": {}, "outputs": [ { @@ -1470,7 +1470,7 @@ "Connecticut 47.800000 56.800000" ] }, - "execution_count": 100, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1485,7 +1485,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -1536,7 +1536,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 73, "metadata": {}, "outputs": [], "source": [ @@ -1555,7 +1555,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 74, "metadata": {}, "outputs": [ { @@ -1628,7 +1628,7 @@ "4 Arizona AdultWeekday 74.0" ] }, - "execution_count": 114, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -1646,7 +1646,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 76, "metadata": {}, "outputs": [ { @@ -1718,7 +1718,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 82, "metadata": {}, "outputs": [ { @@ -2075,7 +2075,7 @@ "NightSkiing_ac 114.00 650.0 " ] }, - "execution_count": 124, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } @@ -2097,7 +2097,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 84, "metadata": {}, "outputs": [ { @@ -2109,7 +2109,7 @@ "Name: count, dtype: float64" ] }, - "execution_count": 127, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -2142,7 +2142,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 88, "metadata": { "scrolled": true }, @@ -2153,7 +2153,7 @@ "" ] }, - "execution_count": 132, + "execution_count": 88, "metadata": {}, "output_type": "execute_result" }, @@ -2210,7 +2210,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 92, "metadata": {}, "outputs": [ { @@ -2596,7 +2596,7 @@ "[66 rows x 27 columns]" ] }, - "execution_count": 140, + "execution_count": 92, "metadata": {}, "output_type": "execute_result" } @@ -2616,7 +2616,7 @@ }, { "cell_type": "code", - "execution_count": 143, + "execution_count": 94, "metadata": {}, "outputs": [ { @@ -3041,7 +3041,7 @@ "NightSkiing_ac NaN 300.0 " ] }, - "execution_count": 143, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -3092,7 +3092,7 @@ }, { "cell_type": "code", - "execution_count": 162, + "execution_count": 100, "metadata": {}, "outputs": [ { @@ -3101,7 +3101,7 @@ "26819.0" ] }, - "execution_count": 162, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } @@ -3114,7 +3114,7 @@ }, { "cell_type": "code", - "execution_count": 166, + "execution_count": 101, "metadata": {}, "outputs": [], "source": [ @@ -3125,7 +3125,7 @@ }, { "cell_type": "code", - "execution_count": 168, + "execution_count": 102, "metadata": {}, "outputs": [ { @@ -3134,7 +3134,7 @@ "1819.0" ] }, - "execution_count": 168, + "execution_count": 102, "metadata": {}, "output_type": "execute_result" } @@ -3161,7 +3161,7 @@ }, { "cell_type": "code", - "execution_count": 172, + "execution_count": 105, "metadata": {}, "outputs": [ { @@ -3198,7 +3198,7 @@ }, { "cell_type": "code", - "execution_count": 176, + "execution_count": 108, "metadata": {}, "outputs": [ { @@ -3209,7 +3209,7 @@ "Name: Snow Making_ac, dtype: float64" ] }, - "execution_count": 176, + "execution_count": 108, "metadata": {}, "output_type": "execute_result" } @@ -3220,7 +3220,7 @@ }, { "cell_type": "code", - "execution_count": 178, + "execution_count": 109, "metadata": {}, "outputs": [ { @@ -3391,7 +3391,7 @@ "NightSkiing_ac NaN" ] }, - "execution_count": 178, + "execution_count": 109, "metadata": {}, "output_type": "execute_result" } @@ -3448,7 +3448,7 @@ }, { "cell_type": "code", - "execution_count": 189, + "execution_count": 116, "metadata": {}, "outputs": [ { @@ -3460,7 +3460,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 189, + "execution_count": 116, "metadata": {}, "output_type": "execute_result" } @@ -3478,7 +3478,7 @@ }, { "cell_type": "code", - "execution_count": 198, + "execution_count": 118, "metadata": {}, "outputs": [], "source": [ @@ -3496,7 +3496,7 @@ }, { "cell_type": "code", - "execution_count": 201, + "execution_count": 120, "metadata": {}, "outputs": [ { @@ -3621,7 +3621,7 @@ "[2 rows x 26 columns]" ] }, - "execution_count": 201, + "execution_count": 120, "metadata": {}, "output_type": "execute_result" } @@ -3648,7 +3648,7 @@ }, { "cell_type": "code", - "execution_count": 207, + "execution_count": 123, "metadata": {}, "outputs": [ { @@ -3688,7 +3688,7 @@ }, { "cell_type": "code", - "execution_count": 211, + "execution_count": 126, "metadata": {}, "outputs": [ { @@ -3705,7 +3705,7 @@ "Name: yearsOpen, dtype: float64" ] }, - "execution_count": 211, + "execution_count": 126, "metadata": {}, "output_type": "execute_result" } @@ -3723,7 +3723,7 @@ }, { "cell_type": "code", - "execution_count": 232, + "execution_count": 128, "metadata": {}, "outputs": [ { @@ -3823,8 +3823,117 @@ ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 135, "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", + "
stateresorts_per_statestate_total_skiable_area_acstate_total_days_openstate_total_terrain_parksstate_total_nightskiing_ac
0Alaska32280.0345.04.0580.0
1Arizona21577.0237.06.080.0
2California2125948.02738.081.0587.0
3Colorado2243682.03258.074.0428.0
4Connecticut5358.0353.010.0256.0
\n", + "
" + ], + "text/plain": [ + " state resorts_per_state state_total_skiable_area_ac \\\n", + "0 Alaska 3 2280.0 \n", + "1 Arizona 2 1577.0 \n", + "2 California 21 25948.0 \n", + "3 Colorado 22 43682.0 \n", + "4 Connecticut 5 358.0 \n", + "\n", + " state_total_days_open state_total_terrain_parks \\\n", + "0 345.0 4.0 \n", + "1 237.0 6.0 \n", + "2 2738.0 81.0 \n", + "3 3258.0 74.0 \n", + "4 353.0 10.0 \n", + "\n", + " state_total_nightskiing_ac \n", + "0 580.0 \n", + "1 80.0 \n", + "2 587.0 \n", + "3 428.0 \n", + "4 256.0 " + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#Code task 27#\n", "#Add named aggregations for the sum of 'daysOpenLastYear', 'TerrainParks', and 'NightSkiing_ac'\n", @@ -3835,212 +3944,844 @@ "state_summary = ski_data.groupby('state').agg(\n", " resorts_per_state=pd.NamedAgg(column='Name', aggfunc='size'), #could pick any column here\n", " state_total_skiable_area_ac=pd.NamedAgg(column='SkiableTerrain_ac', aggfunc='sum'),\n", - " state_total_days_open=pd.NamedAgg(column=__, aggfunc='sum'),\n", - " ___=pd.NamedAgg(column=___, aggfunc=___),\n", - " ___=pd.NamedAgg(column=___, aggfunc=___)\n", - ").___\n", + " state_total_days_open=pd.NamedAgg(column='daysOpenLastYear', aggfunc='sum'),\n", + " state_total_terrain_parks=pd.NamedAgg(column='TerrainParks', aggfunc='sum'),\n", + " state_total_nightskiing_ac=pd.NamedAgg(column= 'NightSkiing_ac', aggfunc='sum'),\n", + ").reset_index()\n", "state_summary.head()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "## 2.8 Drop Rows With No Price Data" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "You know there are two columns that refer to price: 'AdultWeekend' and 'AdultWeekday'. You can calculate the number of price values missing per row. This will obviously have to be either 0, 1, or 2, where 0 denotes no price values are missing and 2 denotes that both are missing." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 138, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 82.317073\n", + "2 14.329268\n", + "1 3.353659\n", + "Name: count, dtype: float64" + ] + }, + "execution_count": 138, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "missing_price = ski_data[['AdultWeekend', 'AdultWeekday']].isnull().sum(axis=1)\n", "missing_price.value_counts()/len(missing_price) * 100" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "About 14% of the rows have no price data. As the price is your target, these rows are of no use. Time to lose them." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 140, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 281 entries, 0 to 329\n", + "Data columns (total 26 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Name 281 non-null object \n", + " 1 Region 281 non-null object \n", + " 2 state 281 non-null object \n", + " 3 summit_elev 281 non-null int64 \n", + " 4 vertical_drop 281 non-null int64 \n", + " 5 base_elev 281 non-null int64 \n", + " 6 trams 281 non-null int64 \n", + " 7 fastSixes 281 non-null int64 \n", + " 8 fastQuads 281 non-null int64 \n", + " 9 quad 281 non-null int64 \n", + " 10 triple 281 non-null int64 \n", + " 11 double 281 non-null int64 \n", + " 12 surface 281 non-null int64 \n", + " 13 total_chairs 281 non-null int64 \n", + " 14 Runs 278 non-null float64\n", + " 15 TerrainParks 237 non-null float64\n", + " 16 LongestRun_mi 276 non-null float64\n", + " 17 SkiableTerrain_ac 279 non-null float64\n", + " 18 Snow Making_ac 244 non-null float64\n", + " 19 daysOpenLastYear 237 non-null float64\n", + " 20 yearsOpen 281 non-null float64\n", + " 21 averageSnowfall 272 non-null float64\n", + " 22 AdultWeekday 274 non-null float64\n", + " 23 AdultWeekend 277 non-null float64\n", + " 24 projectedDaysOpen 240 non-null float64\n", + " 25 NightSkiing_ac 166 non-null float64\n", + "dtypes: float64(12), int64(11), object(3)\n", + "memory usage: 59.3+ KB\n" + ] + } + ], "source": [ "#Code task 28#\n", "#Use `missing_price` to remove rows from ski_data where both price values are missing\n", - "ski_data = ski_data[___ != 2]" + "ski_data = ski_data[missing_price != 2]\n", + "ski_data.info()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "## 2.9 Review distributions" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 142, "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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q8/4LHUqs7XmM8dkHppqTNaaz5b4HQEsc1wcU91Yai4D1pvPNeGYLXvMlprPln6sbc6xA+YdvynHXls+W95J0ERERERERERERFVgIYyIiIiIiIiIiKwCC2FERERERERERGQVzPIaYfURoNoJdXnDz/e+uGiwAaMhosZgPhNZBuYykeVgPhORIXWY80O9+itaCCT11f0t4u8K1YYzwoiIiIiIiIiIyCqwEEZERERERERERFaBhTAiIiIiIiIiIrIKLIQREREREREREZFVYCGMiIiIiIiIiIisAgthRERERERERERkFVgIIyIiIiIiIiIiq8BCGBERERERERERWQXb+nReuHAhtm7dirNnz8LBwQEhISFYvHgxunTpIvURQiA+Ph6rV69Gfn4+goKCsHLlSnTr1k3qo1arMXPmTGzatAklJSUIDw/HqlWr0K5dO8ONjIiIiCxShzk/NHodFxcNNkAkRERERGRu6jUjLD09HVOnTsXBgweRlpaGsrIyREZGoqioSOqTlJSEpUuXYsWKFcjMzIRSqURERAQKCwulPrGxsUhJScHmzZuxf/9+3L17F9HR0SgvLzfcyIiIiIiIiIiIiO5TrxlhO3bs0Hm+du1atGnTBocPH0b//v0hhMCyZcswf/58DB8+HACwbt06eHp6YuPGjZg8eTLu3LmDNWvWYP369XjyyScBABs2bICPjw927dqFgQMHGmhoRERERERERERE/9Ooa4TduXMHAODu7g4AyMrKQm5uLiIjI6U+CoUCoaGhyMjIAAAcPnwYGo1Gp4+3tzcCAgKkPkRERERERERERIZWrxlh9xNCIC4uDo899hgCAgIAALm5uQAAT09Pnb6enp7Izs6W+tjZ2cHNzU2vj3b5ytRqNdRqtfS8oKAAAKDRaKDRaKpcRtuusBH1HVqV6zFF2thMOcbGsvQx1mV8ljp2IiIiIiIioubW4ELYtGnTcPz4cezfv1/vNZlMpvNcCKHXVllNfRYuXIj4+Hi99tTUVDg6Ota43nf6VNT4em22b9/eqOWbQ1pamrFDaHKWPsaaxldcXNyMkRARERERERFZrgYVwqZPn47vvvsOe/fu1bnTo1KpBHBv1peXl5fUnpeXJ80SUyqVKC0tRX5+vs6ssLy8PISEhFT5fnPnzkVcXJz0vKCgAD4+PoiMjISLi0uVy2g0GqSlpeHNQzZQ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GBERkYXjNUiIiIiIiO5hIYyIiMjC8Rok+jrM+cEg67m4aLBB1kNEREREzYOFMCIiIgvHa5AQEREREd1T70LY3r17sWTJEhw+fBg5OTlISUmRLrQL3LvLVHx8PFavXi39q/LKlSvRrVs3qY9arcbMmTOxadMmlJSUIDw8HKtWrUK7du0MMigioqoYYgYIZ38QERERERGZr3pfLL+oqAg9evTAihUrqnw9KSkJS5cuxYoVK5CZmQmlUomIiAgUFhZKfWJjY5GSkoLNmzdj//79uHv3LqKjo1FeXt7wkRAREREREREREdWg3jPCoqKiEBUVVeVrQggsW7YM8+fPx/DhwwEA69atg6enJzZu3IjJkyfjzp07WLNmDdavX48nn3wSALBhwwb4+Phg165dGDhwYCOGQ0REREREREREVLV6zwirSVZWFnJzcxEZGSm1KRQKhIaGIiMjAwBw+PBhaDQanT7e3t4ICAiQ+hARERERERERERmaQS+Wn5ubCwDw9PTUaff09ER2drbUx87ODm5ubnp9tMtXplaroVarpecFBQUAAI1GA41GU+Uy2naFjWjASPTXY4q0sZlyjI1l6WOsy/gsdexEREREREREza1J7hopk8l0ngsh9Noqq6nPwoULER8fr9eempoKR0fHGtf7Tp+KWqKt2fbt2xu1fHNIS0szdghNztLHWNP4iouLmzESIiIiIiIiIstl0EKYUqkEcG/Wl5eXl9Sel5cnzRJTKpUoLS1Ffn6+zqywvLw8hISEVLneuXPnIi4uTnpeUFAAHx8fREZGwsXFpcplNBoN0tLS8OYhG6grai7C1eSkynSvWaYdY0REBORyubHDaRKWPsa6jE87A5KIiIiIiIiIGseghTA/Pz8olUqkpaWhZ8+eAIDS0lKkp6dj8eLFAIDevXtDLpcjLS0NI0aMAADk5OTg5MmTSEpKqnK9CoUCCoVCr10ul9daHFFXyKAub3ghzByKL3XZDubO0sdY0/gsedxEREREREREzanehbC7d+/ijz/+kJ5nZWXh2LFjcHd3R/v27REbG4vExET4+/vD398fiYmJcHR0xJgxYwAArq6umDhxImbMmIFWrVrB3d0dM2fORGBgoHQXSSIiIiIiIiIiIkOr910jDx06hJ49e0ozvuLi4tCzZ0+89dZbAIBZs2YhNjYWU6ZMQZ8+fXD16lWkpqbC2dlZWscHH3yAYcOGYcSIEXj00Ufh6OiIf//732jRooWBhkVEhqBSqSCTyXQe2lOggXvX9lOpVPD29oaDgwPCwsJw6tQpI0ZMREREREREVL16zwgLCwuDENXfiVEmk0GlUkGlUlXbx97eHsuXL8fy5cvr+/ZE1My6deuGXbt2Sc/vL1gnJSVh6dKlSE5ORufOnZGQkICIiAicO3dOp/hNREREVJUOc35o9DouLhpsgEiIiMha1HtGGBFZF1tbWyiVSunRunVrAPdmgy1btgzz58/H8OHDERAQgHXr1qG4uBgbN240ctRERERERERE+gx6sXwisjznz5+Ht7c3FAoFgoKCkJiYiI4dOyIrKwu5ubmIjIyU+ioUCoSGhiIjIwOTJ0+ucn1qtRpqtVp6rr0rpkajgUajqXIZbbvCpvrZqM2luhgbuh5Drc8UcEx1Xx8RERERERkHC2FEVK2goCB8/vnn6Ny5M65du4aEhASEhITg1KlTyM3NBQB4enrqLOPp6Yns7Oxq17lw4ULEx8frtaempsLR0bHGeN7pU9GAURjW9u3bDbq+tLQ0g67PFHBM1SsuLjbIesh0dJjzAxQtBJL6AgGqnQ26UzVP6yIiIiJqPiyEEVG1oqKipP8PDAxEcHAwOnXqhHXr1qFfv34A7l0X8H5CCL22+82dOxdxcXHS84KCAvj4+CAyMhIuLi5VLqPRaJCWloY3D9lAXVH/PzIN6aRqoEHWox1TREQE5HK5QdZpbBxT7bQzIImIiIiIyDhYCCOiOnNyckJgYCDOnz+PYcOGAQByc3Ph5eUl9cnLy9ObJXY/hUIBhUKh1y6Xy2stNKgrZA2abWFIhi7w1GXc5oZjqnk9RERERERkPLxYPhHVmVqtxpkzZ+Dl5QU/Pz8olUqdU8ZKS0uRnp6OkJAQI0ZJREREREREVDXOCCOias2cORNDhgxB+/btkZeXh4SEBBQUFCAmJgYymQyxsbFITEyEv78//P39kZiYCEdHR4wZM8bYoRMRERERERHpYSGMiKp15coVjB49Gjdu3EDr1q3Rr18/HDx4EL6+vgCAWbNmoaSkBFOmTEF+fj6CgoKQmpoKZ2dnI0dOREREREREpI+FMCKq1ubNm2t8XSaTQaVSQaVSNU9ARERERJV0mPNDo9fBu7cSEVkPXiOMiIiIiIiIiIisAmeEERHVA//VmYiIiIgsUYBqp9Hv0E7UHDgjjIiIiIiIiIiIrAJnhBERERERERER/X88C8SycUYYERERERERERFZBRbCiIiIiIiIiIjIKrAQRkREREREREREVoGFMCIiIiIiIiIisgq8WD4RERERERERkQHV5YL7ihYCSX2BANVOqMtleq/zgvtNgzPCiIiIiIiIiIjIKrAQRkREREREREREVoGFMCIiIiIiIiIisgoshBERERERERERkVVgIYyIiIiIiIiIiKwCC2FERERERERERGQVWAgjIiIiIiIiIiKrYGvsAIiIrE2HOT9A0UIgqS8QoNoJdbms3uu4uGhwE0RGRERERERk2TgjjIiIiIiIiIiIrAJnhBERERGZuQ5zfmj0OjjTlKxZXXKottnczCEiIvPAQlgteGBJRERERERERGQZeGokERERERERERFZBc4IIyIiIiIiIiIyMTxDrWlwRhgREREREREREVkFzghrBqziEhERkam7/3iltouCNyUe8xAREVFT4owwIiIiIiIiIiKyCpwRRkRERERERERkgXiGmj6jzghbtWoV/Pz8YG9vj969e2Pfvn3GDIeIGoi5TGQ5mM9EloP5TGQ5mM9EhmO0GWFbtmxBbGwsVq1ahUcffRT/+te/EBUVhdOnT6N9+/bGCouI6om5bL4M8a9D92voNYUs7V+YzBnzmchyMJ+JLAfzmSyBKc1MM1ohbOnSpZg4cSImTZoEAFi2bBl27tyJjz/+GAsXLjRWWERUT8xlIsvBfCZTYEoHyuaM+dz8+N2lpsJ8JmOr6vfNmDfWaSyjFMJKS0tx+PBhzJkzR6c9MjISGRkZev3VajXUarX0/M6dOwCAW7duQaPRVPkeGo0GxcXFsNXYoLzCvD6Uqvxt5pd6bQobgTd6VuDh+VuhbqYx/jI3vFneR0v7Od68eRNyubxZ37s51GV8hYWFAAAhRHOGVif1zWWA+axlWyFQXFzR4DHdvHmz8TGUFTV6HTrra+CYDDEWQwha+JNeW31/Z2v7jbT2fLbEXAaYz6bIEMdNNeWzKecywHxuKs2RF6ayT9Sy9GNxwPLy2dqOtc19f2XO8Rsj9tp+I+ucz8IIrl69KgCI//znPzrt7777rujcubNe/wULFggAfPBh1Y/Lly83V4rWWX1zWQjmMx98AMxnPviwlIcp5rIQzGc++GjIw1LymbnMBx+157NR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uVxendUzWdymuqfNNs3JyYGnp6e035ua0uLZlPY5tsVwVWd7zDme9cWY91fWXX/Kqr+pxzJQdjwb+2esDbbRNJh7PJvTd2e2w/BUd1u0jWejTIQpb+msWbNmqcFsZ2eHmjVrGv3OYyi4TXWvPNvUVG9lLi2eTWmfY1sMlz7aY47xrC/GvL+y7vqjbf1NNZaBsuPZ2D9jbbCNpsHc49mcvjuzHYZHX20pK55N7yFoIiIiIiIiIiIiDZgIIyIiIiIiIiIis8BEGBERERERERERmQWj7COsOjWYvL3S67gS31MHNSEyb4xFItPAWCai4nhMIDIcvtG7kFdY8b7SGItkLHhHGBERERERERERmQXeEUZERERGpTx3kCgsBRLaqv/KzV+tiYiIiMwT7wgjIiIiIiIiIiKzwEQYERERERERERGZBSbCiIiIiIiIiIjILLCPMCIiIiIiqpDKjjJHRERU3XhHGBEREREREZEOxcXF4cUXX4SDgwNcXFzQp08fXLhwQaWMEALR0dHw8PCAra0tgoODcebMGZUyeXl5GDt2LGrXrg17e3v07t0b169fr86mEJkcJsKIiIiIiIiIdCgtLQ1jxozBoUOHkJKSgidPniAsLAwPHjyQyiQkJGDu3LlYuHAhjhw5Ajc3N4SGhiI3N1cqExUVhaSkJKxfvx779+/H/fv3ERERgcLCQn00i8gk8NFIIiIiIiIiIh3auXOnyuuVK1fCxcUFx44dw0svvQQhBObPn4+pU6eiX79+AIBVq1bB1dUV69atw8iRI3Hv3j2sWLEC3377Lbp27QoAWLNmDTw9PbF7925069at2ttFZAp4RxgRERERERFRFbp37x4AwMnJCQCQnp6OzMxMhIWFSWUUCgWCgoJw4MABAMCxY8dQUFCgUsbDwwO+vr5SGSIqP94RRkRERERERFRFhBAYP348OnbsCF9fXwBAZmYmAMDV1VWlrKurK65evSqVsba2Rq1atdTKKJd/Vl5eHvLy8qTXOTk5AICCggIUFBRoXEY5XWEhyts0jevRF+X767selWUq7QCqvy3avg8TYURERERERERV5L333sOff/6J/fv3q82TyVRHXRVCqE17Vmll4uLiEBMTozY9OTkZdnZ2pa53RpuiUueXZceOHZVaXldSUlL0XQWdMJV2ANXXlocPH2pVjokwIiIiIiIioiowduxY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6GrwC2PWYPL2Sq/jSnxPHdSEiIiMARNhRGbq/v37uHTpkvQ6PT0dJ0+ehJOTE+rXr19m59mOjo4YPnw4JkyYAGdnZzg5OWHixInw8/OTRpEkIiIi3eLgF0RERJXDRBiRmTp69ChCQkKk18rHFSMjI5GYmKhV59nz5s2DlZUVBgwYgEePHqFLly5ITEyEpaVltbeHiIjIHHDwCyIiosphIozITAUHB0OIkkdi1KbzbBsbGyxYsAALFiyoghoSERHRszj4BRERUeUwEVYN2G8BEREREREREZH+Wei7AkRERERERERERNWBiTAiIiIiIiIiIjILTIQREREREREREZFZYCKMiIiIiIiIiIjMAhNhRERERERERERkFjhqJBEREZkdXYzoDHBUZyIiIiJjwzvCiIiIiIiIiIjILPCOMCIyG7q4A4R3fxARERERERkv3hFGREREREREpGP79u1Dr1694OHhAZlMhs2bN6vMF0IgOjoaHh4esLW1RXBwMM6cOaNSJi8vD2PHjkXt2rVhb2+P3r174/r169XYCiLTw0QYERERERERkY49ePAALVu2xMKFCzXOT0hIwNy5c7Fw4UIcOXIEbm5uCA0NRW5urlQmKioKSUlJWL9+Pfbv34/79+8jIiIChYWF1dUMIpPDRyOJiIiIiIiIdCw8PBzh4eEa5wkhMH/+fEydOhX9+vUDAKxatQqurq5Yt24dRo4ciXv37mHFihX49ttv0bVrVwDAmjVr4Onpid27d6Nbt27V1hYiU8I7woiIiIiIiIiqUXp6OjIzMxEWFiZNUygUCAoKwoEDBwAAx44dQ0FBgUoZDw8P+Pr6SmWIqPx4RxgRERERERFRNcrMzAQAuLq6qkx3dXXF1atXpTLW1taoVauWWhnl8s/Ky8tDXl6e9DonJwcAUFBQgIKCAo3LKKcrLEQFWqK+Hn1Rvr++61FZptIOoPrbou37MBFGREREREREpAcymUzltRBCbdqzSisTFxeHmJgYtenJycmws7Mrdb0z2hSVUdvS7dixo1LL60pKSoq+q6ATptIOoPra8vDhQ63KMRFGREREREREVI3c3NwAPL3ry93dXZqelZUl3SXm5uaG/Px83LlzR+WusKysLAQGBmpc75QpUzB+/HjpdU5ODjw9PREWFoaaNWtqXKagoAApKSn49KgF8opKT8KV5nS0fvssU7Yj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TJgwAWlpaZg3b16JCRJLS0sEBASgSZMmWLt2LY4fP45Bgwahb9++aNasGeLj49GvXz+1kSM3bNiA5ORkjBo1Su0Xm5La06lTJ1haWkpfgE+cOIEWLVqo3C1V1WQymVpcbN++Hf/88w/+85//aFzmueeeQ//+/fHPP/8gKioKV65cQbNmzSp8V1pERATi4+Pxzz//qD2e8mxdgbLjnkjJ3d0dr776KhYvXoz8/Hz06tVLuruzcePGaNiwIf74448yz8Oa4uTPP//EwYMH1e4A1UZJMTRlyhT8/PPPGD16NJKSklSSA4WFhXj33XchhMCUKVPU1rl27Vq0bt1aev3999/jyZMnUmK+W7dusLKywv/93//xkWHSqfKcR5o2bYqAgACsXLkShYWFyMvLw5tvvqlSJiIiAjt27ICPjw9q1apV4TpZW1urnOszMzPVRo0MCgpCQkICNmzYoHI9vX79epVy5TlPl/Td4/79+7h27VqFv3t8//332Lx5M/r27StNX716tTS/eFmZTIZPP/0UFhYWeOmllwA8/U7y4Ycf4urVq3jppZc0Pk76rIpcI5BpKywsxKpVq+Dj44P//ve/avO3bduGOXPm4Oeff0ZISAi2bNmCmzdvSndZFhYWYsOGDWrLNWjQAH/++afKtD179uD+/ftl1qn49aemm0NCQkLwxRdfYN26dWjdurX0fRx4egyYN28eNm/eDLlcLiXJyhPzERERiI2NhbOzs9Y/XH/yySdwcHDABx98gAcPHiAuLk6lvgkJCfjjjz9UHo9ct26dyjrKe11c2jWRMWIirAzdunVDvXr10KtXLzRp0gRFRUU4efIk5syZgxo1amDcuHHlXue0adOk/gs+++wzODk5Ye3atdi+fTsSEhLg6Ogole3cuTNkMhmSk5MRExMjTe/atauUuS1P/2DFKX9ZLk1oaCisra0xePBgTJo0CY8fP8aSJUtw586dUpfr2LEjfvnlF3Tv3h1hYWHYsWOHSrsqwsnJCePHj0dcXBxq1aqFvn374vr164iJiYG7u7vKcNJlCQwMRK1atTBq1ChMmzYNcrkca9euxR9//KFWdtGiRejVqxfatWuHDz74APXr18fff/+NXbt2Ye3atZVqE+nejBkz0L17d4SGhmLChAkoLCzErFmzYG9vj9u3bwMo/35taWmJMWPG4KOPPoK9vb3aMMxL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srJKLDNo0CBhZWUlMjMzxW+//SbatWsnFAqFcHNzEx9++KFYtmyZ2r6Rl5cnJk2aJDw9PYWtra0ICgoSJ0+e1GrUyLy8PDFixAhRp04dIZPJ1Nadk5MjrKysBACxbds2tfq2atVKABBTp05Vm6dNzAshxP3798Unn3wiGjduLKytrYWjo6Pw8/MTH3zwgcqomfj/o0YW99133wkrKyvx5ptvSqNVK693bWxshJOTkxg+fLj46aef1Nqu7XVxcaVdExkTmRD/f/ggIiOVnp6OJk2aYNq0afj444/1XR0yUQsWLMD777+P06dPSx3uVrUrV67A29sbs2fPVvsFioiqx59//omWLVti0aJFUif4piQ6OhoxMTH4999/1fohIaKKWbduHV577TX89ttv5R48iojIUJnSNREfjSSj8scff+C7775DYGAgatasiQsXLiAhIQE1a9bE8OHD9V09MkEnTpxAeno6pk+fjpdffrnakmBEpF//93//h6tXr+Ljjz+Gu7u72iPRREQA8N133+Gff/6Bn58fLCwscOjQIcyePRsvvfQSk2BEZBJM8ZqIiTAyKvb29jh69ChWrFiBu3fvwtHREcHBwfj8889VOlEs7UZHmUymNloWUUn69u2LzMxMdOrUCUuXLtV3dYiomsyYMQPffvstmjZtih9++KFSI5sSkelycHDA+vXrMXPmTDx48ED6kjhz5kx9V42ISCdM8ZqIj0aSyWnQoAGuXr1a4vygoCCkpqZWX4WIiIiIiIiIyCDwjjAyOVu3bkVeXl6J88sagY6IiIiIiIiITJNF2UVU7du3D7169YKHhwdkMhk2b96sMl8IgejoaHh4eMDW1hbBwcE4c+aMSpm8vDyMHTsWtWvXhr29PXr37o3r169XqiFESn5+fmjTpk2Jf88Os22uGMtERERERERkbsqdCHvw4AFatmyJhQsXapyfkJCAuXPnYuHChThy5Ajc3NwQGhqK3NxcqUxUVBSSkpKwfv167N+/H/fv30dERAQKCwsr3hIiKhfGMhEREREREZmbSvURJpPJkJSUhD59+gB4egeJh4cHoqKi8NFHHwF4eseIq6srZs2ahZEjR+LevXuoU6cOvv32WwwcOBAAcOPGDXh6emLHjh3o1q1bme9bVFSEGzduwMHBATKZrKLVJzIKQgjk5ubCw8MDFhblzl1rRV+xDDCeybxUVTzv27cPs2fPxrFjx5CRkaESz8r3jYmJwbJly3Dnzh0EBARg0aJFKqOg5uXlYeLEifjuu+/w6NEjdOnSBYsXL0a9evW0rgfjmcxFdZyb9Y3xTObC1OOZsUzmROt4FpUAQCQlJUmv/+///k8AEMePH1cp17t3b/HGG28IIYT45ZdfBABx+/ZtlTItWrQQn332mcb3efz4sbh37570d/bsWQGAf/wzq79r165VJlxLBVRPLAvBeOYf/wDdx/OOHTvE1KlTxcaNGwWgGs9CCBEfHy8cHBzExo0bxalTp8TAgQOFu7u7yMnJkcqMGjVK1K1bV6SkpIjjx4+LkJAQ0bJlS/HkyROt63Ht2jW9b1v+8a86/6ry3KxvjGf+mdufqcYzY5l/5vhXVjzrtLP8zMxMAICrq6vKdFdXV2kUv8zMTFhbW6NWrVpqZZTLPysuLg4xMTFq0//73/+axNCdRKV5+PAhRowYUa2d/FdVLAOMZzJvVRXP4eHhCA8P1zhPCIH58+dj6tSp6NevHwBg1apVcHV1xbp166Q7PFesWIFvv/0WXbt2BQCsWbMGnp6e2L17t9Z3eCrbde3aNdSsWVMHLaOCggIkJycjLCwMcrlc39UxKZXZtjk5OfD09DTpAXiKx7Otra3J7YemFlum1h6g+tpk6vFsjOdmU9uf2Z7qo208V8mokc/ecimEKPM2zNLKTJkyBePHj5deKxvXp08fjcFcUFCAlJQUhIaGGtwHoy22wTAYQhtycnIwYsQIvdzKrOtYBrSPZ0PY9oaM26dkhrxt9BHP6enpyMzMRFhYmDRNoVAgKCgIBw4cwMiRI3Hs2DEUFBSolPHw8ICvry8OHDhQYiIsLy9PZZReZR+Ctra2sLW1raIWmRcrKyvY2dnB1tbW4PZnY1eZbVtQUABA/TxpSpRtq1mzJmxtbWFnZ4eaNWuazH5YUFBgUm0ytfYA1d8mU43n4rFsTIkwU9qf2Z7qV1Y86zQR5ubmBuDpnSLu7u7S9KysLOnOEjc3N+Tn5+POnTsqd5JkZWUhMDBQ43oVCgUUCoXadLlcXuqGL2u+MWAbDIM+26CP962qWAbKH8+msP9UJW6fkhnittFHffRxh2dycjLv8NSxlJQUfVfBZFVk2z58+LAKakJERETVQaeJMG9vb7i5uSElJQX+/v4AgPz8fKSlpWHWrFkAgNatW0MulyMlJQUDBgwAAGRkZOD06dNISEjQZXWIqIIYy0Smpzrv8AwLCzOaX50NnSHf4WjsKrNtc3JyqqhWREREVNXKnQi7f/8+Ll26JL1OT0/HyZMn4eTkhPr16yMqKgqxsbFo2LAhGjZsiNjYWNjZ2WHIkCEAAEdHRwwfPhwTJkyAs7MznJycMHHiRPj5+Un9khBR1WMsE5kHQ7rDkyqO27TqVGTb8rMgIiIyXuVOhB09ehQhISHSa+UvwZGRkUhMTMSkSZPw6NEjjB49WhqiPTk5WaWzsnnz5sHKygoDBgyQhmhPTEyEpaWlDpr0P77Ru5BXWLlnva/E99RRbYgMizHFMqnzjd6FhLaVO87x+GYeeIeneWgweXul18FjApUX9zsiKo7HBDIW5U6EBQcHQwhR4nyZTIbo6GhER0eXWMbGxgYLFizAggULyvv2RKQjjGUi08E7PImIiIiItFMlo0YSERFR9eEdnkRERERE2mEijIiIyMjxDk8iIiIiIu1Y6LsCRERERERERERE1YF3hBERERERERGR3jWYvB0KS1GpQaHY4T6VhXeEERERERERERGRWWAijIiIiIiIiIiIzAITYUREREREREREZBaYCCMiIiIiIiIiIrPARBgREREREREREZkFJsKIiIiIiIiIiMgsMBFGRERERERERERmgYkwIiIiIiIiIiIyC0yEERERERERERGRWWAijIiIiIiIiIiIzAITYUREREREREREZBaYCCMiIiIiIiIiIrPARBgREREREREREZkFJsKIiIiIiIiIiMgsMBFGRERERERERERmgYkwIiIiIiIiIiIyC0yEERERERERERGRWWAijIiIiIiIiIiIzAITYUREREREREREZBaYCCMiIiIiIiIiIrPARBgREREREREREZkFJsKIiIiIiIiIiMgsMBFGRERERERERERmgYkwIiIiIiIiIiIyC0yEERERERERERGRWWAijIiIiIiIiIiIzAITYUREREREREREZBaYCCMiIiIiIiKqZtHR0ZDJZCp/bm5u0nwhBKKjo+Hh4QFbW1sEBwfjzJkzeqwxkWlgIoyIiIiIiIhID5o3b46MjAzp79SpU9K8hIQEzJ07FwsXLsSRI0fg5uaG0NBQ5Obm6rHGRMaPiTAiIiIiIiIiPbCysoKbm5v0V6dOHQBP7wabP38+pk6din79+sHX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tqHy720o9BHPprD/VAVl8qsyxzlT366GuO8YSn10NcpceX+oovLTNrHrG72r0u9lqsnxklQmaW5IP1IRERFR+eg8ETZx4kT06tUL9evXR1ZWFmbOnKmxA8+GDRuiYcOGiI2NZQeeRAaK8UxkmnSR1AYq/kMVlV+ZP/7p4Ic/c/3MKrK/muu2IiIiMgU6T4SxA08i08F4JjINTGobtgaTt5c4T2EpkND26R1fhnCXOxEREZGx03kijB14EpkOxjORaWBSm4iIiIjoqSrvI4yIiIj0i0ltIiIiIqKnmAgjIjJTpT2Opa0r8T11UBMiMhU8rpA+VGS/e/axY+53RETmg4kwIqJqposvigpLHVSEiIiIiIjIzFjouwJERERERERERETVgYkwIiIiIiIiIiIyC0yEERERERERERGRWWAijIiIiIiIiIiIzAI7y68GHMmGiIiIiIiIiEj/mAgjIiIiIiIiMmO6GNWcyFjw0UgiIiIiIiIiIjILvCOMiIiIiHg3ABEREZkF3hFGRERERERERERmgYkwIiIiIiIiIiIyC3w0koiIiIiIqJJ08XgxR4onIqp6vCOMiIiIiIiIiIjMAhNhRERERERERERkFvhoJBERERERmTWOmkpExfFRZ9PGO8KIiIiIiIiIiMgsMBFGRERERERERERmgYkwIiIiIiIiIiIyC+wjzEjwGWUiIiLDw36FiIiIiIwL7wgjIiIiIiIiIiKzwEQYERERERERERGZBT4aSUREFcbHtomIiIiIyJjwjjAiIiIiIiIiIjILvCOMiIiIiIjIAFT0TmuFpUBCW8A3ehcufB6h41oREZkW3hFGRERERERERERmgYkwIiIiIiIiIiIyC0yEERERERERERGRWWAijIiIiIiIiIiIzAI7yyciKoeKdmJLRERERERE+sc7woiIiIiIiIiIyCwwEUZERERERERERGaBiTAiIiIiIiIiIjILTIQREREREREREZFZYGf5REREZFR0MWjFlfieOqgJERERERkb3hFGRERERERERERmgYkwIiIiIiIiIiIyC0yEERERERERERGRWWAfYURERGR2dNHPGBEREVFJlNcaCkuBhLaAb/Qu5BXKyrUO9mlaNZgIIyIiIiIiIgkHJSEyDIzFqsFEGBERERERkYngHa9ERKVjIsyMMJtMRIaIxyYiIiIiIqouTIRRuZTn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f/31F7y8vAAY/udg6gw9jvXFnPdLYz92EpVXXl4ezp07B3d3d632b9IOjxXlZ0znZFM8V5jKtbcSr8GpNKZ07jOHfTk7OxvXrl2Du7s7ACNsT9X3x1+9lEM8r1ixQpw9e1ZERUUJe3t7ceXKFX1XTbz77rvC0dFRpKamqgw7+vDhQ6lMfHy8cHR0FJs2bRKnTp0SgwcP1jjMar169cTu3bvF8ePHRefOnfU2LGnxkWuMpf6///67sLKyEp9//rm4ePGiWLt2rbCzsxNr1qwxqnaYMkOO46qUm5srTpw4IU6cOCEAiLlz54oTJ05IQ9Sb635pisdOouImTJggUlNTxeXLl8WhQ4dERESEcHBwkI552uzf9BSPo7pnLOdkczlXGOO1txKvwak4Yz/3mdr5prT25ObmigkTJogDBw6I9PR0sXfvXtG+fXtRt25dg21PWUwuESaEEIsWLRJeXl7C2tpavPDCC9KwyfoGQOPfypUrpTJFRUVi2rRpws3NTSgUCvHSSy+JU6dOqazn0aNH4r333hNOTk7C1tZWREREiL///ruaW/PUsydjY6n/1q1bha+vr1AoFKJJkyZi2bJlKvONpR2mzFDjuCrt3btX4zEiMjJSCGG++6UpHjuJihs4cKBwd3cXcrlceHh4iH79+okzZ85I87XZv+kpHkerhjGck83lXGGs195KvAYnJWM/95na+aa09jx8+FCEhYWJOnXqCLlcLurXry8iIyPV6mpI7SmLTAghqupuMyIiIiIiIiIiIkNhUn2EERERERERERERlYSJMCIiIiIiIiIiMgtMhBERERERERERkVlgIoyIiIiIiIiIiMwCE2FERERERERERGQWmAgjIiIiIiIiIiKzwEQYERERERERERGZBSbCiIiIiIiIiIjILDARRkREREREREREZoGJMCIiIiIiIiIiMgtMhBERERERERERkVlgIoyIiIiIiIiIiMwCE2FERERERERERGQWmAjTsa+++goymQy+vr5aL5OYmAiZTIYrV66U+/1SU1Mhk8mQmpoqTduxYweio6PVyvr6+qJp06Zq05OSkiCTydC+fXu1ed9++y1kMhm2bNlS7rppQyaT4b333quSdZfXlStXIJPJkJiYqO+qkAGp6v3i4cOHiI6OVolhXdF0fBg2bBhkMpn0Z29vjwYNGqB3795YuXIl8vLydF6P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O3bscCrbvHmzjh07dt6Yzj5bITQ01GV637599cwzz2j58uXq1q2bwsPDHdOSkpL03HPPafXq1bJarY4kWVhYmPr27asvvvhCnTp1UkhISIXLHzJkiGbNmqUmTZo4fqifz+OPP67w8HA99NBDOn78uNLT0yVJAwcOVHBwsP73f/9XN9xwQ5XmdT59+/bVm2++qTVr1jhdHrl8+XK3zB+1a9myZerWrZvj/Ztvvqni4mJHIqci/fv316pVq3To0CGnxMfSpUsVFhamnj17lvu56oyF1NRUTZ06VZs3b1a/fv3KrVPR2UXVWU7fvn01Z84cbd++3ekSqepu0xkZGXrllVeUmJjouFS6LIlYFmeZl156qdx5dOvWTYmJiZo9e7Z27dqle++9V/Xq1Su3rsViUefOnfXcc89p8eLF+vzzzyVJCQkJSklJ0auvvqrbbrvNKVkvSR9//LFee+01DRo0yGndS9IHH3xQ7ndsXFyc48yZIUOGaP369YqLi1OjRo2q00XwYQMGDFBycrJmzJjhcibhuZKSkvTMM89oz549TpcDlvcE0qqq7EzCsodnnKvsUsHykrMV7Tdrgjv7w2KxuHyf7NixQ//617+c1ktqaqreeOMNLV68mMsjAQCAW5EIu0gbNmzQoUOHNHv27HJ/eMfHx2vevHl69dVX9eSTT2rNmjXq16+fpk6dqrCwML3wwgs6fvy4y+duu+02PfHEE5o6daqSkpK0Z88ezZs3Tw0bNjxvTGVnc82ePVupqakKCgpy+iFdlghbtWqVHnnkEafP9u7dW5L0zjvvKDEx0ekH7N/+9jddc8016t27t+6//361bt1ahYWF+uabb/Tuu+86nsg1YcIEvfXWW7r22mv10EMPqVOnTiotLdWBAwe0adMmPfzww+rRo4dL3OPHj1f9+vV177336tixY/r73/+u1q1ba8aMGZoyZYq+/fZbDRo0SI0aNdKRI0f06aefql69ek5Pz6uK22+/Xc8995xuv/12PfXUU2rbtq3Wr1+vjRs3Vms+8A5vv/22goODlZycrN27d+uJJ55Q586dddNNN1X6uWnTpjnuFTV16lQ1btxYy5Yt07p16zRnzpxKx1p1xsLKlSv1hz/8QZMmTVL37t118uRJZWdna8iQIerbt6/Cw8MVExOjd955R/3791fjxo3VtGlTtW7dulrLee211zR48GDNnDlTERERWrZsmb7++uty4y8tLXXcX8xut+vAgQPasGGD3nzzTV1++eVO91FKTExUo0aNNHr0aE2bNk1Wq1XLli3T9u3bK+yf8ePHa8SIEbJYLHrggQecpq1du1bz58/XsGHD1KZNGxlj9Pbbb+vo0aNOZ3ctXbpUAwYMUEpKih588EH1799f0pkDAn/729/Uvn17LV682GXZTZs2Vb9+/fTEE0+oXr16mj9/vr7++munH+wzZsxQRkaGEhMT9eCDD+qyyy7TqVOn9N1332n9+vV68cUXL/pyM3in2bNnq1u3bsrLy3NcCluesjGVmpqqGTNmKCIiQsuXL3eMqQs5QykuLk6hoaFatmyZLr/8ctWvX1/R0dGKjo5Whw4d1L9/f6WmpiouLk6nTp3SJ598omeffVYRERG66667yp1nefvN8s6AvVju7I8hQ4boySef1LRp0xxPopwxY4ZiY2NVXFzsqDdy5EgtWrRIo0eP1t69e9W3b1+Vlpbqk08+0eWXX+64JysAAEC1efBG/X5h2LBhJiQkxOTl5VVY5+abbzbBwcEmNzfX/POf/zQ9e/Y0NpvNREZGmj//+c9m4cKFLk9ystvt5tFHHzUtW7Y0oaGhJikpyXz55ZdVemqk3W43d999t2nWrJmxWCwu8y4oKDDBwcFGklm7dq1LvF26dDGSzJQpU1ym7d+/3/zpT38yl156qbFaraZZs2YmMTHRzJw506nesWPHzOOPP24uu+wyExISYho2bGg6duxoHnroIacnuun/n351tjfeeMMEBwebO++805SUlBhjjFm9erXp27evadCggbHZbCYmJsb813/9l3n//fcdn6voaXhlTxc82w8//GBuuOEGU79+fRMeHm5uuOEGs2XLFp4a6UPK1uu2bdvM0KFDHety5MiRTk8tjImJMYMHDy53Hjt37jRDhw41DRs2NCEhIaZz584u67/s6WuLFy92Ka/KWPj111/N+PHjTatWrYzVajXNmzc3gwcPdnoi4vvvv2+uvPJKY7PZjCSnMV7V5ezZs8ckJyebunXrmsaNG5u77rrLvPPOO+U+NVL//2Q6/f/T6Vq1amWGDh1qXnvtNWO32136acuWLaZXr14mLCzMNGvWzNx9993m888/r3C82O12Y7PZzKBBg1ymff3112bkyJEmLi7OhIaGmoYNG5ru3bu79K8xZ75HZs2aZbp06WLCwsJMWFiY6dSpk5k5c6Y5duyYS/2y75P58+ebuLg4Y7VaTfv27c2yZctc6v7000/mwQcfNLGxscZqtZrGjRubbt26mSlTpjjmXbbu//rXv5a7rPKe9AnvcPZTI891yy23GEmVPjXSGGN27dplBgwY4DSmlixZ4vK01HOfQFlm1KhRJiYmxqnsjTfeMO3btzdWq9VpG3rppZfM8OHDTZs2bUxYWJgJCQkxcXFxZvTo0ebgwYNO86jKfrM6T42sauxV7Y/zsdvt5pFHHjGXXnqpqVu3runatatZvXp1ucs8efKkmTp1qmnbtq0JCQkxTZo0Mf369TNbtmyp8vIAAADOZTGmnEeEAYCXS0tL0/Tp0/XTTz9VeD8vd9i+fbu6dOmid999V0OGDKmx5fiTd999V7///e+1bt06x439a4PFYtGYMWM0b968WlsmAsu9996rN954Q/n5+ZVerhwo6A8AAOCLuDQSACqQmZmpV155RSEhIerataunw/F6e/bs0ffff6+HH35YXbp0UWpqqqdDAi7YjBkzFB0drTZt2ujYsWNau3atXnnlFT3++OMBmfShPwAAgL8gEQYAFUhOTlZsbKwWLVrEkwSr4IEHHtA///lPde3aVUuWLKmRexUBtcVqteqvf/2rfvjhBxUXF6tt27aaO3euxo8f7+nQPOJ8/WGMUUlJSaXzCAoK4nsBAAB4HJdGAgAA4KIsXrxYd955Z6V1MjMzz/tEXwAAgJpGIgwAAAAXJT8/X/v376+0zmWXXabw8PBaiggAAKB8JMIAAAAAAAAQEOp4OgAAAAAAAACgNvjkzfJLS0t16NAhhYeHc9NV+D1jjAoLCxUdHa06dfwvd814RiBhPAP+wd/HMgAA/swnE2GHDh1Sy5YtPR0GUKsOHjyoFi1aeDoMt2M8IxAxngH/4K9jGQAAf+aTibCyG60ePHhQDRo08HA051dUVKRNmzYpJSVFVqvV0+FcNH9rj+TdbSooKFDLli399gbDvjaea5I3b4e+yBv7M9DHszeuk4vhb+2RaFNV+ftYBgDAn/lkIqzscosGDRr4xA/noqIihYWFqUGDBn7xR6W/tUfyjTb562VGvjaea5IvbIe+xJv7M1DHszevkwvhb+2RaFN1+etYBgDAn3FTAwAAAAAAAAQEEmEAAAAAAAAICCTCAAAAAAAAEBB88h5htan1pHUXPY99T6a4IRIA/qKi7xVbkNGc7lJ82kbZSyq/78x3Tw+uidCAWlGVbbwybP8AAAC4UJwRBgAAAAAAgIBAIgwAAAAAAAABgUQYAAAAAAAAAgKJMAAAAAAAAAQEEmEAAAAAAAAICCTCAAAAAAAAEBCCPR0AAKD6Wk9ad9Hz+O7pwW6IBAAAAAB8B2eEAQAAAAAAICCQCAMAAAAAAEBAIBEGAAAAAACAgEAiDAAAAAAAAAGBm+XXgvi0jZrT/cy/9hLLBc2Dm1oDAAAAAABcHM4IAwAAAAAAQEAgEQYAAAAAAICAQCIMAAAAAAAAAYFEGAAAAAAAAAICiTAAAAAAAAAEBBJhAAAAAAAACAgkwgAAAAAAABAQSIQBAAAAAAAgIJAIAwAAAAAAQEAgEQYAAAAAAICAQCIMQIXS0tJksVicXpGRkY7pxhilpaUpOjpaoaGh6tOnj3bv3u3BiAEAAAAAqBiJMACV6tChgw4fPux47dy50zFtzpw5mjt3rubNm6ecnBxFRkYqOTlZhYWFHowYAAAAAIDykQgDUKng4GBFRkY6Xs2aNZN05myw559/XlOmTNHw4cMVHx+vJUuW6MSJE1q+fLmHowYAAAAAwFWwpwMA4N327dun6Oho2Ww29ejRQ7NmzVKbNm20f/9+5ebmKiUlxVHXZrMpKSlJW7Zs0X333Vfu/Ox2u+x2u+N9QUGBJKmoqEhFRUU12xgvYQsy5ZfXMU7/1rTLpqy96HnsShvohkhqRtn25E3blTfFAgAAAAQiEmEAKtSjRw8tXbpU7dq105EjRzRz5kwlJiZq9+7dys3NlSRFREQ4fSYiIkLff/99hfNMT0/X9OnTXco3bdqksLAw9zbAS83pXvn0JxNKaycQN1i/fr2nQzivjIwMT4fgcOLECU+HAAAAAAQ0EmE+ovWkdRc9j++eHuyGSBBIUlNTHf/v2LGjevXqpbi4OC1ZskQ9e/aUJFksFqfPGGNcys42efJkTZw40fG+oKBALVu2VEpKiho0aODmFnin+LSN5Zbb6hg9mVCqJz6rI3tpxX3oTbz9jLCMjAwlJyfLarV6OhxJ/zkDEgAAAIBnkAgDUGX16tVTx44dtW/fPg0bNkySlJubq6ioKEedvLw8l7PEzmaz2WSz2VzKrVar1yQrapq9pPIkl73Uct463sIX1pk3bVveEgcAAAAQqLhZPoAqs9vt+uqrrxQVFaXY2FhFRkY6XXZ2+vRpZWdnKzEx0YNRAgAAAABQPs4IA1ChRx55REOHDlWrVq2Ul5enmTNnqqCgQKNGjZLFYtGECRM0a9YstW3bVm3bttWsWbMUFhamW265xdOhAwAAAADggkQYgAr98MMPGjlypH7++Wc1a9ZMPXv21NatWxUTEyNJevTRR3Xy5Ek98MAD+vXXX9WjRw9t2rRJ4eHhHo4cAAAAAABXJMIAVGjFihWVTrdYLEpLS1NaWlrtBAQAAAAAwEUgEQYAgJ9LS0vT9OnTncoiIiKUm5sr6czTXqdPn66FCxc6zu584YUX1KFDB0+Ee148SRkAAAAXipvlAwAQADp06KDDhw87Xjt37nRMmzNnjubOnat58+YpJydHkZGRSk5OVmFhoQcjBgAAANzP7YmwtLQ0WSwWp1dkZKRjujFGaWlpio6OVmhoqPr06aPdu3e7OwwAAHCW4OBgRUZGOl7NmjWTdGa//Pzzz2vKlCkaPny44uPjtWTJEp04cULLly/3cNQAAACAe9XIpZEdOnTQ+++/73gfFBTk+H/ZUefFixerXbt2mjlzppKTk7V3715usA0AQA3Zt2+foqOjZbPZ1KNHD82aNUtt2rTR/v37lZubq5SUFEddm82mpKQkbdmyRffdd1+F87Tb7bLb7Y73BQUFkqSioiIVFRW51C8rs9Ux7mrWBSsvvgudhzvm5S1oU/XmCQAAfE+NJMLKjjqf69yjzpK0ZMkSRUREaPny5ZX+sQ0AAC5Mjx49tHTpUrVr105HjhzRzJkzlZiYqN27dzvuExYREeH0mYiICH3//feVzjc9Pd3l3mOStGnTJoWFhVX4uScTSi+gFe61fv16t80rIyPDbfPyFrSpcidOnHDbvAAAQO2qkUSYu486V/eIszvZgi7+qHXZkW9PHwF3V19xtLh2eWNMAHxLamqq4/8dO3ZUr169FBcXpyVLlqhnz56SzjwF9mzGGJeyc02ePFkTJ050vC8oKFDLli2VkpKiBg0auNQvKipSRkaGnvisjuyllc+7pu1KG3jR8yhrT3JysqxWqxui8jzaVDVlf4sCAADf4/ZEWE0cdb7QI87uMKe7++bl6SPg7jz6LXG0uLZw1BmAu9WrV08dO3bUvn37NGzYMElSbm6uoqKiHHXy8vJc9tfnstlsstlsLuVWq7XShIO91CJ7iWcTYe5M8pyvvb6INp1/XgAAwDe5PRFWE0edq3vE2Z3i0zZe9DxsdYyeTCj1+BFwdxz9ljhaXNs46gzA3ex2u7766iv17t1bsbGxioyMVEZGhq688kpJ0unTp5Wdna3Zs2d7OFIAAADAvWrk0sizueOo84UecXYHdx6x9vQRcHf3FUeLa4e3xQPA9zzyyCMaOnSoWrVqpby8PM2cOVMFBQUaNWqULBaLJkyYoFmzZqlt27Zq27atZs2apbCwMN1yyy2eDh0AAABwqzo1vYCyo85RUVFOR53LlB11TkxMrOlQAAAISD/88INGjhypyy67TMOHD1dISIi2bt2qmJgYSdKjjz6qCRMm6IEHHlBCQoJ+/PFHbdq0iac5AwAAwO+4/YwwjjoDAOBdVqxYUel0i8WitLQ0paWl1U5AAAAAgIe4PRFWdtT5559/VrNmzdSzZ0+Xo84nT57UAw88oF9//VU9evTgqDMAAAAAAABqnNsTYRx1BgAAAAAAgDeq8XuEAQAAAAAAAN6ARBgAAAAAAAACAokwAAAAAAAABAQSYQAAAAAAAAgIJMIAAAAAAAAQEEiEAQAAAAAAICCQCAMAAAAAAEBAIBEGAAAAAACAgEAiDAAAAAAAAAGBRBgAAAAAAAACAokwAAAAAAAABAQSYQAAAAAAAAgIJMIAAAAAAAAQEEiEAQAAAAAAICCQCANQofT0dF111VUKDw9X8+bNNWzYMO3du9epzh133CGLxeL06tmzp4ciBgAAAACgYiTCAFQoOztbY8aM0datW5WRkaHi4mKlpKTo+PHjTvUGDRqkw4cPO17r16/3UMQAAAAAAFQs2NMBAPBe7733ntP7RYsWqXnz5tq2bZuuvfZaR7nNZlNkZGRthwcAAAAAQLVwRhiAKvvtt98kSY0bN3Yqz8rKUvPmzdWuXTvdc889ysvL80R4AAAAAABUijPCAFSJMUYTJ07UNddco/j4eEd5amqqbrzxRsXExGj//v164okn1K9fP23btk02m81lPna7XXa73fG+oKBAklRUVKSioqKab4gXsAWZ8svrGKd/fYE3r7Oy2LwpRm+KBQAAAAhEJMICSOtJ6y56Ht89PdgNkcAXjR07Vjt27NDHH3/sVD5ixAjH/+Pj45WQkKCYmBitW7dOw4cPd5lPenq6pk+f7lK+adMmhYWFuT9wLzSne+XTn0worZ1A3MAX7geXkZHh6RAcTpw44ekQAAAAgIBGIgzAeY0bN05r1qzRhx9+qBYtWlRaNyoqSjExMdq3b1+50ydPnqyJEyc63hcUFKhly5ZKSUlRgwYN3Bp3TYhP21hj87bVMXoyoVRPfFZH9lJLjS3HnXalDfR0CBUqKipSRkaGkpOTZbVaPR2OpP+cAQkAAADAM0iEAaiQMUbjxo3TqlWrlJWVpdjY2PN+Jj8/XwcPHlRUVFS50202W7mXTFqtVq9JVlTGXlLzCSp7qaVWluMOvrDOvGnb8pY4AAAAgEDFzfIBVGjMmDF6/fXXtXz5coWHhys3N1e5ubk6efKkJOnYsWN65JFH9K9//UvfffedsrKyNHToUDVt2lTXX3+9h6MHAAAAAMAZZ4QBqNCCBQskSX369HEqX7Roke644w4FBQVp586dWrp0qY4ePaqoqCj17dtXK1euVHh4uAciBgAAAACgYiTCAFTImMqfXhgaGqqNG2vunlkAAAAAALgTl0YCAAAAAAAgIJAIAwAAAAAAQEAgEQYAAAAAAICAQCIMAAAAAAAAAYFEGAAAAAAAAAICiTAAAAAAAAAEBBJhAAAAAAAACAjBng4AAACgtrWetO6i52ELMprT3Q3BAAAAoNZwRhgAAAAAAAACAokwAAAAAAAABAQSYQAAAAAAAAgIJMIAAAAAAAAQEEiEAQAAAAAAICCQCAMAAAAAAEBACPZ0AAAA39V60rqLnsd3Tw92QyQAAAAAcH6cEQYAAAAAAICAQCIMAAAAAAAAAcGvL410xyU7AAAAAAAA8A9+nQgDgLORHAcAAACAwMalkQAAAAAAAAgIJMIAAAAAAAAQEEiEAQAAAAAAICBwjzBUS+tJ62QLMprTXYpP2yh7iaXa8/ju6cE1EBkAAJ5xofvDMuwXAQAAag+JMNQ6d9ywnB8NgP/gOwEAAABAbeHSSAAAAAAAAAQEEmEAAAAAAAAICFwaCcAnuOPyOQAAAABAYOOMMAAAAAAAAAQEjybC5s+fr9jYWNWtW1fdunXTRx995MlwAFwgxjLgPxjPAAAA8GceuzRy5cqVmjBhgubPn6+rr75aL730klJTU7Vnzx61atXKU2EBqCbGMrxBeZfO2oKM5nSX4tM2yl5iOe88ePIk4xkAAAD+z2OJsLlz5+quu+7S3XffLUl6/vnntXHjRi1YsEDp6emeCgs+wt33i6ruD2Z38vUf34xlwH8wnj3DHfs0X9+XnM1b9vH+1KcAAOA/PJIIO336tLZt26ZJkyY5laekpGjLli0u9e12u+x2u+P9b7/9Jkn65ZdfVFRUVOFygouPuyniixNcanTiRKmCi+qopLR2kyw1wd/aI3m2Tfn5+ZVOLywslCQZY2ojnGqp7liWfH881yR/HFueVN3+/N0jb170Mj+Z3L/S6YE+nouKinTixAm/2ca9acyeb19SFT3SP5CtjtHjV5aqy5S3Zb+ANp1vDFSFu7/vL3Q9Vdan3jyWAQBA5TySCPv5559VUlKiiIgIp/KIiAjl5ua61E9PT9f06dNdymNjY2ssRne7xdMBuJm/tUfyXJuaPlu1eoWFhWrYsGHNBlNN1R3Lkn+M55rkj2PLk2q7PxnPZwTSePaWMVvVba8qLqZN7ozDnS6kTVVpizeOZQAAUDmPXRopSRaL81E5Y4xLmSRNnjxZEydOdLwvLS3VL7/8oiZNmpRb39sUFBSoZcuWOnjwoBo0aODpcC6av7VH8u42GWNUWFio6OhoT4dSoaqOZcn3x3NN8ubt0Bd5Y38G+nj2xnVyMfytPRJtqipfGMsAAKB8HkmENW3aVEFBQS5HmPPy8lyOREuSzWaTzWZzKrvkkktqMsQa0aBBA7/5o1Lyv/ZI3tsmbz3aXN2xLPnPeK5J3rod+ipv60/Gs/etk4vlb+2RaFNVeOtYBgAAlavjiYWGhISoW7duysjIcCrPyMhQYmKiJ0ICcAEYy4D/YDwDAAAgEHjs0siJEyfqtttuU0JCgnr16qWFCxfqwIEDGj16tKdCAnABGMuA/2A8AwAAwN95LBE2YsQI5efna8aMGTp8+LDi4+O1fv16xcTEeCqkGmOz2TRt2jSXy0d8lb+1R/LPNtWWQBrLNY3t0L3oz+qr6fHsb+vE39oj0SYAAOD/LIbnPgMAAAAAACAAeOQeYQAAAAAAAEBtIxEGAAAAAACAgEAiDAAAAAAAAAGBRBgAAAAAAAACAokwN0lLS5PFYnF6RUZGOqYbY5SWlqbo6GiFhoaqT58+2r17twcjdvbhhx9q6NChio6OlsVi0erVq52mVyV+u92ucePGqWnTpqpXr55+//vf64cffqjFVjg7X5vuuOMOl3XWs2dPpzre1ib4Jn8cX56Snp6uq666SuHh4WrevLmGDRumvXv3OtWhP73T/PnzFRsbq7p166pbt2766KOPPB1Sufx9G0tPT5fFYtGECRMcZb7Ynh9//FF//OMf1aRJE4WFhalLly7atm2bY7ovtgkAANQOEmFu1KFDBx0+fNjx2rlzp2PanDlzNHfuXM2bN085OTmKjIxUcnKyCgsLPRjxfxw/flydO3fWvHnzyp1elfgnTJigVatWacWKFfr444917NgxDRkyRCUlJbXVDCfna5MkDRo0yGmdrV+/3mm6t7UJvskfx5enZGdna8yYMdq6dasyMjJUXFyslJQUHT9+3FGH/vQ+K1eu1IQJEzRlyhR98cUX6t27t1JTU3XgwAFPh+bCn7exnJwcLVy4UJ06dXIq97X2/Prrr7r66qtltVq1YcMG7dmzR88++6wuueQSn20TAACoRQZuMW3aNNO5c+dyp5WWlprIyEjz9NNPO8pOnTplGjZsaF588cVairDqJJlVq1Y53lcl/qNHjxqr1WpWrFjhqPPjjz+aOnXqmPfee6/WYq/IuW0yxphRo0aZP/zhDxV+xtvbBN/kj+PLk/Ly8owkk52dbYyhP71V9+7dzejRo53K2rdvbyZNmuShiKrOX7axwsJC07ZtW5ORkWGSkpLM+PHjjTG+2Z7HHnvMXHPNNRVO98U2AQCA2sMZYW60b98+RUdHKzY2VjfffLO+/fZbSdL+/fuVm5urlJQUR12bzaakpCRt2bLFU+FWWVXi37Ztm4qKipzqREdHKz4+3qvbmJWVpebNm6tdu3a65557lJeX55jmq22Cb/Hn8VUbfvvtN0lS48aNJdGf3uj06dPatm2bU39LUkpKik/0t79sY2PGjNHgwYM1YMAAp3JfbM+aNWuUkJCgG2+8Uc2bN9eVV16pl19+2THdF9sEAABqD4kwN+nRo4eWLl2qjRs36uWXX1Zubq4SExOVn5+v3NxcSVJERITTZyIiIhzTvFlV4s/NzVVISIgaNWpUYR1vk5qaqmXLlmnz5s169tlnlZOTo379+slut0vyzTbB9/jr+KoNxhhNnDhR11xzjeLj4yXRn97o559/VklJiU/uA/1lG1uxYoU+//xzpaenu0zzxfZ8++23WrBggdq2bauNGzdq9OjRevDBB7V06VJHvGXxVRSvt7UJAADUnmBPB+AvUlNTHf/v2LGjevXqpbi4OC1ZssRxA3aLxeL0GWOMS5k3u5D4vbmNI0aMcPw/Pj5eCQkJiomJ0bp16zR8+PAKP+fNbYLv8rfxVRvGjh2rHTt26OOPP3aZRn96H1/cB/rDNnbw4EGNHz9emzZtUt26dSus5yvtkaTS0lIlJCRo1qxZkqQrr7xSu3fv1oIFC3T77bc76vlSmwAAQO3hjLAaUq9ePXXs2FH79u1zPD3y3COMeXl5LkcrvVFV4o+MjNTp06f166+/VljH20VFRSkmJkb79u2T5B9tgvcLlPHlbuPGjdOaNWuUmZmpFi1aOMrpT+/TtGlTBQUF+dw+0F+2sW3btikvL0/dunVTcHCwgoODlZ2drb///e8KDg52xOMr7ZHO7K+vuOIKp7LLL7/c8fAFX1tHAACgdpEIqyF2u11fffWVoqKiFBsbq8jISGVkZDimnz59WtnZ2UpMTPRglFVTlfi7desmq9XqVOfw4cPatWuXT7RRkvLz83Xw4EFFRUVJ8o82wfsFyvhyF2OMxo4dq7ffflubN29WbGys03T60/uEhISoW7duTv0tSRkZGV7Z3/62jfXv3187d+7Ul19+6XglJCTo1ltv1Zdffqk2bdr4VHsk6eqrr9bevXudyv79738rJiZGku+tIwAAUMtq+eb8fuvhhx82WVlZ5ttvvzVbt241Q4YMMeHh4ea7774zxhjz9NNPm4YNG5q3337b7Ny504wcOdJERUWZgoICD0d+RmFhofniiy/MF198YSSZuXPnmi+++MJ8//33xpiqxT969GjTokUL8/7775vPP//c9OvXz3Tu3NkUFxd7XZsKCwvNww8/bLZs2WL2799vMjMzTa9evcyll17q1W2Cb/LH8eUp999/v2nYsKHJysoyhw8fdrxOnDjhqEN/ep8VK1YYq9VqXn31VbNnzx4zYcIEU69ePcc+0psEwjZ29lMjjfG99nz66acmODjYPPXUU2bfvn1m2bJlJiwszLz++us+2yYAAFB7SIS5yYgRI0xUVJSxWq0mOjraDB8+3OzevdsxvbS01EybNs1ERkYam81mrr32WrNz504PRuwsMzPTSHJ5jRo1yhhTtfhPnjxpxo4daxo3bmxCQ0PNkCFDzIEDBzzQmjMqa9OJEydMSkqKadasmbFaraZVq1Zm1KhRLvF6W5vgm/xxfHlKef0oySxatMhRh/70Ti+88IKJiYkxISEhpmvXriY7O9vTIZUrELaxcxNhvtied99918THxxubzWbat29vFi5c6DTdF9sEAABqh8UYY2rjzDMAAAAAAADAk7hHGAAAAAAAAAICiTAAAAAAAAAEBBJhAAAAAAAACAgkwgAAAAAAABAQSIQBAAAAAAAgIJAIAwAAAAAAQEAgEQYAAAAAAICAQCIMAAAAAAAAAYFEGAAAAAAAAAICiTAAAAAAAAAEBBJhAAAAAAAACAgkwgAAAAAAABAQ/g/N3Ei2AcnNZQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "ski_data.hist(figsize=(15, 10))\n", "plt.subplots_adjust(hspace=0.5);" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "These distributions are much better. There are clearly some skewed distributions, so keep an eye on `fastQuads`, `fastSixes`, and perhaps `trams`. These lack much variance away from 0 and may have a small number of relatively extreme values. Models failing to rate a feature as important when domain knowledge tells you it should be is an issue to look out for, as is a model being overly influenced by some extreme values. If you build a good machine learning pipeline, hopefully it will be robust to such issues, but you may also wish to consider nonlinear transformations of features." ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "## 2.10 Population data" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Population and area data for the US states can be obtained from [wikipedia](https://simple.wikipedia.org/wiki/List_of_U.S._states). Listen, you should have a healthy concern about using data you \"found on the Internet\". Make sure it comes from a reputable source. This table of data is useful because it allows you to easily pull and incorporate an external data set. It also allows you to proceed with an analysis that includes state sizes and populations for your 'first cut' model. Be explicit about your source (we documented it here in this workflow) and ensure it is open to inspection. All steps are subject to review, and it may be that a client has a specific source of data they trust that you should use to rerun the analysis." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 146, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ Name & postal abbs. [1] Cities \\\n", + " Name & postal abbs. [1] Name & postal abbs. [1].1 Capital \n", + "0 Alabama AL Montgomery \n", + "1 Alaska AK Juneau \n", + "2 Arizona AZ Phoenix \n", + "3 Arkansas AR Little Rock \n", + "4 California CA Sacramento \n", + "5 Colorado CO Denver \n", + "6 Connecticut CT Hartford \n", + "7 Delaware DE Dover \n", + "8 Florida FL Tallahassee \n", + "9 Georgia GA Atlanta \n", + "10 Hawaiʻi HI Honolulu \n", + "11 Idaho ID Boise \n", + "12 Illinois IL Springfield \n", + "13 Indiana IN Indianapolis \n", + "14 Iowa IA Des Moines \n", + "15 Kansas KS Topeka \n", + "16 Kentucky[C] KY Frankfort \n", + "17 Louisiana LA Baton Rouge \n", + "18 Maine ME Augusta \n", + "19 Maryland MD Annapolis \n", + "20 Massachusetts[C] MA Boston \n", + "21 Michigan MI Lansing \n", + "22 Minnesota MN St. Paul \n", + "23 Mississippi MS Jackson \n", + "24 Missouri MO Jefferson City \n", + "25 Montana MT Helena \n", + "26 Nebraska NE Lincoln \n", + "27 Nevada NV Carson City \n", + "28 New Hampshire NH Concord \n", + "29 New Jersey NJ Trenton \n", + "30 New Mexico NM Santa Fe \n", + "31 New York NY Albany \n", + "32 North Carolina NC Raleigh \n", + "33 North Dakota ND Bismarck \n", + "34 Ohio OH Columbus \n", + "35 Oklahoma OK Oklahoma City \n", + "36 Oregon OR Salem \n", + "37 Pennsylvania[C] PA Harrisburg \n", + "38 Rhode Island[D] RI Providence \n", + "39 South Carolina SC Columbia \n", + "40 South Dakota SD Pierre \n", + "41 Tennessee TN Nashville \n", + "42 Texas TX Austin \n", + "43 Utah UT Salt Lake City \n", + "44 Vermont VT Montpelier \n", + "45 Virginia[C] VA Richmond \n", + "46 Washington WA Olympia \n", + "47 West Virginia WV Charleston \n", + "48 Wisconsin WI Madison \n", + "49 Wyoming WY Cheyenne \n", + "\n", + " Established[A] Population [B][3] Total area[4] \\\n", + " Largest[5] Established[A] Population [B][3] mi2 km2 \n", + "0 Birmingham Dec 14, 1819 4903185 52420 135767 \n", + "1 Anchorage Jan 3, 1959 731545 665384 1723337 \n", + "2 Phoenix Feb 14, 1912 7278717 113990 295234 \n", + "3 Little Rock Jun 15, 1836 3017804 53179 137732 \n", + "4 Los Angeles Sep 9, 1850 39512223 163695 423967 \n", + "5 Denver Aug 1, 1876 5758736 104094 269601 \n", + "6 Bridgeport Jan 9, 1788 3565278 5543 14357 \n", + "7 Wilmington Dec 7, 1787 973764 2489 6446 \n", + "8 Jacksonville Mar 3, 1845 21477737 65758 170312 \n", + "9 Atlanta Jan 2, 1788 10617423 59425 153910 \n", + "10 Honolulu Aug 21, 1959 1415872 10932 28313 \n", + "11 Boise Jul 3, 1890 1787065 83569 216443 \n", + "12 Chicago Dec 3, 1818 12671821 57914 149995 \n", + "13 Indianapolis Dec 11, 1816 6732219 36420 94326 \n", + "14 Des Moines Dec 28, 1846 3155070 56273 145746 \n", + "15 Wichita Jan 29, 1861 2913314 82278 213100 \n", + "16 Louisville Jun 1, 1792 4467673 40408 104656 \n", + "17 New Orleans Apr 30, 1812 4648794 52378 135659 \n", + "18 Portland Mar 15, 1820 1344212 35380 91633 \n", + "19 Baltimore Apr 28, 1788 6045680 12406 32131 \n", + "20 Boston Feb 6, 1788 6892503 10554 27336 \n", + "21 Detroit Jan 26, 1837 9986857 96714 250487 \n", + "22 Minneapolis May 11, 1858 5639632 86936 225163 \n", + "23 Jackson Dec 10, 1817 2976149 48432 125438 \n", + "24 Kansas City Aug 10, 1821 6137428 69707 180540 \n", + "25 Billings Nov 8, 1889 1068778 147040 380831 \n", + "26 Omaha Mar 1, 1867 1934408 77348 200330 \n", + "27 Las Vegas Oct 31, 1864 3080156 110572 286380 \n", + "28 Manchester Jun 21, 1788 1359711 9349 24214 \n", + "29 Newark Dec 18, 1787 8882190 8723 22591 \n", + "30 Albuquerque Jan 6, 1912 2096829 121590 314917 \n", + "31 New York Jul 26, 1788 19453561 54555 141297 \n", + "32 Charlotte Nov 21, 1789 10488084 53819 139391 \n", + "33 Fargo Nov 2, 1889 762062 70698 183108 \n", + "34 Columbus Mar 1, 1803 11689100 44826 116098 \n", + "35 Oklahoma City Nov 16, 1907 3956971 69899 181037 \n", + "36 Portland Feb 14, 1859 4217737 98379 254799 \n", + "37 Philadelphia Dec 12, 1787 12801989 46054 119280 \n", + "38 Providence May 29, 1790 1059361 1545 4001 \n", + "39 Charleston May 23, 1788 5148714 32020 82933 \n", + "40 Sioux Falls Nov 2, 1889 884659 77116 199729 \n", + "41 Nashville Jun 1, 1796 6829174 42144 109153 \n", + "42 Houston Dec 29, 1845 28995881 268596 695662 \n", + "43 Salt Lake City Jan 4, 1896 3205958 84897 219882 \n", + "44 Burlington Mar 4, 1791 623989 9616 24906 \n", + "45 Virginia Beach Jun 25, 1788 8535519 42775 110787 \n", + "46 Seattle Nov 11, 1889 7614893 71298 184661 \n", + "47 Charleston Jun 20, 1863 1792147 24230 62756 \n", + "48 Milwaukee May 29, 1848 5822434 65496 169635 \n", + "49 Cheyenne Jul 10, 1890 578759 97813 253335 \n", + "\n", + " Land area[4] Water area[4] Number of Reps. \n", + " mi2 km2 mi2 km2 Number of Reps. \n", + "0 50645 131171 1775 4597 7 \n", + "1 570641 1477953 94743 245384 1 \n", + "2 113594 294207 396 1026 9 \n", + "3 52035 134771 1143 2961 4 \n", + "4 155779 403466 7916 20501 53 \n", + "5 103642 268431 452 1170 7 \n", + "6 4842 12542 701 1816 5 \n", + "7 1949 5047 540 1399 1 \n", + "8 53625 138887 12133 31424 27 \n", + "9 57513 148959 1912 4951 14 \n", + "10 6423 16635 4509 11678 2 \n", + "11 82643 214045 926 2398 2 \n", + "12 55519 143793 2395 6202 18 \n", + "13 35826 92789 593 1537 9 \n", + "14 55857 144669 416 1077 4 \n", + "15 81759 211754 520 1346 4 \n", + "16 39486 102269 921 2387 6 \n", + "17 43204 111898 9174 23761 6 \n", + "18 30843 79883 4537 11750 2 \n", + "19 9707 25142 2699 6990 8 \n", + "20 7800 20202 2754 7134 9 \n", + "21 56539 146435 40175 104052 14 \n", + "22 79627 206232 7309 18930 8 \n", + "23 46923 121531 1508 3907 4 \n", + "24 68742 178040 965 2501 8 \n", + "25 145546 376962 1494 3869 1 \n", + "26 76824 198974 524 1356 3 \n", + "27 109781 284332 791 2048 4 \n", + "28 8953 23187 397 1027 2 \n", + "29 7354 19047 1368 3544 12 \n", + "30 121298 314161 292 757 3 \n", + "31 47126 122057 7429 19240 27 \n", + "32 48618 125920 5201 13471 13 \n", + "33 69001 178711 1698 4397 1 \n", + "34 40861 105829 3965 10269 16 \n", + "35 68595 177660 1304 3377 5 \n", + "36 95988 248608 2391 6191 5 \n", + "37 44743 115883 1312 3397 18 \n", + "38 1034 2678 511 1324 2 \n", + "39 30061 77857 1960 5076 7 \n", + "40 75811 196350 1305 3379 1 \n", + "41 41235 106798 909 2355 9 \n", + "42 261232 676587 7365 19075 36 \n", + "43 82170 212818 2727 7064 4 \n", + "44 9217 23871 400 1035 1 \n", + "45 39490 102279 3285 8508 11 \n", + "46 66456 172119 4842 12542 10 \n", + "47 24038 62259 192 497 3 \n", + "48 54158 140268 11339 29367 8 \n", + "49 97093 251470 720 1864 1 ]\n" + ] + } + ], "source": [ "#Code task 29#\n", "#Use pandas' `read_html` method to read the table from the URL below\n", "states_url = 'https://simple.wikipedia.org/w/index.php?title=List_of_U.S._states&oldid=7168473'\n", - "usa_states = pd.___(___)" + "usa_states = pd.read_html(states_url)\n", + "print(usa_states)" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 147, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "list" + ] + }, + "execution_count": 147, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "type(usa_states)" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 148, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 148, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "len(usa_states)" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 149, "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", + "
Name & postal abbs. [1]CitiesEstablished[A]Population [B][3]Total area[4]Land area[4]Water area[4]Number of Reps.
Name & postal abbs. [1]Name & postal abbs. [1].1CapitalLargest[5]Established[A]Population [B][3]mi2km2mi2km2mi2km2Number of Reps.
0AlabamaALMontgomeryBirminghamDec 14, 181949031855242013576750645131171177545977
1AlaskaAKJuneauAnchorageJan 3, 195973154566538417233375706411477953947432453841
2ArizonaAZPhoenixPhoenixFeb 14, 1912727871711399029523411359429420739610269
3ArkansasARLittle RockLittle RockJun 15, 183630178045317913773252035134771114329614
4CaliforniaCASacramentoLos AngelesSep 9, 18503951222316369542396715577940346679162050153
\n", + "
" + ], + "text/plain": [ + " Name & postal abbs. [1] Cities \\\n", + " Name & postal abbs. [1] Name & postal abbs. [1].1 Capital Largest[5] \n", + "0 Alabama AL Montgomery Birmingham \n", + "1 Alaska AK Juneau Anchorage \n", + "2 Arizona AZ Phoenix Phoenix \n", + "3 Arkansas AR Little Rock Little Rock \n", + "4 California CA Sacramento Los Angeles \n", + "\n", + " Established[A] Population [B][3] Total area[4] Land area[4] \\\n", + " Established[A] Population [B][3] mi2 km2 mi2 \n", + "0 Dec 14, 1819 4903185 52420 135767 50645 \n", + "1 Jan 3, 1959 731545 665384 1723337 570641 \n", + "2 Feb 14, 1912 7278717 113990 295234 113594 \n", + "3 Jun 15, 1836 3017804 53179 137732 52035 \n", + "4 Sep 9, 1850 39512223 163695 423967 155779 \n", + "\n", + " Water area[4] Number of Reps. \n", + " km2 mi2 km2 Number of Reps. \n", + "0 131171 1775 4597 7 \n", + "1 1477953 94743 245384 1 \n", + "2 294207 396 1026 9 \n", + "3 134771 1143 2961 4 \n", + "4 403466 7916 20501 53 " + ] + }, + "execution_count": 149, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "usa_states = usa_states[0]\n", "usa_states.head()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Note, in even the last year, the capability of `pd.read_html()` has improved. The merged cells you see in the web table are now handled much more conveniently, with 'Phoenix' now being duplicated so the subsequent columns remain aligned. But check this anyway. If you extract the established date column, you should just get dates. Recall previously you used the `.loc` accessor, because you were using labels. Now you want to refer to a column by its index position and so use `.iloc`. For a discussion on the difference use cases of `.loc` and `.iloc` refer to the [pandas documentation](https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html)." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 151, "metadata": {}, + "outputs": [], "source": [ "#Code task 30#\n", "#Use the iloc accessor to get the pandas Series for column number 4 from `usa_states`\n", "#It should be a column of dates\n", - "established = usa_sates.___[:, 4]" + "established = usa_states.iloc[:, 4]" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 152, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Dec 14, 1819\n", + "1 Jan 3, 1959\n", + "2 Feb 14, 1912\n", + "3 Jun 15, 1836\n", + "4 Sep 9, 1850\n", + "5 Aug 1, 1876\n", + "6 Jan 9, 1788\n", + "7 Dec 7, 1787\n", + "8 Mar 3, 1845\n", + "9 Jan 2, 1788\n", + "10 Aug 21, 1959\n", + "11 Jul 3, 1890\n", + "12 Dec 3, 1818\n", + "13 Dec 11, 1816\n", + "14 Dec 28, 1846\n", + "15 Jan 29, 1861\n", + "16 Jun 1, 1792\n", + "17 Apr 30, 1812\n", + "18 Mar 15, 1820\n", + "19 Apr 28, 1788\n", + "20 Feb 6, 1788\n", + "21 Jan 26, 1837\n", + "22 May 11, 1858\n", + "23 Dec 10, 1817\n", + "24 Aug 10, 1821\n", + "25 Nov 8, 1889\n", + "26 Mar 1, 1867\n", + "27 Oct 31, 1864\n", + "28 Jun 21, 1788\n", + "29 Dec 18, 1787\n", + "30 Jan 6, 1912\n", + "31 Jul 26, 1788\n", + "32 Nov 21, 1789\n", + "33 Nov 2, 1889\n", + "34 Mar 1, 1803\n", + "35 Nov 16, 1907\n", + "36 Feb 14, 1859\n", + "37 Dec 12, 1787\n", + "38 May 29, 1790\n", + "39 May 23, 1788\n", + "40 Nov 2, 1889\n", + "41 Jun 1, 1796\n", + "42 Dec 29, 1845\n", + "43 Jan 4, 1896\n", + "44 Mar 4, 1791\n", + "45 Jun 25, 1788\n", + "46 Nov 11, 1889\n", + "47 Jun 20, 1863\n", + "48 May 29, 1848\n", + "49 Jul 10, 1890\n", + "Name: (Established[A], Established[A]), dtype: object" + ] + }, + "execution_count": 152, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "established" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Extract the state name, population, and total area (square miles) columns." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 154, "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", + "
statestate_populationstate_area_sq_miles
0Alabama490318552420
1Alaska731545665384
2Arizona7278717113990
3Arkansas301780453179
4California39512223163695
\n", + "
" + ], + "text/plain": [ + " state state_population state_area_sq_miles\n", + "0 Alabama 4903185 52420\n", + "1 Alaska 731545 665384\n", + "2 Arizona 7278717 113990\n", + "3 Arkansas 3017804 53179\n", + "4 California 39512223 163695" + ] + }, + "execution_count": 154, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#Code task 31#\n", "#Now use the iloc accessor again to extract columns 0, 5, and 6 and the dataframe's `copy()` method\n", "#Set the names of these extracted columns to 'state', 'state_population', and 'state_area_sq_miles',\n", "#respectively.\n", - "usa_states_sub = usa_states.___[:, [___]].copy()\n", - "usa_states_sub.columns = [___]\n", + "usa_states_sub = usa_states.iloc[:, [0, 5, 6]].copy()\n", + "usa_states_sub.columns = ['state', 'state_population', 'state_area_sq_miles']\n", "usa_states_sub.head()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Do you have all the ski data states accounted for?" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 156, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Massachusetts', 'Pennsylvania', 'Rhode Island', 'Virginia'}" + ] + }, + "execution_count": 156, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#Code task 32#\n", "#Find the states in `state_summary` that are not in `usa_states_sub`\n", "#Hint: set(list1) - set(list2) is an easy way to get items in list1 that are not in list2\n", - "missing_states = ___(state_summary.state) - ___(usa_states_sub.state)\n", + "missing_states = set(state_summary.state) - set(usa_states_sub.state)\n", "missing_states" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "No?? " ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "If you look at the table on the web, you can perhaps start to guess what the problem is. You can confirm your suspicion by pulling out state names that _contain_ 'Massachusetts', 'Pennsylvania', or 'Virginia' from usa_states_sub:" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 159, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20 Massachusetts[C]\n", + "37 Pennsylvania[C]\n", + "38 Rhode Island[D]\n", + "45 Virginia[C]\n", + "47 West Virginia\n", + "Name: state, dtype: object" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "usa_states_sub.state[usa_states_sub.state.str.contains('Massachusetts|Pennsylvania|Rhode Island|Virginia')]" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Delete square brackets and their contents and try again:" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 161, "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "<>:8: SyntaxWarning: invalid escape sequence '\\['\n", + "<>:8: SyntaxWarning: invalid escape sequence '\\['\n", + "C:\\Users\\wdwbe\\AppData\\Local\\Temp\\ipykernel_21908\\95665047.py:8: SyntaxWarning: invalid escape sequence '\\['\n", + " usa_states_sub.state.replace(to_replace='\\[.*\\]', value='', regex=True, inplace=True)\n" + ] + }, + { + "data": { + "text/plain": [ + "20 Massachusetts\n", + "37 Pennsylvania\n", + "38 Rhode Island\n", + "45 Virginia\n", + "47 West Virginia\n", + "Name: state, dtype: object" + ] + }, + "execution_count": 161, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#Code task 33#\n", "#Use pandas' Series' `replace()` method to replace anything within square brackets (including the brackets)\n", @@ -4049,146 +4790,531 @@ "#value='' #empty string as replacement\n", "#regex=True #we used a regex in our `to_replace` argument\n", "#inplace=True #Do this \"in place\"\n", - "usa_states_sub.state.___(to_replace=___, value=__, regex=___, inplace=___)\n", + "usa_states_sub.state.replace(to_replace='\\[.*\\]', value='', regex=True, inplace=True)\n", "usa_states_sub.state[usa_states_sub.state.str.contains('Massachusetts|Pennsylvania|Rhode Island|Virginia')]" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 162, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "set()" + ] + }, + "execution_count": 162, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#Code task 34#\n", "#And now verify none of our states are missing by checking that there are no states in\n", "#state_summary that are not in usa_states_sub (as earlier using `set()`)\n", - "missing_states = ___(state_summary.state) - ___(usa_states_sub.state)\n", + "missing_states = set(state_summary.state) - set(usa_states_sub.state)\n", "missing_states" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Better! You have an empty set for missing states now. You can confidently add the population and state area columns to the ski resort data." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 164, "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", + "
stateresorts_per_statestate_total_skiable_area_acstate_total_days_openstate_total_terrain_parksstate_total_nightskiing_acstate_populationstate_area_sq_miles
0Alaska32280.0345.04.0580.0731545665384
1Arizona21577.0237.06.080.07278717113990
2California2125948.02738.081.0587.039512223163695
3Colorado2243682.03258.074.0428.05758736104094
4Connecticut5358.0353.010.0256.035652785543
\n", + "
" + ], + "text/plain": [ + " state resorts_per_state state_total_skiable_area_ac \\\n", + "0 Alaska 3 2280.0 \n", + "1 Arizona 2 1577.0 \n", + "2 California 21 25948.0 \n", + "3 Colorado 22 43682.0 \n", + "4 Connecticut 5 358.0 \n", + "\n", + " state_total_days_open state_total_terrain_parks \\\n", + "0 345.0 4.0 \n", + "1 237.0 6.0 \n", + "2 2738.0 81.0 \n", + "3 3258.0 74.0 \n", + "4 353.0 10.0 \n", + "\n", + " state_total_nightskiing_ac state_population state_area_sq_miles \n", + "0 580.0 731545 665384 \n", + "1 80.0 7278717 113990 \n", + "2 587.0 39512223 163695 \n", + "3 428.0 5758736 104094 \n", + "4 256.0 3565278 5543 " + ] + }, + "execution_count": 164, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#Code task 35#\n", "#Use 'state_summary's `merge()` method to combine our new data in 'usa_states_sub'\n", "#specify the arguments how='left' and on='state'\n", - "state_summary = state_summary.___(usa_states_sub, ___=___, ___=___)\n", + "state_summary = state_summary.merge(usa_states_sub, on='state', how='left')\n", "state_summary.head()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Having created this data frame of summary statistics for various states, it would seem obvious to join this with the ski resort data to augment it with this additional data. You will do this, but not now. In the next notebook you will be exploring the data, including the relationships between the states. For that you want a separate row for each state, as you have here, and joining the data this soon means you'd need to separate and eliminate redundances in the state data when you wanted it." ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "## 2.11 Target Feature" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Finally, what will your target be when modelling ticket price? What relationship is there between weekday and weekend prices?" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 168, "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "#Code task 36#\n", "#Use ski_data's `plot()` method to create a scatterplot (kind='scatter') with 'AdultWeekday' on the x-axis and\n", "#'AdultWeekend' on the y-axis\n", - "ski_data.___(x=___, y=___, kind=___);" + "ski_data.plot(x='AdultWeekday', y='AdultWeekend', kind='scatter');" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "A couple of observations can be made. Firstly, there is a clear line where weekend and weekday prices are equal. Weekend prices being higher than weekday prices seem restricted to sub $100 resorts. Recall from the boxplot earlier that the distribution for weekday and weekend prices in Montana seemed equal. Is this confirmed in the actual data for each resort? Big Mountain resort is in Montana, so the relationship between these quantities in this state are particularly relevant." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 170, "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", + "
AdultWeekendAdultWeekday
14142.042.0
14263.063.0
14349.049.0
14448.048.0
14546.046.0
14639.039.0
14750.050.0
14867.067.0
14947.047.0
15039.039.0
15181.081.0
\n", + "
" + ], + "text/plain": [ + " AdultWeekend AdultWeekday\n", + "141 42.0 42.0\n", + "142 63.0 63.0\n", + "143 49.0 49.0\n", + "144 48.0 48.0\n", + "145 46.0 46.0\n", + "146 39.0 39.0\n", + "147 50.0 50.0\n", + "148 67.0 67.0\n", + "149 47.0 47.0\n", + "150 39.0 39.0\n", + "151 81.0 81.0" + ] + }, + "execution_count": 170, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#Code task 37#\n", "#Use the loc accessor on ski_data to print the 'AdultWeekend' and 'AdultWeekday' columns for Montana only\n", - "ski_data.___[ski_data.state == ___, [___, ___]]" + "ski_data.loc[ski_data.state == 'Montana', ['AdultWeekend', 'AdultWeekday']]" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Is there any reason to prefer weekend or weekday prices? Which is missing the least?" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 172, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "AdultWeekend 4\n", + "AdultWeekday 7\n", + "dtype: int64" + ] + }, + "execution_count": 172, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ski_data[['AdultWeekend', 'AdultWeekday']].isnull().sum()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Weekend prices have the least missing values of the two, so drop the weekday prices and then keep just the rows that have weekend price." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 174, "metadata": {}, + "outputs": [], "source": [ "ski_data.drop(columns='AdultWeekday', inplace=True)\n", "ski_data.dropna(subset=['AdultWeekend'], inplace=True)" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 175, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(277, 25)" + ] + }, + "execution_count": 175, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ski_data.shape" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Perform a final quick check on the data." ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "### 2.11.1 Number Of Missing Values By Row - Resort" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Having dropped rows missing the desired target ticket price, what degree of missingness do you have for the remaining rows?" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 179, "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", + "
count%
329520.0
62520.0
141520.0
86520.0
74520.0
146520.0
184416.0
108416.0
198416.0
39416.0
\n", + "
" + ], + "text/plain": [ + " count %\n", + "329 5 20.0\n", + "62 5 20.0\n", + "141 5 20.0\n", + "86 5 20.0\n", + "74 5 20.0\n", + "146 5 20.0\n", + "184 4 16.0\n", + "108 4 16.0\n", + "198 4 16.0\n", + "39 4 16.0" + ] + }, + "execution_count": 179, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "missing = pd.concat([ski_data.isnull().sum(axis=1), 100 * ski_data.isnull().mean(axis=1)], axis=1)\n", "missing.columns=['count', '%']\n", @@ -4196,78 +5322,192 @@ ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "These seem possibly curiously quantized..." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 181, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0., 4., 8., 12., 16., 20.])" + ] + }, + "execution_count": 181, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "missing['%'].unique()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Yes, the percentage of missing values per row appear in multiples of 4." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 183, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "%\n", + "0.0 107\n", + "4.0 94\n", + "8.0 45\n", + "12.0 15\n", + "16.0 10\n", + "20.0 6\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 183, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "missing['%'].value_counts()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "This is almost as if values have been removed artificially... Nevertheless, what you don't know is how useful the missing features are in predicting ticket price. You shouldn't just drop rows that are missing several useless features." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 185, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 277 entries, 0 to 329\n", + "Data columns (total 25 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Name 277 non-null object \n", + " 1 Region 277 non-null object \n", + " 2 state 277 non-null object \n", + " 3 summit_elev 277 non-null int64 \n", + " 4 vertical_drop 277 non-null int64 \n", + " 5 base_elev 277 non-null int64 \n", + " 6 trams 277 non-null int64 \n", + " 7 fastSixes 277 non-null int64 \n", + " 8 fastQuads 277 non-null int64 \n", + " 9 quad 277 non-null int64 \n", + " 10 triple 277 non-null int64 \n", + " 11 double 277 non-null int64 \n", + " 12 surface 277 non-null int64 \n", + " 13 total_chairs 277 non-null int64 \n", + " 14 Runs 274 non-null float64\n", + " 15 TerrainParks 233 non-null float64\n", + " 16 LongestRun_mi 272 non-null float64\n", + " 17 SkiableTerrain_ac 275 non-null float64\n", + " 18 Snow Making_ac 240 non-null float64\n", + " 19 daysOpenLastYear 233 non-null float64\n", + " 20 yearsOpen 277 non-null float64\n", + " 21 averageSnowfall 268 non-null float64\n", + " 22 AdultWeekend 277 non-null float64\n", + " 23 projectedDaysOpen 236 non-null float64\n", + " 24 NightSkiing_ac 163 non-null float64\n", + "dtypes: float64(11), int64(11), object(3)\n", + "memory usage: 56.3+ KB\n" + ] + } + ], "source": [ "ski_data.info()" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "There are still some missing values, and it's good to be aware of this, but leave them as is for now." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 187, "metadata": {}, + "outputs": [], "source": [ "## 2.12 Save data" ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 188, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(277, 25)" + ] + }, + "execution_count": 188, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ski_data.shape" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "Save this to your data directory, separately. Note that you were provided with the data in `raw_data` and you should saving derived data in a separate location. This guards against overwriting our original data." ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 190, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A file already exists with this name.\n", + "\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Do you want to overwrite? (Y/N) Y\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing file. \"../data\\ski_data_cleaned.csv\"\n" + ] + } + ], "source": [ "# save the data to a new csv file\n", "datapath = '../data'\n", @@ -4275,8 +5515,33 @@ ] }, { - "cell_type": "raw", + "cell_type": "code", + "execution_count": 191, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A file already exists with this name.\n", + "\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Do you want to overwrite? (Y/N) Y\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Writing file. \"../data\\state_summary.csv\"\n" + ] + } + ], "source": [ "# save the state_summary separately.\n", "datapath = '../data'\n", @@ -4284,25 +5549,129 @@ ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "## 2.13 Summary" ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ "**Q: 3** Write a summary statement that highlights the key processes and findings from this notebook. This should include information such as the original number of rows in the data, whether our own resort was actually present etc. What columns, if any, have been removed? Any rows? Summarise the reasons why. Were any other issues found? What remedial actions did you take? State where you are in the project. Can you confirm what the target feature is for your desire to predict ticket price? How many rows were left in the data? Hint: this is a great opportunity to reread your notebook, check all cells have been executed in order and from a \"blank slate\" (restarting the kernel will do this), and that your workflow makes sense and follows a logical pattern. As you do this you can pull out salient information for inclusion in this summary. Thus, this section will provide an important overview of \"what\" and \"why\" without having to dive into the \"how\" or any unproductive or inconclusive steps along the way." ] }, { - "cell_type": "raw", + "cell_type": "markdown", "metadata": {}, "source": [ - "**A: 3** Your answer here" + "**A: 3 Becky's Answer Below**\n", + "\n", + "***Data Wrangling Summary - Big Mountain Resort Ticket Pricing Model Project***\n", + "\n", + "**Initial Data**\n", + "* ski_resort_data.csv\n", + "* 330 Rows\n", + "* 27 Columns\n", + " - Including details such as (but not limited to) State/Region, Altitude, Trams & Lifts, Days Open, Resort Features, and Ticket Prices\n", + "* Big Mountain Resort is in this dataset\n", + " - Index = 151\n", + "\n", + "**Data Review**\n", + "* Missing Data\n", + " - Approximately half of the resorts did not have any data for:\n", + " - Fast Eight Lifts (50.3%)\n", + " - Night Skiing (43.3%)\n", + " - Approximately 15% of the resorts did not have any data regarding the following\n", + " - Snow Making \n", + " - Projected Days Open\n", + " - Days Open Last Year\n", + " - Ticket Prices (Both Weekend and Weekday)\n", + "\n", + "* Duplicates\n", + " - Two Resorts are both named \"Crystal Mountain\"\n", + " - But they are in different states, so this is not considered a duplicate.\n", + "\n", + "* Data Distributions\n", + " - State\n", + " - Montana ranks 13th for number of resorts\n", + " - New York has the most resorts\n", + " - Maryland has the least resorts\n", + " - Ticket Prices\n", + " - Vary between states\n", + " - Most ticket prices are between $25 and $100. \n", + " - Some have significantly higher weekend prices.\n", + " - Many resorts' Weekday and Weekend prices are the same.\n", + " - In General, Ticket prices are less than $100 where there are different Weekend and Weekday prices.\n", + " - There is no difference in Weekday vs Weekend ticket prices for Resorts in Montana.\n", + " - Calculated the average values for each feature and reviewed the distributions\n", + " - Unusal Data:\n", + " - Outliers\n", + " - Silverton Mountain: Skiable Area = 26819 acres.\n", + " - Heavenly Mountain Resort: Snowmaking = 3379 acres\n", + " - Note: there ticket data for this resort\n", + " - Fast Eight\n", + " - Only one resort has this type of lift.\n", + " - Half the resorts have no data\n", + " - Years Open\n", + " - Pine Knob Ski Resort recorded as being open for 2019 years\n", + " \n", + "* Caclulated the following totals across each state. This could be useful in comparing a single resort's features to the total available in that resorts market/state:\n", + " - Skiable Area\n", + " - Total Days Open\n", + " - Terrain Parks\n", + " - Night Skiing\n", + "\n", + "\n", + "* Collected State Population Data\n", + " - Source: https://simple.wikipedia.org/w/index.php?title=List_of_U.S._states&oldid=7168473\n", + "\n", + " \n", + " \n", + "\n", + "**Data Cleansing**\n", + "* Removed the Fast Eight column because there was virtually no data for this feature.\n", + "* Researched Silverton Mountain Skiable Area\n", + " - Updated to 1819 acres\n", + "* Removed Pine Knob Ski Resort because we do not know how many years it has been opened.\n", + "* Removed the resorts that had no ticket price information as we can not use them to in a ticket price calculation model.\n", + "* Cleaned State Populattion data by removing the brackets attached to some states.\n", + "* Removed Weekday Ticket prices because:\n", + " - Our resort is in Montana and other resorts in Montana do not have different weekday and weekend ticket prices.\n", + " - Less Weekend Ticket price data is missing than Weekday. Therefore, we can use just the weekend price data for our calculation.\n", + "* Cleaned Data File\n", + " - File Name: ski_data_cleaned.csv\n", + " - 277 Rows\n", + " - 25 Columns \n", + "\n", + "\n", + "\n", + "**Project Progress**\n", + "* All available data has been reviewed\n", + "* Data has been cleaned\n", + "* Next Step: Exploratory Data Analysis\n", + " - Determining which features could be used in a model to calculate ticket prices.\n", + "\n", + "\n", + "\n", + "**Questions for SMEs**\n", + "* Should we include data from all the States or just Montana?\n", + " - Do you want to compare data from different states?\n", + " - For Example: Are there resorts in other states that compete with Big Mountain Resort?\n", + "* Is state population data relevent?\n", + "* Are the number of chair lifts relevent?\n", + " \n", + "\n", + "\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/Notebooks/Untitled.ipynb b/Notebooks/Untitled.ipynb new file mode 100644 index 000000000..363fcab7e --- /dev/null +++ b/Notebooks/Untitled.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Notebooks/sb_utils.py b/Notebooks/sb_utils.py new file mode 100644 index 000000000..94372eb88 --- /dev/null +++ b/Notebooks/sb_utils.py @@ -0,0 +1,59 @@ +import pandas as pd +import os +import pickle + + +# This utility was created because students were getting confused when they ran +# their notebooks twice, the previous write-to-file code would do nothing and say +# nothing. The students thought the file was over-written when in fact, it was not - +# generating hidden bugs in subsequent notebooks. + +def save_file(data, fname, dname): + """Save a datafile (data) to a specific location (dname) and filename (fname) + + Currently valid formats are limited to CSV or PKL.""" + + if not os.path.exists(dname): + os.mkdir(dname) + print(f'Directory {dname} was created.') + + fpath = os.path.join(dname, fname) + + + if os.path.exists(fpath): + print("A file already exists with this name.\n") + + yesno = None + while yesno != "Y" and yesno != "N": + yesno = input('Do you want to overwrite? (Y/N)').strip()[0].capitalize() + if yesno == "Y": + print(f'Writing file. "{fpath}"') + _save_file(data, fpath) + break # Not required + elif yesno == "N": + print('\nPlease re-run this cell with a new filename.') + break # Not required + else: + print('\nUnknown input, please enter "Y" or "N".') + + else: # path does not exist, ok to save the file + print(f'Writing file. "{fpath}"') + _save_file(data, fpath) + + + + + + +def _save_file(data, fpath): + valid_ftypes = ['.csv', '.pkl'] + + assert (fpath[-4:] in valid_ftypes), "Invalid file type. Use '.csv' or '.pkl'" + + # Figure out what kind of file we're dealing with by name + if fpath[-3:] == 'csv': + data.to_csv(fpath, index=False) + elif fpath[-3:] == 'pkl': + with open(fpath, 'wb') as f: + pickle.dump(data, f) + \ No newline at end of file diff --git a/data/ski_data_cleaned.csv b/data/ski_data_cleaned.csv new file mode 100644 index 000000000..4259e45d8 --- /dev/null +++ b/data/ski_data_cleaned.csv @@ -0,0 +1,278 @@ +Name,Region,state,summit_elev,vertical_drop,base_elev,trams,fastSixes,fastQuads,quad,triple,double,surface,total_chairs,Runs,TerrainParks,LongestRun_mi,SkiableTerrain_ac,Snow Making_ac,daysOpenLastYear,yearsOpen,averageSnowfall,AdultWeekend,projectedDaysOpen,NightSkiing_ac +Alyeska Resort,Alaska,Alaska,3939,2500,250,1,0,2,2,0,0,2,7,76.0,2.0,1.0,1610.0,113.0,150.0,60.0,669.0,85.0,150.0,550.0 +Eaglecrest Ski Area,Alaska,Alaska,2600,1540,1200,0,0,0,0,0,4,0,4,36.0,1.0,2.0,640.0,60.0,45.0,44.0,350.0,53.0,90.0, +Hilltop Ski Area,Alaska,Alaska,2090,294,1796,0,0,0,0,1,0,2,3,13.0,1.0,1.0,30.0,30.0,150.0,36.0,69.0,34.0,152.0,30.0 +Arizona Snowbowl,Arizona,Arizona,11500,2300,9200,0,1,0,2,2,1,2,8,55.0,4.0,2.0,777.0,104.0,122.0,81.0,260.0,89.0,122.0, +Sunrise Park Resort,Arizona,Arizona,11100,1800,9200,0,0,1,2,3,1,0,7,65.0,2.0,1.2,800.0,80.0,115.0,49.0,250.0,78.0,104.0,80.0 +Yosemite Ski & Snowboard Area,Northern California,California,7800,600,7200,0,0,0,0,1,3,1,5,10.0,2.0,0.4,88.0,,110.0,84.0,300.0,47.0,107.0, +Dodge Ridge,Sierra Nevada,California,8200,1600,6600,0,0,0,1,2,5,4,12,67.0,5.0,2.0,862.0,,,69.0,350.0,78.0,140.0, +Donner Ski Ranch,Sierra Nevada,California,8012,750,7031,0,0,0,0,1,5,2,8,52.0,2.0,1.5,505.0,60.0,163.0,82.0,400.0,75.0,170.0, +Mammoth Mountain Ski Area,Sierra Nevada,California,11053,3100,7953,3,2,9,1,6,4,0,25,154.0,7.0,3.0,3500.0,700.0,243.0,66.0,400.0,159.0,, +Mt. Shasta Ski Park,Sierra Nevada,California,6890,1435,5500,0,0,0,0,3,0,1,4,32.0,2.0,1.1,425.0,225.0,140.0,34.0,300.0,59.0,130.0, +Mountain High,Sierra Nevada,California,8200,1600,6600,0,0,2,2,2,5,3,14,59.0,1.0,1.6,290.0,275.0,118.0,95.0,108.0,84.0,150.0,73.0 +Mt. Baldy,Sierra Nevada,California,8600,2100,6500,0,0,0,0,0,4,0,4,26.0,,2.5,400.0,80.0,175.0,67.0,178.0,69.0,200.0, +Ski China Peak,Sierra Nevada,California,8709,1679,7030,0,0,0,1,4,2,4,11,45.0,1.0,2.2,1400.0,150.0,140.0,62.0,300.0,83.0,144.0, +Snow Valley,Sierra Nevada,California,7841,1041,6800,0,0,0,0,5,6,1,12,28.0,6.0,1.2,240.0,188.0,111.0,82.0,160.0,79.0,143.0,164.0 +Soda Springs,Sierra Nevada,California,7352,652,6700,0,0,0,0,1,1,2,4,18.0,,0.4,200.0,20.0,150.0,83.0,400.0,50.0,144.0, +Sugar Bowl Resort,Sierra Nevada,California,8383,1500,6883,1,0,5,3,1,0,2,12,105.0,3.0,3.0,1650.0,375.0,151.0,80.0,500.0,125.0,150.0, +Tahoe Donner,Sierra Nevada,California,7350,600,6750,0,0,0,1,1,0,3,5,14.0,2.0,1.0,120.0,,150.0,48.0,400.0,69.0,144.0, +Arapahoe Basin Ski Area,Colorado,Colorado,13050,2530,10780,0,0,1,2,1,2,3,9,145.0,3.0,1.5,1428.0,125.0,230.0,73.0,350.0,85.0,233.0, +Aspen / Snowmass,Colorado,Colorado,12510,4406,8104,3,1,15,4,3,5,9,40,336.0,10.0,5.3,5517.0,658.0,138.0,72.0,300.0,179.0,138.0, +Copper Mountain Resort,Colorado,Colorado,12313,2738,9712,1,2,4,0,4,4,9,24,150.0,6.0,1.7,2527.0,364.0,164.0,47.0,300.0,158.0,164.0, +Purgatory,Colorado,Colorado,10822,2029,8793,0,1,2,0,3,3,3,12,101.0,9.0,1.3,1605.0,250.0,130.0,54.0,260.0,89.0,130.0, +Howelsen Hill,Colorado,Colorado,7136,440,6696,0,0,0,0,0,1,3,4,17.0,1.0,6.0,50.0,25.0,100.0,104.0,150.0,25.0,100.0,10.0 +Loveland,Colorado,Colorado,13010,2210,10800,0,0,1,3,3,2,1,10,94.0,1.0,2.0,1800.0,240.0,205.0,82.0,422.0,79.0,184.0, +Monarch Mountain,Colorado,Colorado,11952,1162,10790,0,0,0,1,0,4,2,7,64.0,2.0,1.0,800.0,,143.0,80.0,350.0,89.0,136.0, +Powderhorn,Colorado,Colorado,9850,1650,8200,0,0,1,0,0,2,2,5,42.0,2.0,1.5,1600.0,42.0,111.0,53.0,250.0,71.0,110.0, +Silverton Mountain,Colorado,Colorado,13487,3087,10400,0,0,0,0,0,1,0,1,,,1.5,1819.0,,175.0,17.0,400.0,79.0,181.0, +Cooper,Colorado,Colorado,11700,1200,10500,0,0,0,0,1,1,2,4,41.0,1.0,1.0,400.0,,130.0,74.0,260.0,56.0,130.0, +Ski Granby Ranch,Colorado,Colorado,9202,1000,8202,0,0,2,0,1,1,1,5,40.0,1.0,0.6,406.0,170.0,116.0,36.0,220.0,84.0,92.0,100.0 +Sunlight Mountain Resort,Colorado,Colorado,9895,2010,7885,0,0,0,0,1,2,0,3,67.0,1.0,2.5,680.0,30.0,100.0,53.0,250.0,65.0,135.0, +Telluride,Colorado,Colorado,13150,4425,8725,2,0,6,1,2,2,4,17,148.0,3.0,4.6,2000.0,220.0,131.0,47.0,280.0,139.0,137.0, +Wolf Creek Ski Area,Colorado,Colorado,11904,1604,10300,0,0,3,1,2,1,3,10,120.0,,2.0,1600.0,5.0,130.0,80.0,430.0,72.0,150.0, +Mohawk Mountain,Connecticut,Connecticut,1600,650,950,0,0,0,0,5,0,3,8,25.0,,1.5,107.0,100.0,,72.0,92.0,65.0,110.0,64.0 +Mount Southington Ski Area,Connecticut,Connecticut,525,425,100,0,0,0,0,2,2,3,7,14.0,2.0,0.3,51.0,51.0,63.0,55.0,80.0,60.0,95.0,51.0 +Powder Ridge Park,Connecticut,Connecticut,720,550,170,0,0,0,0,1,2,2,5,19.0,4.0,0.5,80.0,68.0,80.0,60.0,80.0,55.0,100.0,40.0 +Ski Sundown,Connecticut,Connecticut,1075,625,450,0,0,0,0,3,0,2,5,16.0,2.0,1.0,70.0,70.0,84.0,50.0,45.0,62.0,95.0,66.0 +Woodbury Ski Area,Connecticut,Connecticut,730,300,430,0,0,0,0,0,1,4,5,12.0,2.0,0.2,50.0,50.0,126.0,57.0,70.0,42.0,180.0,35.0 +Bogus Basin,Idaho,Idaho,7582,1800,5800,0,0,3,0,1,3,4,11,91.0,3.0,1.5,2600.0,,134.0,77.0,250.0,64.0,130.0,165.0 +Brundage Mountain Resort,Idaho,Idaho,7640,1800,5840,0,0,1,0,4,0,1,6,51.0,2.0,3.2,1920.0,2.0,126.0,58.0,320.0,70.0,, +Kelly Canyon Ski Area,Idaho,Idaho,6600,1000,5600,0,0,0,0,0,4,2,6,51.0,1.0,1.3,740.0,,,62.0,200.0,42.0,, +Lookout Pass Ski Area,Idaho,Idaho,5650,1150,4500,0,0,0,0,1,3,0,4,35.0,2.0,1.5,540.0,,113.0,84.0,400.0,47.0,140.0, +Magic Mountain Ski Area,Idaho,Idaho,7200,700,6500,0,0,0,0,0,1,2,3,11.0,,1.5,280.0,,65.0,81.0,180.0,32.0,70.0, +Pebble Creek Ski Area,Idaho,Idaho,8560,2200,6360,0,0,0,0,3,0,0,3,54.0,2.0,1.3,1100.0,30.0,85.0,70.0,250.0,47.0,91.0,30.0 +Schweitzer,Idaho,Idaho,6400,2400,4000,0,1,2,0,1,3,2,9,92.0,3.0,2.1,2900.0,47.0,136.0,56.0,300.0,81.0,,100.0 +Silver Mountain,Idaho,Idaho,6300,2200,4100,1,0,0,1,2,2,1,7,80.0,2.0,2.5,1600.0,225.0,130.0,29.0,300.0,62.0,193.0,20.0 +Soldier Mountain Ski Area,Idaho,Idaho,7200,1400,5800,0,0,0,0,0,2,1,3,36.0,,0.4,1142.0,,60.0,71.0,,43.0,, +Tamarack Resort,Idaho,Idaho,7700,2800,4900,0,0,2,2,0,0,2,6,48.0,3.0,1.5,1020.0,200.0,,15.0,300.0,71.0,150.0, +Chestnut Mountain Resort,Illinois,Illinois,1040,475,565,0,0,0,2,4,0,3,9,22.0,3.0,0.2,139.0,139.0,87.0,60.0,50.0,55.0,112.0,139.0 +Ski Snowstar Winter Sports Park,Illinois,Illinois,790,262,528,0,0,0,2,0,2,2,6,15.0,1.0,0.8,28.0,28.0,56.0,38.0,38.0,35.0,86.0,28.0 +Villa Olivia,Illinois,Illinois,500,180,320,0,0,0,1,0,0,6,7,7.0,1.0,0.1,15.0,15.0,,53.0,25.0,40.0,70.0,15.0 +Paoli Peaks,Indiana,Indiana,900,300,600,0,0,1,1,3,1,2,8,15.0,2.0,0.4,65.0,65.0,75.0,41.0,18.0,45.0,80.0,65.0 +Perfect North Slopes,Indiana,Indiana,800,400,400,0,0,0,2,3,0,6,11,23.0,2.0,1.0,100.0,100.0,82.0,39.0,24.0,52.0,90.0,100.0 +Mt. Crescent Ski Area,Iowa,Iowa,1500,300,1200,0,0,0,1,0,1,0,2,11.0,1.0,0.2,50.0,50.0,,58.0,30.0,39.0,,50.0 +Seven Oaks,Iowa,Iowa,975,275,800,0,0,0,0,2,0,2,4,11.0,2.0,1.0,35.0,35.0,100.0,22.0,40.0,40.0,100.0,35.0 +Sundown Mountain,Iowa,Iowa,1059,475,584,0,0,0,1,1,2,2,6,21.0,2.0,0.6,55.0,55.0,,46.0,45.0,46.0,,55.0 +Big Squaw Mountain Ski Resort,Maine,Maine,3200,660,1750,0,0,0,0,1,0,0,1,29.0,,0.8,,,67.0,6.0,,30.0,58.0, +Camden Snow Bowl,Maine,Maine,1080,850,150,0,0,0,0,1,1,1,3,26.0,2.0,1.0,100.0,48.0,68.0,83.0,69.0,43.0,70.0,48.0 +Lost Valley,Maine,Maine,495,240,255,0,0,0,0,0,2,2,4,22.0,2.0,0.3,45.0,45.0,87.0,58.0,50.0,55.0,104.0,45.0 +Mt. Abram Ski Resort,Maine,Maine,2250,1150,1050,0,0,0,0,0,2,3,5,54.0,1.0,0.5,640.0,175.0,120.0,59.0,125.0,49.0,120.0, +New Hermon Mountain,Maine,Maine,450,350,100,0,0,0,0,0,1,2,3,20.0,,1.9,70.0,70.0,102.0,55.0,90.0,32.0,117.0,45.0 +Shawnee Peak,Maine,Maine,1900,1350,600,0,0,0,1,2,1,2,6,43.0,3.0,0.8,239.0,234.0,97.0,81.0,110.0,75.0,103.0,110.0 +Sugarloaf,Maine,Maine,4237,2820,1417,0,0,2,3,1,5,2,13,162.0,4.0,3.5,1240.0,618.0,159.0,68.0,200.0,99.0,155.0, +Sunday River,Maine,Maine,3140,2340,800,1,0,4,5,3,1,1,15,135.0,5.0,3.0,870.0,552.0,165.0,60.0,167.0,105.0,169.0,140.0 +Wisp,Maryland,Maryland,3115,700,2415,0,0,0,2,5,0,5,12,34.0,3.0,1.5,172.0,118.0,121.0,64.0,100.0,79.0,120.0,118.0 +Berkshire East,Massachusetts,Massachusetts,1720,1180,540,0,0,0,2,1,1,2,6,47.0,2.0,2.0,180.0,165.0,120.0,68.0,120.0,68.0,120.0,80.0 +Blandford Ski Area,Massachusetts,Massachusetts,1685,465,1035,0,0,0,0,0,3,2,5,29.0,2.0,0.5,132.0,70.0,,83.0,50.0,45.0,,70.0 +Blue Hills Ski Area,Massachusetts,Massachusetts,635,309,326,0,0,0,0,0,1,3,4,16.0,1.0,,60.0,60.0,,19.0,,45.0,, +Bousquet Ski Area,Massachusetts,Massachusetts,1875,750,1125,0,0,0,0,0,3,2,5,23.0,1.0,1.0,200.0,98.0,,19.0,83.0,49.0,,100.0 +Bradford Ski Area,Massachusetts,Massachusetts,1548,248,1300,0,0,0,0,2,0,8,10,15.0,1.0,0.3,48.0,48.0,,71.0,,55.0,, +Jiminy Peak,Massachusetts,Massachusetts,2380,1150,1230,0,1,0,2,3,1,2,9,45.0,3.0,2.0,167.0,163.0,121.0,71.0,90.0,81.0,120.0,104.0 +Nashoba Valley,Massachusetts,Massachusetts,440,240,200,0,0,0,0,3,1,7,11,17.0,2.0,0.5,52.0,52.0,112.0,55.0,55.0,58.0,126.0,52.0 +Otis Ridge Ski Area,Massachusetts,Massachusetts,1700,400,1300,0,0,0,0,0,1,3,4,11.0,1.0,1.0,60.0,55.0,106.0,73.0,70.0,40.0,106.0,35.0 +Ski Butternut,Massachusetts,Massachusetts,1800,1000,800,0,0,0,3,1,1,6,11,22.0,2.0,1.5,110.0,110.0,107.0,56.0,115.0,60.0,110.0, +Wachusett Mountain Ski Area,Massachusetts,Massachusetts,2006,1000,1006,0,0,3,0,1,0,4,8,27.0,2.0,1.5,112.0,112.0,,57.0,100.0,71.0,120.0,104.0 +Alpine Valley Ski Area,Michigan,Michigan,500,240,126,0,0,0,1,2,5,6,14,25.0,3.0,0.2,100.0,100.0,,57.0,20.0,47.0,,100.0 +Apple Mountain,Michigan,Michigan,820,220,600,0,0,0,1,0,0,5,6,12.0,,,80.0,42.0,,58.0,52.0,35.0,,80.0 +Big Powderhorn Mountain,Michigan,Michigan,1800,600,1200,0,0,0,0,0,9,1,10,45.0,2.0,1.0,253.0,228.0,100.0,55.0,214.0,69.0,108.0, +Bittersweet Ski Area,Michigan,Michigan,850,350,450,0,0,0,1,7,0,4,12,20.0,2.0,0.2,100.0,100.0,80.0,36.0,90.0,48.0,,100.0 +Big Snow Resort - Blackjack,Michigan,Michigan,850,465,385,0,0,0,0,0,4,2,6,26.0,2.0,1.0,170.0,86.0,95.0,42.0,210.0,65.0,115.0, +Boyne Highlands,Michigan,Michigan,1290,552,745,0,0,1,3,4,0,2,10,55.0,4.0,1.2,435.0,400.0,97.0,56.0,140.0,98.0,120.0,150.0 +Caberfae Peaks,Michigan,Michigan,1569,485,1060,0,0,0,1,2,1,1,5,34.0,2.0,1.2,200.0,200.0,118.0,82.0,140.0,49.0,130.0,150.0 +Cannonsburg,Michigan,Michigan,1100,250,850,0,0,0,1,1,1,7,10,21.0,5.0,0.1,100.0,,100.0,54.0,100.0,37.0,100.0, +Crystal Mountain,Michigan,Michigan,1132,375,757,0,0,1,3,2,0,2,8,58.0,3.0,0.3,102.0,96.0,120.0,63.0,132.0,64.0,135.0,56.0 +Big Snow Resort - Indianhead Mountain,Michigan,Michigan,1935,638,1297,0,0,0,1,1,5,2,9,32.0,2.0,1.0,240.0,150.0,120.0,60.0,204.0,49.0,120.0, +Mont Ripley,Michigan,Michigan,1140,440,700,0,0,0,0,0,2,2,4,25.0,2.0,0.8,112.0,112.0,114.0,83.0,275.0,49.0,100.0,100.0 +Mount Bohemia,Michigan,Michigan,1500,900,600,0,0,0,0,1,1,0,2,,,2.3,585.0,,83.0,19.0,273.0,68.0,100.0, +Mt. Brighton,Michigan,Michigan,1330,230,1100,0,0,0,2,3,0,8,13,25.0,5.0,0.1,130.0,130.0,111.0,59.0,60.0,59.0,100.0,130.0 +Mt. Holiday Ski Area,Michigan,Michigan,440,200,240,0,0,0,0,0,2,2,4,12.0,,0.1,45.0,45.0,100.0,70.0,120.0,34.0,90.0,45.0 +Mount Holly,Michigan,Michigan,1105,350,755,0,0,1,2,3,1,6,13,19.0,,0.1,100.0,100.0,,63.0,42.0,45.0,102.0,100.0 +Mulligan's Hollow Ski Bowl,Michigan,Michigan,700,130,570,0,0,0,0,0,0,5,5,6.0,,0.2,10.0,10.0,,19.0,60.0,20.0,,10.0 +Norway Mountain,Michigan,Michigan,1335,500,835,0,0,0,0,1,2,3,6,17.0,1.0,1.4,186.0,186.0,110.0,45.0,100.0,45.0,110.0,40.0 +Nubs Nob Ski Area,Michigan,Michigan,1338,427,911,0,0,0,3,4,2,1,10,53.0,3.0,0.9,248.0,248.0,133.0,61.0,135.0,85.0,130.0,160.0 +Pine Mountain,Michigan,Michigan,1650,500,1150,0,0,0,0,1,2,1,4,28.0,1.0,0.5,160.0,160.0,110.0,80.0,60.0,45.0,126.0,80.0 +Schuss Mountain at Shanty Creek,Michigan,Michigan,1125,450,675,0,0,0,5,0,0,3,8,42.0,3.0,1.0,70.0,70.0,94.0,57.0,160.0,78.0,111.0,70.0 +Ski Brule,Michigan,Michigan,1860,500,1360,0,0,0,0,0,5,7,12,17.0,3.0,1.0,150.0,150.0,164.0,62.0,150.0,49.0,165.0,40.0 +Snow Snake Mountain Ski Area,Michigan,Michigan,1230,210,1020,0,0,0,0,1,0,5,6,12.0,2.0,0.0,40.0,40.0,,72.0,,35.0,,40.0 +Swiss Valley,Michigan,Michigan,1200,225,975,0,0,0,2,1,0,4,7,11.0,2.0,0.1,60.0,60.0,89.0,51.0,60.0,42.0,80.0,60.0 +The Homestead,Michigan,Michigan,900,320,580,0,0,0,0,2,1,2,5,15.0,1.0,0.2,16.0,16.0,47.0,34.0,150.0,50.0,42.0,16.0 +Timber Ridge,Michigan,Michigan,850,250,600,0,0,0,1,1,2,4,8,16.0,2.0,0.3,50.0,50.0,80.0,58.0,,45.0,,50.0 +Afton Alps,Minnesota,Minnesota,1530,350,1180,0,0,0,1,3,14,4,22,48.0,5.0,0.5,250.0,250.0,135.0,56.0,60.0,60.0,135.0,250.0 +Andes Tower Hills Ski Area,Minnesota,Minnesota,1620,290,1330,0,0,0,1,2,0,3,6,15.0,2.0,0.2,35.0,35.0,100.0,38.0,55.0,45.0,110.0,35.0 +Buck Hill,Minnesota,Minnesota,1225,309,919,0,0,0,2,1,0,5,8,16.0,,0.2,45.0,45.0,115.0,65.0,60.0,47.0,112.0,45.0 +Buena Vista Ski Area,Minnesota,Minnesota,1510,230,1280,0,0,0,0,2,2,2,6,17.0,,0.3,30.0,30.0,57.0,70.0,78.0,44.0,60.0,30.0 +Coffee Mill Ski & Snowboard Resort,Minnesota,Minnesota,1150,425,725,0,0,0,0,0,2,1,3,14.0,1.0,1.0,40.0,35.0,57.0,39.0,48.0,37.0,56.0,35.0 +Elm Creek Winter Recreation Area,Minnesota,Minnesota,928,60,868,0,0,0,0,0,0,3,3,3.0,,1.0,15.0,20.0,105.0,13.0,45.0,17.0,102.0,15.0 +Giants Ridge Resort,Minnesota,Minnesota,1972,500,1472,0,0,1,1,1,2,2,7,35.0,2.0,0.8,202.0,202.0,120.0,35.0,85.0,58.0,125.0,121.0 +Hyland Ski & Snowboard Area,Minnesota,Minnesota,1075,175,900,0,0,0,2,1,0,5,8,14.0,1.0,1.0,35.0,35.0,110.0,61.0,55.0,35.34,115.0,35.0 +Lutsen Mountains,Minnesota,Minnesota,1688,825,800,1,1,0,0,1,4,1,8,62.0,2.0,2.0,393.0,231.0,135.0,71.0,120.0,84.0,127.0, +Mount Kato Ski Area,Minnesota,Minnesota,540,240,300,0,0,0,5,0,3,2,10,19.0,4.0,1.0,55.0,55.0,115.0,43.0,50.0,46.0,120.0,50.0 +Powder Ridge Ski Area,Minnesota,Minnesota,790,300,500,0,0,0,1,0,2,3,6,15.0,4.0,,60.0,60.0,97.0,58.0,45.0,48.0,113.0,60.0 +Spirit Mountain,Minnesota,Minnesota,1320,700,620,0,0,1,1,2,1,2,7,22.0,3.0,1.0,175.0,175.0,100.0,45.0,100.0,59.0,125.0,144.0 +Welch Village,Minnesota,Minnesota,1060,360,700,0,0,0,3,1,4,2,10,50.0,1.0,0.8,125.0,125.0,114.0,54.0,45.0,60.0,122.0,100.0 +Wild Mountain Ski & Snowboard Area,Minnesota,Minnesota,1113,300,813,0,0,0,4,0,0,4,8,26.0,4.0,0.9,100.0,100.0,130.0,47.0,50.0,55.0,140.0,100.0 +Hidden Valley Ski Area,Missouri,Missouri,2566,310,2316,0,0,0,2,2,0,3,7,17.0,,0.1,30.0,30.0,,37.0,26.0,49.0,,17.0 +Snow Creek,Missouri,Missouri,1100,300,800,0,0,0,0,2,1,2,5,14.0,2.0,0.3,30.0,30.0,69.0,33.0,20.0,47.0,85.0,30.0 +Blacktail Mountain Ski Area,Montana,Montana,6676,1440,5236,0,0,0,0,1,2,1,4,27.0,,0.7,1000.0,,,21.0,250.0,42.0,, +Bridger Bowl,Montana,Montana,8700,2600,6100,0,0,0,1,6,1,3,11,105.0,2.0,1.5,2000.0,100.0,122.0,64.0,350.0,63.0,133.0, +Discovery Ski Area,Montana,Montana,8150,2380,5770,0,0,0,0,5,2,1,8,74.0,1.0,1.5,2400.0,25.0,116.0,46.0,225.0,49.0,116.0, +Great Divide,Montana,Montana,7330,1580,5750,0,0,0,0,0,5,1,6,110.0,6.0,3.0,1600.0,150.0,94.0,78.0,180.0,48.0,100.0,100.0 +Lost Trail - Powder Mtn,Montana,Montana,8200,1800,6400,0,0,0,0,0,5,3,8,69.0,2.0,2.5,1800.0,,84.0,81.0,325.0,46.0,80.0, +Maverick Mountain,Montana,Montana,8520,2020,6500,0,0,0,0,0,1,1,2,22.0,,1.3,255.0,,,83.0,160.0,39.0,, +Montana Snowbowl,Montana,Montana,7600,2600,5000,0,0,0,0,0,2,2,4,37.0,,1.2,950.0,20.0,,58.0,300.0,50.0,,10.0 +Red Lodge Mountain,Montana,Montana,9416,2400,7016,0,0,2,0,1,3,1,7,70.0,2.0,2.5,1635.0,496.0,142.0,59.0,250.0,67.0,136.0, +Showdown Montana,Montana,Montana,8200,1400,6800,0,0,0,0,1,2,1,4,36.0,1.0,1.8,640.0,,86.0,83.0,250.0,47.0,85.0, +Teton Pass Ski Resort,Montana,Montana,7200,1010,6190,0,0,0,0,0,1,2,3,43.0,1.0,3.0,330.0,,40.0,54.0,250.0,39.0,150.0, +Big Mountain Resort,Montana,Montana,6817,2353,4464,0,0,3,2,6,0,3,14,105.0,4.0,3.3,3000.0,600.0,123.0,72.0,333.0,81.0,123.0,600.0 +Diamond Peak,Sierra Nevada,Nevada,8540,1840,6700,0,0,1,2,0,3,1,7,30.0,3.0,2.5,655.0,492.0,100.0,53.0,300.0,99.0,122.0, +Elko SnoBowl,Nevada,Nevada,7000,700,6300,0,0,0,0,0,1,1,2,10.0,,1.0,60.0,2.0,19.0,23.0,24.0,20.0,30.0, +Lee Canyon,Nevada,Nevada,11289,860,8510,0,0,0,2,1,0,0,3,24.0,1.0,0.3,195.0,50.0,144.0,56.0,161.0,70.0,150.0, +Mt. Rose - Ski Tahoe,Sierra Nevada,Nevada,9700,1800,8260,0,2,0,2,2,0,2,8,65.0,5.0,2.5,1200.0,330.0,152.0,55.0,350.0,135.0,150.0, +Attitash,New Hampshire,New Hampshire,2350,1750,600,0,0,2,1,3,2,1,9,68.0,3.0,3.0,311.0,240.0,115.0,54.0,120.0,89.0,130.0, +Black Mountain,New Hampshire,New Hampshire,2350,1100,1250,0,0,0,0,1,1,3,5,45.0,,1.6,143.0,120.0,110.0,84.0,125.0,59.0,107.0, +Bretton Woods,New Hampshire,New Hampshire,3100,1500,1600,0,0,4,1,1,0,3,9,63.0,2.0,2.0,464.0,427.0,180.0,46.0,200.0,99.0,180.0,45.0 +Cannon Mountain,New Hampshire,New Hampshire,4080,2180,1900,1,0,1,2,3,1,3,11,97.0,3.0,2.3,285.0,192.0,124.0,81.0,160.0,79.0,143.0, +Crotched Mountain,New Hampshire,New Hampshire,2066,1016,1050,0,0,1,1,1,1,1,5,25.0,3.0,1.2,100.0,100.0,105.0,16.0,105.0,69.0,100.0,100.0 +Dartmouth Skiway,New Hampshire,New Hampshire,1943,969,974,0,0,0,1,0,1,2,4,28.0,1.0,1.1,107.0,54.0,104.0,63.0,100.0,50.0,105.0, +Gunstock,New Hampshire,New Hampshire,2300,1400,900,0,0,1,2,2,0,1,6,55.0,4.0,1.5,227.0,176.0,106.0,82.0,120.0,92.0,,60.0 +King Pine,New Hampshire,New Hampshire,850,350,500,0,0,0,0,3,0,3,6,17.0,2.0,0.3,48.0,45.0,105.0,57.0,120.0,58.0,107.0,23.0 +Mount Sunapee,New Hampshire,New Hampshire,2743,1510,1233,0,0,2,1,2,1,4,10,66.0,4.0,0.8,232.0,215.0,130.0,71.0,100.0,93.0,136.0, +Pats Peak,New Hampshire,New Hampshire,1460,770,690,0,0,0,0,4,2,5,11,28.0,3.0,1.5,115.0,115.0,109.0,56.0,100.0,72.0,112.0,93.0 +Ragged Mountain Resort,New Hampshire,New Hampshire,2250,1250,1000,0,1,1,0,1,0,3,6,57.0,3.0,0.7,250.0,200.0,,54.0,100.0,84.0,140.0, +Waterville Valley,New Hampshire,New Hampshire,4004,2020,1984,0,0,2,0,2,3,4,11,62.0,4.0,1.9,265.0,220.0,142.0,54.0,148.0,93.0,142.0, +Whaleback Mountain,New Hampshire,New Hampshire,1800,700,1100,0,0,0,0,0,1,3,4,30.0,1.0,1.0,85.0,60.0,105.0,64.0,110.0,45.0,105.0,55.0 +Wildcat Mountain,New Hampshire,New Hampshire,4062,2112,1950,0,0,1,0,3,0,1,5,48.0,,2.8,225.0,200.0,156.0,61.0,200.0,89.0,150.0, +Mountain Creek Resort,New Jersey,New Jersey,1480,1040,440,1,0,2,2,1,1,3,10,46.0,3.0,2.0,167.0,167.0,90.0,54.0,65.0,79.99,100.0,167.0 +Angel Fire Resort,New Mexico,New Mexico,10677,2077,8600,0,0,2,0,0,3,2,7,81.0,3.0,3.0,560.0,230.0,101.0,53.0,210.0,77.0,101.0,50.0 +Enchanted Forest Ski Area,New Mexico,New Mexico,10078,400,9820,0,0,0,0,0,0,0,0,33.0,,2.5,600.0,,130.0,34.0,240.0,20.0,140.0, +Pajarito Mountain Ski Area,New Mexico,New Mexico,10441,1410,9031,0,0,0,1,1,3,1,6,45.0,2.0,0.6,750.0,35.0,89.0,62.0,163.0,49.0,117.0, +Red River,New Mexico,New Mexico,10350,1600,8750,0,0,0,1,3,1,2,7,63.0,3.0,2.5,209.0,,110.0,60.0,214.0,79.0,, +Sandia Peak,New Mexico,New Mexico,10378,1700,8678,0,0,0,0,0,4,1,5,39.0,1.0,2.0,200.0,30.0,32.0,82.0,100.0,55.0,38.0, +Sipapu Ski Resort,New Mexico,New Mexico,9255,1055,8200,0,0,0,1,2,0,3,6,42.0,4.0,0.5,200.0,140.0,127.0,67.0,190.0,47.0,143.0, +Ski Apache,New Mexico,New Mexico,11500,1900,9600,1,0,0,2,6,0,2,11,55.0,3.0,2.0,750.0,270.0,133.0,58.0,185.0,74.0,124.0, +Ski Santa Fe,New Mexico,New Mexico,12075,1725,10350,0,0,0,1,2,2,2,7,83.0,1.0,3.0,660.0,275.0,107.0,73.0,225.0,80.0,130.0, +Taos Ski Valley,New Mexico,New Mexico,12481,3281,9200,1,0,1,3,4,1,4,14,111.0,1.0,5.0,1294.0,647.0,137.0,64.0,300.0,110.0,136.0, +Belleayre,New York,New York,3429,1404,2025,1,0,1,1,1,2,2,8,50.0,2.0,2.2,175.0,168.0,154.0,70.0,130.0,72.0,150.0, +Brantling Ski Slopes,New York,New York,850,250,600,0,0,0,0,0,0,5,5,10.0,,0.1,20.0,16.0,,19.0,110.0,32.0,, +Bristol Mountain,New York,New York,2200,1200,1000,0,0,2,1,1,1,1,6,34.0,3.0,2.0,160.0,148.0,129.0,55.0,60.0,76.0,129.0,154.0 +Buffalo Ski Club Ski Area,New York,New York,3429,500,2025,0,0,0,0,0,2,4,6,43.0,1.0,,225.0,150.0,,12.0,,50.0,,100.0 +Catamount,New York,New York,2000,1000,1000,0,0,0,1,1,2,3,7,36.0,5.0,2.0,133.0,130.0,100.0,80.0,108.0,69.0,90.0,55.0 +Dry Hill Ski Area,New York,New York,950,300,650,0,0,0,0,0,1,2,3,7.0,1.0,0.2,35.0,26.0,,55.0,125.0,35.0,,26.0 +Gore Mountain,New York,New York,3600,2537,998,1,0,2,2,3,2,4,14,110.0,7.0,4.5,439.0,338.0,142.0,55.0,150.0,88.0,,15.0 +Greek Peak,New York,New York,2100,952,1148,0,0,0,1,1,4,2,8,56.0,4.0,1.5,220.0,184.0,110.0,62.0,122.0,63.2,113.0,175.0 +Holiday Mountain,New York,New York,1550,400,1150,0,0,0,1,0,1,2,4,9.0,,0.4,37.0,37.0,75.0,60.0,50.0,42.0,85.0,37.0 +Holiday Valley,New York,New York,2250,750,1500,0,0,3,8,0,0,2,13,60.0,5.0,1.0,290.0,266.0,116.0,62.0,180.0,78.0,129.0,189.0 +Holimont Ski Area,New York,New York,2260,700,1560,0,0,1,1,2,3,1,8,53.0,3.0,1.5,135.0,135.0,110.0,57.0,180.0,75.0,119.0, +Hunt Hollow Ski Club,New York,New York,2030,825,1000,0,0,0,0,1,1,1,3,19.0,1.0,1.0,400.0,400.0,,52.0,130.0,58.0,75.0,400.0 +Hunter Mountain,New York,New York,3200,1600,1600,0,2,1,2,2,2,4,13,67.0,4.0,2.0,320.0,320.0,148.0,59.0,120.0,89.0,155.0, +Kissing Bridge,New York,New York,1700,550,1150,0,0,0,2,1,4,3,10,39.0,5.0,0.5,700.0,550.0,103.0,59.0,120.0,60.0,100.0,650.0 +Labrador Mt.,New York,New York,1825,700,1125,0,0,0,0,1,2,1,4,23.0,1.0,1.0,250.0,237.0,,62.0,125.0,59.0,100.0,180.0 +Maple Ski Ridge,New York,New York,1200,450,750,0,0,0,0,1,1,1,3,10.0,,0.3,25.0,25.0,,57.0,,38.0,,20.0 +McCauley Mountain Ski Center,New York,New York,2250,633,1563,0,0,0,0,0,1,4,5,23.0,1.0,0.3,70.0,55.0,105.0,61.0,200.0,30.0,105.0, +Mount Peter Ski Area,New York,New York,1250,450,750,0,0,0,1,0,2,2,5,14.0,1.0,1.0,69.0,69.0,100.0,83.0,50.0,54.0,100.0,69.0 +Oak Mountain,New York,New York,2400,650,1750,0,0,0,1,0,0,3,4,22.0,1.0,1.2,46.0,18.0,,71.0,120.0,40.0,,12.0 +Peek'n Peak,New York,New York,1800,400,1400,0,0,0,0,8,0,2,10,27.0,4.0,2.4,110.0,110.0,110.0,55.0,225.0,63.0,,110.0 +Plattekill Mountain,New York,New York,3500,1100,2400,0,0,0,0,1,1,2,4,38.0,1.0,2.0,110.0,75.0,65.0,26.0,175.0,67.0,65.0, +Royal Mountain Ski Area,New York,New York,1800,550,1250,0,0,0,0,0,3,0,3,14.0,,0.3,35.0,28.0,,63.0,90.0,45.0,, +Snow Ridge,New York,New York,2000,650,1350,0,0,0,0,0,4,2,6,21.0,2.0,0.8,130.0,65.0,73.0,74.0,230.0,48.0,100.0,40.0 +Song Mountain,New York,New York,1940,700,1240,0,0,0,0,1,1,3,5,24.0,,0.4,93.0,70.0,90.0,55.0,125.0,59.0,122.0,70.0 +Swain,New York,New York,1970,650,1320,0,0,0,3,0,1,1,5,35.0,3.0,1.0,130.0,90.0,102.0,72.0,120.0,59.0,100.0,80.0 +Thunder Ridge,New York,New York,1270,500,770,0,0,0,0,1,2,3,6,30.0,,0.4,100.0,100.0,121.0,60.0,,57.0,121.0,100.0 +Titus Mountain,New York,New York,2025,1200,825,0,0,0,0,2,6,2,10,50.0,3.0,2.0,200.0,150.0,101.0,59.0,150.0,49.0,100.0,70.0 +Toggenburg Mountain,New York,New York,2000,700,1300,0,0,0,0,1,1,3,5,22.0,2.0,0.4,85.0,,,66.0,130.0,55.0,122.0,73.0 +West Mountain,New York,New York,1470,1010,460,0,0,0,0,1,2,2,5,29.0,1.0,0.6,124.0,105.0,,58.0,80.0,59.0,120.0,105.0 +Whiteface Mountain Resort,New York,New York,4650,3430,1220,1,0,1,1,2,5,2,12,86.0,5.0,2.1,288.0,220.0,122.0,61.0,168.0,96.0,141.0, +Willard Mountain,New York,New York,1415,505,910,0,0,0,0,0,2,3,5,16.0,,0.4,50.0,35.0,85.0,19.0,80.0,46.0,120.0,35.0 +Windham Mountain,New York,New York,3100,1600,1500,0,1,2,0,3,1,5,12,54.0,6.0,2.0,285.0,280.0,123.0,59.0,105.0,95.0,130.0,56.0 +Woods Valley Ski Area,New York,New York,1400,500,900,0,0,0,0,0,2,4,6,21.0,,0.3,25.0,16.0,,55.0,180.0,39.0,,15.0 +Appalachian Ski Mountain,North Carolina,North Carolina,4000,365,3635,0,0,0,2,0,1,2,5,12.0,3.0,0.5,27.0,27.0,100.0,57.0,50.0,64.0,100.0,27.0 +Cataloochee Ski Area,North Carolina,North Carolina,5400,740,4660,0,0,0,1,1,1,2,5,18.0,2.0,1.0,50.0,50.0,141.0,58.0,50.0,70.0,108.0,50.0 +Sapphire Valley,North Carolina,North Carolina,3450,200,3200,0,0,0,1,0,0,2,3,,1.0,1.0,8.0,8.0,53.0,55.0,24.0,43.0,60.0,8.0 +Beech Mountain Resort,North Carolina,North Carolina,5506,830,4675,0,0,0,3,0,3,2,8,17.0,1.0,1.0,95.0,95.0,98.0,52.0,31.0,68.0,,95.0 +Sugar Mountain Resort,North Carolina,North Carolina,5300,1200,4100,0,1,0,0,1,4,2,8,21.0,1.0,1.5,125.0,125.0,114.0,50.0,77.0,75.0,120.0,95.0 +Wolf Ridge Ski Resort,North Carolina,North Carolina,4700,720,4000,0,0,0,1,0,1,2,4,15.0,1.0,0.6,65.0,65.0,,49.0,65.0,65.0,100.0,60.0 +Alpine Valley,Ohio,Ohio,1500,230,1260,0,0,0,1,2,1,1,5,11.0,1.0,0.2,72.0,72.0,105.0,53.0,120.0,43.0,,72.0 +Boston Mills,Ohio,Ohio,871,264,631,0,0,0,0,4,2,2,8,7.0,2.0,0.3,40.0,40.0,92.0,56.0,51.0,44.0,110.0,40.0 +Brandywine,Ohio,Ohio,871,240,631,0,0,0,2,7,2,5,16,11.0,2.0,0.3,85.0,85.0,92.0,56.0,51.0,44.0,110.0,85.0 +Mad River Mountain,Ohio,Ohio,1460,300,1160,0,0,0,1,2,3,6,12,20.0,4.0,0.5,144.0,144.0,99.0,57.0,36.0,44.0,90.0,144.0 +Snow Trails,Ohio,Ohio,1475,301,1174,0,0,0,0,4,2,3,9,17.0,3.0,0.2,80.0,80.0,101.0,58.0,50.0,52.0,70.0,80.0 +Anthony Lakes Mountain Resort,Oregon,Oregon,8000,900,7100,0,0,0,0,1,0,2,3,21.0,2.0,1.5,1100.0,,75.0,56.0,300.0,40.0,80.0, +Cooper Spur,Mt. Hood,Oregon,4000,350,3500,0,0,0,0,0,1,1,2,10.0,,0.1,50.0,,78.0,66.0,100.0,39.0,90.0, +Hoodoo Ski Area,Oregon,Oregon,5703,1035,4668,0,0,0,3,1,1,0,5,34.0,,0.4,806.0,,80.0,81.0,350.0,59.0,108.0,200.0 +Mt. Ashland,Oregon,Oregon,7533,1150,6383,0,0,0,0,2,2,1,5,23.0,2.0,1.0,220.0,,94.0,55.0,300.0,52.0,92.0,40.0 +Mt. Bachelor,Oregon,Oregon,9065,3365,5700,0,0,8,0,3,0,0,11,101.0,5.0,4.0,4318.0,20.0,185.0,61.0,462.0,99.0,185.0, +Mt. Hood Skibowl,Mt. Hood,Oregon,5100,1500,3600,0,0,0,0,0,4,5,9,65.0,2.0,3.0,960.0,29.0,125.0,82.0,300.0,70.0,144.0,317.0 +Willamette Pass,Oregon,Oregon,6683,1563,5120,0,1,0,0,3,0,1,5,29.0,,2.1,555.0,60.0,3.0,78.0,430.0,60.0,100.0, +Bear Creek Mountain Resort,Pennsylvania,Pennsylvania,1100,510,600,0,0,0,3,1,0,2,6,23.0,3.0,1.0,86.0,86.0,91.0,52.0,30.0,60.0,90.0,86.0 +Ski Big Bear,Pennsylvania,Pennsylvania,1250,650,600,0,0,0,0,0,4,2,6,18.0,1.0,1.5,26.0,26.0,75.0,43.0,69.0,62.0,75.0,26.0 +Big Boulder,Pennsylvania,Pennsylvania,2175,600,1700,0,0,0,0,2,5,1,8,16.0,8.0,,55.0,55.0,76.0,72.0,50.0,65.0,95.0,55.0 +Blue Knob,Pennsylvania,Pennsylvania,3146,1072,2074,0,0,0,0,2,2,2,6,34.0,1.0,2.0,100.0,84.0,87.0,56.0,120.0,68.0,105.0,42.0 +Blue Mountain Resort,Pennsylvania,Pennsylvania,1600,1082,460,0,1,1,1,1,3,9,16,39.0,5.0,1.2,164.0,164.0,122.0,42.0,33.0,65.0,112.0,164.0 +Camelback Mountain Resort,Pennsylvania,Pennsylvania,2100,800,1250,0,0,2,0,3,5,6,16,37.0,5.0,1.0,166.0,166.0,100.0,56.0,50.0,70.0,100.0,160.0 +Elk Mountain Ski Resort,Pennsylvania,Pennsylvania,2693,1000,1693,0,0,0,1,0,5,1,7,27.0,2.0,0.7,180.0,146.0,,60.0,60.0,69.0,100.0,90.0 +Jack Frost,Pennsylvania,Pennsylvania,2000,600,1400,0,0,0,1,2,5,1,9,20.0,1.0,1.0,100.0,100.0,96.0,47.0,50.0,65.0,105.0, +Liberty,Pennsylvania,Pennsylvania,1190,620,570,0,0,0,5,0,0,3,8,16.0,3.0,1.0,100.0,100.0,107.0,54.0,31.0,77.0,97.0,100.0 +Mount Pleasant of Edinboro,Pennsylvania,Pennsylvania,1540,340,1200,0,0,0,0,1,0,1,2,10.0,,0.5,40.0,35.0,75.0,48.0,100.0,33.0,90.0,35.0 +Roundtop Mountain Resort,Pennsylvania,Pennsylvania,1400,600,800,0,0,0,3,2,0,3,8,20.0,2.0,0.4,103.0,103.0,,55.0,30.0,73.0,,100.0 +Seven Springs,Pennsylvania,Pennsylvania,2994,750,2240,0,2,0,3,5,0,4,14,33.0,7.0,1.2,285.0,285.0,99.0,87.0,135.0,87.0,115.0,200.0 +Shawnee Mountain Ski Area,Pennsylvania,Pennsylvania,1350,700,650,0,0,1,1,0,4,4,10,23.0,2.0,1.6,125.0,125.0,100.0,44.0,50.0,65.0,122.0,120.0 +Ski Sawmill,Pennsylvania,Pennsylvania,2215,515,1700,0,0,0,0,1,1,3,5,14.0,1.0,0.1,15.0,13.0,,50.0,24.0,44.0,90.0,15.0 +Tussey Mountain,Pennsylvania,Pennsylvania,1750,520,1230,0,0,0,1,0,1,3,5,8.0,1.0,0.3,38.0,30.0,100.0,39.0,41.0,45.0,100.0,30.0 +Whitetail Resort,Pennsylvania,Pennsylvania,1800,935,865,0,0,1,3,0,2,2,8,23.0,2.0,1.0,120.0,120.0,116.0,28.0,40.0,71.0,100.0,120.0 +Deer Mountain Ski Resort,South Dakota,South Dakota,6850,940,6040,0,0,0,0,1,1,2,4,63.0,2.0,1.6,500.0,50.0,69.0,51.0,200.0,45.0,81.0, +Terry Peak Ski Area,South Dakota,South Dakota,7100,1100,5900,0,0,3,0,1,0,1,5,30.0,1.0,1.2,450.0,225.0,114.0,65.0,150.0,58.0,120.0, +Ober Gatlinburg Ski Resort,Tennessee,Tennessee,3300,600,2700,0,0,0,2,0,1,1,4,10.0,1.0,1.0,,,83.0,44.0,35.0,65.0,94.0, +Alta Ski Area,Salt Lake City,Utah,11068,2538,8530,0,0,3,0,1,2,0,6,116.0,,1.3,2614.0,140.0,150.0,81.0,545.0,116.0,140.0, +Beaver Mountain,Utah,Utah,8600,1600,7232,0,0,0,0,1,3,1,5,48.0,2.0,0.8,464.0,,120.0,81.0,400.0,50.0,120.0, +Brian Head Resort,Utah,Utah,10970,1548,9600,0,0,1,0,6,1,0,8,71.0,2.0,0.6,650.0,216.0,149.0,54.0,360.0,59.0,148.0, +Brighton Resort,Salt Lake City,Utah,10500,1745,8755,0,0,3,1,1,0,2,7,66.0,4.0,1.2,1050.0,200.0,138.0,83.0,500.0,85.0,138.0,200.0 +Deer Valley Resort,Salt Lake City,Utah,9570,3000,6570,1,0,13,0,5,2,0,21,103.0,,2.8,2026.0,660.0,,39.0,300.0,169.0,, +Eagle Point,Utah,Utah,10600,1500,9100,0,0,0,1,1,2,1,5,40.0,1.0,0.9,650.0,,,9.0,400.0,60.0,109.0, +Powder Mountain,Utah,Utah,9422,2522,6900,0,0,1,4,1,0,3,9,167.0,2.0,3.5,8464.0,,120.0,47.0,500.0,88.0,146.0,300.0 +Snowbasin,Utah,Utah,9350,2900,6450,3,1,2,0,3,0,2,11,107.0,4.0,3.5,3000.0,625.0,143.0,79.0,300.0,115.0,138.0, +Snowbird,Salt Lake City,Utah,11000,3240,7760,1,0,6,0,0,4,3,14,170.0,1.0,2.5,2500.0,,188.0,48.0,500.0,125.0,180.0,2.0 +Solitude Mountain Resort,Salt Lake City,Utah,10488,2494,7994,0,0,4,2,1,1,1,9,80.0,,3.0,1200.0,150.0,161.0,62.0,500.0,119.0,148.0, +Sundance,Utah,Utah,8250,2150,6100,0,0,0,2,2,0,1,5,45.0,1.0,0.6,450.0,112.0,128.0,50.0,320.0,80.0,129.0, +Nordic Valley Resort,Utah,Utah,6400,960,5440,0,0,0,0,0,2,2,4,23.0,1.0,0.4,140.0,84.0,105.0,51.0,300.0,50.0,105.0,140.0 +Bolton Valley,Vermont,Vermont,3150,1704,1446,0,0,0,2,0,3,1,6,71.0,3.0,0.6,300.0,90.0,133.0,53.0,300.0,79.0,132.0,50.0 +Bromley Mountain,Vermont,Vermont,3284,1334,1950,0,0,1,1,0,4,3,9,47.0,1.0,2.5,178.0,153.0,,83.0,168.0,91.0,152.0, +Burke Mountain,Vermont,Vermont,3267,2011,1210,0,0,2,1,0,0,3,6,50.0,3.0,2.2,178.0,125.0,110.0,62.0,217.0,73.0,125.0, +Jay Peak,Vermont,Vermont,3968,2153,1815,1,0,1,3,1,1,2,9,79.0,2.0,3.0,385.0,300.0,155.0,64.0,349.0,89.0,160.0, +Killington Resort,Vermont,Vermont,4241,3050,1165,3,1,5,4,3,1,5,22,155.0,6.0,6.0,1515.0,600.0,192.0,61.0,250.0,119.0,, +Magic Mountain,Vermont,Vermont,2850,1500,1350,0,0,0,0,0,3,3,6,50.0,1.0,1.6,205.0,95.0,76.0,59.0,150.0,74.0,80.0, +Pico Mountain,Vermont,Vermont,3967,1967,2000,0,0,2,0,2,2,1,7,59.0,1.0,4.0,260.0,156.0,,82.0,250.0,81.0,, +Smugglers' Notch Resort,Vermont,Vermont,3640,2610,1030,0,0,0,0,0,6,2,8,78.0,6.0,3.0,1000.0,192.0,136.0,63.0,280.0,79.0,135.0, +Sugarbush,Vermont,Vermont,4083,2600,1483,0,0,5,5,2,1,3,16,111.0,4.0,3.0,581.0,406.0,150.0,61.0,250.0,119.0,156.0, +Suicide Six,Vermont,Vermont,1200,650,550,0,0,0,0,0,2,1,3,24.0,,0.4,100.0,50.0,100.0,85.0,90.0,75.0,106.0, +Bryce Resort,Virginia,Virginia,1750,500,1250,0,0,0,1,0,1,5,7,8.0,,0.4,25.0,25.0,100.0,54.0,30.0,68.0,95.0,20.0 +49 Degrees North,Washington,Washington,5774,1851,3932,0,0,0,1,0,5,1,7,89.0,1.0,2.0,2325.0,,101.0,48.0,301.0,62.0,135.0,250.0 +Bluewood,Washington,Washington,5670,1125,4545,0,0,0,0,2,0,1,3,24.0,2.0,2.0,355.0,,70.0,40.0,300.0,47.0,110.0, +Crystal Mountain,Washington,Washington,7012,3100,4400,1,2,2,1,2,2,0,10,57.0,1.0,2.5,2600.0,10.0,,57.0,486.0,99.0,, +Mt. Baker,Washington,Washington,5000,1500,3500,0,0,0,8,0,0,2,10,38.0,,0.7,1000.0,,143.0,66.0,663.0,60.01,165.0, +Mt. Spokane Ski and Snowboard Park,Washington,Washington,5889,2000,4200,0,0,0,0,1,5,1,7,52.0,3.0,0.6,1704.0,,100.0,81.0,300.0,59.0,103.0,45.0 +The Summit at Snoqualmie,Washington,Washington,3865,1025,2840,0,0,3,3,4,10,7,27,112.0,5.0,0.8,1994.0,5.0,120.0,82.0,428.0,95.0,140.0,541.0 +White Pass,Washington,Washington,6550,2050,4500,0,0,2,1,1,2,2,8,45.0,2.0,2.5,1402.0,30.0,148.0,67.0,400.0,69.0,144.0,90.0 +Canaan Valley Resort,West Virginia,West Virginia,4280,850,3430,0,0,0,1,2,0,1,4,47.0,1.0,1.2,95.0,75.0,,48.0,160.0,68.0,93.0, +Snowshoe Mountain Resort,West Virginia,West Virginia,4848,1500,3348,0,0,3,2,6,0,3,14,60.0,5.0,1.5,257.0,257.0,125.0,46.0,180.0,87.0,138.0,86.0 +Timberline Four Seasons,West Virginia,West Virginia,4265,1000,3268,0,0,0,0,2,1,1,4,40.0,1.0,2.0,100.0,100.0,97.0,37.0,150.0,92.0,115.0,27.0 +Winterplace Ski Resort,West Virginia,West Virginia,3600,603,2997,0,0,0,2,3,2,2,9,27.0,2.0,1.2,90.0,90.0,120.0,36.0,100.0,72.0,120.0,74.0 +Alpine Valley Resort,Wisconsin,Wisconsin,1040,388,820,0,0,3,0,3,1,5,12,21.0,3.0,0.2,90.0,90.0,100.0,55.0,80.0,65.0,120.0,90.0 +Bruce Mound,Wisconsin,Wisconsin,1375,375,1000,0,0,0,0,1,0,4,5,12.0,2.0,0.5,40.0,30.0,42.0,71.0,42.0,25.0,42.0,30.0 +Cascade Mountain,Wisconsin,Wisconsin,1280,460,820,0,0,2,2,3,2,3,12,47.0,4.0,1.1,175.0,175.0,120.0,57.0,56.0,64.0,120.0, +Christie Mountain,Wisconsin,Wisconsin,1650,350,1300,0,0,0,0,0,1,5,6,30.0,4.0,0.8,45.0,41.0,92.0,43.0,48.0,38.0,120.0,35.0 +Devils Head,Wisconsin,Wisconsin,995,500,495,0,0,0,3,1,6,2,12,27.0,1.0,1.0,260.0,260.0,110.0,48.0,45.0,65.0,135.0,200.0 +Grand Geneva,Wisconsin,Wisconsin,1086,211,875,0,0,0,0,0,3,3,6,20.0,1.0,0.2,30.0,30.0,90.0,25.0,25.0,49.0,93.0,30.0 +Granite Peak Ski Area,Wisconsin,Wisconsin,1942,700,1242,0,1,2,0,2,0,2,7,75.0,4.0,0.6,220.0,160.0,136.0,82.0,75.0,92.0,135.0,200.0 +Mount La Crosse,Wisconsin,Wisconsin,1110,516,594,0,0,0,0,0,3,1,4,19.0,1.0,0.4,100.0,100.0,115.0,60.0,40.0,56.0,100.0,90.0 +Nordic Mountain,Wisconsin,Wisconsin,1137,265,872,0,0,0,0,1,1,5,7,18.0,4.0,1.0,60.0,60.0,68.0,43.0,80.0,47.0,90.0,60.0 +Sunburst,Wisconsin,Wisconsin,1100,214,866,0,0,0,0,0,3,6,9,13.0,4.0,0.5,37.0,37.0,99.0,59.0,50.0,44.0,115.0,37.0 +Trollhaugen,Wisconsin,Wisconsin,1200,260,920,0,0,0,2,0,1,5,8,24.0,4.0,0.5,86.0,86.0,130.0,69.0,50.0,54.0,120.0,86.0 +Tyrol Basin,Wisconsin,Wisconsin,1160,300,860,0,0,0,0,3,0,2,5,18.0,5.0,0.5,32.0,32.0,112.0,61.0,41.0,48.0,103.0,32.0 +Whitecap Mountain,Wisconsin,Wisconsin,1750,400,1295,0,0,0,1,0,4,0,5,43.0,1.0,1.0,400.0,300.0,105.0,57.0,200.0,60.0,118.0, +Wilmot Mountain,Wisconsin,Wisconsin,1030,230,800,0,0,0,3,2,2,3,10,23.0,2.0,0.5,135.0,135.0,125.0,81.0,70.0,66.0,139.0,135.0 +Grand Targhee Resort,Wyoming,Wyoming,9920,2270,7851,0,0,2,2,0,0,1,5,95.0,1.0,2.7,2602.0,,152.0,50.0,500.0,90.0,152.0, +Hogadon Basin,Wyoming,Wyoming,8000,640,7400,0,0,0,0,0,1,1,2,28.0,1.0,0.6,92.0,32.0,121.0,61.0,80.0,48.0,95.0, +Sleeping Giant Ski Resort,Wyoming,Wyoming,7428,810,6619,0,0,0,0,1,1,1,3,48.0,1.0,1.0,184.0,18.0,61.0,81.0,310.0,42.0,77.0, +Snow King Resort,Wyoming,Wyoming,7808,1571,6237,0,0,0,1,1,1,0,3,32.0,2.0,1.0,400.0,250.0,121.0,80.0,300.0,59.0,123.0,110.0 +Snowy Range Ski & Recreation Area,Wyoming,Wyoming,9663,990,8798,0,0,0,0,1,3,1,5,33.0,2.0,0.7,75.0,30.0,131.0,59.0,250.0,49.0,, +White Pine Ski Area,Wyoming,Wyoming,9500,1100,8400,0,0,0,0,2,0,0,2,25.0,,0.4,370.0,,,81.0,150.0,49.0,, diff --git a/data/state_summary.csv b/data/state_summary.csv new file mode 100644 index 000000000..53979a710 --- /dev/null +++ b/data/state_summary.csv @@ -0,0 +1,36 @@ +state,resorts_per_state,state_total_skiable_area_ac,state_total_days_open,state_total_terrain_parks,state_total_nightskiing_ac,state_population,state_area_sq_miles +Alaska,3,2280.0,345.0,4.0,580.0,731545,665384 +Arizona,2,1577.0,237.0,6.0,80.0,7278717,113990 +California,21,25948.0,2738.0,81.0,587.0,39512223,163695 +Colorado,22,43682.0,3258.0,74.0,428.0,5758736,104094 +Connecticut,5,358.0,353.0,10.0,256.0,3565278,5543 +Idaho,12,16396.0,1136.0,27.0,415.0,1787065,83569 +Illinois,4,191.0,221.0,6.0,191.0,12671821,57914 +Indiana,2,165.0,157.0,4.0,165.0,6732219,36420 +Iowa,3,140.0,100.0,5.0,140.0,3155070,56273 +Maine,9,3216.0,865.0,17.0,388.0,1344212,35380 +Maryland,1,172.0,121.0,3.0,118.0,6045680,12406 +Massachusetts,11,1166.0,671.0,18.0,583.0,6892503,10554 +Michigan,28,4406.0,2389.0,63.0,1946.0,9986857,96714 +Minnesota,14,1560.0,1490.0,29.0,1020.0,5639632,86936 +Missouri,2,60.0,69.0,2.0,47.0,6137428,69707 +Montana,12,21410.0,951.0,27.0,710.0,1068778,147040 +Nevada,4,2110.0,415.0,9.0,0.0,3080156,110572 +New Hampshire,16,3427.0,1847.0,43.0,376.0,1359711,9349 +New Jersey,2,190.0,170.0,4.0,181.0,8882190,8723 +New Mexico,9,5223.0,966.0,18.0,50.0,2096829,121590 +New York,33,5514.0,2384.0,72.0,2836.0,19453561,54555 +North Carolina,6,370.0,506.0,9.0,335.0,10488084,53819 +Ohio,5,421.0,489.0,12.0,421.0,11689100,44826 +Oregon,10,11774.0,1180.0,22.0,1127.0,4217737,98379 +Pennsylvania,19,1888.0,1404.0,47.0,1528.0,12801989,46054 +Rhode Island,1,30.0,100.0,1.0,30.0,1059361,1545 +South Dakota,2,950.0,183.0,3.0,0.0,884659,77116 +Tennessee,1,0.0,83.0,1.0,0.0,6829174,42144 +Utah,13,30508.0,1544.0,26.0,642.0,3205958,84897 +Vermont,15,7239.0,1777.0,50.0,50.0,623989,9616 +Virginia,4,269.0,366.0,4.0,135.0,8535519,42775 +Washington,10,15330.0,1022.0,21.0,1997.0,7614893,71298 +West Virginia,4,542.0,342.0,9.0,187.0,1792147,24230 +Wisconsin,15,1750.0,1519.0,40.0,1065.0,5822434,65496 +Wyoming,8,6523.0,716.0,14.0,110.0,578759,97813