"
+ ],
+ "text/plain": [
+ " count mean std min 25% 50% 75% max\n",
+ "distance 388.0 19.652835 22.667837 1.3 11.80 14.6 19.0 216.1\n",
+ "consume 388.0 4.912371 1.033172 3.3 4.30 4.7 5.3 12.2\n",
+ "speed 388.0 41.927835 13.598524 14.0 32.75 40.5 50.0 90.0\n",
+ "temp_inside 376.0 21.929521 1.010455 19.0 21.50 22.0 22.5 25.5\n",
+ "temp_outside 388.0 11.358247 6.991542 -5.0 7.00 10.0 16.0 31.0\n",
+ "AC 388.0 0.077320 0.267443 0.0 0.00 0.0 0.0 1.0\n",
+ "rain 388.0 0.123711 0.329677 0.0 0.00 0.0 0.0 1.0\n",
+ "sun 388.0 0.082474 0.275441 0.0 0.00 0.0 0.0 1.0\n",
+ "refill liters 13.0 37.115385 8.587282 10.0 37.60 38.0 39.0 45.0"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data2.describe().T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Having done all that cleaning, I can confirm that the two datasets are exactly the same. Meaning that I can just stick with one. I'll stick with the one that I've cleaned, data1. \n",
+ "\n",
+ "Next, I need to do some more cleaning, handling missings and duplicates. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "distance 0\n",
+ "consume 0\n",
+ "speed 0\n",
+ "temp_inside 12\n",
+ "temp_outside 0\n",
+ "specials 295\n",
+ "gas_type 0\n",
+ "AC 0\n",
+ "rain 0\n",
+ "sun 0\n",
+ "refill liters 375\n",
+ "refill gas 375\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Check how many nulls there are in each column\n",
+ "data1.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "388"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "len(data1)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "So out of 388 total rows, temp_inside is missing data in 12 rows, specials is missing data in 295, and both refill gas and refill liters are missing data in 375 rows. That's a lot of missings for the former 3 columns. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "specials\n",
+ "rain 32\n",
+ "sun 27\n",
+ "AC rain 9\n",
+ "ac 8\n",
+ "AC 6\n",
+ "snow 3\n",
+ "sun ac 3\n",
+ "AC snow 1\n",
+ "half rain half sun 1\n",
+ "AC sun 1\n",
+ "AC Sun 1\n",
+ "ac rain 1\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Find out what 'special' information is in the specials column. \n",
+ "data1['specials'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "As per the authors notes on Kaggle, the specials column just contains information about road/weather conditions when it was noteworthy, according to the author. Obviously those days are going to have an impact on the kilometers per gallon and speed and such. I'll check for outliers later, and if the rows that are marked with inclement weather (rain or snow) aren't outliers, then I'll probably just delete the column. \n",
+ "\n",
+ "It seems that there are so many missings in the data because author of the data was not refilling his gas tank every day, but rather was only refilling as needed. But, since the author already included a column with information about what type of gas was in the tank each time he logged activity, this column can be deleted. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Starting with deleting 'refill gas'. \n",
+ "data1.drop(columns='refill gas', inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "After careful consideration, I think it will be best to also delete the refill liters column, since it doesn't really give us any important information to work with. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# delete the 'refill liters' column\n",
+ "data1.drop(columns='refill liters', inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Looking at the data, it looks like the author already one-hot encoded AC, rain, and sun from the 'specials' column. So if I just create another column, 'snow', that one-hot encodes instances where there was snow on the road (few though they were), I can delete the 'specials' column. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Create column 'snow' that checks for the presence of the word 'snow'\n",
+ "data1['snow'] = data1['specials'].str.contains('snow', case=False, na=False).astype(int)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Delete specials column\n",
+ "data1.drop(columns='specials', inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Finally, since the range of temperatures is only about 6 degrees Celsius, and since the mean and median values of that column are basically the same, and since there are only 12 missings in the column, I don't think it would be a problem at all to fill those null values with the mean of the column."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# fill missings in temp_inside column with average of that column\n",
+ "data1['temp_inside'].fillna(data1['temp_inside'].mean(),inplace=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "distance 0\n",
+ "consume 0\n",
+ "speed 0\n",
+ "temp_inside 0\n",
+ "temp_outside 0\n",
+ "gas_type 0\n",
+ "AC 0\n",
+ "rain 0\n",
+ "sun 0\n",
+ "snow 0\n",
+ "dtype: int64"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data1.isnull().sum()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Having handled the null values, now I can check for duplicates. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Check for duplicates\n",
+ "data1.duplicated().sum()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "There are no duplicated rows, so the data is cleaned and ready to use!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The purpose of this project is to determine which type of gas (Super Plus 98 or Super Plus 95 E10) gets better gas mileage. \n",
+ "\n",
+ "I hypothesize that the Super Plus 98 will get better mileage since, though it is more expensive, it's not being diluted with Ethanol, which is cheaper and more environment friendly. \n",
+ "\n",
+ "H0: There is no difference in the gas consumption rate when using either type of gas.\n",
+ "\n",
+ "HA: There is a difference in the amount of gas consumed when using one type of gas or the other. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The first thing I need to do is subset the two datasets by which type of gas they used, then get the descriptive statistics for each to determine: 1) whether or not the average consumption even appears to be similar between the two, and 2) whether the other variables seem to have similar averages. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "gas_type\n",
+ "SP98 228\n",
+ "E10 160\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Get the names of the two specific gas types\n",
+ "data1['gas_type'].value_counts()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Create subsets\n",
+ "sp98 = data1[data1['gas_type']=='SP98']\n",
+ "e10 = data1[data1['gas_type']=='E10']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ],
+ "text/plain": [
+ " count mean std min 25% 50% 75% max\n",
+ "distance 160.0 21.096250 20.307234 1.7 12.075 15.4 21.20 130.3\n",
+ "consume 160.0 4.931250 0.900956 3.7 4.400 4.8 5.30 10.8\n",
+ "speed 160.0 43.506250 14.077949 14.0 35.000 42.0 51.00 88.0\n",
+ "temp_inside 160.0 21.917429 0.653602 21.0 21.500 21.5 22.50 25.0\n",
+ "temp_outside 160.0 10.118750 6.392185 -5.0 6.000 9.0 14.25 27.0\n",
+ "AC 160.0 0.043750 0.205181 0.0 0.000 0.0 0.00 1.0\n",
+ "rain 160.0 0.100000 0.300942 0.0 0.000 0.0 0.00 1.0\n",
+ "sun 160.0 0.075000 0.264218 0.0 0.000 0.0 0.00 1.0\n",
+ "snow 160.0 0.006250 0.079057 0.0 0.000 0.0 0.00 1.0"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "e10.describe().T"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Right off the bat, it looks like the consumption rate in all three datasets (the original, the SP98 subset, and the E10 subset) are all fairly close to eachother. In the original dataset, which contains general information about gas consumption (in liters/100km) regardless of the type of gas, consumption is 4.91 liters of gas for every 100km. In the SP98 subset, consumption is 4.89 liters for every 100km, and in the E10 subset gas consumption is 4.93 liters per 100km. This suggests that, on average, a whopping 0.04 extra liters of E10 gas are consumed every 100km over the SP98. Meaning that, based on initial observations, SP98 is only slightly more fuel efficient. \n",
+ "\n",
+ "Having a smaller standard deviation, though, the consumption rate in the E10 subset was *more consistent*, suggesting that hot or cold, rain or shine, fast or slow, the E10 was used more consistently. This would contribute to more consistent fill-up rates, and therefore more consistent gasoline costs. \n",
+ "\n",
+ "There are other differences to consider between the datasets, though. \n",
+ "\n",
+ "First off, based on averages, it seems like the E10 gas was used to drive consistently farther distances, with the average and third quartile distances in the E10 subset being about 2.5km and 3km higher, respectively. That's only about a 1.5- to 2-mile difference, but it's a difference. \n",
+ "\n",
+ "Secondly, the average outside temperature is just a little bit lower in the E10 dataset, as reflected by both the mean, min, median, and max outside temperatures in both datasets as well as the lower rate of AC usage. This means that despite the engine doing less cooling (and therefore less work) while using the E10 gas, the engine still consumed slightly more of it. This is just another indication that the SP98 gas is better for the engine. \n",
+ "\n",
+ "Before we can commit to these conclusions, though, we need to test whether or not there's actually any statistically significant difference in the gas consumption rate between the two gas type subsets."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n",
+ "No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n",
+ "No artists with labels found to put in legend. Note that artists whose label start with an underscore are ignored when legend() is called with no argument.\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABM0AAAHUCAYAAAApy98MAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABmL0lEQVR4nO3df1iUdb7/8deEMoIhpgYDiYiFmaLlRscflaClRa6ZtmZpqbXbZauVZK0ddVunXQW1I1mxUXZcxdOabVt2Omua7Cq4m6vhD9Yf6xoVGiUTZQr+hJTP9w+/3usMgyDOMAjPx3Xd19X9uT9zz3sm7dW85zP3bTPGGAEAAAAAAACwXBboAgAAAAAAAIDGhqYZAAAAAAAA4IGmGQAAAAAAAOCBphkAAAAAAADggaYZAAAAAAAA4IGmGQAAAAAAAOCBphkAAAAAAADggaYZAAAAAAAA4IGmGQAAAAAAAOCBphlwkTZv3qwRI0aoU6dOstvtioyMVL9+/fT0009bc5KTk2Wz2awtJCRE119/vRYuXKiqqiq38/3+979X79691apVK3Xo0EFjxoxRcXFxtectLy/XzJkz1bVrV4WGhuqqq67SqFGjtHv3br+/ZgBA/bz88suy2WxKSEiocY7NZpPT6bT2c3NzZbPZlJubW+NjOnfu7JYzNW1Lly713YsBADRZS5cuPW+enM2kP/3pTxo3bpx69uypli1bymaz1XjOH374Qc8//7w6d+4su92ubt266ZVXXmmgVwTUT4tAFwBcylatWqW7775bycnJmj9/vqKiolRSUqItW7ZoxYoVWrBggTW3S5cu+v3vfy9JKi0t1WuvvaannnpKJSUlmjdvniTplVde0ZNPPqmf/exnmjt3rr766is999xzuvXWW7V9+3ZdccUV1vmGDRumLVu2yOl0KjExUV999ZV+/etfq1+/ftq5c6diY2Mb9s0AANTqd7/7nSRp9+7d2rx5s/r06eOT865cuVIVFRXW/n//939r8eLFWrNmjcLDw63xq6++2ifPBwBoHpYsWaJu3bpVG+/evbukM/mzadMm9e7dW3a7XVu3bq3xXJMmTdL//M//6De/+Y1uuukmffTRR5oyZYqOHDmiGTNm+O01ABfFAKi3AQMGmKuvvtr88MMP1Y6dPn3a+uekpCTTo0cPt+OVlZWmS5cuJjQ01FRWVpqTJ0+a8PBwM2zYMLd5GzduNJLMjBkzrLHCwkIjyfzyl7/0OjcjI8MXLw8A4EP5+flGkhk6dKiRZB599FGv8ySZWbNmWfvr1683ksz69evr/FyzZs0yksy33357kVUDAJqjJUuWGEkmPz//vPPO/cwzefJkU1OLYdeuXcZms5m0tDS38UcffdSEhISYgwcPXnzRgB/w80zgIhw8eFAdOnRQixbVF21edtn5/3q1bNlSN954o44fP65vv/1Wu3btUllZme666y63ef369VO7du307rvvuj1WktvqAUlq27atJKlVq1b1eTkAAD9avHixJGnu3Lnq37+/VqxYoePHjzfIc//mN79RixYtvP7c/5FHHlH79u118uRJSWd+6vnjH/9YK1euVK9evdSqVSt16dJFL7/8crXHlpeX65lnnlFcXJyCg4N11VVXKTU1VceOHXOb984776hPnz4KDw9XaGiounTpokceecQ/LxYA0GBq+8xz1vvvvy9jjB5++GG38YcfflgnTpzQmjVr/FEecNFomgEXoV+/ftq8ebOefPJJbd68WT/88MMFPf7zzz9XixYtdMUVV6iyslKSZLfbq82z2+0qLCy0PtDExsZq+PDhevHFF7V+/XodPXpU//rXv/Tkk0+qU6dOuv/++y/+xQEAfObEiRN66623dNNNNykhIUGPPPKIjhw5onfeeadBnn/ixIlq0aKFXn/9dbfx77//XitWrNBPf/pTty9cCgoKlJqaqqeeekorV65U//79NWXKFP3Xf/2XNef48eNKSkpSdna2nnzySa1evVrPPvusli5dqrvvvlvGGEnS3//+d40ePVpdunTRihUrtGrVKv3qV7/SqVOnGuS1AwDq7/Tp0zp16pTbdvr06Qs+z65du3TllVfK4XC4jffq1cs6DjRGXNMMuAhz587Vv/71L73yyit65ZVX1LJlS910000aNmyYHn/8cV1++eVu889+QPj222/18ssva9u2bRo1apRCQkJ07bXX6rLLLtPHH3/s9g3M559/rpKSEknSoUOHFBUVJenMt/aTJ0/WoEGDrLm9evVSXl6e27XPAACB98c//lFlZWX66U9/KkkaPXq0UlNTtXjxYo0fP97vzx8REaH7779fb7zxhn71q18pODhY0plrn1VUVGjSpElu8w8cOKDt27fr+uuvlySlpKSotLRUv/nNbzRp0iSFhobq5Zdf1o4dO7R582YlJiZKkm677TZdddVV+slPfqI1a9YoJSVFGzdulDFGr732mtsK6QkTJvj9dQMALk7fvn2rjQUFBV3wFx8HDx5Uu3btqo23bt1awcHBOnjwYL1rBPyJlWbARWjfvr3++te/Kj8/X3PnztXw4cP16aefavr06erZs6e+++47a+7u3bvVsmVLtWzZUtHR0VqwYIHGjh2rN954Q5LUrl07jR07VsuWLdPrr7+u77//Xjt27NDYsWMVFBQkyX35889//nO9++67evHFF5WXl6e3335bwcHBGjRokPbv39+wbwQA4LwWL16skJAQayXw5ZdfrlGjRumvf/2rCgsLG6SGKVOmqLS01FrdVlVVpaysLA0dOlSdO3d2m9ujRw+rYXbWmDFjVF5erm3btkk6c8e0hIQE3XDDDW4rEO644w63O6vddNNNkqT77rtPf/jDH/T111/794UCAHxm2bJlys/Pd9s2b95cr3Od786a5zsGBBJNM8AHEhMT9eyzz+qdd97RgQMH9NRTT2nfvn2aP3++Nefqq69Wfn6+tmzZol27dunw4cN688033b51z8rK0ujRozVp0iS1b99evXv3Vrdu3TR06FDZ7Xa1b99ekrRmzRotXrxYr7/+ulJTUzVgwADdd999ysnJ0ffffy+n09nQbwEAoAafffaZNmzYoKFDh8oYo8OHD+vw4cP6yU9+Iunfd9T0t969e+vWW2/Vb3/7W0lnml779u3T448/Xm2u589nzh07uxrgm2++0Y4dO6wvhM5uYWFhMsZYXxwNGDBA77//vk6dOqVx48apY8eOSkhI0FtvveWvlwoA8JHrrrtOiYmJbtuNN954wedp376919Vkx44dU2VlpddVaEBjwM8zAR9r2bKlZs2apRdffNHtt/mtWrWyfr5Sk9atW+t//ud/9PLLL6u4uFjR0dHq0KGDunXrpv79+1s3HCgoKJD072/vz2rbtq2uueYargkAAI3I7373Oxlj9Mc//lF//OMfqx3Pzs7W7NmzrVXF/vTkk09q1KhR2rZtmzIzM9W1a1cNHjy42jyXy1Xj2NkvcDp06KCQkJAam34dOnSw/nn48OEaPny4KioqtGnTJqWnp2vMmDHq3Lmz+vXr54uXBgBoxHr27KkVK1bI5XK5fTGzc+dOSVJCQkKgSgPOi5VmwEU4e60xT3v27JEkRUdH1+u8V1xxhXr16qUOHTrogw8+0N69ezVlyhTr+Nnzbtq0ye1xBw8e1KeffqqOHTvW63kBAL51+vRpZWdn6+qrr9b69eurbU8//bRKSkq0evXqBqlnxIgR6tSpk55++mn9+c9/1qRJk7z+JGb37t36xz/+4Ta2fPlyhYWF6Uc/+pEk6cc//rE+//xztW/fvtoqhMTExGo/+ZTO3NgmKSlJ8+bNkyRt377d9y8SANDoDB8+XDabTdnZ2W7jS5cuVUhIiO68884AVQacHyvNgItwxx13qGPHjho2bJi6deumqqoqFRQUaMGCBbr88svdGl118e677+rAgQO67rrrdPLkSeXm5uqll17SY489puHDh1vzRo4cqV/96lf6+c9/rq+++ko/+tGPVFJSohdeeEHHjx+/4OcFAPjH6tWrdeDAAc2bN0/JycnVjickJCgzM1OLFy/Wj3/8Y7/XExQUpMmTJ+vZZ59V69ata7wYf3R0tO6++245nU5FRUXpzTffVE5OjubNm6fQ0FBJUmpqqt59910NGDBATz31lHr16qWqqip9+eWXWrt2rZ5++mn16dNHv/rVr/TVV1/ptttuU8eOHXX48GG99NJLatmypZKSkvz+mgEA9bdr1y6vF/2/+uqrdeWVV2r//v3Kz8+XdOYGZpKsVdWdO3e2fmnTo0cP/fSnP9WsWbMUFBSkm266SWvXrtWiRYs0e/Zsfp6JRoumGXARfvnLX+p///d/9eKLL6qkpEQVFRWKiorS7bffrunTp+u66667oPMFBQXpd7/7nQoLC1VVVaUePXro9ddfd7ubpnTmAtKbNm3SnDlz9Nprr+mrr75Su3bt1Lt3b2VlZXm9yw0AoOEtXrxYwcHB1f47flaHDh00YsQI/fGPf9Q333yjyMhIv9c0evRoPfvss3rooYfcrqt5rhtuuEEPP/ywZs2apcLCQkVHRysjI0NPPfWUNad169b661//qrlz52rRokUqKipSSEiIOnXqpNtvv91aadanTx9t2bJFzz77rL799lu1bdtWiYmJWrdunXr06OH31wsAqL+a8uuNN97Qz372M61fv77anFGjRkmSxo8fr6VLl1rjr776qq666iq98sorcrlc6ty5s1566SU98cQTfqsfuFg2Y4wJdBEAAABoGK+88oqefPJJ7dq1y2vTqnPnzkpISNCf/vSn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Awe0atUqHTt2TEOHDlVlZaXfn9sXwsPD/RJwdX3933//vTZu3Khhw4ZJkowxeuSRRzR69Giv88vLyzV48GBFR0crPz9fr7zyiv7rv/5LGRkZ1pyioiLddddduvXWW7V9+3bNmDFDTz75pN59992Lf2FAM0PO1IycqRtyBsD5kDM1I2fqhpyBzxk0GSkpKeaqq64yR48erXbs0KFD1j/v37/f3H333aZ169YmLCzMjBo1yrhcLuv4rFmzzPXXX2+WLVtmYmNjTZs2bczo0aNNeXm5Needd94xCQkJplWrVqZdu3bmtttus543KSnJTJkyxe35hw8fbsaPH2/tx8bGmt/85jfmoYceMq1btzadOnUy77//viktLbVqS0hIMPn5+dZjlixZYsLDw83KlStNfHy8sdvt5vbbbzdffvmldVyS27ZkyRJjjDGSzMqVK61z7dixwwwcONCq/9FHHzVHjhyxjo8fP94MHz7cvPDCC8bhcJh27dqZSZMmmcrKyhrf/7P1neuDDz4wksyOHTussQULFpiEhAQTGhpqOnbsaH7+859bz71+/fpqr2HWrFnGGGMqKirML37xCxMdHW1CQ0PNf/zHf5j169fXWI83Z89/7p+Hc5193Wf/2bOWoqIiY4wxu3fvNikpKaZ169YmIiLCPPjgg+bbb7+1zpOUlGQmT55snnrqKdO+fXszYMAAY8yZP1sxMTEmODjYREVFmSeeeMLt+ZctW2YSExOr1XX2z6SnV1991YSHh5uTJ09aY+np6SY6OtpUVVUZY4yZNm2a6datm9vjJk6caPr27ev1dRtjzJYtW8yVV15pZs+e7fb8ixcvNjExMaZ169bmscceM6dOnTLz5s0zkZGRbvOBpoqcIWdqQ86cQc4A9UPOkDO1IWfOIGcaDivNmojvv/9ea9as0eTJk9W6detqx892240xuueee/T9998rLy9POTk5+vzzz6t1vj///HO9//77+tOf/qQ//elPysvL09y5cyWdWRr8wAMP6JFHHtGePXuUm5urkSNHVltCWpsXX3xRN998s7Zv366hQ4fqoYce0rhx4/Tggw9q27ZtuuaaazRu3Di38x4/flxz5sxRdna2Pv74Y5WXl+v++++XJI0ePVpPP/20evTooZKSEpWUlHjt6B8/flx33nmnrrjiCuXn5+udd97Rn//8Zz3++ONu89avX6/PP/9c69evV3Z2tpYuXeq21Lc2hw8f1vLlyyVJLVu2tMYvu+wyvfzyy9q1a5eys7O1bt06TZs2TZLUv39/LVy40PqGp6SkRM8884wk6eGHH9bHH3+sFStWaMeOHRo1apTuvPNOFRYWWue22WwXVOP5vPTSS+rXr58effRRq5aYmBiVlJQoKSlJN9xwg7Zs2aI1a9bom2++0X333ef2+OzsbLVo0UIff/yxXn/9df3xj3/Uiy++qNdff12FhYV6//331bNnT7fHfPDBBxo+fHida/z73/+upKQkt2/d7rjjDh04cED79u2z5gwZMsTtcXfccYe2bNmiH374odo5c3Nzddttt+n555/XzJkzrfHPP/9cq1ev1po1a/TWW2/pd7/7nYYOHaqvvvpKeXl5mjdvnn75y19q06ZNda4fuJSQM+SMRM5I5AzgL+QMOSORMxI50+gErF0Hn9q8ebORZN57773zzlu7dq0JCgqyvs0w5kyXXZL55JNPjDFnutChoaFu38T84he/MH369DHGGLN161Yjyezbt8/rc9T1m5kHH3zQ2i8pKTGSzHPPPWeN/f3vfzeSTElJiTHm39+8bNq0yZqzZ88eI8ls3rzZqt1bB1/nfDOzaNEic8UVV7h9g7Vq1Spz2WWXWd9QjR8/3sTGxppTp05Zc0aNGmVGjx7t9TWfW1/r1q1NaGio9W3G3XffXeNjjDHmD3/4g2nfvr3beTy/4fnss8+MzWYzX3/9tdv4bbfdZqZPn27tX3vttef9M3Ah38wY4/3f5XPPPWeGDBniNlZcXGwkmb1791qPu+GGG9zmLFiwwHTt2rXGb7dOnjxpwsLC3L7FOqumf6+DBw82jz76qNvY119/bSSZjRs3GmOMiY+PN3PmzHGb8/HHHxtJ5sCBA26v+/333zdhYWFm+fLl1Z7f8+/EHXfcYTp37mxOnz5tjV177bUmPT3d6+sDLnXkDDljDDljDDkD+As5Q84YQ84YQ840Nqw0ayLM///2wmaznXfenj17FBMTo5iYGGuse/fuatu2rfbs2WONde7cWWFhYdZ+VFSUSktLJUnXX3+9brvtNvXs2VOjRo3SG2+8oUOHDl1wzb169bL+OTIyUpLcOvVnx84+ryS1aNFCiYmJ1n63bt2q1V6bPXv26Prrr3f7Buvmm29WVVWV9u7da4316NFDQUFB1v6570FNwsLCVFBQoK1bt+q1117T1VdfXe0ijevXr9fgwYN11VVXKSwsTOPGjdPBgwd17NixGs+7bds2GWPUtWtXXX755daWl5enzz//3Jr3r3/9SyNGjKjze1EfW7du1fr1693q6NatmyS51XLuvydJGjVqlE6cOKEuXbro0Ucf1cqVK3Xq1Cnr+Lp169S+fftq39bUxvPPvLe/C3WZs3nzZt17773Kzs7WAw88UO15PP9OREZGqnv37rrsssvcxmr7MwJcqsgZckYiZyRyBvAXcoackcgZiZxpbGiaNRHx8fGy2Wy1/sfWGOM1iDzHz11+K535y1hVVSVJCgoKUk5OjlavXq3u3bvrlVde0bXXXquioiJJZ5brGo+lzd6WjZ77HGef29vY2ef1HK9trCY1vQee5znfe1CTyy67TNdcc426deumiRMn6qGHHnJbUr1//37dddddSkhI0LvvvqutW7fqt7/9rSTv79FZVVVVCgoK0tatW1VQUGBte/bs0UsvvVTra/alqqoqDRs2zK2OgoICFRYWasCAAdY8z2X1MTEx2rt3r377298qJCREkyZN0oABA6zXfaFLmaUzF0R1uVxuY2f/I3/2f1JqmtOiRQu1b9/eGrv66qvVrVs3/e53v/N6oU9vfx7q82cEuFSRM+RMQyFnziBn0NyQM+RMQyFnziBn6oamWRPRrl073XHHHfrtb3/rtcN/9pa83bt315dffqni4mLr2D//+U+VlZXpuuuuq/Pz2Ww23XzzzXr++ee1fft2BQcHa+XKlZKkK6+8UiUlJdbc06dPa9euXfV8Ze5OnTqlLVu2WPt79+7V4cOHrW8GgoODdfr06fOeo3v37iooKHB7nz7++GNddtll6tq1q0/qPOupp57SP/7xD+u92bJli06dOqUFCxaob9++6tq1qw4cOOD2GG+voXfv3jp9+rRKS0t1zTXXuG0Oh8OnNddWy49+9CPt3r1bnTt3rlaLt+tPnCskJER33323Xn75ZeXm5urvf/+7du7cKWOM/u///k933333BdXXr18/bdiwwS0U1q5dq+joaHXu3Nmak5OT4/a4tWvXKjEx0S0kOnTooHXr1lnXxDhf6APNETlDzvgDOQPgLHKGnPEHcgYXi6ZZE/Lqq6/q9OnT+o//+A+9++67Kiws1J49e/Tyyy+rX79+kqTbb79dvXr10tixY7Vt2zZ98sknGjdunJKSkqotP63J5s2blZaWpi1btujLL7/Ue++9p2+//dYKqUGDBmnVqlVatWqV/vWvf2nSpElWyF2sli1b6oknntDmzZu1bds2Pfzww+rbt6/+4z/+Q9KZJadFRUUqKCjQd999p4qKimrnGDt2rFq1aqXx48dr165dWr9+vZ544gk99NBDVjffV9q0aaOf/exnmjVrlowxuvrqq3Xq1Cm98sor+uKLL/Q///M/1ZY7d+7cWUePHtVf/vIXfffddzp+/Li6du2qsWPHaty4cXrvvfdUVFSk/Px8zZs3Tx9++KH12G7dulmBdj47d+6s9s2KN507d9bmzZu1b98+fffdd6qqqtLkyZP1/fff64EHHtAnn3yiL774QmvXrtUjjzxy3oBfunSpFi9erF27dlmvPSQkRLGxsdq6dauOHTvm9s2OJH322WcqKCiQy+XSiRMnrFrPhsqYMWNkt9s1YcIE7dq1SytXrlRaWpqmTp1qfcv22GOPaf/+/Zo6dar27Nmj3/3ud1q8eLF1QdJzRUREaN26dfrXv/6lBx54wG25NQByRiJnyBlyBvAncoacIWfImUanIS6choZz4MABM3nyZBMbG2uCg4PNVVddZe6++263W/nW9RbN53rxxRdNbGysMcaYf/7zn+aOO+4wV155pbHb7aZr167mlVdeseZWVlaan//856Zdu3YmIiLCpKene71w5osvvuj2HPK4jXJRUZGRZLZv326M+fcFJd99913TpUsXExwcbAYNGuR2Ac+TJ0+ae++917Rt29Ynt2g+15QpU0xSUpLX9/3c+jzt37/ftGjRwrz99tvGGGMyMjJMVFSUCQkJMXfccYdZtmxZtYtZPvbYY6Z9+/Zut2iurKw0v/rVr0znzp1Ny5YtjcPhMCNGjHC70OS5r9kbb7eAPrt5e9179+41ffv2NSEhIW63aP7000/NiBEjTNu2bU1ISIjp1q2bSU1NtW6L7O2CmytXrjR9+vQxbdq0Ma1btzZ9+/Y1f/7zn40xxvzyl780Y8eOrVZvUlKS11rP1mHMmX+Xt956q7Hb7cbhcBin02nVcVZubq7p3bu3CQ4ONp07dzZZWVluxz1f94EDB0zXrl3NfffdZ06dOuX174S3PyPeXjfQ1JAz5Aw5Q84A/kTOkDPkDDnTmNiMucD76gIBsnTpUqWmpvrsWx40Hr169dIvf/nLard5BoCGRM40XeQMgMaAnGm6yJmmi59nAgioyspK3XvvvUpJSQl0KQCAJoicAQD4EznTtLUIdAEAmrfg4GDNmjUr0GUAAJoocgYA4E/kTNPGzzMBAAAAAAAAD/w8EwAAAAAAAPBA0wwAAAAAAADwQNMMAAAAAAAA8EDTDAAAAAAAAPBA0wwAAAAAAADwQNMMAAAAAAAA8EDTDAAAAAAAAPBA0wwAAAAAAADw8P8AxjCn1roZvW0AAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Create subplots for histograms\n",
+ "fig, axes = plt.subplots(1, 3, figsize=(15, 5)) # Adjust figsize as needed\n",
+ "\n",
+ "# Determine the range for the bins\n",
+ "bins = np.linspace(min(min(sp98['consume']), min(data1['consume']), min(e10['consume'])), \n",
+ " max(max(sp98['consume']), max(data1['consume']), max(e10['consume'])), 30)\n",
+ "\n",
+ "# Plot histograms\n",
+ "axes[0].hist(sp98['consume'], bins=bins, alpha=0.5, color='b')\n",
+ "axes[1].hist(data1['consume'], bins=bins, alpha=0.5, color='g')\n",
+ "axes[2].hist(e10['consume'], bins=bins, alpha=0.5, color='r')\n",
+ "\n",
+ "# Add titles and labels\n",
+ "axes[0].set_title('SP98')\n",
+ "axes[1].set_title('All Types')\n",
+ "axes[2].set_title('E10')\n",
+ "for ax in axes:\n",
+ " ax.set_xlabel('Consumption Rate: Liters/100km')\n",
+ " ax.set_ylabel('Frequency')\n",
+ " ax.legend()\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Looking at a histogram plot of the three datasets, it seems like the consumption rates are all somewhat normally distributed, so that's good. This also just visually represents the observations I made earlier, mostly highlighting that the differences in the distribution of gas consumption rates between the SP98 (purple) and E10 (red) are slight. Both average out at about 5l/100km, both have isolated outlying instances of consumption above 10l/100km (though SP98 reached higher levels of consumption slightly more frequently). Both also seem to have the majority of their observations falling between 4l and 6l/100km. Neither look terribly different from each other or from the general consumption represented by the green chart. \n",
+ "\n",
+ "Looking at these charts mostly tells us that we are probably good to test our hypothesis since both datasets are distributed fairly normally. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "TtestResult(statistic=-0.3011626300254617, pvalue=0.7634526478628367, df=386.0)"
+ ]
+ },
+ "execution_count": 49,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# create data subsets to test just what we need\n",
+ "sp98_consume = sp98['consume']\n",
+ "e10_consume = e10['consume']\n",
+ "\n",
+ "# Run a two-sample t-test to determine if there is a statistically significant difference between the two consumption rates\n",
+ "st.ttest_ind(sp98_consume, e10_consume, equal_var=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The p-value in this case is 0.76. This means that we fail to reject our null hypothesis, and must conclude that there is actually no difference in consumption rates between the two types of gas. There's more to explore with this, though. \n",
+ "\n",
+ "If the consumption rates are the same but there's a difference between, say, the distance driven or the temperature outside, it may mean that one is still actually more effective than the other. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "TtestResult(statistic=-1.0508677954693455, pvalue=0.2939767625788915, df=386.0)"
+ ]
+ },
+ "execution_count": 50,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sp98_distance = sp98['distance']\n",
+ "e10_distance = e10['distance']\n",
+ "\n",
+ "st.ttest_ind(sp98_distance, e10_distance, equal_var=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This t-test shows that there is also no statistically significant difference between the distance driven using either type of gas, so we get no indications of whether one is better than the other from this, either. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "TtestResult(statistic=2.9544384402695343, pvalue=0.003324325563697031, df=386.0)"
+ ]
+ },
+ "execution_count": 51,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sp98_temp = sp98['temp_outside']\n",
+ "e10_temp = e10['temp_outside']\n",
+ "\n",
+ "st.ttest_ind(sp98_temp, e10_temp, equal_var=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "With a p-value this low, we have to conclude that there was definitely a significant difference between outside temperatures - meaning that one type of gas was used while it was warmer outside, the other while it was colder. I don't personally know if temperature affects how gas burns or performs, but if further research were to indicate that it does, then that could give indications about whether or not one type of gas does actually perform better than the other. \n",
+ "\n",
+ "However, one thing that I do know affects engine performance (and therefore gasoline consumption) is Air Conditioner usage. Specifically, if the Air Conditioner is being used, fuel efficiency tends to go down, and fuel consumption per mile (or per 100km in this case) tends to go up. So, if the AC was used more freqently while the author of this data set was using one fuel or the other, that could also give indications that one fuel type is more efficient than the other. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "TtestResult(statistic=2.0800909895191864, pvalue=0.03817644257696843, df=386.0)"
+ ]
+ },
+ "execution_count": 52,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "sp98_ac = sp98['AC']\n",
+ "e10_ac = e10['AC']\n",
+ "\n",
+ "st.ttest_ind(sp98_ac, e10_ac, equal_var=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The p-value is below 0.05, indicating that there was indeed a significant difference in the rate of AC usage. Specifically, the author of the data definitely used the AC more frequently while using the SP98 gas. Since the SP98 gas performed equally as well as the E10 gas while also adding the additional consumption effect of AC usage, this suggests one of two things that require further research. \n",
+ "\n",
+ "The first indication this gives is that SP98 does consume at a rate that allows for higher engine demands.\n",
+ "\n",
+ "However, it could also imply that AC usage doesn't affect fuel consumption. \n",
+ "\n",
+ "This will require further research on the part of Cobify to reach a more solid conclusion.\n",
+ "\n",
+ "\n",
+ "### Final Conclusions\n",
+ "\n",
+ "I would recommend that if Cobify intends to operate in an area or at a time of year that will generally require more AC usage, that SP98 may be the better way to go, simply because this data proves that it can perform equally as well as E10 even if the AC is running more consistently. This recommendation comes with a grain of salt, though, because the E10 gas wasn't used when outside temperatures merited AC use, so we don't know if its performance would be affected by more frequent AC usage. \n",
+ "\n",
+ "However, if Cobify isn't worried about whether or not their drivers will be cranking their AC, and if they truly do want to be 'more green', I highly recommend that they make a permanent switch to E10 since the data clearly indicates that there's no difference in fuel consumption between the two types of fuel. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "base",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}