diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 68b3762..98a4ac2 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -12,11 +12,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ - "#Import your libraries\n" + "#Import your libraries\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import LinearRegression\n", + "pd.set_option('display.max_columns', None)\n" ] }, { @@ -38,18 +46,241 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHPrecipitationSumInchesEvents
02013-12-2174604567494393755729.8629.6829.591072204310.46Rain , Thunderstorm
12013-12-2256483943362893684330.4130.1329.8710105166250
22013-12-2358453231272376522730.5630.4930.4110101083120
32013-12-2461463136282189562230.5630.4530.310107124200
42013-12-2558504144403686715630.4130.3330.271010710216T
\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", + " 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 7 \n", + "1 29.87 10 10 \n", + "2 30.41 10 10 \n", + "3 30.3 10 10 \n", + "4 30.27 10 10 \n", + "\n", + " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n", + "0 2 20 4 31 \n", + "1 5 16 6 25 \n", + "2 10 8 3 12 \n", + "3 7 12 4 20 \n", + "4 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": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "# Your code here\n", + "austin = pd.read_csv(\"austin_weather.csv\")\n", + "austin.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Next, describe the dataset you have loaded: \n", + "#### \n", + "\n", + "\n", + "Next, describe the dataset you have loaded: \n", "- Look at the variables and their types\n", "- Examine the descriptive statistics of the numeric variables \n", "- Look at the first five rows of all variables to evaluate the categorical variables as well" @@ -57,29 +288,568 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 1319 entries, 0 to 1318\n", + "Data columns (total 21 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Date 1319 non-null object\n", + " 1 TempHighF 1319 non-null int64 \n", + " 2 TempAvgF 1319 non-null int64 \n", + " 3 TempLowF 1319 non-null int64 \n", + " 4 DewPointHighF 1319 non-null object\n", + " 5 DewPointAvgF 1319 non-null object\n", + " 6 DewPointLowF 1319 non-null object\n", + " 7 HumidityHighPercent 1319 non-null object\n", + " 8 HumidityAvgPercent 1319 non-null object\n", + " 9 HumidityLowPercent 1319 non-null object\n", + " 10 SeaLevelPressureHighInches 1319 non-null object\n", + " 11 SeaLevelPressureAvgInches 1319 non-null object\n", + " 12 SeaLevelPressureLowInches 1319 non-null object\n", + " 13 VisibilityHighMiles 1319 non-null object\n", + " 14 VisibilityAvgMiles 1319 non-null object\n", + " 15 VisibilityLowMiles 1319 non-null object\n", + " 16 WindHighMPH 1319 non-null object\n", + " 17 WindAvgMPH 1319 non-null object\n", + " 18 WindGustMPH 1319 non-null object\n", + " 19 PrecipitationSumInches 1319 non-null object\n", + " 20 Events 1319 non-null object\n", + "dtypes: int64(3), object(18)\n", + "memory usage: 216.5+ KB\n" + ] + } + ], "source": [ - "# Your code here\n" + "# Your code here\n", + "austin.info()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHPrecipitationSumInchesEvents
10602016-11-1586735958555187603230.1130.043010101082140
9052016-06-1394857676757391766030.0229.9429.81101010125180
5712015-07-1595857572706687644129.9929.9129.84101010136190
8092016-03-09716559675857100928429.8529.7529.651061158272.18Rain , Thunderstorm
10702016-11-2566615560574997877730.430.3230.210106104140.03Rain
8772016-05-16807467676665100846730.0229.9229.821062125170.26Rain
7882016-02-1775635042332544352530.2930.230.09101010136210
4012015-01-2674604643373261432530.2930.2130.15101010105170
2632014-09-1099887773716688633829.929.8329.75101010147250
\n", + "
" + ], + "text/plain": [ + " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n", + "1060 2016-11-15 86 73 59 58 55 \n", + "905 2016-06-13 94 85 76 76 75 \n", + "571 2015-07-15 95 85 75 72 70 \n", + "809 2016-03-09 71 65 59 67 58 \n", + "1070 2016-11-25 66 61 55 60 57 \n", + "877 2016-05-16 80 74 67 67 66 \n", + "788 2016-02-17 75 63 50 42 33 \n", + "401 2015-01-26 74 60 46 43 37 \n", + "263 2014-09-10 99 88 77 73 71 \n", + "\n", + " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n", + "1060 51 87 60 32 \n", + "905 73 91 76 60 \n", + "571 66 87 64 41 \n", + "809 57 100 92 84 \n", + "1070 49 97 87 77 \n", + "877 65 100 84 67 \n", + "788 25 44 35 25 \n", + "401 32 61 43 25 \n", + "263 66 88 63 38 \n", + "\n", + " SeaLevelPressureHighInches SeaLevelPressureAvgInches \\\n", + "1060 30.11 30.04 \n", + "905 30.02 29.94 \n", + "571 29.99 29.91 \n", + "809 29.85 29.75 \n", + "1070 30.4 30.32 \n", + "877 30.02 29.92 \n", + "788 30.29 30.2 \n", + "401 30.29 30.21 \n", + "263 29.9 29.83 \n", + "\n", + " SeaLevelPressureLowInches VisibilityHighMiles VisibilityAvgMiles \\\n", + "1060 30 10 10 \n", + "905 29.81 10 10 \n", + "571 29.84 10 10 \n", + "809 29.65 10 6 \n", + "1070 30.2 10 10 \n", + "877 29.82 10 6 \n", + "788 30.09 10 10 \n", + "401 30.15 10 10 \n", + "263 29.75 10 10 \n", + "\n", + " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n", + "1060 10 8 2 14 \n", + "905 10 12 5 18 \n", + "571 10 13 6 19 \n", + "809 1 15 8 27 \n", + "1070 6 10 4 14 \n", + "877 2 12 5 17 \n", + "788 10 13 6 21 \n", + "401 10 10 5 17 \n", + "263 10 14 7 25 \n", + "\n", + " PrecipitationSumInches Events \n", + "1060 0 \n", + "905 0 \n", + "571 0 \n", + "809 2.18 Rain , Thunderstorm \n", + "1070 0.03 Rain \n", + "877 0.26 Rain \n", + "788 0 \n", + "401 0 \n", + "263 0 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "# Your code here\n", + "austin.sample(9)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Rain , Thunderstorm', ' ', 'Rain', 'Fog', 'Rain , Snow',\n", + " 'Fog , Rain', 'Thunderstorm', 'Fog , Rain , Thunderstorm',\n", + " 'Fog , Thunderstorm'], dtype=object)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "austin.Events.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "austin.Events.nunique()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TempHighFTempAvgFTempLowF
count1319.0000001319.0000001319.000000
mean80.86277570.64291159.902957
std14.76652314.04590414.190648
min32.00000029.00000019.000000
25%72.00000062.00000049.000000
50%83.00000073.00000063.000000
75%92.00000083.00000073.000000
max107.00000093.00000081.000000
\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": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 74\n", + "1 56\n", + "2 58\n", + "3 61\n", + "4 58\n", + "Name: TempHighF, dtype: int64" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin[\"TempHighF\"].head()" ] }, { @@ -113,11 +883,60 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, + "metadata": {}, + "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": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "austin.DewPointAvgF.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "\n", + "austin[\"DewPointAvgF\"] = pd.to_numeric(austin[\"DewPointAvgF\"], errors=\"coerce\")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('float64')" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "austin[\"DewPointAvgF\"].dtype" ] }, { @@ -126,7 +945,7 @@ "metadata": {}, "outputs": [], "source": [ - "# Your observation here\n" + "#Pandas trata la columna como objeto ya que si no estuviera cada valor entre comillas, sería int, no string." ] }, { @@ -140,7 +959,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -153,11 +972,460 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHPrecipitationSumInchesEvents
02013-12-217460456749.04393755729.8629.6829.591072204310.46Rain , Thunderstorm
12013-12-225648394336.02893684330.4130.1329.8710105166250
22013-12-235845323127.02376522730.5630.4930.4110101083120
32013-12-246146313628.02189562230.5630.4530.310107124200
42013-12-255850414440.03686715630.4130.3330.271010710216T
..................................................................
13142017-07-2710389757167.06182542530.0429.9729.88101010125210
13152017-07-2810591767164.05587542029.9729.929.81101010145200
13162017-07-2910792777264.05582511929.9129.8629.79101010124170
13172017-07-3010693797068.06369482729.9629.9129.87101010134200
13182017-07-319988776661.05464432230.0429.9729.91101010124200
\n", + "

1319 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n", + "0 2013-12-21 74 60 45 67 49.0 \n", + "1 2013-12-22 56 48 39 43 36.0 \n", + "2 2013-12-23 58 45 32 31 27.0 \n", + "3 2013-12-24 61 46 31 36 28.0 \n", + "4 2013-12-25 58 50 41 44 40.0 \n", + "... ... ... ... ... ... ... \n", + "1314 2017-07-27 103 89 75 71 67.0 \n", + "1315 2017-07-28 105 91 76 71 64.0 \n", + "1316 2017-07-29 107 92 77 72 64.0 \n", + "1317 2017-07-30 106 93 79 70 68.0 \n", + "1318 2017-07-31 99 88 77 66 61.0 \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", + "1314 61 82 54 25 \n", + "1315 55 87 54 20 \n", + "1316 55 82 51 19 \n", + "1317 63 69 48 27 \n", + "1318 54 64 43 22 \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", + "1314 30.04 29.97 \n", + "1315 29.97 29.9 \n", + "1316 29.91 29.86 \n", + "1317 29.96 29.91 \n", + "1318 30.04 29.97 \n", + "\n", + " SeaLevelPressureLowInches VisibilityHighMiles VisibilityAvgMiles \\\n", + "0 29.59 10 7 \n", + "1 29.87 10 10 \n", + "2 30.41 10 10 \n", + "3 30.3 10 10 \n", + "4 30.27 10 10 \n", + "... ... ... ... \n", + "1314 29.88 10 10 \n", + "1315 29.81 10 10 \n", + "1316 29.79 10 10 \n", + "1317 29.87 10 10 \n", + "1318 29.91 10 10 \n", + "\n", + " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n", + "0 2 20 4 31 \n", + "1 5 16 6 25 \n", + "2 10 8 3 12 \n", + "3 7 12 4 20 \n", + "4 7 10 2 16 \n", + "... ... ... ... ... \n", + "1314 10 12 5 21 \n", + "1315 10 14 5 20 \n", + "1316 10 12 4 17 \n", + "1317 10 13 4 20 \n", + "1318 10 12 4 20 \n", + "\n", + " PrecipitationSumInches Events \n", + "0 0.46 Rain , Thunderstorm \n", + "1 0 \n", + "2 0 \n", + "3 0 \n", + "4 T \n", + "... ... ... \n", + "1314 0 \n", + "1315 0 \n", + "1316 0 \n", + "1317 0 \n", + "1318 0 \n", + "\n", + "[1319 rows x 21 columns]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin2 = austin.copy()\n", + "austin2" + ] + }, + { + "cell_type": "code", + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "austin2[wrong_type_columns] = austin2[wrong_type_columns].apply(pd.to_numeric, errors='coerce')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "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": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin2[wrong_type_columns].dtypes" ] }, { @@ -169,11 +1437,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 1319 entries, 0 to 1318\n", + "Data columns (total 21 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Date 1319 non-null object \n", + " 1 TempHighF 1319 non-null int64 \n", + " 2 TempAvgF 1319 non-null int64 \n", + " 3 TempLowF 1319 non-null int64 \n", + " 4 DewPointHighF 1312 non-null float64\n", + " 5 DewPointAvgF 1312 non-null float64\n", + " 6 DewPointLowF 1312 non-null float64\n", + " 7 HumidityHighPercent 1317 non-null float64\n", + " 8 HumidityAvgPercent 1317 non-null float64\n", + " 9 HumidityLowPercent 1317 non-null float64\n", + " 10 SeaLevelPressureHighInches 1316 non-null float64\n", + " 11 SeaLevelPressureAvgInches 1316 non-null float64\n", + " 12 SeaLevelPressureLowInches 1316 non-null float64\n", + " 13 VisibilityHighMiles 1307 non-null float64\n", + " 14 VisibilityAvgMiles 1307 non-null float64\n", + " 15 VisibilityLowMiles 1307 non-null float64\n", + " 16 WindHighMPH 1317 non-null float64\n", + " 17 WindAvgMPH 1317 non-null float64\n", + " 18 WindGustMPH 1315 non-null float64\n", + " 19 PrecipitationSumInches 1195 non-null float64\n", + " 20 Events 1319 non-null object \n", + "dtypes: float64(16), int64(3), object(2)\n", + "memory usage: 216.5+ KB\n" + ] + } + ], "source": [ - "# Your code here\n" + "# Your code here\n", + "austin2.info()" ] }, { @@ -200,11 +1504,837 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "austin2[\"null\"]=austin2.isnull().any(axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHPrecipitationSumInchesEventsnull
02013-12-2174604567.049.043.093.075.057.029.8629.6829.5910.07.02.020.04.031.00.46Rain , ThunderstormFalse
12013-12-2256483943.036.028.093.068.043.030.4130.1329.8710.010.05.016.06.025.00.00False
22013-12-2358453231.027.023.076.052.027.030.5630.4930.4110.010.010.08.03.012.00.00False
32013-12-2461463136.028.021.089.056.022.030.5630.4530.3010.010.07.012.04.020.00.00False
42013-12-2558504144.040.036.086.071.056.030.4130.3330.2710.010.07.010.02.016.0NaNTrue
.....................................................................
13142017-07-27103897571.067.061.082.054.025.030.0429.9729.8810.010.010.012.05.021.00.00False
13152017-07-28105917671.064.055.087.054.020.029.9729.9029.8110.010.010.014.05.020.00.00False
13162017-07-29107927772.064.055.082.051.019.029.9129.8629.7910.010.010.012.04.017.00.00False
13172017-07-30106937970.068.063.069.048.027.029.9629.9129.8710.010.010.013.04.020.00.00False
13182017-07-3199887766.061.054.064.043.022.030.0429.9729.9110.010.010.012.04.020.00.00False
\n", + "

1319 rows × 22 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", + "1314 2017-07-27 103 89 75 71.0 67.0 \n", + "1315 2017-07-28 105 91 76 71.0 64.0 \n", + "1316 2017-07-29 107 92 77 72.0 64.0 \n", + "1317 2017-07-30 106 93 79 70.0 68.0 \n", + "1318 2017-07-31 99 88 77 66.0 61.0 \n", + "\n", + " DewPointLowF HumidityHighPercent HumidityAvgPercent \\\n", + "0 43.0 93.0 75.0 \n", + "1 28.0 93.0 68.0 \n", + "2 23.0 76.0 52.0 \n", + "3 21.0 89.0 56.0 \n", + "4 36.0 86.0 71.0 \n", + "... ... ... ... \n", + "1314 61.0 82.0 54.0 \n", + "1315 55.0 87.0 54.0 \n", + "1316 55.0 82.0 51.0 \n", + "1317 63.0 69.0 48.0 \n", + "1318 54.0 64.0 43.0 \n", + "\n", + " HumidityLowPercent SeaLevelPressureHighInches \\\n", + "0 57.0 29.86 \n", + "1 43.0 30.41 \n", + "2 27.0 30.56 \n", + "3 22.0 30.56 \n", + "4 56.0 30.41 \n", + "... ... ... \n", + "1314 25.0 30.04 \n", + "1315 20.0 29.97 \n", + "1316 19.0 29.91 \n", + "1317 27.0 29.96 \n", + "1318 22.0 30.04 \n", + "\n", + " SeaLevelPressureAvgInches SeaLevelPressureLowInches \\\n", + "0 29.68 29.59 \n", + "1 30.13 29.87 \n", + "2 30.49 30.41 \n", + "3 30.45 30.30 \n", + "4 30.33 30.27 \n", + "... ... ... \n", + "1314 29.97 29.88 \n", + "1315 29.90 29.81 \n", + "1316 29.86 29.79 \n", + "1317 29.91 29.87 \n", + "1318 29.97 29.91 \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", + "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 PrecipitationSumInches \\\n", + "0 20.0 4.0 31.0 0.46 \n", + "1 16.0 6.0 25.0 0.00 \n", + "2 8.0 3.0 12.0 0.00 \n", + "3 12.0 4.0 20.0 0.00 \n", + "4 10.0 2.0 16.0 NaN \n", + "... ... ... ... ... \n", + "1314 12.0 5.0 21.0 0.00 \n", + "1315 14.0 5.0 20.0 0.00 \n", + "1316 12.0 4.0 17.0 0.00 \n", + "1317 13.0 4.0 20.0 0.00 \n", + "1318 12.0 4.0 20.0 0.00 \n", + "\n", + " Events null \n", + "0 Rain , Thunderstorm False \n", + "1 False \n", + "2 False \n", + "3 False \n", + "4 True \n", + "... ... ... \n", + "1314 False \n", + "1315 False \n", + "1316 False \n", + "1317 False \n", + "1318 False \n", + "\n", + "[1319 rows x 22 columns]" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin2" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHPrecipitationSumInchesEventsnull
42013-12-2558504144.040.036.086.071.056.030.4130.3330.2710.010.07.010.02.016.0NaNTrue
62013-12-2760534541.039.037.083.065.047.030.4630.3930.3410.09.07.07.01.011.0NaNTrue
72013-12-2862514043.039.033.092.064.036.030.3330.1730.0410.010.07.010.02.014.0NaNTrue
422014-02-0176665562.059.041.081.071.060.029.9129.8129.7510.010.09.014.06.026.0NaNRainTrue
512014-02-1060483549.036.030.082.074.066.030.2330.1530.0210.08.04.015.09.023.0NaNRainTrue
662014-02-2571625265.060.047.093.085.077.030.0630.0129.9510.04.01.012.05.020.0NaNRainTrue
952014-03-2666605455.047.030.078.057.036.030.2030.0829.9510.010.06.022.010.033.0NaNRainTrue
1022014-04-0282767069.067.063.097.078.058.029.9029.8029.6910.09.04.016.09.030.0NaNRainTrue
1032014-04-0382777169.067.066.090.074.058.029.8129.7429.6610.08.05.014.07.025.0NaNTrue
1042014-04-0474645469.035.028.093.058.022.030.1430.0329.8210.010.05.017.08.028.0NaNRainTrue
\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", + "66 2014-02-25 71 62 52 65.0 60.0 \n", + "95 2014-03-26 66 60 54 55.0 47.0 \n", + "102 2014-04-02 82 76 70 69.0 67.0 \n", + "103 2014-04-03 82 77 71 69.0 67.0 \n", + "104 2014-04-04 74 64 54 69.0 35.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", + "66 47.0 93.0 85.0 \n", + "95 30.0 78.0 57.0 \n", + "102 63.0 97.0 78.0 \n", + "103 66.0 90.0 74.0 \n", + "104 28.0 93.0 58.0 \n", + "\n", + " HumidityLowPercent SeaLevelPressureHighInches \\\n", + "4 56.0 30.41 \n", + "6 47.0 30.46 \n", + "7 36.0 30.33 \n", + "42 60.0 29.91 \n", + "51 66.0 30.23 \n", + "66 77.0 30.06 \n", + "95 36.0 30.20 \n", + "102 58.0 29.90 \n", + "103 58.0 29.81 \n", + "104 22.0 30.14 \n", + "\n", + " SeaLevelPressureAvgInches SeaLevelPressureLowInches \\\n", + "4 30.33 30.27 \n", + "6 30.39 30.34 \n", + "7 30.17 30.04 \n", + "42 29.81 29.75 \n", + "51 30.15 30.02 \n", + "66 30.01 29.95 \n", + "95 30.08 29.95 \n", + "102 29.80 29.69 \n", + "103 29.74 29.66 \n", + "104 30.03 29.82 \n", + "\n", + " VisibilityHighMiles VisibilityAvgMiles VisibilityLowMiles WindHighMPH \\\n", + "4 10.0 10.0 7.0 10.0 \n", + "6 10.0 9.0 7.0 7.0 \n", + "7 10.0 10.0 7.0 10.0 \n", + "42 10.0 10.0 9.0 14.0 \n", + "51 10.0 8.0 4.0 15.0 \n", + "66 10.0 4.0 1.0 12.0 \n", + "95 10.0 10.0 6.0 22.0 \n", + "102 10.0 9.0 4.0 16.0 \n", + "103 10.0 8.0 5.0 14.0 \n", + "104 10.0 10.0 5.0 17.0 \n", + "\n", + " WindAvgMPH WindGustMPH PrecipitationSumInches Events null \n", + "4 2.0 16.0 NaN True \n", + "6 1.0 11.0 NaN True \n", + "7 2.0 14.0 NaN True \n", + "42 6.0 26.0 NaN Rain True \n", + "51 9.0 23.0 NaN Rain True \n", + "66 5.0 20.0 NaN Rain True \n", + "95 10.0 33.0 NaN Rain True \n", + "102 9.0 30.0 NaN Rain True \n", + "103 7.0 25.0 NaN True \n", + "104 8.0 28.0 NaN Rain True " + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_values=austin2[austin2[\"null\"]==True]\n", + "missing_values.head()" ] }, { @@ -225,37 +2355,567 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 55, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "558 NaN\n", + "611 0.00\n", + "48 0.00\n", + "499 0.00\n", + "1204 0.00\n", + "488 0.00\n", + "299 0.00\n", + "1175 NaN\n", + "179 0.02\n", + "233 0.05\n", + "501 0.01\n", + "478 0.09\n", + "84 0.07\n", + "1179 0.00\n", + "133 0.00\n", + "1097 0.00\n", + "66 NaN\n", + "303 0.00\n", + "21 0.00\n", + "Name: PrecipitationSumInches, dtype: float64" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#### Next, count the number of rows of `austin` and `missing_values`." + "austin2.PrecipitationSumInches.sample(19)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 57, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('float64')" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "austin2.PrecipitationSumInches.dtype" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "136" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(missing_values)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "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", + "null 0\n", + "dtype: int64\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/cz/35gfl8ts1n39c5cfv2rn7pxw0000gn/T/ipykernel_7963/3363150009.py:5: 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_filter.interpolate(method='linear', axis=0)\n" + ] + } + ], + "source": [ + "# Eliminar filas con demasiados valores faltantes\n", + "umbral = 0.5 * len(austin2.columns)\n", + "austin_filter = austin2.dropna(thresh=umbral)\n", + "\n", + "\n", + "austin_interpolated = austin_filter.interpolate(method='linear', axis=0)\n", + "\n", + "\n", + "print(austin_interpolated.isnull().sum())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Calculate the ratio of missing rows to total rows" + "#### Next, count the number of rows of `austin` and `missing_values`." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHPrecipitationSumInchesEvents
42013-12-255850414440.03686715630.4130.3330.271010710216T
62013-12-276053454139.03783654730.4630.3930.3410977111T
72013-12-286251404339.03392643630.3330.1730.041010710214T
422014-02-017666556259.04181716029.9129.8129.751010914626TRain
512014-02-106048354936.03082746630.2330.1530.02108415923TRain
..................................................................
12692017-06-129485757268.06287623629.9629.8929.811010215722TRain
12882017-07-019889797672.06685623830.1330.0229.92109615724T
13042017-07-179888777571.06688633829.9429.929.8410101016323TRain , Thunderstorm
13082017-07-2110491777468.06185562730.0129.9529.8610101014524T
13132017-07-2610391787570.06191582530.1330.0329.9310101015627T
\n", + "

136 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Date TempHighF TempAvgF TempLowF DewPointHighF DewPointAvgF \\\n", + "4 2013-12-25 58 50 41 44 40.0 \n", + "6 2013-12-27 60 53 45 41 39.0 \n", + "7 2013-12-28 62 51 40 43 39.0 \n", + "42 2014-02-01 76 66 55 62 59.0 \n", + "51 2014-02-10 60 48 35 49 36.0 \n", + "... ... ... ... ... ... ... \n", + "1269 2017-06-12 94 85 75 72 68.0 \n", + "1288 2017-07-01 98 89 79 76 72.0 \n", + "1304 2017-07-17 98 88 77 75 71.0 \n", + "1308 2017-07-21 104 91 77 74 68.0 \n", + "1313 2017-07-26 103 91 78 75 70.0 \n", + "\n", + " DewPointLowF HumidityHighPercent HumidityAvgPercent HumidityLowPercent \\\n", + "4 36 86 71 56 \n", + "6 37 83 65 47 \n", + "7 33 92 64 36 \n", + "42 41 81 71 60 \n", + "51 30 82 74 66 \n", + "... ... ... ... ... \n", + "1269 62 87 62 36 \n", + "1288 66 85 62 38 \n", + "1304 66 88 63 38 \n", + "1308 61 85 56 27 \n", + "1313 61 91 58 25 \n", + "\n", + " SeaLevelPressureHighInches SeaLevelPressureAvgInches \\\n", + "4 30.41 30.33 \n", + "6 30.46 30.39 \n", + "7 30.33 30.17 \n", + "42 29.91 29.81 \n", + "51 30.23 30.15 \n", + "... ... ... \n", + "1269 29.96 29.89 \n", + "1288 30.13 30.02 \n", + "1304 29.94 29.9 \n", + "1308 30.01 29.95 \n", + "1313 30.13 30.03 \n", + "\n", + " SeaLevelPressureLowInches VisibilityHighMiles VisibilityAvgMiles \\\n", + "4 30.27 10 10 \n", + "6 30.34 10 9 \n", + "7 30.04 10 10 \n", + "42 29.75 10 10 \n", + "51 30.02 10 8 \n", + "... ... ... ... \n", + "1269 29.81 10 10 \n", + "1288 29.92 10 9 \n", + "1304 29.84 10 10 \n", + "1308 29.86 10 10 \n", + "1313 29.93 10 10 \n", + "\n", + " VisibilityLowMiles WindHighMPH WindAvgMPH WindGustMPH \\\n", + "4 7 10 2 16 \n", + "6 7 7 1 11 \n", + "7 7 10 2 14 \n", + "42 9 14 6 26 \n", + "51 4 15 9 23 \n", + "... ... ... ... ... \n", + "1269 2 15 7 22 \n", + "1288 6 15 7 24 \n", + "1304 10 16 3 23 \n", + "1308 10 14 5 24 \n", + "1313 10 15 6 27 \n", + "\n", + " PrecipitationSumInches Events \n", + "4 T \n", + "6 T \n", + "7 T \n", + "42 T Rain \n", + "51 T Rain \n", + "... ... ... \n", + "1269 T Rain \n", + "1288 T \n", + "1304 T Rain , Thunderstorm \n", + "1308 T \n", + "1313 T \n", + "\n", + "[136 rows x 21 columns]" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "# Your code here\n", + "num_rows_austin = len(austin2)\n", + "\n", + "missing_values = austin[austin2.isnull().any(axis=1)] \n", + "missing_values" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -267,11 +2927,67 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "136" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "num_rows_missing_values = len(missing_values)\n", + "num_rows_missing_values" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Calculate the ratio of missing rows to total rows" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.10310841546626232" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "total_rows = len(austin2)\n", + "\n", + "missing_rows = austin2.isnull().any(axis=1).sum()\n", + "\n", + "missing_ratio = missing_rows / total_rows\n", + "missing_ratio" + ] + }, + { + "cell_type": "code", + "execution_count": 70, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "# Your code here\n", + "missing_values.columns=missing_values.columns.str.lower().str.replace(\" \",\"_\")\n" ] }, { @@ -283,11 +2999,150 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, + "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", + "null 0\n", + "dtype: int64" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "missing_per_column = austin2.isna().sum()\n", + "missing_per_column\n" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "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", + "null 0.000000\n", + "dtype: float64" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_percentage = missing_per_column / len(austin2) * 100\n", + "missing_percentage" + ] + }, + { + "cell_type": "code", + "execution_count": 94, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "columns_to_remove = missing_percentage[missing_percentage > 10].index\n", + "austin_cleaned = austin2.drop(columns=columns_to_remove)" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/cz/35gfl8ts1n39c5cfv2rn7pxw0000gn/T/ipykernel_7963/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", + "null 0\n", + "dtype: int64" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin_interpolated = austin_cleaned.interpolate(method=\"linear\", axis=0)\n", + "austin_interpolated.isnull().sum()" ] }, { @@ -309,16 +3164,65 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 98, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "124" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here \n", - "\n", - "\n", - "# Print `austin` to confirm the column is indeed removed\n", - "\n", - "austin" + "missing_precipitation = austin2[\"PrecipitationSumInches\"].isna().sum()\n", + "missing_precipitation" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1319" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "total_rows = len(austin2)\n", + "total_rows" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.09401061410159212" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_ratio = missing_precipitation / total_rows\n", + "missing_ratio" ] }, { @@ -336,13 +3240,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 104, "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', 'null'],\n", + " dtype='object')" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here\n" + "# Your code here \n", + "austin2.drop(\"PrecipitationSumInches\", axis=1, inplace=True)\n", + "\n", + "\n", + "# Print `austin` to confirm the column is indeed removed\n", + "\n", + "austin2.columns" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -352,11 +3287,62 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 106, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/cz/35gfl8ts1n39c5cfv2rn7pxw0000gn/T/ipykernel_7963/2920630384.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_fixed = austin2.interpolate(inplace=False)\n" + ] + } + ], "source": [ - "# Your code here\n" + "austin_fixed = austin2.interpolate(inplace=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "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", + "Events 0\n", + "null 0\n", + "dtype: int64" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "austin_fixed.isnull().sum()" ] }, { @@ -377,11 +3363,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 110, "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": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here:\n" + "# Your code here:\n", + "event_counts = austin2[\"Events\"].value_counts()\n", + "event_counts\n" ] }, { @@ -395,11 +3404,56 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 112, "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": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your answer:\n" + "# Your answer:\n", + "event_counts_per_day = austin2[\"Events\"].apply(lambda x: len(x.split(',')))\n", + "event_counts_per_day" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3" + ] + }, + "execution_count": 114, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "max_events_in_one_day = event_counts_per_day.max()\n", + "max_events_in_one_day" ] }, { @@ -415,18 +3469,263 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 116, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHEventsnullSnowFogRainThunderstorm
02013-12-2174604567.049.043.093.075.057.029.8629.6829.5910.07.02.020.04.031.0Rain , ThunderstormFalse0011
12013-12-2256483943.036.028.093.068.043.030.4130.1329.8710.010.05.016.06.025.0False0000
22013-12-2358453231.027.023.076.052.027.030.5630.4930.4110.010.010.08.03.012.0False0000
32013-12-2461463136.028.021.089.056.022.030.5630.4530.3010.010.07.012.04.020.0False0000
42013-12-2558504144.040.036.086.071.056.030.4130.3330.2710.010.07.010.02.016.0True0000
\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 null Snow Fog Rain Thunderstorm \n", + "0 Rain , Thunderstorm False 0 0 1 1 \n", + "1 False 0 0 0 0 \n", + "2 False 0 0 0 0 \n", + "3 False 0 0 0 0 \n", + "4 True 0 0 0 0 " + ] + }, + "execution_count": 116, + "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()" ] }, { @@ -446,11 +3745,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 118, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "# Your code here\n", + "austin_fixed.drop(columns=[\"Events\"], inplace=True)" ] }, { @@ -462,11 +3762,568 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 120, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHnullSnowFogRainThunderstorm
073522374604567.049.043.093.075.057.029.8629.6829.5910.07.02.020.04.031.0False0011
173522456483943.036.028.093.068.043.030.4130.1329.8710.010.05.016.06.025.0False0000
273522558453231.027.023.076.052.027.030.5630.4930.4110.010.010.08.03.012.0False0000
373522661463136.028.021.089.056.022.030.5630.4530.3010.010.07.012.04.020.0False0000
473522758504144.040.036.086.071.056.030.4130.3330.2710.010.07.010.02.016.0True0000
\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", + " 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 null Snow Fog \\\n", + "0 2.0 20.0 4.0 31.0 False 0 0 \n", + "1 5.0 16.0 6.0 25.0 False 0 0 \n", + "2 10.0 8.0 3.0 12.0 False 0 0 \n", + "3 7.0 12.0 4.0 20.0 False 0 0 \n", + "4 7.0 10.0 2.0 16.0 True 0 0 \n", + "\n", + " Rain Thunderstorm \n", + "0 1 1 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 " + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Your code here\n", + "\n", + "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()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "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": 122, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y = austin_fixed[\"TempAvgF\"]\n", + "y.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHnullSnowFogRainThunderstorm
0735223744567.049.043.093.075.057.029.8629.6829.5910.07.02.020.04.031.0False0011
1735224563943.036.028.093.068.043.030.4130.1329.8710.010.05.016.06.025.0False0000
2735225583231.027.023.076.052.027.030.5630.4930.4110.010.010.08.03.012.0False0000
3735226613136.028.021.089.056.022.030.5630.4530.3010.010.07.012.04.020.0False0000
4735227584144.040.036.086.071.056.030.4130.3330.2710.010.07.010.02.016.0True0000
\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 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 null Snow Fog \\\n", + "0 2.0 20.0 4.0 31.0 False 0 0 \n", + "1 5.0 16.0 6.0 25.0 False 0 0 \n", + "2 10.0 8.0 3.0 12.0 False 0 0 \n", + "3 7.0 12.0 4.0 20.0 False 0 0 \n", + "4 7.0 10.0 2.0 16.0 True 0 0 \n", + "\n", + " Rain Thunderstorm \n", + "0 1 1 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 " + ] + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X = austin_fixed.drop(columns=[\"TempAvgF\"])\n", + "X.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 126, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((923, 23), (396, 23))" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X_train.shape, X_test.shape\n" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((923,), (396,))" + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "y_train.shape, y_test.shape" ] }, { @@ -478,11 +4335,367 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 133, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "event_list = [\"Snow\", \"Fog\", \"Rain\", \"Thunderstorm\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "metadata": {}, + "outputs": [], + "source": [ + "for event in event_list:\n", + " austin_fixed[event] = austin_fixed[event].astype(int) " + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RainSnowFogThunderstorm
01001
10000
20000
30000
40000
\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": 137, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin_fixed[[\"Rain\", \"Snow\", \"Fog\", \"Thunderstorm\"]].head()" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "metadata": {}, + "outputs": [], + "source": [ + "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)" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHnullSnowFogRainThunderstorm
073522374604567.049.043.093.075.057.029.8629.6829.5910.07.02.020.04.031.0False0011
173522456483943.036.028.093.068.043.030.4130.1329.8710.010.05.016.06.025.0False0000
273522558453231.027.023.076.052.027.030.5630.4930.4110.010.010.08.03.012.0False0000
373522661463136.028.021.089.056.022.030.5630.4530.3010.010.07.012.04.020.0False0000
473522758504144.040.036.086.071.056.030.4130.3330.2710.010.07.010.02.016.0True0000
\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", + " 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 null Snow Fog \\\n", + "0 2.0 20.0 4.0 31.0 False 0 0 \n", + "1 5.0 16.0 6.0 25.0 False 0 0 \n", + "2 10.0 8.0 3.0 12.0 False 0 0 \n", + "3 7.0 12.0 4.0 20.0 False 0 0 \n", + "4 7.0 10.0 2.0 16.0 True 0 0 \n", + "\n", + " Rain Thunderstorm \n", + "0 1 1 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 " + ] + }, + "execution_count": 141, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "austin_fixed.drop(columns=[\"Events\"], inplace=True)\n", + "austin_fixed.head()" ] }, { @@ -500,11 +4713,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 145, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "austin_fixed[\"Date\"] = pd.to_datetime(austin_fixed[\"Date\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 147, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "austin_fixed[\"Date\"] = austin_fixed[\"Date\"].apply(lambda x: x.toordinal())" ] }, { @@ -516,9 +4739,245 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 149, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateTempHighFTempAvgFTempLowFDewPointHighFDewPointAvgFDewPointLowFHumidityHighPercentHumidityAvgPercentHumidityLowPercentSeaLevelPressureHighInchesSeaLevelPressureAvgInchesSeaLevelPressureLowInchesVisibilityHighMilesVisibilityAvgMilesVisibilityLowMilesWindHighMPHWindAvgMPHWindGustMPHnullSnowFogRainThunderstorm
071916374604567.049.043.093.075.057.029.8629.6829.5910.07.02.020.04.031.0False0011
171916356483943.036.028.093.068.043.030.4130.1329.8710.010.05.016.06.025.0False0000
271916358453231.027.023.076.052.027.030.5630.4930.4110.010.010.08.03.012.0False0000
371916361463136.028.021.089.056.022.030.5630.4530.3010.010.07.012.04.020.0False0000
471916358504144.040.036.086.071.056.030.4130.3330.2710.010.07.010.02.016.0True0000
\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", + " 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 null Snow Fog \\\n", + "0 2.0 20.0 4.0 31.0 False 0 0 \n", + "1 5.0 16.0 6.0 25.0 False 0 0 \n", + "2 10.0 8.0 3.0 12.0 False 0 0 \n", + "3 7.0 12.0 4.0 20.0 False 0 0 \n", + "4 7.0 10.0 2.0 16.0 True 0 0 \n", + "\n", + " Rain Thunderstorm \n", + "0 1 1 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 " + ] + }, + "execution_count": 149, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "austin_fixed.head(5)" ] @@ -577,66 +5036,96 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 151, "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\"]" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 154, "metadata": {}, + "outputs": [], "source": [ - "In the next cell, import `train_test_split` from `sklearn.model_selection`" + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 156, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(923, 21)" + ] + }, + "execution_count": 156, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#Your code here:\n" + "X_train.shape\n" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 158, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(396, 21)" + ] + }, + "execution_count": 158, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "Now that we have split the data to predictor and response variables and imported the `train_test_split()` function, split `X` and `y` into `X_train`, `X_test`, `y_train`, and `y_test`. 80% of the data should be in the training set and 20% in the test set. `train_test_split()` reference can be accessed [here](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html).\n", - "\n", - "\n", - "Enter your code in the cell below:" + "X_test.shape" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 160, "metadata": {}, "outputs": [], "source": [ - "#Your code here:\n" + "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Congratulations! Now you have finished the preparation of the dataset!" + "Now that we have split the data to predictor and response variables and imported the `train_test_split()` function, split `X` and `y` into `X_train`, `X_test`, `y_train`, and `y_test`. 80% of the data should be in the training set and 20% in the test set. `train_test_split()` reference can be accessed [here](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html).\n", + "\n", + "\n", + "Enter your code in the cell below:" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 162, "metadata": {}, + "outputs": [], "source": [ - "# Bonus Challenge 1\n", - "\n", - "#### While the above is the common practice to prepare most datasets, when it comes to time series data, we sometimes do not want to randomly select rows from our dataset.\n", - "\n", - "This is because many time series algorithms rely on observations having equal time distances between them. In such cases, we typically select the majority of rows as the test data and the last few rows as the training data. We don't use `train_test_split()` to select the train/test data because it returns random selections.\n", - "\n", - "In the following cell, compute the number of rows that account for 80% of our data and round it to the next integer. Assign this number to `ts_rows`." + "#Your code here:\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)" ] }, { @@ -644,15 +5133,42 @@ "execution_count": null, "metadata": {}, "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, "source": [ - "# Your code here:\n" + "#### Congratulations! Now you have finished the preparation of the dataset!" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 7, "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'num_corr' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[7], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m mask \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mzeros_like(num_corr)\n\u001b[1;32m 2\u001b[0m mask[np\u001b[38;5;241m.\u001b[39mtriu_indices_from(mask)] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m \u001b[38;5;66;03m# optional, to hide repeat half of the matrix\u001b[39;00m\n\u001b[1;32m 4\u001b[0m f, ax \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39msubplots(figsize\u001b[38;5;241m=\u001b[39m(\u001b[38;5;241m25\u001b[39m, \u001b[38;5;241m15\u001b[39m))\n", + "\u001b[0;31mNameError\u001b[0m: name 'num_corr' is not defined" + ] + } + ], "source": [ - "Assign the first `ts_rows` rows of `X` to `X_ts_train` and the remaining rows to `X_ts_test`." + "mask = np.zeros_like(num_corr)\n", + "mask[np.triu_indices_from(mask)] = True # optional, to hide repeat half of the matrix\n", + "\n", + "f, ax = plt.subplots(figsize=(25, 15))\n", + "sns.set(font_scale=1.5) # increase font size\n", + "\n", + "ax = sns.heatmap(num_corr, mask=mask, annot=True, annot_kws={\"size\": 12}, linewidths=.5, cmap=\"coolwarm\", fmt=\".2f\", ax=ax) # round to 2 decimal places\n", + "ax.set_title(\"Dealing with Multicollinearity\", fontsize=20) # add title\n", + "plt.show()" ] }, { @@ -660,30 +5176,26 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [ - "# Your code here:\n" - ] + "source": [] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": {}, - "source": [ - "Assign the first `ts_rows` rows of `y` to `y_ts_train` and the remaining rows to `y_ts_test`." - ] + "outputs": [], + "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], - "source": [ - "# Your code here:\n" - ] + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -697,9 +5209,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 }