diff --git a/your-code/main.ipynb b/your-code/main.ipynb
index 68b3762..5e67f69 100644
--- a/your-code/main.ipynb
+++ b/your-code/main.ipynb
@@ -12,11 +12,16 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 140,
"metadata": {},
"outputs": [],
"source": [
- "#Import your libraries\n"
+ "#Import your libraries\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "from sklearn.model_selection import train_test_split"
]
},
{
@@ -38,11 +43,343 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 146,
"metadata": {},
"outputs": [],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "import os\n",
+ "\n",
+ "data = r\"C:\\Users\\hugoe\\Desktop\\LABS\\lab-intro-to-ml\\your-code\\austin_weather.csv\"\n",
+ "austin = pd.read_csv(data)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " SeaLevelPressureLowInches | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " PrecipitationSumInches | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2013-12-21 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67 | \n",
+ " 49 | \n",
+ " 43 | \n",
+ " 93 | \n",
+ " 75 | \n",
+ " 57 | \n",
+ " ... | \n",
+ " 29.68 | \n",
+ " 29.59 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 20 | \n",
+ " 4 | \n",
+ " 31 | \n",
+ " 0.46 | \n",
+ " Rain , Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2013-12-22 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43 | \n",
+ " 36 | \n",
+ " 28 | \n",
+ " 93 | \n",
+ " 68 | \n",
+ " 43 | \n",
+ " ... | \n",
+ " 30.13 | \n",
+ " 29.87 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 5 | \n",
+ " 16 | \n",
+ " 6 | \n",
+ " 25 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2013-12-23 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31 | \n",
+ " 27 | \n",
+ " 23 | \n",
+ " 76 | \n",
+ " 52 | \n",
+ " 27 | \n",
+ " ... | \n",
+ " 30.49 | \n",
+ " 30.41 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 12 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2013-12-24 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36 | \n",
+ " 28 | \n",
+ " 21 | \n",
+ " 89 | \n",
+ " 56 | \n",
+ " 22 | \n",
+ " ... | \n",
+ " 30.45 | \n",
+ " 30.3 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " 4 | \n",
+ " 20 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44 | \n",
+ " 40 | \n",
+ " 36 | \n",
+ " 86 | \n",
+ " 71 | \n",
+ " 56 | \n",
+ " ... | \n",
+ " 30.33 | \n",
+ " 30.27 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 10 | \n",
+ " 2 | \n",
+ " 16 | \n",
+ " T | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 21 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 2013-12-21 74 60 45 67 49 \n",
+ "1 2013-12-22 56 48 39 43 36 \n",
+ "2 2013-12-23 58 45 32 31 27 \n",
+ "3 2013-12-24 61 46 31 36 28 \n",
+ "4 2013-12-25 58 50 41 44 40 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent ... \\\n",
+ "0 43 93 75 57 ... \n",
+ "1 28 93 68 43 ... \n",
+ "2 23 76 52 27 ... \n",
+ "3 21 89 56 22 ... \n",
+ "4 36 86 71 56 ... \n",
+ "\n",
+ " SeaLevelPressureAvgInches SeaLevelPressureLowInches VisibilityHighMiles \\\n",
+ "0 29.68 29.59 10 \n",
+ "1 30.13 29.87 10 \n",
+ "2 30.49 30.41 10 \n",
+ "3 30.45 30.3 10 \n",
+ "4 30.33 30.27 10 \n",
+ "\n",
+ " VisibilityAvgMiles VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n",
+ "0 7 2 20 4 31 \n",
+ "1 10 5 16 6 25 \n",
+ "2 10 10 8 3 12 \n",
+ "3 10 7 12 4 20 \n",
+ "4 10 7 10 2 16 \n",
+ "\n",
+ " PrecipitationSumInches Events \n",
+ "0 0.46 Rain , Thunderstorm \n",
+ "1 0 \n",
+ "2 0 \n",
+ "3 0 \n",
+ "4 T \n",
+ "\n",
+ "[5 rows x 21 columns]"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 1319.000000 | \n",
+ " 1319.000000 | \n",
+ " 1319.000000 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " 80.862775 | \n",
+ " 70.642911 | \n",
+ " 59.902957 | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " 14.766523 | \n",
+ " 14.045904 | \n",
+ " 14.190648 | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " 32.000000 | \n",
+ " 29.000000 | \n",
+ " 19.000000 | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " 72.000000 | \n",
+ " 62.000000 | \n",
+ " 49.000000 | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " 83.000000 | \n",
+ " 73.000000 | \n",
+ " 63.000000 | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " 92.000000 | \n",
+ " 83.000000 | \n",
+ " 73.000000 | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " 107.000000 | \n",
+ " 93.000000 | \n",
+ " 81.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TempHighF TempAvgF TempLowF\n",
+ "count 1319.000000 1319.000000 1319.000000\n",
+ "mean 80.862775 70.642911 59.902957\n",
+ "std 14.766523 14.045904 14.190648\n",
+ "min 32.000000 29.000000 19.000000\n",
+ "25% 72.000000 62.000000 49.000000\n",
+ "50% 83.000000 73.000000 63.000000\n",
+ "75% 92.000000 83.000000 73.000000\n",
+ "max 107.000000 93.000000 81.000000"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin.describe()"
]
},
{
@@ -57,29 +394,557 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 9,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 1319.000000 | \n",
+ " 1319.000000 | \n",
+ " 1319.000000 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " 80.862775 | \n",
+ " 70.642911 | \n",
+ " 59.902957 | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " 14.766523 | \n",
+ " 14.045904 | \n",
+ " 14.190648 | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " 32.000000 | \n",
+ " 29.000000 | \n",
+ " 19.000000 | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " 72.000000 | \n",
+ " 62.000000 | \n",
+ " 49.000000 | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " 83.000000 | \n",
+ " 73.000000 | \n",
+ " 63.000000 | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " 92.000000 | \n",
+ " 83.000000 | \n",
+ " 73.000000 | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " 107.000000 | \n",
+ " 93.000000 | \n",
+ " 81.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TempHighF TempAvgF TempLowF\n",
+ "count 1319.000000 1319.000000 1319.000000\n",
+ "mean 80.862775 70.642911 59.902957\n",
+ "std 14.766523 14.045904 14.190648\n",
+ "min 32.000000 29.000000 19.000000\n",
+ "25% 72.000000 62.000000 49.000000\n",
+ "50% 83.000000 73.000000 63.000000\n",
+ "75% 92.000000 83.000000 73.000000\n",
+ "max 107.000000 93.000000 81.000000"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin.describe()"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 10,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " SeaLevelPressureLowInches | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " PrecipitationSumInches | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2013-12-21 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67 | \n",
+ " 49 | \n",
+ " 43 | \n",
+ " 93 | \n",
+ " 75 | \n",
+ " 57 | \n",
+ " ... | \n",
+ " 29.68 | \n",
+ " 29.59 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 20 | \n",
+ " 4 | \n",
+ " 31 | \n",
+ " 0.46 | \n",
+ " Rain , Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2013-12-22 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43 | \n",
+ " 36 | \n",
+ " 28 | \n",
+ " 93 | \n",
+ " 68 | \n",
+ " 43 | \n",
+ " ... | \n",
+ " 30.13 | \n",
+ " 29.87 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 5 | \n",
+ " 16 | \n",
+ " 6 | \n",
+ " 25 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2013-12-23 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31 | \n",
+ " 27 | \n",
+ " 23 | \n",
+ " 76 | \n",
+ " 52 | \n",
+ " 27 | \n",
+ " ... | \n",
+ " 30.49 | \n",
+ " 30.41 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 12 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2013-12-24 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36 | \n",
+ " 28 | \n",
+ " 21 | \n",
+ " 89 | \n",
+ " 56 | \n",
+ " 22 | \n",
+ " ... | \n",
+ " 30.45 | \n",
+ " 30.3 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " 4 | \n",
+ " 20 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44 | \n",
+ " 40 | \n",
+ " 36 | \n",
+ " 86 | \n",
+ " 71 | \n",
+ " 56 | \n",
+ " ... | \n",
+ " 30.33 | \n",
+ " 30.27 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 10 | \n",
+ " 2 | \n",
+ " 16 | \n",
+ " T | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 21 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 2013-12-21 74 60 45 67 49 \n",
+ "1 2013-12-22 56 48 39 43 36 \n",
+ "2 2013-12-23 58 45 32 31 27 \n",
+ "3 2013-12-24 61 46 31 36 28 \n",
+ "4 2013-12-25 58 50 41 44 40 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent ... \\\n",
+ "0 43 93 75 57 ... \n",
+ "1 28 93 68 43 ... \n",
+ "2 23 76 52 27 ... \n",
+ "3 21 89 56 22 ... \n",
+ "4 36 86 71 56 ... \n",
+ "\n",
+ " SeaLevelPressureAvgInches SeaLevelPressureLowInches VisibilityHighMiles \\\n",
+ "0 29.68 29.59 10 \n",
+ "1 30.13 29.87 10 \n",
+ "2 30.49 30.41 10 \n",
+ "3 30.45 30.3 10 \n",
+ "4 30.33 30.27 10 \n",
+ "\n",
+ " VisibilityAvgMiles VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n",
+ "0 7 2 20 4 31 \n",
+ "1 10 5 16 6 25 \n",
+ "2 10 10 8 3 12 \n",
+ "3 10 7 12 4 20 \n",
+ "4 10 7 10 2 16 \n",
+ "\n",
+ " PrecipitationSumInches Events \n",
+ "0 0.46 Rain , Thunderstorm \n",
+ "1 0 \n",
+ "2 0 \n",
+ "3 0 \n",
+ "4 T \n",
+ "\n",
+ "[5 rows x 21 columns]"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin.head()"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 11,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " SeaLevelPressureHighInches | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " SeaLevelPressureLowInches | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " PrecipitationSumInches | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2013-12-21 | \n",
+ " 67 | \n",
+ " 49 | \n",
+ " 43 | \n",
+ " 93 | \n",
+ " 75 | \n",
+ " 57 | \n",
+ " 29.86 | \n",
+ " 29.68 | \n",
+ " 29.59 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 2 | \n",
+ " 20 | \n",
+ " 4 | \n",
+ " 31 | \n",
+ " 0.46 | \n",
+ " Rain , Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2013-12-22 | \n",
+ " 43 | \n",
+ " 36 | \n",
+ " 28 | \n",
+ " 93 | \n",
+ " 68 | \n",
+ " 43 | \n",
+ " 30.41 | \n",
+ " 30.13 | \n",
+ " 29.87 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 5 | \n",
+ " 16 | \n",
+ " 6 | \n",
+ " 25 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2013-12-23 | \n",
+ " 31 | \n",
+ " 27 | \n",
+ " 23 | \n",
+ " 76 | \n",
+ " 52 | \n",
+ " 27 | \n",
+ " 30.56 | \n",
+ " 30.49 | \n",
+ " 30.41 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 12 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2013-12-24 | \n",
+ " 36 | \n",
+ " 28 | \n",
+ " 21 | \n",
+ " 89 | \n",
+ " 56 | \n",
+ " 22 | \n",
+ " 30.56 | \n",
+ " 30.45 | \n",
+ " 30.3 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " 4 | \n",
+ " 20 | \n",
+ " 0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 44 | \n",
+ " 40 | \n",
+ " 36 | \n",
+ " 86 | \n",
+ " 71 | \n",
+ " 56 | \n",
+ " 30.41 | \n",
+ " 30.33 | \n",
+ " 30.27 | \n",
+ " 10 | \n",
+ " 10 | \n",
+ " 7 | \n",
+ " 10 | \n",
+ " 2 | \n",
+ " 16 | \n",
+ " T | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date DewPointHighF DewPointAvgF DewPointLowF HumidityHighPercent \\\n",
+ "0 2013-12-21 67 49 43 93 \n",
+ "1 2013-12-22 43 36 28 93 \n",
+ "2 2013-12-23 31 27 23 76 \n",
+ "3 2013-12-24 36 28 21 89 \n",
+ "4 2013-12-25 44 40 36 86 \n",
+ "\n",
+ " HumidityAvgPercent HumidityLowPercent SeaLevelPressureHighInches \\\n",
+ "0 75 57 29.86 \n",
+ "1 68 43 30.41 \n",
+ "2 52 27 30.56 \n",
+ "3 56 22 30.56 \n",
+ "4 71 56 30.41 \n",
+ "\n",
+ " SeaLevelPressureAvgInches SeaLevelPressureLowInches VisibilityHighMiles \\\n",
+ "0 29.68 29.59 10 \n",
+ "1 30.13 29.87 10 \n",
+ "2 30.49 30.41 10 \n",
+ "3 30.45 30.3 10 \n",
+ "4 30.33 30.27 10 \n",
+ "\n",
+ " VisibilityAvgMiles VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n",
+ "0 7 2 20 4 31 \n",
+ "1 10 5 16 6 25 \n",
+ "2 10 10 8 3 12 \n",
+ "3 10 7 12 4 20 \n",
+ "4 10 7 10 2 16 \n",
+ "\n",
+ " PrecipitationSumInches Events \n",
+ "0 0.46 Rain , Thunderstorm \n",
+ "1 0 \n",
+ "2 0 \n",
+ "3 0 \n",
+ "4 T "
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Your code here\n",
+ "austin.select_dtypes(include=\"object\").head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAPdCAYAAABlRyFLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACLLElEQVR4nOzde3xU9Z0//vcEQgAlYFQIqdzUequIChVZtQW562Jbsd5wC9UV2wWt0LWK9QLifoP0pm2pbr9rta2g1v1ZWxWReANdgQrKWm1LRVHbCrhVMQI1DGR+f/TLrGM4SmCSmZDn8/HIQ85tzvu8P5PJnJdnzqQymUwmAAAAAACABkoKXQAAAAAAABQrIToAAAAAACQQogMAAAAAQAIhOgAAAAAAJBCiAwAAAABAAiE6AAAAAAAkEKIDAAAAAEACIToAAAAAACQQogMAAAAAQAIhOgC7Zfr06ZFKpXZr27/+9a95rgoAAAAgP4ToAE0klUrt1M8TTzxR6FJzpFKpmDx58g6X3X777ZFKpWL58uXNXFVE7969E3v4/vvvN3s9AADsGVrq+/btNmzYEO3bt49UKhW///3vm3x/TzzxRGKPzj777CbfP0AhtC10AQB7qp///Oc50z/72c+ipqamwfzDDz+8OcvKu6uuuiquuOKKZtnX0UcfHV//+tcbzG/Xrl2z7B8AgD1PS3/ffs8990QqlYrKysqYO3duXH/99c2y30suuSQ+/elP58zr3bt3s+wboLkJ0QGayHnnnZczvXTp0qipqWkwv6Vr27ZttG3bPH9OPvGJT+xx/QMAoLBa+vv2O+64I0455ZTo1atXzJs3r9lC9JNOOinOOOOMZtkXQKG5nQtAAdXX18eNN94Yn/rUp6J9+/bRrVu3uOiii+Kdd97JWa93797xj//4j/HEE0/EgAEDokOHDtG3b9/sR0rvvffe6Nu3b7Rv3z769+8fzz33XM72EyZMiL333jteeeWVGDlyZOy1115RVVUV1113XWQymd06hh3dE/1vf/tbXHLJJbHffvtFp06d4rTTTou//OUvkUqlYvr06Q0eY8OGDTFhwoTo0qVLdO7cOb785S/H5s2bd6suAADIl2J93/7666/Hk08+GWeffXacffbZsWbNmnj66aezyydPnhx77733Dt9bn3POOVFZWRnbtm3LHuP06dOjqqoqOnbsGEOGDInf/e530bt375gwYcJudhCgZROiAxTQRRddFJdddlmccMIJcdNNN8WXv/zlmDt3bowcOTLS6XTOuqtXr45zzz03xowZE9XV1fHOO+/EmDFjYu7cuTFlypQ477zzYsaMGfHyyy/HmWeeGfX19Tnbb9u2LUaNGhXdunWL2bNnR//+/ePaa6+Na6+9tkFd77//fvz1r39t8LNx48adOq4JEybED37wgzjllFPihhtuiA4dOsSpp56auP6ZZ54Z7733XlRXV8eZZ54Zt99+e8yYMaPBeul0ukFNwnYAAJpasb5vv/POO2OvvfaKf/zHf4zjjjsuDjrooJg7d252+VlnnRWbNm2KBx98MGe7zZs3x/333x9nnHFGtGnTJiIipk2bFjNmzIgBAwbEt771rfjkJz8ZI0eOjE2bNu2wJ++9916D9+YfPhaAPUYGgGYxadKkzAdfdp988slMRGTmzp2bs96CBQsazO/Vq1cmIjJPP/10dt7DDz+ciYhMhw4dMq+99lp2/r//+79nIiLz+OOPZ+eNHz8+ExGZiy++ODuvvr4+c+qpp2batWuX+Z//+Z/s/Ij42J9nnnkmu/61116bc1wrVqzIRETm0ksvzTmuCRMmZCIic+211zbY9vzzz89Z9wtf+EJm3333zZm3vQcf/vng4wEAwO5qKe/bM5lMpm/fvplx48Zlp6+88srMfvvtl0mn09ltP/GJT2TGjh2bs90vfvGLTERkFi9enMlkMpl169Zl2rZtm/n85z+fs9706dMzEZEZP358dt7jjz+eeJ6wZs2aHfYUoKVzJTpAgdxzzz3RuXPnGD58eM7VG/3794+99947Hn/88Zz1jzjiiBg0aFB2euDAgRERcfLJJ0fPnj0bzH/llVca7HPy5MnZf6dSqZg8eXJs2bIlHnnkkZz1Pve5z0VNTU2Dn8suu+xjj2vBggUREfEv//IvOfMvvvjixG2+8pWv5EyfdNJJ8dZbb0VtbW3O/IEDBzao6Utf+tLH1gQAALuqWN+3P//88/Hb3/42zjnnnOy8c845J/7617/Gww8/nN32i1/8YsyfPz/nU6V33313fOITn4gTTzwxIiIeffTR2Lp1a6Pew19zzTUN3ptXVlYmrg/QkvliUYACeemll+Ldd9+Nrl277nD5m2++mTP9wTfcERGdO3eOiIgePXrscP6H789YUlISBx54YM68Qw45JCIiXn311Zz5BxxwQAwbNqxBTX/+8593WOsHvfbaa1FSUhJ9+vTJmX/wwQcnbvPhY9tnn30i4u/HUF5enp2/33777bAuAABoKsX6vv2OO+6IvfbaKw488MBYvXp1RES0b98+evfuHXPnzs3eTvGss86KG2+8MX7961/HueeeGxs3boz58+fHRRddlP1uo9deey0iGr5nr6ioyL43/7C+fft6bw60GkJ0gAKpr6+Prl275tyz8IP233//nOnt9yr8sKT5md38wtDmtCccAwAAe6ZifN+eyWTizjvvjE2bNsURRxzRYPmbb74ZGzdujL333juOP/746N27d/ziF7+Ic889N+6///7429/+FmeddVaj9wvQWgnRAQrkoIMOikceeSROOOGE6NChQ5Pvr76+Pl555ZXsVSwREX/84x8jIqJ3795520+vXr2ivr4+1qxZE5/85Cez87dfHQMAAC1JMb5vX7RoUfz5z3+O6667Lg4//PCc7d95552YOHFi3HfffXHeeedFRMSZZ54ZN910U9TW1sbdd98dvXv3juOPPz67Ta9evSLi7+/ZP/iJ0rfeeqvBlfIArZF7ogMUyJlnnhnbtm2LmTNnNli2devW2LBhQ973+cMf/jD770wmEz/84Q+jtLQ0hg4dmrd9jBw5MiIifvSjH+XM/8EPfpC3fQAAQHMpxvft22/lctlll8UZZ5yR83PhhRfGJz/5yZwr588666yoq6uLn/70p7FgwYI488wzc/Y3dOjQaNu2bdx8882JdQC0Zq5EByiQz372s3HRRRdFdXV1rFy5MkaMGBGlpaXx0ksvxT333BM33XRTnHHGGXnbX/v27WPBggUxfvz4GDhwYDz00EPx4IMPxpVXXtngI6i7o3///jF27Ni48cYb46233orjjz8+Fi1alL16Zvt9FwEAoCUotvftdXV18f/9f/9fDB8+PNq3b7/DxzjttNPipptuijfffDO6du0axx57bBx88MHxzW9+M+rq6hrcyqVbt27xta99Lb7zne/EaaedFqNGjYr//u//joceeij2228/7+GBVs+V6AAFdMstt8SPf/zjePPNN+PKK6+MadOmxWOPPRbnnXdenHDCCXndV5s2bWLBggWxbt26uOyyy+KZZ56Ja6+9dodX1Oyun/3sZzFp0qR48MEH4/LLL48tW7bE3XffHRGR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PGNQHIxD4RmD4mAcCq81jsHOvldv9hB9v/32izZt2sT69etz5q9fvz4qKyt3uE1ZWVmUlZXlzOvSpctu1VFeXt5qngxNTS/zRy/zSz/zRy/zRy/zRy/zSz/zZ0e9LPYr0LcrlvfqzcXzvjgYh8IzBsXBOBSeMSgOxqHwWtsY7Mx79Wb/YtF27dpF//7949FHH83Oq6+vj0cffTQGDRrU3OUAAAD/j/fqAADQUEFu5zJ16tQYP358DBgwII477ri48cYbY9OmTfHlL3+5EOUAAAD/j/fqAACQqyAh+llnnRX/8z//E9dcc02sW7cujj766FiwYEGDLzBqCmVlZXHttdc2+MgpjaeX+aOX+aWf+aOX+aOX+aOX+aWf+bOn9LKQ79Wby54yVi2dcSg8Y1AcjEPhGYPiYBwKzxgkS2UymUyhiwAAAAAAgGLU7PdEBwAAAACAlkKIDgAAAAAACYToAAAAAACQQIgOAAAAAAAJ9sgQ/eabb46jjjoqysvLo7y8PAYNGhQPPfRQdvn7778fkyZNin333Tf23nvvGDt2bKxfv76AFbccs2bNilQqFZdeeml2nn7uvOnTp0cqlcr5Oeyww7LL9bJx/vKXv8R5550X++67b3To0CH69u0by5cvzy7PZDJxzTXXRPfu3aNDhw4xbNiweOmllwpYcXHq3bt3g+dlKpWKSZMmRYTnZWNs27Ytrr766ujTp0906NAhDjrooJg5c2Z88Du8PS933nvvvReXXnpp9OrVKzp06BD/8A//EM8880x2uV4mW7x4cYwZMyaqqqoilUrFfffdl7N8Z3r39ttvx7hx46K8vDy6dOkSF1xwQWzcuLEZj6I4fFwv77333hgxYkTsu+++kUqlYuXKlQ0ew+toYTgnKD7OJQrDOUjxcP5SeM59Cs85U/FwvtU4e2SIfsABB8SsWbNixYoVsXz58jj55JPjc5/7XLz44osRETFlypS4//7745577olFixbFG2+8EaeffnqBqy5+zzzzTPz7v/97HHXUUTnz9bNxPvWpT8XatWuzP0899VR2mV7uvHfeeSdOOOGEKC0tjYceeih+97vfxXe+853YZ599suvMnj07vv/978ctt9wSy5Yti7322itGjhwZ77//fgErLz7PPPNMznOypqYmIiK++MUvRoTnZWPccMMNcfPNN8cPf/jD+P3vfx833HBDzJ49O37wgx9k1/G83Hn//M//HDU1NfHzn/88fvvb38aIESNi2LBh8Ze//CUi9PKjbNq0Kfr16xdz5szZ4fKd6d24cePixRdfjJqamnjggQdi8eLFMXHixOY6hKLxcb3ctGlTnHjiiXHDDTckPobX0cJwTlBcnEsUlnOQwnP+Uhyc+xSec6bi4XyrkTKtxD777JP5j//4j8yGDRsypaWlmXvuuSe77Pe//30mIjJLliwpYIXF7b333st88pOfzNTU1GQ++9nPZr72ta9lMpmMfjbStddem+nXr98Ol+ll41x++eWZE088MXF5fX19prKyMvOtb30rO2/Dhg2ZsrKyzJ133tkcJbZYX/va1zIHHXRQpr6+3vOykU499dTM+eefnzPv9NNPz4wbNy6TyXheNsbmzZszbdq0yTzwwAM584899tjMN7/5Tb1shIjI/PKXv8xO70zvfve732UiIvPMM89k13nooYcyqVQq85e//KXZai82H+7lB61ZsyYTEZnnnnsuZ77X0eLinKAwnEsUlnOQ4uD8pTg592l+zpmKg/Otxtsjr0T/oG3btsVdd90VmzZtikGDBsWKFSsinU7HsGHDsuscdthh0bNnz1iyZEkBKy1ukyZNilNPPTWnbxGhn7vgpZdeiqqqqjjwwANj3Lhx8frrr0eEXjbWr3/96xgwYEB88YtfjK5du8YxxxwT//f//t/s8jVr1sS6dety+tm5c+cYOHCgfn6ELVu2xB133BHnn39+pFIpz8tG+od/+Id49NFH449//GNERPz3f/93PPXUUzF69OiI8LxsjK1bt8a2bduiffv2OfM7dOgQTz31lF7uhp3p3ZIlS6JLly4xYMCA7DrDhg2LkpKSWLZsWbPX3JJ5HS0OzgkKy7lE4TkHKTznL8XHuU9hOGcqDs63Gq9toQtoKr/97W9j0KBB8f7778fee+8dv/zlL+OII46IlStXRrt27aJLly4563fr1i3WrVtXmGKL3F133RXPPvtszn2Rtlu3bp1+NsLAgQPj9ttvj0MPPTTWrl0bM2bMiJNOOileeOEFvWykV155JW6++eaYOnVqXHnllfHMM8/EJZdcEu3atYvx48dne9atW7ec7fTzo913332xYcOGmDBhQkT4HW+sK664Impra+Owww6LNm3axLZt2+Lf/u3fYty4cRERnpeN0KlTpxg0aFDMnDkzDj/88OjWrVvceeedsWTJkjj44IP1cjfsTO/WrVsXXbt2zVnetm3bqKio0N9G8jpaWM4JCs+5ROE5BykOzl+Kj3OfwnDOVBycbzXeHhuiH3roobFy5cp499134z//8z9j/PjxsWjRokKX1eL86U9/iq997WtRU1PT4P9O0Xjb/89qRMRRRx0VAwcOjF69esUvfvGL6NChQwEra3nq6+tjwIAB8X/+z/+JiIhjjjkmXnjhhbjlllti/PjxBa6u5br11ltj9OjRUVVVVehSWqRf/OIXMXfu3Jg3b1586lOfipUrV8all14aVVVVnpe74Oc//3mcf/758YlPfCLatGkTxx57bJxzzjmxYsWKQpcGtBDOCQrLuURxcA5SHJy/FB/nPoXhnKl4ON9qnD32di7t2rWLgw8+OPr37x/V1dXRr1+/uOmmm6KysjK2bNkSGzZsyFl//fr1UVlZWZhii9iKFSvizTffjGOPPTbatm0bbdu2jUWLFsX3v//9aNu2bXTr1k0/d0OXLl3ikEMOidWrV3tuNlL37t3jiCOOyJl3+OGHZz+aur1nH/4mdf1M9tprr8UjjzwS//zP/5yd53nZOJdddllcccUVcfbZZ0ffvn3jn/7pn2LKlClRXV0dEZ6XjXXQQQfFokWLYuPGjfGnP/0pfvOb30Q6nY4DDzxQL3fDzvSusrIy3nzzzZzlW7dujbffflt/G8nraGE5Jygs5xLFyTlIYTh/KS7OfQrHOVPxcL7VOHtsiP5h9fX1UVdXF/3794/S0tJ49NFHs8tWrVoVr7/+egwaNKiAFRanoUOHxm9/+9tYuXJl9mfAgAExbty47L/1c9dt3LgxXn755ejevbvnZiOdcMIJsWrVqpx5f/zjH6NXr14REdGnT5+orKzM6WdtbW0sW7ZMPxPcdttt0bVr1zj11FOz8zwvG2fz5s1RUpL7p7VNmzZRX18fEZ6Xu2qvvfaK7t27xzvvvBMPP/xwfO5zn9PL3bAzvRs0aFBs2LAh5yqUxx57LOrr62PgwIHNXnNL5nW0uDgnaF7OJYqTc5DCcP5SXJz7FI5zpuLjfGsnFfqbTZvCFVdckVm0aFFmzZo1meeffz5zxRVXZFKpVGbhwoWZTCaT+cpXvpLp2bNn5rHHHsssX748M2jQoMygQYMKXHXL8dnPfjbzta99LTutnzvv61//euaJJ57IrFmzJvNf//VfmWHDhmX222+/zJtvvpnJZPSyMX7zm99k2rZtm/m3f/u3zEsvvZSZO3dupmPHjpk77rgju86sWbMyXbp0yfzqV7/KPP/885nPfe5zmT59+mT+9re/FbDy4rRt27ZMz549M5dffnmDZZ6XO2/8+PGZT3ziE5kHHnggs2bNmsy9996b2W+//TLf+MY3sut4Xu68BQsWZB566KHMK6+8klm4cGGmX79+mYEDB2a2bNmSyWT08qO89957meeeey7z3HPPZSIi893vfjfz3HPPZV577bVMJrNzvRs1alTmmGOOySxbtizz1FNPZT75yU9mzjnnnEIdUsF8XC/feuutzHPPPZd58MEHMxGRueuuuzLPPfdcZu3atdnH8DpaGM4JipNziebnHKQ4OH8pHs59Css5U/FwvtU4e2SIfv7552d69eqVadeuXWb//ffPDB06NPtmOZPJZP72t79l/uVf/iWzzz77ZDp27Jj5whe+kHOiw0f78Btf/dx5Z511VqZ79+6Zdu3aZT7xiU9kzjrrrMzq1auzy/Wyce6///7MkUcemSkrK8scdthhmR//+Mc5y+vr6zNXX311plu3bpmysrLM0KFDM6tWrSpQtcXt4YcfzkTEDvvjebnzamtrM1/72tcyPXv2zLRv3z5z4IEHZr75zW9m6urqsut4Xu68u+++O3PggQdm2rVrl6msrMxMmjQps2HDhuxyvUz2+OOPZyKiwc/48eMzmczO9e6tt97KnHPOOZm99947U15envnyl7+cee+99wpwNIX1cb287bbbdrj82muvzT6G19HCcE5QnJxLND/nIMXD+UtxcO5TWM6ZiofzrcZJZTKZTPNe+w4AAAAAAC1Dq7knOgAAAAAANJYQHQAAAAAAEgjRAQAAAAAggRAdAAAAAAASCNEBAAAAACCBEB0AAAAAABII0QEAAAAAIIEQHQAAAAAAEgjRAQAAAAAggRAdAAAAAAASCNEBAAAAACCBEB0AAAAAABII0QEAAAAAIIEQHQAAAAAAEgjRAQAAAAAggRAdAAAAAAASCNEBAAAAACCBEB0AAAAAABII0QGaWCqV2qmfJ554otCl5kilUjF58uSC7f+JJ55I7NXZZ59dsLoAAACA1qVtoQsA2NP9/Oc/z5n+2c9+FjU1NQ3mH3744c1ZVotxySWXxKc//emceb179y5MMQAAAECrI0QHaGLnnXdezvTSpUujpqamwXx27KSTToozzjij0GUAAAAArZTbuQAUgfr6+rjxxhvjU5/6VLRv3z66desWF110Ubzzzjs56/Xu3Tv+8R//MZ544okYMGBAdOjQIfr27Zu9Fcy9994bffv2jfbt20f//v3jueeey9l+woQJsffee8crr7wSI0eOjL322iuqqqriuuuui0wm0+i6N23aFF//+tejR48eUVZWFoceemh8+9vfznms008/PY499tic7caMGROpVCp+/etfZ+ctW7YsUqlUPPTQQ42uAwAAAKCpCNEBisBFF10Ul112WZxwwglx0003xZe//OWYO3dujBw5MtLpdM66q1evjnPPPTfGjBkT1dXV8c4778SYMWNi7ty5MWXKlDjvvPNixowZ8fLLL8eZZ54Z9fX1Odtv27YtRo0aFd26dYvZs2dH//7949prr41rr722UTVnMpk47bTT4nvf+16MGjUqvvvd78ahhx4al112WUydOjW73kknnRT//d//HbW1tdnt/uu//itKSkriySefzK735JNPRklJSZxwwgk5+3nvvffir3/9a87Ph48JAAAAoKm4nQtAgT311FPxH//xHzF37tw499xzs/OHDBkSo0aNinvuuSdn/qpVq+Lpp5+OQYMGRUTEEUccESNHjowLL7ww/vCHP0TPnj0jImKfffaJiy66KBYvXhyDBw/Obv/+++/HqFGj4vvf/35ERPzLv/xLjBkzJm644Ya45JJLYr/99tupun/961/HY489Ftdff31885vfjIiISZMmxRe/+MW46aabYvLkyXHQQQfFSSedFPX19fFf//VfMXr06HjhhRfinXfeiS9+8YsNQvR+/fpFeXl5zn7OP//8Bvtes2aN+6IDAAAAzcKV6AAFds8990Tnzp1j+PDhOVdb9+/fP/bee+94/PHHc9Y/4ogjsgF6RMTAgQMjIuLkk0/OBugfnP/KK6802OfkyZOz/06lUjF58uTYsmVLPPLIIztd9/z586NNmzZxySWX5Mz/+te/HplMJntblmOOOSb23nvvWLx4cUT8PSw/4IAD4ktf+lI8++yzsXnz5shkMvHUU0/FSSed1GA/11xzTdTU1OT8VFZW7nSdAAAAALvDlegABfbSSy/Fu+++G127dt3h8jfffDNn+oNBeURE586dIyKiR48eO5z/4fuql5SUxIEHHpgz75BDDomIiFdffXWn637ttdeiqqoqOnXqlDP/8MMPzy6PiGjTpk0MGjQoe9X5k08+GSeddFKceOKJsW3btli6dGl069Yt3n777R2G6H379o1hw4btdF0AAAAA+SREByiw+vr66Nq1a8ydO3eHy/fff/+c6TZt2uxwvaT5u/KFofl24oknxr/927/F+++/H08++WR885vfjC5dusSRRx4ZTz75ZHTr1i0iYochOgAAAEAhCdEBCuyggw6KRx55JE444YTo0KFDk++vvr4+XnnllezV5xERf/zjHyMiGnWf8V69esUjjzwS7733Xs7V6H/4wx+yy7c76aSTYsuWLXHnnXfGX/7yl2xY/pnPfCYboh9yyCHZMB0AAACgWLgnOkCBnXnmmbFt27aYOXNmg2Vbt26NDRs25H2fP/zhD7P/zmQy8cMf/jBKS0tj6NChO/0Yp5xySmzbti3nsSIivve970UqlYrRo0dn5w0cODBKS0vjhhtuiIqKivjUpz4VEX8P15cuXRqLFi1yFToAAABQlFyJDlBgn/3sZ+Oiiy6K6urqWLlyZYwYMSJKS0vjpZdeinvuuSduuummOOOMM/K2v/bt28eCBQti/PjxMXDgwHjooYfiwQcfjCuvvLLBrWOWL18e119/fYPHGDx4cIwZMyaGDBkS3/zmN+PVV1+Nfv36xcKFC+NXv/pVXHrppXHQQQdl1+/YsWP0798/li5dGmPGjIlUKhURf78SfdOmTbFp0yYhOgAAAFCUhOgAReCWW26J/v37x7//+7/HlVdeGW3bto3evXvHeeedFyeccEJe99WmTZtYsGBBfPWrX43LLrssOnXqFNdee21cc801DdZdtmxZLFu2rMH8mTNnxoknnhi//vWv45prrom77747brvttujdu3d861vfiq9//esNttl+1fmJJ56YnVdZWRkHH3xwrF69WogOAAAAFKVUphi+cQ6AZjFhwoT4z//8z9i4cWOhSwEAAABoEdwTHQAAAAAAEgjRAQAAAAAggRAdAAAAAAASuCc6AAAAAAAkcCU6AAAAAAAkEKIDAAAAAECCtoUuYFfU19fHG2+8EZ06dYpUKlXocgAAIFEmk4n33nsvqqqqoqTENSwAANDStMgQ/Y033ogePXoUugwAANhpf/rTn+KAAw4odBkAAEAjtcgQvVOn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L5g6dWqmTp36G/dpbGxMc3Pze2577rnn8uijj2b16tWZMGFCkuTOO+/M+eefn69//etpaWnpakkAAAAAANAjuhyivx+PP/54hg8fnsMOOyxnnXVWbrzxxgwbNixJ8tRTT2XIkCHVAD1Jzj777PTp0yerVq3Kpz/96T2O19bWlra2turz7du3J0na29vT3t7eE29hr71bV73WdyDSk/qjJ/VHT+qLftSfWvSksW+l1871QdXy3+i+ME/quTYAAOC3a6hUKh/4k1lDQ0OWLl2aCy+8sDp2//3356CDDsqYMWPy4osv5stf/nIOOeSQPPXUU+nbt29uuumm/N3f/V3Wr1/f6VjDhw/PwoUL84UvfGGP8yxYsCALFy7cY3zJkiU56KCDPmj5AADQ4956661ceuml2bZtW5qammpdDgAA0EXdvhL94osvrn598sknZ+zYsTn66KPz+OOPZ/LkyR/omPPnz8/cuXOrz7dv354jjzwy5557bt1+EGlvb8/y5ctzzjnnpH///rUuh+hJPdKT+qMn9UU/6k8tenLSgmW9cp69sW7BlJqde1+YJ+/+FiUAALBv6pHLufy6D3/4w/nQhz6UF154IZMnT05zc3M2b97caZ933nknW7ZsKV5HvbGxMY2NjXuM9+/fv24/LL1rX6jxQKMn9UdP6o+e1Bf9qD+92ZO23Q29cp69UQ//Put5ntRrXQAAwPvTp6dP8Oqrr+b111/PyJEjkyStra3ZunVr1qxZU93nscceS0dHRyZOnNjT5QAAAAAAwPvW5ZXoO3bsyAsvvFB9/tJLL2Xt2rUZOnRohg4dmoULF2b69Olpbm7Oiy++mGuuuSYf+chHMmXK//2a7wknnJDzzjsvl19+eRYvXpz29vZceeWVufjii9PS0tJ97wwAAAAAAPZSl1eiP/PMMzn11FNz6qmnJknmzp2bU089Ndddd1369u2bf/u3f8vv/d7v5dhjj82sWbMyfvz4/Mu//Euny7Hcd999Of744zN58uScf/75mTRpUu6+++7ue1cAAAAAANANurwS/cwzz0ylUiluX7bst9/8aujQoVmyZElXTw0AAAAAAL2qx6+JDgAAAAAA+yohOgAAAAAAFAjRAQAAAACgQIgOAAAAAAAFQnQAAAAAACgQogMAAAAAQIEQHQAAAAAACvrVugAAYP8yet4jtS7hffnPWy6o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mpube7scAAAAAAAo6vUQfcCAARk/fnxWrFhRHevo6MiKFSvS2tra2+UAAAAAAEBRTS7nMnfu3MycOTMTJkzIaaedlttvvz07d+7M5z//+VqU0yMaGxtz/fXX73EZGmpHT+qPntQfPakv+lF/9KT+6AkAANDTGiqVSqUWJ/72t7+d2267LRs3bswpp5ySO+64IxMnTqxFKQAAAAAA8J5qFqIDAAAAAEC96/VrogMAAAAAwL5CiA4AAAAAAAVCdAAAAAAAKBCiAwAAAABAgRB9L91888352Mc+lkMPPTTDhw/PhRdemPXr13faZ9euXZk9e3aGDRuWQw45JNOnT8+mTZtqVPH+7a677srYsWPT1NSUpqamtLa25sc//nF1u17U3i233JKGhobMmTOnOqYvvWvBggVpaGjo9Dj++OOr2/WjNv77v/87f/AHf5Bhw4Zl0KBBOfnkk/PMM89Ut1cqlVx33XUZOXJkBg0alLPPPjvPP/98DSvef40ePXqPOdLQ0JDZs2cnMUdqYffu3bn22mszZsyYDBo0KEcffXS+8pWvpFKpVPcxRwAAgJ4iRN9LK1euzOzZs/P0009n+fLlaW9vz7nnnpudO3dW97n66qvzox/9KA8++GBWrlyZ1157LRdddFENq95/HXHEEbnllluyZs2aPPPMMznrrLPyqU99Ks8++2wSvai11atX56//+q8zduzYTuP60vtOPPHEbNiwofp48sknq9v0o/e98cYbOeOMM9K/f//8+Mc/zr//+7/nr/7qr3LYYYdV97n11ltzxx13ZPHixVm1alUOPvjgTJkyJbt27aph5fun1atXd5ofy5cvT5J85jOfSWKO1MLXvva13HXXXfn2t7+d5557Ll/72tdy66235s4776zuY44AAAA9pkK32rx5cyVJZeXKlZVKpVLZunVrpX///pUHH3ywus9zzz1XSVJ56qmnalXmAeWwww6r/O3f/q1e1Nibb75ZOeaYYyrLly+vfPKTn6xcddVVlUrFHKmF66+/vjJu3Lj33KYftfEXf/EXlUmTJhW3d3R0VJqbmyu33XZbdWzr1q2VxsbGyve///3eKPGAdtVVV1WOPvroSkdHhzlSIxdccEHlsssu6zR20UUXVWbMmFGpVMwRAACgZ1mJ3s22bduWJBk6dGiSZM2aNWlvb8/ZZ59d3ef444/PUUcdlaee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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "austin.hist(bins=15, figsize=(15, 10))\n",
+ "plt.tight_layout()\n",
+ "plt.show()"
]
},
{
@@ -113,20 +978,67 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 16,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array(['49', '36', '27', '28', '40', '39', '41', '26', '42', '22', '48',\n",
+ " '32', '8', '11', '45', '55', '61', '37', '47', '25', '23', '20',\n",
+ " '33', '30', '29', '17', '14', '13', '54', '59', '15', '24', '34',\n",
+ " '35', '57', '50', '53', '60', '46', '56', '51', '31', '38', '62',\n",
+ " '43', '63', '64', '67', '66', '58', '70', '68', '65', '69', '71',\n",
+ " '72', '-', '73', '74', '21', '44', '52', '12', '75', '76', '18'],\n",
+ " dtype=object)"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "unique_dewpoint_values = austin[\"DewPointAvgF\"].unique()\n",
+ "unique_dewpoint_values "
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
- "# Your observation here\n"
+ "austin[\"DewPointAvgF\"] = pd.to_numeric(austin[\"DewPointAvgF\"], errors=\"coerce\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "dtype('float64')"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin[\"DewPointAvgF\"].dtype"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Your observation here\n",
+ "La columna DewPointAvgF contiene valores no numéricos (como \"?\", \"N/A\" o símbolos como -5°F), lo que hace que Pandas la trate como tipo object. Usamos pd.to_numeric() con errors='coerce' para convertir estos valores en NaN y asegurar que la columna sea numérica."
]
},
{
@@ -140,24 +1052,53 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
- "wrong_type_columns = ['DewPointHighF', 'DewPointAvgF', 'DewPointLowF', 'HumidityHighPercent', \n",
- " 'HumidityAvgPercent', 'HumidityLowPercent', 'SeaLevelPressureHighInches', \n",
- " 'SeaLevelPressureAvgInches' ,'SeaLevelPressureLowInches', 'VisibilityHighMiles',\n",
- " 'VisibilityAvgMiles', 'VisibilityLowMiles', 'WindHighMPH', 'WindAvgMPH', \n",
- " 'WindGustMPH', 'PrecipitationSumInches']"
+ "wrong_type_columns = [\"DewPointHighF\", \"DewPointAvgF\", \"DewPointLowF\", \"HumidityHighPercent\", \n",
+ " \"HumidityAvgPercent\", \"HumidityLowPercent\", \"SeaLevelPressureHighInches\", \n",
+ " \"SeaLevelPressureAvgInches\" ,\"SeaLevelPressureLowInches\", \"VisibilityHighMiles\",\n",
+ " \"VisibilityAvgMiles\", \"VisibilityLowMiles\", \"WindHighMPH\", \"WindAvgMPH\", \n",
+ " \"WindGustMPH\", \"PrecipitationSumInches\"]"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 22,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "DewPointHighF float64\n",
+ "DewPointAvgF float64\n",
+ "DewPointLowF float64\n",
+ "HumidityHighPercent float64\n",
+ "HumidityAvgPercent float64\n",
+ "HumidityLowPercent float64\n",
+ "SeaLevelPressureHighInches float64\n",
+ "SeaLevelPressureAvgInches float64\n",
+ "SeaLevelPressureLowInches float64\n",
+ "VisibilityHighMiles float64\n",
+ "VisibilityAvgMiles float64\n",
+ "VisibilityLowMiles float64\n",
+ "WindHighMPH float64\n",
+ "WindAvgMPH float64\n",
+ "WindGustMPH float64\n",
+ "PrecipitationSumInches float64\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin[wrong_type_columns] = austin[wrong_type_columns].apply(pd.to_numeric, errors=\"coerce\")\n",
+ "austin[wrong_type_columns].dtypes"
]
},
{
@@ -169,11 +1110,44 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 24,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Date object\n",
+ "TempHighF int64\n",
+ "TempAvgF int64\n",
+ "TempLowF int64\n",
+ "DewPointHighF float64\n",
+ "DewPointAvgF float64\n",
+ "DewPointLowF float64\n",
+ "HumidityHighPercent float64\n",
+ "HumidityAvgPercent float64\n",
+ "HumidityLowPercent float64\n",
+ "SeaLevelPressureHighInches float64\n",
+ "SeaLevelPressureAvgInches float64\n",
+ "SeaLevelPressureLowInches float64\n",
+ "VisibilityHighMiles float64\n",
+ "VisibilityAvgMiles float64\n",
+ "VisibilityLowMiles float64\n",
+ "WindHighMPH float64\n",
+ "WindAvgMPH float64\n",
+ "WindGustMPH float64\n",
+ "PrecipitationSumInches float64\n",
+ "Events object\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin.dtypes"
]
},
{
@@ -200,11 +1174,414 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 27,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " SeaLevelPressureLowInches | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " PrecipitationSumInches | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " ... | \n",
+ " 30.33 | \n",
+ " 30.27 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 2013-12-27 | \n",
+ " 60 | \n",
+ " 53 | \n",
+ " 45 | \n",
+ " 41.0 | \n",
+ " 39.0 | \n",
+ " 37.0 | \n",
+ " 83.0 | \n",
+ " 65.0 | \n",
+ " 47.0 | \n",
+ " ... | \n",
+ " 30.39 | \n",
+ " 30.34 | \n",
+ " 10.0 | \n",
+ " 9.0 | \n",
+ " 7.0 | \n",
+ " 7.0 | \n",
+ " 1.0 | \n",
+ " 11.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 2013-12-28 | \n",
+ " 62 | \n",
+ " 51 | \n",
+ " 40 | \n",
+ " 43.0 | \n",
+ " 39.0 | \n",
+ " 33.0 | \n",
+ " 92.0 | \n",
+ " 64.0 | \n",
+ " 36.0 | \n",
+ " ... | \n",
+ " 30.17 | \n",
+ " 30.04 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 14.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 42 | \n",
+ " 2014-02-01 | \n",
+ " 76 | \n",
+ " 66 | \n",
+ " 55 | \n",
+ " 62.0 | \n",
+ " 59.0 | \n",
+ " 41.0 | \n",
+ " 81.0 | \n",
+ " 71.0 | \n",
+ " 60.0 | \n",
+ " ... | \n",
+ " 29.81 | \n",
+ " 29.75 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 9.0 | \n",
+ " 14.0 | \n",
+ " 6.0 | \n",
+ " 26.0 | \n",
+ " NaN | \n",
+ " Rain | \n",
+ "
\n",
+ " \n",
+ " | 51 | \n",
+ " 2014-02-10 | \n",
+ " 60 | \n",
+ " 48 | \n",
+ " 35 | \n",
+ " 49.0 | \n",
+ " 36.0 | \n",
+ " 30.0 | \n",
+ " 82.0 | \n",
+ " 74.0 | \n",
+ " 66.0 | \n",
+ " ... | \n",
+ " 30.15 | \n",
+ " 30.02 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 4.0 | \n",
+ " 15.0 | \n",
+ " 9.0 | \n",
+ " 23.0 | \n",
+ " NaN | \n",
+ " Rain | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1269 | \n",
+ " 2017-06-12 | \n",
+ " 94 | \n",
+ " 85 | \n",
+ " 75 | \n",
+ " 72.0 | \n",
+ " 68.0 | \n",
+ " 62.0 | \n",
+ " 87.0 | \n",
+ " 62.0 | \n",
+ " 36.0 | \n",
+ " ... | \n",
+ " 29.89 | \n",
+ " 29.81 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 15.0 | \n",
+ " 7.0 | \n",
+ " 22.0 | \n",
+ " NaN | \n",
+ " Rain | \n",
+ "
\n",
+ " \n",
+ " | 1288 | \n",
+ " 2017-07-01 | \n",
+ " 98 | \n",
+ " 89 | \n",
+ " 79 | \n",
+ " 76.0 | \n",
+ " 72.0 | \n",
+ " 66.0 | \n",
+ " 85.0 | \n",
+ " 62.0 | \n",
+ " 38.0 | \n",
+ " ... | \n",
+ " 30.02 | \n",
+ " 29.92 | \n",
+ " 10.0 | \n",
+ " 9.0 | \n",
+ " 6.0 | \n",
+ " 15.0 | \n",
+ " 7.0 | \n",
+ " 24.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 1304 | \n",
+ " 2017-07-17 | \n",
+ " 98 | \n",
+ " 88 | \n",
+ " 77 | \n",
+ " 75.0 | \n",
+ " 71.0 | \n",
+ " 66.0 | \n",
+ " 88.0 | \n",
+ " 63.0 | \n",
+ " 38.0 | \n",
+ " ... | \n",
+ " 29.90 | \n",
+ " 29.84 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 16.0 | \n",
+ " 3.0 | \n",
+ " 23.0 | \n",
+ " NaN | \n",
+ " Rain , Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1308 | \n",
+ " 2017-07-21 | \n",
+ " 104 | \n",
+ " 91 | \n",
+ " 77 | \n",
+ " 74.0 | \n",
+ " 68.0 | \n",
+ " 61.0 | \n",
+ " 85.0 | \n",
+ " 56.0 | \n",
+ " 27.0 | \n",
+ " ... | \n",
+ " 29.95 | \n",
+ " 29.86 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 14.0 | \n",
+ " 5.0 | \n",
+ " 24.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 1313 | \n",
+ " 2017-07-26 | \n",
+ " 103 | \n",
+ " 91 | \n",
+ " 78 | \n",
+ " 75.0 | \n",
+ " 70.0 | \n",
+ " 61.0 | \n",
+ " 91.0 | \n",
+ " 58.0 | \n",
+ " 25.0 | \n",
+ " ... | \n",
+ " 30.03 | \n",
+ " 29.93 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 15.0 | \n",
+ " 6.0 | \n",
+ " 27.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
136 rows × 21 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "4 2013-12-25 58 50 41 44.0 40.0 \n",
+ "6 2013-12-27 60 53 45 41.0 39.0 \n",
+ "7 2013-12-28 62 51 40 43.0 39.0 \n",
+ "42 2014-02-01 76 66 55 62.0 59.0 \n",
+ "51 2014-02-10 60 48 35 49.0 36.0 \n",
+ "... ... ... ... ... ... ... \n",
+ "1269 2017-06-12 94 85 75 72.0 68.0 \n",
+ "1288 2017-07-01 98 89 79 76.0 72.0 \n",
+ "1304 2017-07-17 98 88 77 75.0 71.0 \n",
+ "1308 2017-07-21 104 91 77 74.0 68.0 \n",
+ "1313 2017-07-26 103 91 78 75.0 70.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent \\\n",
+ "4 36.0 86.0 71.0 \n",
+ "6 37.0 83.0 65.0 \n",
+ "7 33.0 92.0 64.0 \n",
+ "42 41.0 81.0 71.0 \n",
+ "51 30.0 82.0 74.0 \n",
+ "... ... ... ... \n",
+ "1269 62.0 87.0 62.0 \n",
+ "1288 66.0 85.0 62.0 \n",
+ "1304 66.0 88.0 63.0 \n",
+ "1308 61.0 85.0 56.0 \n",
+ "1313 61.0 91.0 58.0 \n",
+ "\n",
+ " HumidityLowPercent ... SeaLevelPressureAvgInches \\\n",
+ "4 56.0 ... 30.33 \n",
+ "6 47.0 ... 30.39 \n",
+ "7 36.0 ... 30.17 \n",
+ "42 60.0 ... 29.81 \n",
+ "51 66.0 ... 30.15 \n",
+ "... ... ... ... \n",
+ "1269 36.0 ... 29.89 \n",
+ "1288 38.0 ... 30.02 \n",
+ "1304 38.0 ... 29.90 \n",
+ "1308 27.0 ... 29.95 \n",
+ "1313 25.0 ... 30.03 \n",
+ "\n",
+ " SeaLevelPressureLowInches VisibilityHighMiles VisibilityAvgMiles \\\n",
+ "4 30.27 10.0 10.0 \n",
+ "6 30.34 10.0 9.0 \n",
+ "7 30.04 10.0 10.0 \n",
+ "42 29.75 10.0 10.0 \n",
+ "51 30.02 10.0 8.0 \n",
+ "... ... ... ... \n",
+ "1269 29.81 10.0 10.0 \n",
+ "1288 29.92 10.0 9.0 \n",
+ "1304 29.84 10.0 10.0 \n",
+ "1308 29.86 10.0 10.0 \n",
+ "1313 29.93 10.0 10.0 \n",
+ "\n",
+ " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n",
+ "4 7.0 10.0 2.0 16.0 \n",
+ "6 7.0 7.0 1.0 11.0 \n",
+ "7 7.0 10.0 2.0 14.0 \n",
+ "42 9.0 14.0 6.0 26.0 \n",
+ "51 4.0 15.0 9.0 23.0 \n",
+ "... ... ... ... ... \n",
+ "1269 2.0 15.0 7.0 22.0 \n",
+ "1288 6.0 15.0 7.0 24.0 \n",
+ "1304 10.0 16.0 3.0 23.0 \n",
+ "1308 10.0 14.0 5.0 24.0 \n",
+ "1313 10.0 15.0 6.0 27.0 \n",
+ "\n",
+ " PrecipitationSumInches Events \n",
+ "4 NaN \n",
+ "6 NaN \n",
+ "7 NaN \n",
+ "42 NaN Rain \n",
+ "51 NaN Rain \n",
+ "... ... ... \n",
+ "1269 NaN Rain \n",
+ "1288 NaN \n",
+ "1304 NaN Rain , Thunderstorm \n",
+ "1308 NaN \n",
+ "1313 NaN \n",
+ "\n",
+ "[136 rows x 21 columns]"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "missing_values = austin[austin.isnull().any(axis=1)]\n",
+ "missing_values"
]
},
{
@@ -224,6 +1601,98 @@
"#### In our case, we will use a hybrid approach which is to first remove the data that contain most missing values then fill in the rest of the missing values with the *linear interpolation* algorithm."
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Date 0\n",
+ "TempHighF 0\n",
+ "TempAvgF 0\n",
+ "TempLowF 0\n",
+ "DewPointHighF 7\n",
+ "DewPointAvgF 7\n",
+ "DewPointLowF 7\n",
+ "HumidityHighPercent 2\n",
+ "HumidityAvgPercent 2\n",
+ "HumidityLowPercent 2\n",
+ "SeaLevelPressureHighInches 3\n",
+ "SeaLevelPressureAvgInches 3\n",
+ "SeaLevelPressureLowInches 3\n",
+ "VisibilityHighMiles 12\n",
+ "VisibilityAvgMiles 12\n",
+ "VisibilityLowMiles 12\n",
+ "WindHighMPH 2\n",
+ "WindAvgMPH 2\n",
+ "WindGustMPH 4\n",
+ "PrecipitationSumInches 124\n",
+ "Events 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_cleaned = austin.dropna(axis=1, thresh=int(0.5 * len(austin)))\n",
+ "austin_cleaned.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\hugoe\\AppData\\Local\\Temp\\ipykernel_24836\\3765750687.py:1: FutureWarning: DataFrame.interpolate with object dtype is deprecated and will raise in a future version. Call obj.infer_objects(copy=False) before interpolating instead.\n",
+ " austin_interpolated = austin_cleaned.interpolate(method=\"linear\", axis=0)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "Date 0\n",
+ "TempHighF 0\n",
+ "TempAvgF 0\n",
+ "TempLowF 0\n",
+ "DewPointHighF 0\n",
+ "DewPointAvgF 0\n",
+ "DewPointLowF 0\n",
+ "HumidityHighPercent 0\n",
+ "HumidityAvgPercent 0\n",
+ "HumidityLowPercent 0\n",
+ "SeaLevelPressureHighInches 0\n",
+ "SeaLevelPressureAvgInches 0\n",
+ "SeaLevelPressureLowInches 0\n",
+ "VisibilityHighMiles 0\n",
+ "VisibilityAvgMiles 0\n",
+ "VisibilityLowMiles 0\n",
+ "WindHighMPH 0\n",
+ "WindAvgMPH 0\n",
+ "WindGustMPH 0\n",
+ "PrecipitationSumInches 0\n",
+ "Events 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_interpolated = austin_cleaned.interpolate(method=\"linear\", axis=0)\n",
+ "austin_interpolated.isnull().sum()"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -233,11 +1702,437 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 32,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " SeaLevelPressureLowInches | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " PrecipitationSumInches | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " ... | \n",
+ " 30.33 | \n",
+ " 30.27 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 2013-12-27 | \n",
+ " 60 | \n",
+ " 53 | \n",
+ " 45 | \n",
+ " 41.0 | \n",
+ " 39.0 | \n",
+ " 37.0 | \n",
+ " 83.0 | \n",
+ " 65.0 | \n",
+ " 47.0 | \n",
+ " ... | \n",
+ " 30.39 | \n",
+ " 30.34 | \n",
+ " 10.0 | \n",
+ " 9.0 | \n",
+ " 7.0 | \n",
+ " 7.0 | \n",
+ " 1.0 | \n",
+ " 11.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 2013-12-28 | \n",
+ " 62 | \n",
+ " 51 | \n",
+ " 40 | \n",
+ " 43.0 | \n",
+ " 39.0 | \n",
+ " 33.0 | \n",
+ " 92.0 | \n",
+ " 64.0 | \n",
+ " 36.0 | \n",
+ " ... | \n",
+ " 30.17 | \n",
+ " 30.04 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 14.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 42 | \n",
+ " 2014-02-01 | \n",
+ " 76 | \n",
+ " 66 | \n",
+ " 55 | \n",
+ " 62.0 | \n",
+ " 59.0 | \n",
+ " 41.0 | \n",
+ " 81.0 | \n",
+ " 71.0 | \n",
+ " 60.0 | \n",
+ " ... | \n",
+ " 29.81 | \n",
+ " 29.75 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 9.0 | \n",
+ " 14.0 | \n",
+ " 6.0 | \n",
+ " 26.0 | \n",
+ " NaN | \n",
+ " Rain | \n",
+ "
\n",
+ " \n",
+ " | 51 | \n",
+ " 2014-02-10 | \n",
+ " 60 | \n",
+ " 48 | \n",
+ " 35 | \n",
+ " 49.0 | \n",
+ " 36.0 | \n",
+ " 30.0 | \n",
+ " 82.0 | \n",
+ " 74.0 | \n",
+ " 66.0 | \n",
+ " ... | \n",
+ " 30.15 | \n",
+ " 30.02 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 4.0 | \n",
+ " 15.0 | \n",
+ " 9.0 | \n",
+ " 23.0 | \n",
+ " NaN | \n",
+ " Rain | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1269 | \n",
+ " 2017-06-12 | \n",
+ " 94 | \n",
+ " 85 | \n",
+ " 75 | \n",
+ " 72.0 | \n",
+ " 68.0 | \n",
+ " 62.0 | \n",
+ " 87.0 | \n",
+ " 62.0 | \n",
+ " 36.0 | \n",
+ " ... | \n",
+ " 29.89 | \n",
+ " 29.81 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 15.0 | \n",
+ " 7.0 | \n",
+ " 22.0 | \n",
+ " NaN | \n",
+ " Rain | \n",
+ "
\n",
+ " \n",
+ " | 1288 | \n",
+ " 2017-07-01 | \n",
+ " 98 | \n",
+ " 89 | \n",
+ " 79 | \n",
+ " 76.0 | \n",
+ " 72.0 | \n",
+ " 66.0 | \n",
+ " 85.0 | \n",
+ " 62.0 | \n",
+ " 38.0 | \n",
+ " ... | \n",
+ " 30.02 | \n",
+ " 29.92 | \n",
+ " 10.0 | \n",
+ " 9.0 | \n",
+ " 6.0 | \n",
+ " 15.0 | \n",
+ " 7.0 | \n",
+ " 24.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 1304 | \n",
+ " 2017-07-17 | \n",
+ " 98 | \n",
+ " 88 | \n",
+ " 77 | \n",
+ " 75.0 | \n",
+ " 71.0 | \n",
+ " 66.0 | \n",
+ " 88.0 | \n",
+ " 63.0 | \n",
+ " 38.0 | \n",
+ " ... | \n",
+ " 29.90 | \n",
+ " 29.84 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 16.0 | \n",
+ " 3.0 | \n",
+ " 23.0 | \n",
+ " NaN | \n",
+ " Rain , Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1308 | \n",
+ " 2017-07-21 | \n",
+ " 104 | \n",
+ " 91 | \n",
+ " 77 | \n",
+ " 74.0 | \n",
+ " 68.0 | \n",
+ " 61.0 | \n",
+ " 85.0 | \n",
+ " 56.0 | \n",
+ " 27.0 | \n",
+ " ... | \n",
+ " 29.95 | \n",
+ " 29.86 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 14.0 | \n",
+ " 5.0 | \n",
+ " 24.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 1313 | \n",
+ " 2017-07-26 | \n",
+ " 103 | \n",
+ " 91 | \n",
+ " 78 | \n",
+ " 75.0 | \n",
+ " 70.0 | \n",
+ " 61.0 | \n",
+ " 91.0 | \n",
+ " 58.0 | \n",
+ " 25.0 | \n",
+ " ... | \n",
+ " 30.03 | \n",
+ " 29.93 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 15.0 | \n",
+ " 6.0 | \n",
+ " 27.0 | \n",
+ " NaN | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
136 rows × 21 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "4 2013-12-25 58 50 41 44.0 40.0 \n",
+ "6 2013-12-27 60 53 45 41.0 39.0 \n",
+ "7 2013-12-28 62 51 40 43.0 39.0 \n",
+ "42 2014-02-01 76 66 55 62.0 59.0 \n",
+ "51 2014-02-10 60 48 35 49.0 36.0 \n",
+ "... ... ... ... ... ... ... \n",
+ "1269 2017-06-12 94 85 75 72.0 68.0 \n",
+ "1288 2017-07-01 98 89 79 76.0 72.0 \n",
+ "1304 2017-07-17 98 88 77 75.0 71.0 \n",
+ "1308 2017-07-21 104 91 77 74.0 68.0 \n",
+ "1313 2017-07-26 103 91 78 75.0 70.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent \\\n",
+ "4 36.0 86.0 71.0 \n",
+ "6 37.0 83.0 65.0 \n",
+ "7 33.0 92.0 64.0 \n",
+ "42 41.0 81.0 71.0 \n",
+ "51 30.0 82.0 74.0 \n",
+ "... ... ... ... \n",
+ "1269 62.0 87.0 62.0 \n",
+ "1288 66.0 85.0 62.0 \n",
+ "1304 66.0 88.0 63.0 \n",
+ "1308 61.0 85.0 56.0 \n",
+ "1313 61.0 91.0 58.0 \n",
+ "\n",
+ " HumidityLowPercent ... SeaLevelPressureAvgInches \\\n",
+ "4 56.0 ... 30.33 \n",
+ "6 47.0 ... 30.39 \n",
+ "7 36.0 ... 30.17 \n",
+ "42 60.0 ... 29.81 \n",
+ "51 66.0 ... 30.15 \n",
+ "... ... ... ... \n",
+ "1269 36.0 ... 29.89 \n",
+ "1288 38.0 ... 30.02 \n",
+ "1304 38.0 ... 29.90 \n",
+ "1308 27.0 ... 29.95 \n",
+ "1313 25.0 ... 30.03 \n",
+ "\n",
+ " SeaLevelPressureLowInches VisibilityHighMiles VisibilityAvgMiles \\\n",
+ "4 30.27 10.0 10.0 \n",
+ "6 30.34 10.0 9.0 \n",
+ "7 30.04 10.0 10.0 \n",
+ "42 29.75 10.0 10.0 \n",
+ "51 30.02 10.0 8.0 \n",
+ "... ... ... ... \n",
+ "1269 29.81 10.0 10.0 \n",
+ "1288 29.92 10.0 9.0 \n",
+ "1304 29.84 10.0 10.0 \n",
+ "1308 29.86 10.0 10.0 \n",
+ "1313 29.93 10.0 10.0 \n",
+ "\n",
+ " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n",
+ "4 7.0 10.0 2.0 16.0 \n",
+ "6 7.0 7.0 1.0 11.0 \n",
+ "7 7.0 10.0 2.0 14.0 \n",
+ "42 9.0 14.0 6.0 26.0 \n",
+ "51 4.0 15.0 9.0 23.0 \n",
+ "... ... ... ... ... \n",
+ "1269 2.0 15.0 7.0 22.0 \n",
+ "1288 6.0 15.0 7.0 24.0 \n",
+ "1304 10.0 16.0 3.0 23.0 \n",
+ "1308 10.0 14.0 5.0 24.0 \n",
+ "1313 10.0 15.0 6.0 27.0 \n",
+ "\n",
+ " PrecipitationSumInches Events \n",
+ "4 NaN \n",
+ "6 NaN \n",
+ "7 NaN \n",
+ "42 NaN Rain \n",
+ "51 NaN Rain \n",
+ "... ... ... \n",
+ "1269 NaN Rain \n",
+ "1288 NaN \n",
+ "1304 NaN Rain , Thunderstorm \n",
+ "1308 NaN \n",
+ "1313 NaN \n",
+ "\n",
+ "[136 rows x 21 columns]"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "num_rows_austin = len(austin)\n",
+ "\n",
+ "missing_values = austin[austin.isnull().any(axis=1)] \n",
+ "missing_values"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "136"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "num_rows_missing_values = len(missing_values)\n",
+ "num_rows_missing_values"
]
},
{
@@ -249,11 +2144,28 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 35,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.10310841546626232"
+ ]
+ },
+ "execution_count": 35,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "total_rows = len(austin)\n",
+ "\n",
+ "missing_rows = austin.isnull().any(axis=1).sum()\n",
+ "\n",
+ "missing_ratio = missing_rows / total_rows\n",
+ "missing_ratio"
]
},
{
@@ -267,11 +2179,148 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 37,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Date 0\n",
+ "TempHighF 0\n",
+ "TempAvgF 0\n",
+ "TempLowF 0\n",
+ "DewPointHighF 7\n",
+ "DewPointAvgF 7\n",
+ "DewPointLowF 7\n",
+ "HumidityHighPercent 2\n",
+ "HumidityAvgPercent 2\n",
+ "HumidityLowPercent 2\n",
+ "SeaLevelPressureHighInches 3\n",
+ "SeaLevelPressureAvgInches 3\n",
+ "SeaLevelPressureLowInches 3\n",
+ "VisibilityHighMiles 12\n",
+ "VisibilityAvgMiles 12\n",
+ "VisibilityLowMiles 12\n",
+ "WindHighMPH 2\n",
+ "WindAvgMPH 2\n",
+ "WindGustMPH 4\n",
+ "PrecipitationSumInches 124\n",
+ "Events 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 37,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Your code here\n",
+ "\n",
+ "missing_per_column = austin.isna().sum()\n",
+ "missing_per_column\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Date 0.000000\n",
+ "TempHighF 0.000000\n",
+ "TempAvgF 0.000000\n",
+ "TempLowF 0.000000\n",
+ "DewPointHighF 0.530705\n",
+ "DewPointAvgF 0.530705\n",
+ "DewPointLowF 0.530705\n",
+ "HumidityHighPercent 0.151630\n",
+ "HumidityAvgPercent 0.151630\n",
+ "HumidityLowPercent 0.151630\n",
+ "SeaLevelPressureHighInches 0.227445\n",
+ "SeaLevelPressureAvgInches 0.227445\n",
+ "SeaLevelPressureLowInches 0.227445\n",
+ "VisibilityHighMiles 0.909780\n",
+ "VisibilityAvgMiles 0.909780\n",
+ "VisibilityLowMiles 0.909780\n",
+ "WindHighMPH 0.151630\n",
+ "WindAvgMPH 0.151630\n",
+ "WindGustMPH 0.303260\n",
+ "PrecipitationSumInches 9.401061\n",
+ "Events 0.000000\n",
+ "dtype: float64"
+ ]
+ },
+ "execution_count": 38,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "missing_percentage = missing_per_column / len(austin) * 100\n",
+ "missing_percentage"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
- "# Your code here\n"
+ "columns_to_remove = missing_percentage[missing_percentage > 10].index\n",
+ "austin_cleaned = austin.drop(columns=columns_to_remove)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\hugoe\\AppData\\Local\\Temp\\ipykernel_24836\\3765750687.py:1: FutureWarning: DataFrame.interpolate with object dtype is deprecated and will raise in a future version. Call obj.infer_objects(copy=False) before interpolating instead.\n",
+ " austin_interpolated = austin_cleaned.interpolate(method=\"linear\", axis=0)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "Date 0\n",
+ "TempHighF 0\n",
+ "TempAvgF 0\n",
+ "TempLowF 0\n",
+ "DewPointHighF 0\n",
+ "DewPointAvgF 0\n",
+ "DewPointLowF 0\n",
+ "HumidityHighPercent 0\n",
+ "HumidityAvgPercent 0\n",
+ "HumidityLowPercent 0\n",
+ "SeaLevelPressureHighInches 0\n",
+ "SeaLevelPressureAvgInches 0\n",
+ "SeaLevelPressureLowInches 0\n",
+ "VisibilityHighMiles 0\n",
+ "VisibilityAvgMiles 0\n",
+ "VisibilityLowMiles 0\n",
+ "WindHighMPH 0\n",
+ "WindAvgMPH 0\n",
+ "WindGustMPH 0\n",
+ "PrecipitationSumInches 0\n",
+ "Events 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 40,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_interpolated = austin_cleaned.interpolate(method=\"linear\", axis=0)\n",
+ "austin_interpolated.isnull().sum()"
]
},
{
@@ -283,11 +2332,66 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 42,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "124"
+ ]
+ },
+ "execution_count": 42,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Your code here\n",
+ "missing_precipitation = austin[\"PrecipitationSumInches\"].isna().sum()\n",
+ "missing_precipitation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1319"
+ ]
+ },
+ "execution_count": 43,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "total_rows = len(austin)\n",
+ "total_rows"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.09401061410159212"
+ ]
+ },
+ "execution_count": 44,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "missing_ratio = missing_precipitation / total_rows\n",
+ "missing_ratio"
]
},
{
@@ -309,16 +2413,256 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 46,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['Date', 'TempHighF', 'TempAvgF', 'TempLowF', 'DewPointHighF',\n",
+ " 'DewPointAvgF', 'DewPointLowF', 'HumidityHighPercent',\n",
+ " 'HumidityAvgPercent', 'HumidityLowPercent',\n",
+ " 'SeaLevelPressureHighInches', 'SeaLevelPressureAvgInches',\n",
+ " 'SeaLevelPressureLowInches', 'VisibilityHighMiles',\n",
+ " 'VisibilityAvgMiles', 'VisibilityLowMiles', 'WindHighMPH', 'WindAvgMPH',\n",
+ " 'WindGustMPH', 'Events'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 46,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"# Your code here \n",
+ "austin.drop(\"PrecipitationSumInches\", axis=1, inplace=True)\n",
"\n",
"\n",
"# Print `austin` to confirm the column is indeed removed\n",
"\n",
- "austin"
+ "austin.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " SeaLevelPressureHighInches | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " SeaLevelPressureLowInches | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2013-12-21 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " 29.86 | \n",
+ " 29.68 | \n",
+ " 29.59 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " Rain , Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2013-12-22 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " 30.41 | \n",
+ " 30.13 | \n",
+ " 29.87 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2013-12-23 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " 30.56 | \n",
+ " 30.49 | \n",
+ " 30.41 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2013-12-24 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " 30.56 | \n",
+ " 30.45 | \n",
+ " 30.30 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " 30.41 | \n",
+ " 30.33 | \n",
+ " 30.27 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 2013-12-21 74 60 45 67.0 49.0 \n",
+ "1 2013-12-22 56 48 39 43.0 36.0 \n",
+ "2 2013-12-23 58 45 32 31.0 27.0 \n",
+ "3 2013-12-24 61 46 31 36.0 28.0 \n",
+ "4 2013-12-25 58 50 41 44.0 40.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 43.0 93.0 75.0 57.0 \n",
+ "1 28.0 93.0 68.0 43.0 \n",
+ "2 23.0 76.0 52.0 27.0 \n",
+ "3 21.0 89.0 56.0 22.0 \n",
+ "4 36.0 86.0 71.0 56.0 \n",
+ "\n",
+ " SeaLevelPressureHighInches SeaLevelPressureAvgInches \\\n",
+ "0 29.86 29.68 \n",
+ "1 30.41 30.13 \n",
+ "2 30.56 30.49 \n",
+ "3 30.56 30.45 \n",
+ "4 30.41 30.33 \n",
+ "\n",
+ " SeaLevelPressureLowInches VisibilityHighMiles VisibilityAvgMiles \\\n",
+ "0 29.59 10.0 7.0 \n",
+ "1 29.87 10.0 10.0 \n",
+ "2 30.41 10.0 10.0 \n",
+ "3 30.30 10.0 10.0 \n",
+ "4 30.27 10.0 10.0 \n",
+ "\n",
+ " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n",
+ "0 2.0 20.0 4.0 31.0 \n",
+ "1 5.0 16.0 6.0 25.0 \n",
+ "2 10.0 8.0 3.0 12.0 \n",
+ "3 7.0 12.0 4.0 20.0 \n",
+ "4 7.0 10.0 2.0 16.0 \n",
+ "\n",
+ " Events \n",
+ "0 Rain , Thunderstorm \n",
+ "1 \n",
+ "2 \n",
+ "3 \n",
+ "4 "
+ ]
+ },
+ "execution_count": 47,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin.head()"
]
},
{
@@ -336,11 +2680,242 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 49,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\hugoe\\AppData\\Local\\Temp\\ipykernel_24836\\2983814815.py:2: FutureWarning: DataFrame.interpolate with object dtype is deprecated and will raise in a future version. Call obj.infer_objects(copy=False) before interpolating instead.\n",
+ " austin_fixed = austin.interpolate(inplace=False)\n"
+ ]
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin_fixed = austin.interpolate(inplace=False)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " SeaLevelPressureHighInches | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " SeaLevelPressureLowInches | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2013-12-21 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " 29.86 | \n",
+ " 29.68 | \n",
+ " 29.59 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " Rain , Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2013-12-22 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " 30.41 | \n",
+ " 30.13 | \n",
+ " 29.87 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2013-12-23 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " 30.56 | \n",
+ " 30.49 | \n",
+ " 30.41 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2013-12-24 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " 30.56 | \n",
+ " 30.45 | \n",
+ " 30.30 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " 30.41 | \n",
+ " 30.33 | \n",
+ " 30.27 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 2013-12-21 74 60 45 67.0 49.0 \n",
+ "1 2013-12-22 56 48 39 43.0 36.0 \n",
+ "2 2013-12-23 58 45 32 31.0 27.0 \n",
+ "3 2013-12-24 61 46 31 36.0 28.0 \n",
+ "4 2013-12-25 58 50 41 44.0 40.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 43.0 93.0 75.0 57.0 \n",
+ "1 28.0 93.0 68.0 43.0 \n",
+ "2 23.0 76.0 52.0 27.0 \n",
+ "3 21.0 89.0 56.0 22.0 \n",
+ "4 36.0 86.0 71.0 56.0 \n",
+ "\n",
+ " SeaLevelPressureHighInches SeaLevelPressureAvgInches \\\n",
+ "0 29.86 29.68 \n",
+ "1 30.41 30.13 \n",
+ "2 30.56 30.49 \n",
+ "3 30.56 30.45 \n",
+ "4 30.41 30.33 \n",
+ "\n",
+ " SeaLevelPressureLowInches VisibilityHighMiles VisibilityAvgMiles \\\n",
+ "0 29.59 10.0 7.0 \n",
+ "1 29.87 10.0 10.0 \n",
+ "2 30.41 10.0 10.0 \n",
+ "3 30.30 10.0 10.0 \n",
+ "4 30.27 10.0 10.0 \n",
+ "\n",
+ " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n",
+ "0 2.0 20.0 4.0 31.0 \n",
+ "1 5.0 16.0 6.0 25.0 \n",
+ "2 10.0 8.0 3.0 12.0 \n",
+ "3 7.0 12.0 4.0 20.0 \n",
+ "4 7.0 10.0 2.0 16.0 \n",
+ "\n",
+ " Events \n",
+ "0 Rain , Thunderstorm \n",
+ "1 \n",
+ "2 \n",
+ "3 \n",
+ "4 "
+ ]
+ },
+ "execution_count": 50,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_fixed.head()"
]
},
{
@@ -352,11 +2927,46 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 138,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Date 0\n",
+ "TempHighF 0\n",
+ "TempAvgF 0\n",
+ "TempLowF 0\n",
+ "DewPointHighF 0\n",
+ "DewPointAvgF 0\n",
+ "DewPointLowF 0\n",
+ "HumidityHighPercent 0\n",
+ "HumidityAvgPercent 0\n",
+ "HumidityLowPercent 0\n",
+ "SeaLevelPressureHighInches 0\n",
+ "SeaLevelPressureAvgInches 0\n",
+ "SeaLevelPressureLowInches 0\n",
+ "VisibilityHighMiles 0\n",
+ "VisibilityAvgMiles 0\n",
+ "VisibilityLowMiles 0\n",
+ "WindHighMPH 0\n",
+ "WindAvgMPH 0\n",
+ "WindGustMPH 0\n",
+ "Snow 0\n",
+ "Fog 0\n",
+ "Rain 0\n",
+ "Thunderstorm 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 138,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin_fixed.isnull().sum()"
]
},
{
@@ -377,11 +2987,34 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 57,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Events\n",
+ " 903\n",
+ "Rain 192\n",
+ "Rain , Thunderstorm 137\n",
+ "Fog , Rain , Thunderstorm 33\n",
+ "Fog 21\n",
+ "Thunderstorm 17\n",
+ "Fog , Rain 14\n",
+ "Rain , Snow 1\n",
+ "Fog , Thunderstorm 1\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 57,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here:\n"
+ "# Your code here:\n",
+ "event_counts = austin[\"Events\"].value_counts()\n",
+ "event_counts"
]
},
{
@@ -395,11 +3028,56 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 59,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 2\n",
+ "1 1\n",
+ "2 1\n",
+ "3 1\n",
+ "4 1\n",
+ " ..\n",
+ "1314 1\n",
+ "1315 1\n",
+ "1316 1\n",
+ "1317 1\n",
+ "1318 1\n",
+ "Name: Events, Length: 1319, dtype: int64"
+ ]
+ },
+ "execution_count": 59,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your answer:\n"
+ "# Your answer:\n",
+ "event_counts_per_day = austin[\"Events\"].apply(lambda x: len(x.split(',')))\n",
+ "event_counts_per_day\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 60,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "3"
+ ]
+ },
+ "execution_count": 60,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "max_events_in_one_day = event_counts_per_day.max()\n",
+ "max_events_in_one_day"
]
},
{
@@ -415,18 +3093,972 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 62,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Events | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2013-12-21 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " ... | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " Rain , Thunderstorm | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2013-12-22 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2013-12-23 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2013-12-24 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 24 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 2013-12-21 74 60 45 67.0 49.0 \n",
+ "1 2013-12-22 56 48 39 43.0 36.0 \n",
+ "2 2013-12-23 58 45 32 31.0 27.0 \n",
+ "3 2013-12-24 61 46 31 36.0 28.0 \n",
+ "4 2013-12-25 58 50 41 44.0 40.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 43.0 93.0 75.0 57.0 \n",
+ "1 28.0 93.0 68.0 43.0 \n",
+ "2 23.0 76.0 52.0 27.0 \n",
+ "3 21.0 89.0 56.0 22.0 \n",
+ "4 36.0 86.0 71.0 56.0 \n",
+ "\n",
+ " ... VisibilityAvgMiles VisibilityLowMiles WindHighMPH WindAvgMPH \\\n",
+ "0 ... 7.0 2.0 20.0 4.0 \n",
+ "1 ... 10.0 5.0 16.0 6.0 \n",
+ "2 ... 10.0 10.0 8.0 3.0 \n",
+ "3 ... 10.0 7.0 12.0 4.0 \n",
+ "4 ... 10.0 7.0 10.0 2.0 \n",
+ "\n",
+ " WindGustMPH Events Snow Fog Rain Thunderstorm \n",
+ "0 31.0 Rain , Thunderstorm 0 0 1 1 \n",
+ "1 25.0 0 0 0 0 \n",
+ "2 12.0 0 0 0 0 \n",
+ "3 20.0 0 0 0 0 \n",
+ "4 16.0 0 0 0 0 \n",
+ "\n",
+ "[5 rows x 24 columns]"
+ ]
+ },
+ "execution_count": 62,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "event_list = ['Snow', 'Fog', 'Rain', 'Thunderstorm']\n",
+ "event_list = [\"Snow\", \"Fog\", \"Rain\", \"Thunderstorm\"]\n",
"\n",
"# Your code here\n",
"\n",
+ "for event in event_list:\n",
+ " austin_fixed[event] = austin_fixed[\"Events\"].apply(lambda x: 1 if event in str(x) else 0)\n",
+ "\n",
"\n",
"# Print your new dataframe to check whether new columns have been created:\n",
"\n",
- "austin_fixed"
+ "austin_fixed.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 63,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "austin_fixed.drop(columns=[\"Events\"], inplace=True)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 64,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2013-12-21 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2013-12-22 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2013-12-23 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2013-12-24 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2013-12-25 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 23 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 2013-12-21 74 60 45 67.0 49.0 \n",
+ "1 2013-12-22 56 48 39 43.0 36.0 \n",
+ "2 2013-12-23 58 45 32 31.0 27.0 \n",
+ "3 2013-12-24 61 46 31 36.0 28.0 \n",
+ "4 2013-12-25 58 50 41 44.0 40.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 43.0 93.0 75.0 57.0 \n",
+ "1 28.0 93.0 68.0 43.0 \n",
+ "2 23.0 76.0 52.0 27.0 \n",
+ "3 21.0 89.0 56.0 22.0 \n",
+ "4 36.0 86.0 71.0 56.0 \n",
+ "\n",
+ " ... VisibilityHighMiles VisibilityAvgMiles VisibilityLowMiles \\\n",
+ "0 ... 10.0 7.0 2.0 \n",
+ "1 ... 10.0 10.0 5.0 \n",
+ "2 ... 10.0 10.0 10.0 \n",
+ "3 ... 10.0 10.0 7.0 \n",
+ "4 ... 10.0 10.0 7.0 \n",
+ "\n",
+ " WindHighMPH WindAvgMPH WindGustMPH Snow Fog Rain Thunderstorm \n",
+ "0 20.0 4.0 31.0 0 0 1 1 \n",
+ "1 16.0 6.0 25.0 0 0 0 0 \n",
+ "2 8.0 3.0 12.0 0 0 0 0 \n",
+ "3 12.0 4.0 20.0 0 0 0 0 \n",
+ "4 10.0 2.0 16.0 0 0 0 0 \n",
+ "\n",
+ "[5 rows x 23 columns]"
+ ]
+ },
+ "execution_count": 64,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_fixed.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 65,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 735223 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 735224 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 735225 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 735226 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 735227 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 23 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 735223 74 60 45 67.0 49.0 \n",
+ "1 735224 56 48 39 43.0 36.0 \n",
+ "2 735225 58 45 32 31.0 27.0 \n",
+ "3 735226 61 46 31 36.0 28.0 \n",
+ "4 735227 58 50 41 44.0 40.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 43.0 93.0 75.0 57.0 \n",
+ "1 28.0 93.0 68.0 43.0 \n",
+ "2 23.0 76.0 52.0 27.0 \n",
+ "3 21.0 89.0 56.0 22.0 \n",
+ "4 36.0 86.0 71.0 56.0 \n",
+ "\n",
+ " ... VisibilityHighMiles VisibilityAvgMiles VisibilityLowMiles \\\n",
+ "0 ... 10.0 7.0 2.0 \n",
+ "1 ... 10.0 10.0 5.0 \n",
+ "2 ... 10.0 10.0 10.0 \n",
+ "3 ... 10.0 10.0 7.0 \n",
+ "4 ... 10.0 10.0 7.0 \n",
+ "\n",
+ " WindHighMPH WindAvgMPH WindGustMPH Snow Fog Rain Thunderstorm \n",
+ "0 20.0 4.0 31.0 0 0 1 1 \n",
+ "1 16.0 6.0 25.0 0 0 0 0 \n",
+ "2 8.0 3.0 12.0 0 0 0 0 \n",
+ "3 12.0 4.0 20.0 0 0 0 0 \n",
+ "4 10.0 2.0 16.0 0 0 0 0 \n",
+ "\n",
+ "[5 rows x 23 columns]"
+ ]
+ },
+ "execution_count": 65,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_fixed[\"Date\"] = pd.to_datetime(austin_fixed[\"Date\"])\n",
+ "austin_fixed[\"Date\"] = austin_fixed[\"Date\"].apply(lambda x: x.toordinal())\n",
+ "austin_fixed.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 66,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 60\n",
+ "1 48\n",
+ "2 45\n",
+ "3 46\n",
+ "4 50\n",
+ "Name: TempAvgF, dtype: int64"
+ ]
+ },
+ "execution_count": 66,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y = austin_fixed[\"TempAvgF\"]\n",
+ "y.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 67,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " SeaLevelPressureHighInches | \n",
+ " ... | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 735223 | \n",
+ " 74 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " 29.86 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 735224 | \n",
+ " 56 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " 30.41 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 735225 | \n",
+ " 58 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " 30.56 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 735226 | \n",
+ " 61 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " 30.56 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 735227 | \n",
+ " 58 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " 30.41 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 22 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempLowF DewPointHighF DewPointAvgF DewPointLowF \\\n",
+ "0 735223 74 45 67.0 49.0 43.0 \n",
+ "1 735224 56 39 43.0 36.0 28.0 \n",
+ "2 735225 58 32 31.0 27.0 23.0 \n",
+ "3 735226 61 31 36.0 28.0 21.0 \n",
+ "4 735227 58 41 44.0 40.0 36.0 \n",
+ "\n",
+ " HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 93.0 75.0 57.0 \n",
+ "1 93.0 68.0 43.0 \n",
+ "2 76.0 52.0 27.0 \n",
+ "3 89.0 56.0 22.0 \n",
+ "4 86.0 71.0 56.0 \n",
+ "\n",
+ " SeaLevelPressureHighInches ... VisibilityHighMiles VisibilityAvgMiles \\\n",
+ "0 29.86 ... 10.0 7.0 \n",
+ "1 30.41 ... 10.0 10.0 \n",
+ "2 30.56 ... 10.0 10.0 \n",
+ "3 30.56 ... 10.0 10.0 \n",
+ "4 30.41 ... 10.0 10.0 \n",
+ "\n",
+ " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH Snow Fog Rain \\\n",
+ "0 2.0 20.0 4.0 31.0 0 0 1 \n",
+ "1 5.0 16.0 6.0 25.0 0 0 0 \n",
+ "2 10.0 8.0 3.0 12.0 0 0 0 \n",
+ "3 7.0 12.0 4.0 20.0 0 0 0 \n",
+ "4 7.0 10.0 2.0 16.0 0 0 0 \n",
+ "\n",
+ " Thunderstorm \n",
+ "0 1 \n",
+ "1 0 \n",
+ "2 0 \n",
+ "3 0 \n",
+ "4 0 \n",
+ "\n",
+ "[5 rows x 22 columns]"
+ ]
+ },
+ "execution_count": 67,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X = austin_fixed.drop(columns=[\"TempAvgF\"])\n",
+ "X.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((1055, 22), (264, 22))"
+ ]
+ },
+ "execution_count": 69,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_train.shape, X_test.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 70,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "((1055,), (264,))"
+ ]
+ },
+ "execution_count": 70,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_train.shape, y_test.shape"
]
},
{
@@ -446,11 +4078,151 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 72,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Your code here\n",
+ "event_list = [\"Snow\", \"Fog\", \"Rain\", \"Thunderstorm\"]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 130,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['Date', 'TempHighF', 'TempAvgF', 'TempLowF', 'DewPointHighF',\n",
+ " 'DewPointAvgF', 'DewPointLowF', 'HumidityHighPercent',\n",
+ " 'HumidityAvgPercent', 'HumidityLowPercent',\n",
+ " 'SeaLevelPressureHighInches', 'SeaLevelPressureAvgInches',\n",
+ " 'SeaLevelPressureLowInches', 'VisibilityHighMiles',\n",
+ " 'VisibilityAvgMiles', 'VisibilityLowMiles', 'WindHighMPH', 'WindAvgMPH',\n",
+ " 'WindGustMPH', 'Snow', 'Fog', 'Rain', 'Thunderstorm'],\n",
+ " dtype='object')"
+ ]
+ },
+ "execution_count": 130,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_fixed.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 132,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "for event in event_list:\n",
+ " austin_fixed[event] = austin_fixed[event].astype(int) \n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 134,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Rain | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Rain Snow Fog Thunderstorm\n",
+ "0 1 0 0 1\n",
+ "1 0 0 0 0\n",
+ "2 0 0 0 0\n",
+ "3 0 0 0 0\n",
+ "4 0 0 0 0"
+ ]
+ },
+ "execution_count": 134,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "austin_fixed[[\"Rain\", \"Snow\", \"Fog\", \"Thunderstorm\"]].head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 95,
"metadata": {},
"outputs": [],
"source": [
- "# Your code here\n"
+ "austin_fixed[\"Events\"] = austin_fixed[[\"Rain\", \"Snow\", \"Fog\", \"Thunderstorm\"]].apply(\n",
+ " lambda row: \", \".join([event for event in event_list if row[event] == 1]), axis=1)"
]
},
{
@@ -462,11 +4234,75 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 98,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Events | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Rain, Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Events\n",
+ "0 Rain, Thunderstorm\n",
+ "1 \n",
+ "2 \n",
+ "3 \n",
+ "4 "
+ ]
+ },
+ "execution_count": 98,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin_fixed[[\"Events\"]].head()"
]
},
{
@@ -478,11 +4314,220 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 100,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 735223 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 735224 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 735225 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 735226 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 735227 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 23 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 735223 74 60 45 67.0 49.0 \n",
+ "1 735224 56 48 39 43.0 36.0 \n",
+ "2 735225 58 45 32 31.0 27.0 \n",
+ "3 735226 61 46 31 36.0 28.0 \n",
+ "4 735227 58 50 41 44.0 40.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 43.0 93.0 75.0 57.0 \n",
+ "1 28.0 93.0 68.0 43.0 \n",
+ "2 23.0 76.0 52.0 27.0 \n",
+ "3 21.0 89.0 56.0 22.0 \n",
+ "4 36.0 86.0 71.0 56.0 \n",
+ "\n",
+ " ... VisibilityHighMiles VisibilityAvgMiles VisibilityLowMiles \\\n",
+ "0 ... 10.0 7.0 2.0 \n",
+ "1 ... 10.0 10.0 5.0 \n",
+ "2 ... 10.0 10.0 10.0 \n",
+ "3 ... 10.0 10.0 7.0 \n",
+ "4 ... 10.0 10.0 7.0 \n",
+ "\n",
+ " WindHighMPH WindAvgMPH WindGustMPH Snow Fog Rain Thunderstorm \n",
+ "0 20.0 4.0 31.0 0 0 1 1 \n",
+ "1 16.0 6.0 25.0 0 0 0 0 \n",
+ "2 8.0 3.0 12.0 0 0 0 0 \n",
+ "3 12.0 4.0 20.0 0 0 0 0 \n",
+ "4 10.0 2.0 16.0 0 0 0 0 \n",
+ "\n",
+ "[5 rows x 23 columns]"
+ ]
+ },
+ "execution_count": 100,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here\n"
+ "# Your code here\n",
+ "austin_fixed.drop(columns=[\"Events\"], inplace=True)\n",
+ "austin_fixed.head()"
]
},
{
@@ -500,11 +4545,21 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 102,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Your code here\n",
+ "austin_fixed[\"Date\"] = pd.to_datetime(austin_fixed[\"Date\"])\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 104,
"metadata": {},
"outputs": [],
"source": [
- "# Your code here\n"
+ "austin_fixed[\"Date\"] = austin_fixed[\"Date\"].apply(lambda x: x.toordinal())\n"
]
},
{
@@ -516,9 +4571,216 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 106,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Date | \n",
+ " TempHighF | \n",
+ " TempAvgF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " ... | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 719163 | \n",
+ " 74 | \n",
+ " 60 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 719163 | \n",
+ " 56 | \n",
+ " 48 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 719163 | \n",
+ " 58 | \n",
+ " 45 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 719163 | \n",
+ " 61 | \n",
+ " 46 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 719163 | \n",
+ " 58 | \n",
+ " 50 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
5 rows × 23 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n",
+ "0 719163 74 60 45 67.0 49.0 \n",
+ "1 719163 56 48 39 43.0 36.0 \n",
+ "2 719163 58 45 32 31.0 27.0 \n",
+ "3 719163 61 46 31 36.0 28.0 \n",
+ "4 719163 58 50 41 44.0 40.0 \n",
+ "\n",
+ " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 43.0 93.0 75.0 57.0 \n",
+ "1 28.0 93.0 68.0 43.0 \n",
+ "2 23.0 76.0 52.0 27.0 \n",
+ "3 21.0 89.0 56.0 22.0 \n",
+ "4 36.0 86.0 71.0 56.0 \n",
+ "\n",
+ " ... VisibilityHighMiles VisibilityAvgMiles VisibilityLowMiles \\\n",
+ "0 ... 10.0 7.0 2.0 \n",
+ "1 ... 10.0 10.0 5.0 \n",
+ "2 ... 10.0 10.0 10.0 \n",
+ "3 ... 10.0 10.0 7.0 \n",
+ "4 ... 10.0 10.0 7.0 \n",
+ "\n",
+ " WindHighMPH WindAvgMPH WindGustMPH Snow Fog Rain Thunderstorm \n",
+ "0 20.0 4.0 31.0 0 0 1 1 \n",
+ "1 16.0 6.0 25.0 0 0 0 0 \n",
+ "2 8.0 3.0 12.0 0 0 0 0 \n",
+ "3 12.0 4.0 20.0 0 0 0 0 \n",
+ "4 10.0 2.0 16.0 0 0 0 0 \n",
+ "\n",
+ "[5 rows x 23 columns]"
+ ]
+ },
+ "execution_count": 106,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"austin_fixed.head(5)"
]
@@ -577,11 +4839,68 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 108,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Your code here:\n",
+ "X = austin_fixed[[\"TempHighF\", \"TempLowF\", \"DewPointHighF\", \"DewPointAvgF\", \n",
+ " \"DewPointLowF\", \"HumidityHighPercent\", \"HumidityAvgPercent\", \n",
+ " \"HumidityLowPercent\", \"SeaLevelPressureHighInches\", \n",
+ " \"SeaLevelPressureAvgInches\", \"SeaLevelPressureLowInches\", \n",
+ " \"VisibilityHighMiles\", \"VisibilityAvgMiles\", \"VisibilityLowMiles\", \n",
+ " \"WindHighMPH\", \"WindAvgMPH\", \"WindGustMPH\", \"Snow\", \"Fog\", \n",
+ " \"Rain\", \"Thunderstorm\"]]\n",
+ "y = austin_fixed[\"TempAvgF\"]\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 110,
"metadata": {},
"outputs": [],
"source": [
- "# Your code here:\n"
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 112,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(1055, 21)"
+ ]
+ },
+ "execution_count": 112,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_train.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 114,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(264, 21)"
+ ]
+ },
+ "execution_count": 114,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_test.shape"
]
},
{
@@ -593,11 +4912,12 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 116,
"metadata": {},
"outputs": [],
"source": [
- "#Your code here:\n"
+ "#Your code here:\n",
+ "from sklearn.model_selection import train_test_split\n"
]
},
{
@@ -612,11 +4932,12 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 118,
"metadata": {},
"outputs": [],
"source": [
- "#Your code here:\n"
+ "#Your code here:\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n"
]
},
{
@@ -641,11 +4962,24 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 120,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1056"
+ ]
+ },
+ "execution_count": 120,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here:\n"
+ "# Your code here:\n",
+ "ts_rows = math.ceil(len(austin_fixed) * 0.8)\n",
+ "ts_rows "
]
},
{
@@ -657,11 +4991,799 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 122,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TempHighF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " SeaLevelPressureHighInches | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " ... | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 74 | \n",
+ " 45 | \n",
+ " 67.0 | \n",
+ " 49.0 | \n",
+ " 43.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " 29.86 | \n",
+ " 29.68 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 4.0 | \n",
+ " 31.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 56 | \n",
+ " 39 | \n",
+ " 43.0 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 93.0 | \n",
+ " 68.0 | \n",
+ " 43.0 | \n",
+ " 30.41 | \n",
+ " 30.13 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 16.0 | \n",
+ " 6.0 | \n",
+ " 25.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 58 | \n",
+ " 32 | \n",
+ " 31.0 | \n",
+ " 27.0 | \n",
+ " 23.0 | \n",
+ " 76.0 | \n",
+ " 52.0 | \n",
+ " 27.0 | \n",
+ " 30.56 | \n",
+ " 30.49 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 61 | \n",
+ " 31 | \n",
+ " 36.0 | \n",
+ " 28.0 | \n",
+ " 21.0 | \n",
+ " 89.0 | \n",
+ " 56.0 | \n",
+ " 22.0 | \n",
+ " 30.56 | \n",
+ " 30.45 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 58 | \n",
+ " 41 | \n",
+ " 44.0 | \n",
+ " 40.0 | \n",
+ " 36.0 | \n",
+ " 86.0 | \n",
+ " 71.0 | \n",
+ " 56.0 | \n",
+ " 30.41 | \n",
+ " 30.33 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 7.0 | \n",
+ " 10.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1051 | \n",
+ " 76 | \n",
+ " 59 | \n",
+ " 67.0 | \n",
+ " 60.0 | \n",
+ " 57.0 | \n",
+ " 93.0 | \n",
+ " 85.0 | \n",
+ " 76.0 | \n",
+ " 30.19 | \n",
+ " 30.13 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 12.0 | \n",
+ " 2.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1052 | \n",
+ " 71 | \n",
+ " 61 | \n",
+ " 69.0 | \n",
+ " 65.0 | \n",
+ " 61.0 | \n",
+ " 100.0 | \n",
+ " 94.0 | \n",
+ " 87.0 | \n",
+ " 30.14 | \n",
+ " 30.09 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 5.0 | \n",
+ " 1.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1053 | \n",
+ " 69 | \n",
+ " 62 | \n",
+ " 66.0 | \n",
+ " 64.0 | \n",
+ " 62.0 | \n",
+ " 100.0 | \n",
+ " 92.0 | \n",
+ " 84.0 | \n",
+ " 30.21 | \n",
+ " 30.16 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 2.0 | \n",
+ " 10.0 | \n",
+ " 4.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1054 | \n",
+ " 65 | \n",
+ " 60 | \n",
+ " 62.0 | \n",
+ " 61.0 | \n",
+ " 58.0 | \n",
+ " 100.0 | \n",
+ " 94.0 | \n",
+ " 87.0 | \n",
+ " 30.29 | \n",
+ " 30.23 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 6.0 | \n",
+ " 1.0 | \n",
+ " 10.0 | \n",
+ " 6.0 | \n",
+ " 17.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1055 | \n",
+ " 71 | \n",
+ " 56 | \n",
+ " 58.0 | \n",
+ " 55.0 | \n",
+ " 53.0 | \n",
+ " 90.0 | \n",
+ " 72.0 | \n",
+ " 53.0 | \n",
+ " 30.34 | \n",
+ " 30.29 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 8.0 | \n",
+ " 3.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
1056 rows × 21 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TempHighF TempLowF DewPointHighF DewPointAvgF DewPointLowF \\\n",
+ "0 74 45 67.0 49.0 43.0 \n",
+ "1 56 39 43.0 36.0 28.0 \n",
+ "2 58 32 31.0 27.0 23.0 \n",
+ "3 61 31 36.0 28.0 21.0 \n",
+ "4 58 41 44.0 40.0 36.0 \n",
+ "... ... ... ... ... ... \n",
+ "1051 76 59 67.0 60.0 57.0 \n",
+ "1052 71 61 69.0 65.0 61.0 \n",
+ "1053 69 62 66.0 64.0 62.0 \n",
+ "1054 65 60 62.0 61.0 58.0 \n",
+ "1055 71 56 58.0 55.0 53.0 \n",
+ "\n",
+ " HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "0 93.0 75.0 57.0 \n",
+ "1 93.0 68.0 43.0 \n",
+ "2 76.0 52.0 27.0 \n",
+ "3 89.0 56.0 22.0 \n",
+ "4 86.0 71.0 56.0 \n",
+ "... ... ... ... \n",
+ "1051 93.0 85.0 76.0 \n",
+ "1052 100.0 94.0 87.0 \n",
+ "1053 100.0 92.0 84.0 \n",
+ "1054 100.0 94.0 87.0 \n",
+ "1055 90.0 72.0 53.0 \n",
+ "\n",
+ " SeaLevelPressureHighInches SeaLevelPressureAvgInches ... \\\n",
+ "0 29.86 29.68 ... \n",
+ "1 30.41 30.13 ... \n",
+ "2 30.56 30.49 ... \n",
+ "3 30.56 30.45 ... \n",
+ "4 30.41 30.33 ... \n",
+ "... ... ... ... \n",
+ "1051 30.19 30.13 ... \n",
+ "1052 30.14 30.09 ... \n",
+ "1053 30.21 30.16 ... \n",
+ "1054 30.29 30.23 ... \n",
+ "1055 30.34 30.29 ... \n",
+ "\n",
+ " VisibilityHighMiles VisibilityAvgMiles VisibilityLowMiles \\\n",
+ "0 10.0 7.0 2.0 \n",
+ "1 10.0 10.0 5.0 \n",
+ "2 10.0 10.0 10.0 \n",
+ "3 10.0 10.0 7.0 \n",
+ "4 10.0 10.0 7.0 \n",
+ "... ... ... ... \n",
+ "1051 10.0 10.0 5.0 \n",
+ "1052 10.0 5.0 1.0 \n",
+ "1053 10.0 8.0 2.0 \n",
+ "1054 10.0 6.0 1.0 \n",
+ "1055 10.0 10.0 8.0 \n",
+ "\n",
+ " WindHighMPH WindAvgMPH WindGustMPH Snow Fog Rain Thunderstorm \n",
+ "0 20.0 4.0 31.0 0 0 1 1 \n",
+ "1 16.0 6.0 25.0 0 0 0 0 \n",
+ "2 8.0 3.0 12.0 0 0 0 0 \n",
+ "3 12.0 4.0 20.0 0 0 0 0 \n",
+ "4 10.0 2.0 16.0 0 0 0 0 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "1051 12.0 2.0 20.0 0 0 1 0 \n",
+ "1052 7.0 2.0 12.0 0 0 1 0 \n",
+ "1053 10.0 4.0 16.0 0 0 1 1 \n",
+ "1054 10.0 6.0 17.0 0 0 1 0 \n",
+ "1055 8.0 3.0 12.0 0 0 0 0 \n",
+ "\n",
+ "[1056 rows x 21 columns]"
+ ]
+ },
+ "execution_count": 122,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Your code here:\n",
+ "X_ts_train = X[:ts_rows]\n",
+ "X_ts_train\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 124,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TempHighF | \n",
+ " TempLowF | \n",
+ " DewPointHighF | \n",
+ " DewPointAvgF | \n",
+ " DewPointLowF | \n",
+ " HumidityHighPercent | \n",
+ " HumidityAvgPercent | \n",
+ " HumidityLowPercent | \n",
+ " SeaLevelPressureHighInches | \n",
+ " SeaLevelPressureAvgInches | \n",
+ " ... | \n",
+ " VisibilityHighMiles | \n",
+ " VisibilityAvgMiles | \n",
+ " VisibilityLowMiles | \n",
+ " WindHighMPH | \n",
+ " WindAvgMPH | \n",
+ " WindGustMPH | \n",
+ " Snow | \n",
+ " Fog | \n",
+ " Rain | \n",
+ " Thunderstorm | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1056 | \n",
+ " 74 | \n",
+ " 55 | \n",
+ " 60.0 | \n",
+ " 57.0 | \n",
+ " 54.0 | \n",
+ " 100.0 | \n",
+ " 79.0 | \n",
+ " 57.0 | \n",
+ " 30.31 | \n",
+ " 30.25 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 2.0 | \n",
+ " 8.0 | \n",
+ " 2.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1057 | \n",
+ " 77 | \n",
+ " 57 | \n",
+ " 58.0 | \n",
+ " 57.0 | \n",
+ " 54.0 | \n",
+ " 93.0 | \n",
+ " 72.0 | \n",
+ " 50.0 | \n",
+ " 30.28 | \n",
+ " 30.22 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 1.0 | \n",
+ " 9.0 | \n",
+ " 4.0 | \n",
+ " 13.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1058 | \n",
+ " 76 | \n",
+ " 54 | \n",
+ " 58.0 | \n",
+ " 55.0 | \n",
+ " 52.0 | \n",
+ " 93.0 | \n",
+ " 75.0 | \n",
+ " 57.0 | \n",
+ " 30.27 | \n",
+ " 30.18 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 9.0 | \n",
+ " 7.0 | \n",
+ " 2.0 | \n",
+ " 12.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1059 | \n",
+ " 82 | \n",
+ " 56 | \n",
+ " 62.0 | \n",
+ " 58.0 | \n",
+ " 55.0 | \n",
+ " 100.0 | \n",
+ " 74.0 | \n",
+ " 48.0 | \n",
+ " 30.15 | \n",
+ " 30.09 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 6.0 | \n",
+ " 0.0 | \n",
+ " 9.0 | \n",
+ " 2.0 | \n",
+ " 16.0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1060 | \n",
+ " 86 | \n",
+ " 59 | \n",
+ " 58.0 | \n",
+ " 55.0 | \n",
+ " 51.0 | \n",
+ " 87.0 | \n",
+ " 60.0 | \n",
+ " 32.0 | \n",
+ " 30.11 | \n",
+ " 30.04 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 8.0 | \n",
+ " 2.0 | \n",
+ " 14.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 1314 | \n",
+ " 103 | \n",
+ " 75 | \n",
+ " 71.0 | \n",
+ " 67.0 | \n",
+ " 61.0 | \n",
+ " 82.0 | \n",
+ " 54.0 | \n",
+ " 25.0 | \n",
+ " 30.04 | \n",
+ " 29.97 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 12.0 | \n",
+ " 5.0 | \n",
+ " 21.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1315 | \n",
+ " 105 | \n",
+ " 76 | \n",
+ " 71.0 | \n",
+ " 64.0 | \n",
+ " 55.0 | \n",
+ " 87.0 | \n",
+ " 54.0 | \n",
+ " 20.0 | \n",
+ " 29.97 | \n",
+ " 29.90 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 14.0 | \n",
+ " 5.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1316 | \n",
+ " 107 | \n",
+ " 77 | \n",
+ " 72.0 | \n",
+ " 64.0 | \n",
+ " 55.0 | \n",
+ " 82.0 | \n",
+ " 51.0 | \n",
+ " 19.0 | \n",
+ " 29.91 | \n",
+ " 29.86 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 17.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1317 | \n",
+ " 106 | \n",
+ " 79 | \n",
+ " 70.0 | \n",
+ " 68.0 | \n",
+ " 63.0 | \n",
+ " 69.0 | \n",
+ " 48.0 | \n",
+ " 27.0 | \n",
+ " 29.96 | \n",
+ " 29.91 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 13.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1318 | \n",
+ " 99 | \n",
+ " 77 | \n",
+ " 66.0 | \n",
+ " 61.0 | \n",
+ " 54.0 | \n",
+ " 64.0 | \n",
+ " 43.0 | \n",
+ " 22.0 | \n",
+ " 30.04 | \n",
+ " 29.97 | \n",
+ " ... | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 10.0 | \n",
+ " 12.0 | \n",
+ " 4.0 | \n",
+ " 20.0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
263 rows × 21 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TempHighF TempLowF DewPointHighF DewPointAvgF DewPointLowF \\\n",
+ "1056 74 55 60.0 57.0 54.0 \n",
+ "1057 77 57 58.0 57.0 54.0 \n",
+ "1058 76 54 58.0 55.0 52.0 \n",
+ "1059 82 56 62.0 58.0 55.0 \n",
+ "1060 86 59 58.0 55.0 51.0 \n",
+ "... ... ... ... ... ... \n",
+ "1314 103 75 71.0 67.0 61.0 \n",
+ "1315 105 76 71.0 64.0 55.0 \n",
+ "1316 107 77 72.0 64.0 55.0 \n",
+ "1317 106 79 70.0 68.0 63.0 \n",
+ "1318 99 77 66.0 61.0 54.0 \n",
+ "\n",
+ " HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n",
+ "1056 100.0 79.0 57.0 \n",
+ "1057 93.0 72.0 50.0 \n",
+ "1058 93.0 75.0 57.0 \n",
+ "1059 100.0 74.0 48.0 \n",
+ "1060 87.0 60.0 32.0 \n",
+ "... ... ... ... \n",
+ "1314 82.0 54.0 25.0 \n",
+ "1315 87.0 54.0 20.0 \n",
+ "1316 82.0 51.0 19.0 \n",
+ "1317 69.0 48.0 27.0 \n",
+ "1318 64.0 43.0 22.0 \n",
+ "\n",
+ " SeaLevelPressureHighInches SeaLevelPressureAvgInches ... \\\n",
+ "1056 30.31 30.25 ... \n",
+ "1057 30.28 30.22 ... \n",
+ "1058 30.27 30.18 ... \n",
+ "1059 30.15 30.09 ... \n",
+ "1060 30.11 30.04 ... \n",
+ "... ... ... ... \n",
+ "1314 30.04 29.97 ... \n",
+ "1315 29.97 29.90 ... \n",
+ "1316 29.91 29.86 ... \n",
+ "1317 29.96 29.91 ... \n",
+ "1318 30.04 29.97 ... \n",
+ "\n",
+ " VisibilityHighMiles VisibilityAvgMiles VisibilityLowMiles \\\n",
+ "1056 10.0 8.0 2.0 \n",
+ "1057 10.0 8.0 1.0 \n",
+ "1058 10.0 10.0 9.0 \n",
+ "1059 10.0 6.0 0.0 \n",
+ "1060 10.0 10.0 10.0 \n",
+ "... ... ... ... \n",
+ "1314 10.0 10.0 10.0 \n",
+ "1315 10.0 10.0 10.0 \n",
+ "1316 10.0 10.0 10.0 \n",
+ "1317 10.0 10.0 10.0 \n",
+ "1318 10.0 10.0 10.0 \n",
+ "\n",
+ " WindHighMPH WindAvgMPH WindGustMPH Snow Fog Rain Thunderstorm \n",
+ "1056 8.0 2.0 12.0 0 0 1 0 \n",
+ "1057 9.0 4.0 13.0 0 0 0 0 \n",
+ "1058 7.0 2.0 12.0 0 0 0 0 \n",
+ "1059 9.0 2.0 16.0 0 1 0 0 \n",
+ "1060 8.0 2.0 14.0 0 0 0 0 \n",
+ "... ... ... ... ... ... ... ... \n",
+ "1314 12.0 5.0 21.0 0 0 0 0 \n",
+ "1315 14.0 5.0 20.0 0 0 0 0 \n",
+ "1316 12.0 4.0 17.0 0 0 0 0 \n",
+ "1317 13.0 4.0 20.0 0 0 0 0 \n",
+ "1318 12.0 4.0 20.0 0 0 0 0 \n",
+ "\n",
+ "[263 rows x 21 columns]"
+ ]
+ },
+ "execution_count": 124,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here:\n"
+ "X_ts_test = X[ts_rows:]\n",
+ "X_ts_test"
]
},
{
@@ -673,17 +5795,73 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 126,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 60\n",
+ "1 48\n",
+ "2 45\n",
+ "3 46\n",
+ "4 50\n",
+ " ..\n",
+ "1051 68\n",
+ "1052 66\n",
+ "1053 66\n",
+ "1054 63\n",
+ "1055 64\n",
+ "Name: TempAvgF, Length: 1056, dtype: int64"
+ ]
+ },
+ "execution_count": 126,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Your code here:\n",
+ "y_ts_train = y[:ts_rows]\n",
+ "y_ts_train"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 128,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "1056 65\n",
+ "1057 67\n",
+ "1058 65\n",
+ "1059 69\n",
+ "1060 73\n",
+ " ..\n",
+ "1314 89\n",
+ "1315 91\n",
+ "1316 92\n",
+ "1317 93\n",
+ "1318 88\n",
+ "Name: TempAvgF, Length: 263, dtype: int64"
+ ]
+ },
+ "execution_count": 128,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# Your code here:\n"
+ "y_ts_test = y[ts_rows:]\n",
+ "y_ts_test \n"
]
}
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@@ -697,9 +5875,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.6.9"
+ "version": "3.12.4"
}
},
"nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
}