diff --git a/Untitled.ipynb b/Untitled.ipynb new file mode 100644 index 0000000..c368a9f --- /dev/null +++ b/Untitled.ipynb @@ -0,0 +1,1259 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cd79f124", + "metadata": {}, + "source": [ + "# ¿Cuál es el mejor combustible?" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8aceb019", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "6ff8121b", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "df = pd.read_csv('measurements.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "747246d5", + "metadata": {}, + "outputs": [], + "source": [ + "xls = pd.ExcelFile('measurements2.xlsx')\n", + "df2 = pd.read_excel(xls)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "360f0de2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance object\n", + "consume object\n", + "speed int64\n", + "temp_inside object\n", + "temp_outside int64\n", + "specials object\n", + "gas_type object\n", + "AC int64\n", + "rain int64\n", + "sun int64\n", + "dtype: object" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "7d906165", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(388, 9)" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "0d964ccf", + "metadata": { + "scrolled": true + }, + "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": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.isna().sum()" + ] + }, + { + "cell_type": "markdown", + "id": "30d265db", + "metadata": {}, + "source": [ + "### Debido a que el número de nulos de las columnas refill liters y refill gas es 375/388, la información no es útil y elimino las columnas para reducir el número de datos con el que trabajamos" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "8a7204d9", + "metadata": {}, + "outputs": [], + "source": [ + "df.drop(columns=[\"refill liters\",\"refill gas\"],inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "fa59bd3a", + "metadata": { + "scrolled": false + }, + "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", + "
distanceconsumespeedtemp_insidetemp_outsidespecialsgas_typeACrainsun
02852621,512NaNE10000
1124,23021,513NaNE10000
211,25,53821,515NaNE10000
312,93,93621,514NaNE10000
418,54,54621,515NaNE10000
.................................
383163,73924,518NaNSP98000
38416,14,3382531ACSP98100
385163,8452519NaNSP98000
38615,44,6422531ACSP98100
38714,75252530ACSP98100
\n", + "

388 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside specials gas_type AC \\\n", + "0 28 5 26 21,5 12 NaN E10 0 \n", + "1 12 4,2 30 21,5 13 NaN E10 0 \n", + "2 11,2 5,5 38 21,5 15 NaN E10 0 \n", + "3 12,9 3,9 36 21,5 14 NaN E10 0 \n", + "4 18,5 4,5 46 21,5 15 NaN E10 0 \n", + ".. ... ... ... ... ... ... ... .. \n", + "383 16 3,7 39 24,5 18 NaN SP98 0 \n", + "384 16,1 4,3 38 25 31 AC SP98 1 \n", + "385 16 3,8 45 25 19 NaN SP98 0 \n", + "386 15,4 4,6 42 25 31 AC SP98 1 \n", + "387 14,7 5 25 25 30 AC SP98 1 \n", + "\n", + " rain sun \n", + "0 0 0 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 \n", + ".. ... ... \n", + "383 0 0 \n", + "384 0 0 \n", + "385 0 0 \n", + "386 0 0 \n", + "387 0 0 \n", + "\n", + "[388 rows x 10 columns]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df" + ] + }, + { + "cell_type": "markdown", + "id": "d5f70d2f", + "metadata": {}, + "source": [ + "¿Afecta la distancia al consumo? ¿A más kms más gasto % de gasolina?\n", + "¿Afecta la temperatura al consumo? ¿A más temperatura más gasto % de gasolina?\n", + "¿Afecta la velociadad al consumo? ¿A más velocidad más gasto % de gasolina?\n", + "¿Cómo afectan el sol y la lluvia a cada combustible?\n", + "¿Cómo afecta la temperatura a cada combustible?" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "4175963d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['E10', 'SP98']" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['gas_type'].unique().tolist()" + ] + }, + { + "cell_type": "markdown", + "id": "b35b52f1", + "metadata": {}, + "source": [ + "### Voy a analizar la columna specials, debido a que tiene un número elevado de nulos y veo que la información que contiene puede estar en otras columnas " + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "aaec3e81", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "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: specials, dtype: int64" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"specials\"].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "3e663272", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 358\n", + "1 30\n", + "Name: AC, dtype: int64" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"AC\"].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "d856b0d5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(32, 10)" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "Identificando que los campos con rain en specials están identificados en la columna rain.\n", + "Todos están reflejados en la columna rain.\n", + "\"\"\"\n", + "dfrain = df[(df.specials==\"rain\")&(df.rain ==1)]\n", + "dfrain2 = df[(df.specials==\"Ac rain\")&(df.rain ==1)]\n", + "dfrain3 = df[(df.specials==\"ac rain\")&(df.rain ==1)]\n", + "dfrain.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "c70baf46", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(27, 10)" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "Identificando que los campos con sun en specials están identificados en la columna sun.\n", + "La mayoría están reflejados en la columna sun.\n", + "\"\"\"\n", + "dfsun = df[(df.specials==\"sun\")&(df.sun ==1)]\n", + "dfsun2 = df[(df.specials==\"sun ac\")&(df.sun ==1)]\n", + "dfsun3 = df[(df.specials==\"AC sun\")&(df.sun ==1)]\n", + "dfsun4 = df[(df.specials==\"ac sun\")&(df.sun ==1)]\n", + "dfsun.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "d5cdf9ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(9, 10)" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "Identificando que los campos con AC en specials están identificados en la columna AC.\n", + "Todos están reflejados en la columna sun.\n", + "\"\"\"\n", + "dfac = df[(df.specials==\"AC rain\")&(df.AC ==1)]\n", + "dfac2 = df[(df.specials==\"sun ac\")&(df.AC ==1)]\n", + "dfac3 = df[(df.specials==\"AC sun\")&(df.AC ==1)]\n", + "dfac4 = df[(df.specials==\"ac sun\")&(df.AC ==1)]\n", + "dfac5 = df[(df.specials==\"AC snow\")&(df.AC ==1)]\n", + "dfac.shape" + ] + }, + { + "cell_type": "markdown", + "id": "fca03589", + "metadata": {}, + "source": [ + "### Después de explorar los datos de la columna specials, podemos descartarla, debido a que la información que nos da está recogida en las columnas AC,sun & rain." + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "388ae869", + "metadata": {}, + "outputs": [], + "source": [ + "df.drop(columns=[\"specials\"],inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "21d55a03", + "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", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsun
02852621,512E10000
1124,23021,513E10000
211,25,53821,515E10000
312,93,93621,514E10000
418,54,54621,515E10000
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside gas_type AC rain sun\n", + "0 28 5 26 21,5 12 E10 0 0 0\n", + "1 12 4,2 30 21,5 13 E10 0 0 0\n", + "2 11,2 5,5 38 21,5 15 E10 0 0 0\n", + "3 12,9 3,9 36 21,5 14 E10 0 0 0\n", + "4 18,5 4,5 46 21,5 15 E10 0 0 0" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "da84d413", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance 0\n", + "consume 0\n", + "speed 0\n", + "temp_inside 12\n", + "temp_outside 0\n", + "gas_type 0\n", + "AC 0\n", + "rain 0\n", + "sun 0\n", + "dtype: int64" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "64e62883", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance object\n", + "consume object\n", + "speed int64\n", + "temp_inside object\n", + "temp_outside int64\n", + "gas_type object\n", + "AC int64\n", + "rain int64\n", + "sun int64\n", + "dtype: object" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "33da2b7d", + "metadata": {}, + "outputs": [], + "source": [ + "df['distance'] = df['distance'].replace([','],'.')" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "299f6c4b", + "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", + "
distanceconsumespeedtemp_insidetemp_outsidegas_typeACrainsun
02852621,512E10000
1124,23021,513E10000
211,25,53821,515E10000
312,93,93621,514E10000
418,54,54621,515E10000
\n", + "
" + ], + "text/plain": [ + " distance consume speed temp_inside temp_outside gas_type AC rain sun\n", + "0 28 5 26 21,5 12 E10 0 0 0\n", + "1 12 4,2 30 21,5 13 E10 0 0 0\n", + "2 11,2 5,5 38 21,5 15 E10 0 0 0\n", + "3 12,9 3,9 36 21,5 14 E10 0 0 0\n", + "4 18,5 4,5 46 21,5 15 E10 0 0 0" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "id": "6b4fa21b", + "metadata": {}, + "outputs": [], + "source": [ + "df4 = pd.to_numeric(df[\"distance\"], errors='coerce')" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "id": "0905b2fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 28.0\n", + "1 12.0\n", + "2 NaN\n", + "3 NaN\n", + "4 NaN\n", + " ... \n", + "383 16.0\n", + "384 NaN\n", + "385 16.0\n", + "386 NaN\n", + "387 NaN\n", + "Name: distance, Length: 388, dtype: float64" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df4" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "bc5c1241", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "distance object\n", + "consume object\n", + "speed int64\n", + "temp_inside object\n", + "temp_outside int64\n", + "gas_type object\n", + "AC int64\n", + "rain int64\n", + "sun int64\n", + "dtype: object" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4198bd8f", + "metadata": {}, + "outputs": [], + "source": [ + "for i,row in df.iterrows():" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "8f2b8ed0", + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "could not convert string to float: '11,2'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdf2\u001b[0m \u001b[0;34m=\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'distance'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'consume'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'temp_inside'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfloat\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36mastype\u001b[0;34m(self, dtype, copy, errors)\u001b[0m\n\u001b[1;32m 5813\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5814\u001b[0m \u001b[0;31m# else, only a single dtype is given\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5815\u001b[0;31m \u001b[0mnew_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merrors\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5816\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_constructor\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnew_data\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__finalize__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"astype\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5817\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/internals/managers.py\u001b[0m in \u001b[0;36mastype\u001b[0;34m(self, dtype, copy, errors)\u001b[0m\n\u001b[1;32m 416\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 417\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mT\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mbool\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mstr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"raise\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mT\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 418\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"astype\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merrors\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 419\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 420\u001b[0m def convert(\n", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/internals/managers.py\u001b[0m in \u001b[0;36mapply\u001b[0;34m(self, f, align_keys, ignore_failures, **kwargs)\u001b[0m\n\u001b[1;32m 325\u001b[0m \u001b[0mapplied\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mapply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 326\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 327\u001b[0;31m \u001b[0mapplied\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 328\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mTypeError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mNotImplementedError\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 329\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mignore_failures\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/internals/blocks.py\u001b[0m in \u001b[0;36mastype\u001b[0;34m(self, dtype, copy, errors)\u001b[0m\n\u001b[1;32m 589\u001b[0m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 590\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 591\u001b[0;31m \u001b[0mnew_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mastype_array_safe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0merrors\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 592\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 593\u001b[0m \u001b[0mnew_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmaybe_coerce_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnew_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/dtypes/cast.py\u001b[0m in \u001b[0;36mastype_array_safe\u001b[0;34m(values, dtype, copy, errors)\u001b[0m\n\u001b[1;32m 1307\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1308\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1309\u001b[0;31m \u001b[0mnew_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mastype_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1310\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mValueError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1311\u001b[0m \u001b[0;31m# e.g. astype_nansafe can fail on object-dtype of strings\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/dtypes/cast.py\u001b[0m in \u001b[0;36mastype_array\u001b[0;34m(values, dtype, copy)\u001b[0m\n\u001b[1;32m 1255\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1256\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1257\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mastype_nansafe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1258\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1259\u001b[0m \u001b[0;31m# in pandas we don't store numpy str dtypes, so convert to object\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/dtypes/cast.py\u001b[0m in \u001b[0;36mastype_nansafe\u001b[0;34m(arr, dtype, copy, skipna)\u001b[0m\n\u001b[1;32m 1093\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1094\u001b[0m \u001b[0mflat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mravel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1095\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mastype_nansafe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mflat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mskipna\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mskipna\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1096\u001b[0m \u001b[0;31m# error: Item \"ExtensionArray\" of \"Union[ExtensionArray, ndarray]\" has no\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1097\u001b[0m \u001b[0;31m# attribute \"reshape\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/.local/lib/python3.8/site-packages/pandas/core/dtypes/cast.py\u001b[0m in \u001b[0;36mastype_nansafe\u001b[0;34m(arr, dtype, copy, skipna)\u001b[0m\n\u001b[1;32m 1199\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcopy\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mis_object_dtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mis_object_dtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1200\u001b[0m \u001b[0;31m# Explicit copy, or required since NumPy can't view from / to object.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1201\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1202\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1203\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mastype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: could not convert string to float: '11,2'" + ] + } + ], + "source": [ + "df2 =df[['distance', 'consume','temp_inside']].astype(float)" + ] + }, + { + "cell_type": "markdown", + "id": "cfe6cd55", + "metadata": {}, + "source": [ + "### Voy a revisar la correlación entre columnas para revisar si encontramos algún dato interesante" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "28b703bc", + "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", + "
speedtemp_outsideACrainsun
speed1.0000000.015411-0.0354080.0094890.081618
temp_outside0.0154111.0000000.167562-0.1863150.346903
AC-0.0354080.1675621.0000000.2429150.088598
rain0.009489-0.1863150.2429151.000000-0.112650
sun0.0816180.3469030.088598-0.1126501.000000
\n", + "
" + ], + "text/plain": [ + " speed temp_outside AC rain sun\n", + "speed 1.000000 0.015411 -0.035408 0.009489 0.081618\n", + "temp_outside 0.015411 1.000000 0.167562 -0.186315 0.346903\n", + "AC -0.035408 0.167562 1.000000 0.242915 0.088598\n", + "rain 0.009489 -0.186315 0.242915 1.000000 -0.112650\n", + "sun 0.081618 0.346903 0.088598 -0.112650 1.000000" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.corr()" + ] + }, + { + "cell_type": "markdown", + "id": "520aa3d3", + "metadata": {}, + "source": [ + "### No encontramos datos definitivos" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b1ad5a5", + "metadata": {}, + "outputs": [], + "source": [ + "¿Afecta la distancia al consumo? ¿A más kms más gasto % de gasolina?\n", + "¿Afecta la temperatura al consumo? ¿A más temperatura más gasto % de gasolina?\n", + "¿Afecta la velociadad al consumo? ¿A más velocidad más gasto % de gasolina?\n", + "¿Cómo afectan el sol y la lluvia a cada combustible?\n", + "¿Cómo afecta la temperatura a cada combustible?" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "5195c7e5", + "metadata": {}, + "outputs": [], + "source": [ + "import seaborn as sns\n", + "sns.set_context(\"poster\")\n", + "sns.set(rc={\"figure.figsize\": (12.,6.)})\n", + "sns.set_style(\"whitegrid\")" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "9cc5c488", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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3LlzM3/+/K7rO3bs6HpcW1tbamtrj3tXe9y4cV1/fAnQ24lMgONXzXtne3v7MTd3q/rRf6+++mpefvnlJElnZ2fWr1+fsWPHJvlFJO/fvz+PP/54kuTee+/NjBkzqjYrAAAcrx7b2V66dGk2btyY3bt3Z968eRkyZEjuvPPOXHPNNeno6EilUsno0aPT3NycJKmtrc3KlSvT3Nx8xEf/AQBAX9Fjsb1o0aIsWrToNde/9rWvHfU5EydOTEtLS8GpAACgHN8gCQAAhYhtAAAoRGwDAEAhYhsAAAoR2wAAUIjYBgCAQsQ2AAAUIrYBAKAQsQ0AAIWIbQAAKERsAwBAIWIbAAAKEdsAAFCI2AYAgELENgAAFCK2AQCgELENAACFiG0AAChEbAMAQCFiGwAAChHbAABQSLdj+6677nrd6//8z/98woYBAID+pNuxfdttt73u9TvuuOOEDQMAAP3JgDd6wPe+970kSaVSySOPPJLOzs6utR//+McZNGhQuekAAKAPe8PYvvHGG5Mk7e3t+dSnPtV1vaamJqeffnoWLVpUbjoAAOjD3jC2v/3tbydJbrjhhqxcubL4QAAA0F+8YWwf9suhXalUjlirrfWhJgAA8Ku6HdvPPPNMlixZkueffz7t7e1Jks7OztTU1OTZZ58tNiAAAPRV3Y7thQsX5o/+6I9y880356STTio5EwAA9Avdju3t27fnuuuuS01NTcl5AACg3+j2YetLL700Dz/8cMlZAACgX+n2znZ7e3uuvvrqTJo0KW9+85uPWPMpJQAA8Frdju1zzz035557bslZAACgX+l2bF999dUl5wAAgH6n27F9+GvbX8/FF198QoYBAID+pNuxffhr2w976aWXcvDgwYwYMSLf+ta3TvhgAADQ13U7tg9/bfthHR0dueOOOzJo0KATPhQAAPQHv/b3rNfV1eVjH/tYvvjFL57IeQAAoN/4tWM7Sf7zP//Tl9wAAMBRdPsYyR/+4R8eEdb79u3LgQMH0tzcXGQwAADo67od27fccssRP5988sk555xzcuqpp57woQAAoD/odmy//e1vT5JUKpXs3r07b37zm1Nb+xudQgEAgH6t27X885//PDfccEPGjx+fP/iDP8j48ePzyU9+Mi+//HLJ+QAAoM/qdmwvXbo0+/btS0tLS55++um0tLRk3759Wbp0acn5AACg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qI9tbW3NiBEjUldX1/X44cOHp7W1NUOHDu2ReQF62u/8zu9k/Pjxeec735mLLrooEydOzKxZs/KmN73piMc98sgjaW9vz9lnn53zzz8/9913X+bOnZsk2bRpU372s58l+cURvkcffTSXXHJJTjrppLzlLW/J4sWLe/x9wa8S21DA6x0jAeD/q62tze23356tW7fmsccey6ZNm3LXXXd17VQf3rQ49dRTs3r16gwePDjve9/78r//+7/5wAc+kFNPPTXjx4/PI488kiR55pln8uKLL+a73/1uBg0alGXLluWzn/2s4KbqxDZUWWNjY3bu3JmOjo7U1dWlo6Mju3btet0jJwD9zZgxYzJmzJhcccUV+dM//dM8+uijSV5/06K2tjbXXXddrrvuuiTJF77whYwePTpJcv/992fy5Mk57bTTkiSXXXZZPvWpT/XgO4HX58w2VNmwYcMyduzYrFu3Lkmybt26jB071hESoF/buXNnnnzyya6ff/KTn6StrS2jRo066nPa29vz8ssvJ0l27NiRr371q5k3b16SZNSoUXnkkUdy8ODBJMl//Md/5Lzzziv4DqB77GxDAb98ZjtJli5dmrVr12bjxo3ZvXt35s2blyFDhuTrX/96kuSmm27KwoULc/vtt2fw4MFZsWJFtUYH6BGHDh3K6tWrs3379px00kmpVCq59tprX/ePJA97+eWX86EPfSi1tb/YK1ywYEHOP//8JMkVV1yRF154IZdddlkGDBiQxsbGfOYzn+mR9wLHUtPZ2dlZ7SEAAKA/cowEAAAKEdsAAFCI2AYAgELENgAAFCK2AQCgELENAACFiG0AjnDfffflAx/4QLXHAOgXxDYAABQitgH6iGeeeSaXX355Lrjggnz84x/Ptddem8997nP56U9/mquuuiqTJ0/OhRdemKuuuio/+clPup533333Zdq0abngggsyderUPPDAA0d9jRdffDHNzc156qmncsEFF6SpqSlPP/103vGOd6Sjo6PrcRs3bsxll12WJFm9enXXPBdccEHe+9735rnnnut67M6dO3PNNddk8uTJmTp1ar785S8X+O0A9E5iG6APOHDgQK6++uq8973vzaOPPpqZM2dm06ZNSZJKpZL3ve99+c53vpPvfOc7aWhoyJIlS5Ikr776apYuXZovfOELefLJJ3Pvvfdm7NixR32d0aNH59Of/nQmTJiQJ598Mo8//njGjx+fIUOG5OGHH+563Nq1a3P55Zd3/fytb30rM2bM6Jrtr//6r3Pw4MFUKpXMnz8/b33rW/Pd734399xzT+6555489NBDZX5RAL2M2AboA77//e/n0KFDufLKKzNw4MC8613vyu/+7u8mSd70pjdl+vTpOfnkk3Pqqadm/vz5eeyxx7qeW1tbmxdeeCH79+/P8OHDc9555x33619++eVdO+J79+7Nww8/nJkzZ3atn3/++ZkxY0YGDhyYefPm5cCBA/n+97+fH/zgB2lra8vVV1+d+vr6nHXWWfmLv/iLrF+//jf8jQD0DQOqPQAAb2zXrl0ZMWJEampquq41NjYmSfbt25fly5fnoYceyk9/+tMkySuvvJKOjo6ccsop+dznPpcvfelLufHGGzNx4sR88pOfzOjRo4/r9WfNmpU/+ZM/yauvvppvfOMbaWpqyvDhw7vWzzjjjK7/XVtbmxEjRmTXrl1dszc1NXWtd3R0HPEzQH8mtgH6gNNPPz07d+5MZ2dnV3C3trbmrLPOype+9KVs27Yt//qv/5rTTz89zz77bC6//PJ0dnYmSaZMmZIpU6Zk//79+fu///v8zd/8Tb7yla8c9bV+OegPGzFiRC644IJs3Lgxa9eufc2nlfzyGfFKpZKdO3dm+PDhqaury6hRo7Jx48YT8WsA6HMcIwHoAyZMmJC6urr8y7/8Sw4dOpRNmzblBz/4QZJf7GI3NDRk8ODB2bt3b/7xH/+x63m7d+/Opk2b8uqrr6a+vj6nnHJKamuPfesfNmxYdu7cmQMHDhxxfdasWbnrrruydevWvOtd7zpi7ZlnnsnGjRtz6NCh3HPPPamvr8/v/d7vZfz48Rk0aFD+6Z/+Kfv3709HR0e2bt2ap59++gT9ZgB6N7EN0AfU19dn9erV+fd///dceOGFeeCBB/LOd74z9fX1+cu//Mu0t7dn8uTJmT17dqZMmdL1vEqlkrvvvjtTpkzJ29/+9jz22GO56aabjvlakydPzrnnnptLLrkkF110Udf1Sy+9NNu3b8+ll16ak08++YjnTJs2LevXr8+FF16YtWvXZvXq1Rk4cGDq6upy55135rnnnsu0adMyefLkLFq0KD//+c9P6O8HoLeq6Tz83xkB6FPe//73Z86cOfmzP/uzHnvNP/7jP86SJUvyjne8o+va6tWr86Mf/SirVq3qsTkA+go72wB9xKOPPpr/+7//y6FDh3L//ffn+eefP2IXu7QNGzakpqYmkydP7rHXBOjr/IEkQB+xbdu2XHvttdm3b19GjRqVW2+99YhPBDkeixcvTktLy2uuv+c97+n6jO5f9qEPfSj//d//nZUrV77hmW8A/j/HSAAAoBDbEwAAUIjYBgCAQsQ2AAAUIrYBAKAQsQ0AAIWIbQAAKOT/AY/c9Y8xjBk1AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.countplot(x=df[\"gas_type\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "3aae6352", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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/87t9Xp18OBBBQIBuVwuBQIBVVRUyOv1Nvvczp07KzU1VR06dJDDEd1/QwIAAEBssixLtbW16ty5c4P7o7psn3feeUpLS1NRUZFGjRqloqIipaWlNbuERJKcTmeDf7sAAAAAIqljx46N7ovqZSSStGfPHuXk5Ojbb79Vly5dlJ+fr5///Od2xwIAAACaFfVlGwAAAIhVUX3rPwAAACCWUbYBAAAAQyjbAAAAgCGUbQAAAMAQyjYAAABgSFTfZ9suVVVVmjlzpr744gvFx8frggsu0Pz585WQkKC7775b77zzjr7++mu9//77jd7A/JFHHtHTTz+txMRESdLAgQOVl5fXlsMIaWw833zzjXJzc/X1118rLi5Ov/zlL5WXl9fgvSJzcnL05ptv6txzz5UkjRgxQlOnTm3roTSoqfO1Y8cO5ebmqrq6WikpKVq8eLHOO+88uyM3KRKvPztE4jxE0/umIY2N0ePx6Oabb9bx48clSd27d9d9992nHj162Jz4B5HIHavnJiEhQX379lVqaqqczh/mlwoKCtS3b1+bEzeuqbGcNHv2bD333HNR9znQkEhcg6JJfn6+SkpKtH//fhUWFio1NVWS9Oqrr2rZsmWqq6tT165d9cADD6hnz542p/0/kXhdRUsXiMT7vU3HYuE0VVVV1ttvvx16/OCDD1qzZ8+2LMuy3nzzTevQoUNWamqq9d133zV6jD//+c/Wgw8+aDxrOBobz5dffmnt2rXLsizLCgQC1p133mktX768wWPMmjXLevLJJ9skb0s1Nr5AIGBdc8011nvvvWdZlmWtWLHCysnJsStm2CLx+rNDJM5DNL1vGtLUufn2229D21evXm394Q9/aPN8jYlE7lg+N9H4fmlKU2OxLMt6+eWXrdmzZ8fMuCJxDYom7733nlVeXm5dffXV1scff2xZlmUdOXLEuvTSS63PPvvMsizLev75562JEyfaGfM0kXhdRUsXiMT7vS3HwjKSBng8Hg0aNCj0uH///iovL5ckXXbZZVE/M/pjjY2nR48euvjiiyX98I2b/fr1C40zljQ2vtLSUrndbvl8PklSdna2iouL7YoZtlh9/bW389CQps7Nqd9Y+91334VmVaJBrOZuiabGGGuaGktVVZWWL1+u2bNn2xWvxdrbNcjn88nr9dbbtm/fPnXr1k29e/eWJA0ZMkRbt25V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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.countplot(x=df[\"temp_inside\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "89212494", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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f7rkCzUAAAAQTpfkIR8AAABApFCoAQAAAAMUagAAAMAAhRoAAAAwQKEGAAAADFCoAQCOWb16te67774Krx82bJjeeuutCE4EAOFHoQaAMEhJSdFf//rXaI/hiJdeeknjx48P6Xv79++vP/3pT2GeCABqFgo1AAAAYIBCDQAOe/zxx5Wfn6+RI0eqW7duevnll/XZZ59p8ODBSk5OVv/+/bV169bg9w8bNkzPP/+8Bg8erG7dumnkyJE6evSoHnvsMXXv3l0DBw7UN998E/z+Tp06afHixerTp4969OihrKwsBQKBSmcKBAKaN2+ebr75Zt1www2aMGFC8HThW7duvejMgef2sG/atEkLFy7Uu+++q27duql///6SpOXLl6tPnz7q1q2bUlJStHr16uDlv/nNb4I5W7ZsUd++fZWUlKTMzEz9+Fxib7/9tvr166d//dd/1f33369vv/3Wxj0OANFFoQYAh82cOVMtWrTQggUL9Omnn6p///4aMWKERo0apU8++URPPPGEHn74YRUVFQW3WbNmjWbMmKFNmzZp//79Gjx4sAYOHKhPPvlE7du3v+gUyO+//76WLVumFStWaMOGDVq2bFmlMy1fvlwrVqzQ4sWLtX79ep06dUqZmZlV3pZevXppxIgR6tevnz799FOtXr1ap06d0rRp0/Tyyy/r008/1dKlS5WYmHjRtkVFRRo9erQeeeQRffzxx7r66qu1Y8eO4PXr16/XwoULNWfOHH300UdKSkrSY489VuVMAFDTUKgBIMxWrVqlXr16qXfv3nK73brxxhvVuXNn/c///E/we+666y5dffXVql+/vnr16qXWrVvr5z//ubxer/r27au8vLwLMv/whz8oLi5OLVq00G9/+1vl5ORUOkN2drbuvfdetW7dWvXq1dO4ceO0Zs0alZWV2bpNbrdbu3fvVnFxseLj49WhQ4eLvmfTpk3q0KGD+vbtqzp16uh3v/udmjRpErx+6dKleuCBB9S+fXt5vV6NHDlSO3fuZC81gFqHQg0AYZafn6/33ntPycnJwf+2b9+uw4cPB7/n/KIZExNzwddXXHGFTp06dUFmQkJC8P9btmypQ4cOVTrDoUOH1LJlywu2KSsrU2FhYbVvT2xsrJ5//nktXbpUN910kx544AHt2bOn3J/ZvHnz4Ncul+uCufPz8/XMM88E75Prr79elmXp4MGD1Z4JAKLJG+0BAOBSl5CQoAEDBmjatGmOZRYUFAT3Cufn5ys+Pr7S74+Pj79gz29+fr68Xq8aN26sgwcPqri4OHid3++/4HAUl8t1UV7Pnj3Vs2dPFRcX64UXXtCTTz6pP//5zxd8T9OmTfXdd98Fv7YsSwUFBcGvExISNHLkyOBx2QBQW7GHGgDCoEmTJjpw4ICksx8l98EHH+jDDz+U3+9XSUmJtm7dekHZrK5Fixbp+++/V0FBgRYvXqzbb7+90u9PTU3V66+/rgMHDujkyZN6/vnn1a9fP3m9XrVr104lJSXauHGjzpw5o/nz56u0tDS4bePGjfXtt98G//DxyJEjweOwfT6fYmNj5XZf/HLSu3dv7d69W+vWrVNZWZkWL16sI0eOBK8fPHiw/vjHP2r37t2SpOPHj+vdd9+1fZ8AQLRQqAEgDB544AHNnz9fycnJWrNmjebNm6eFCxfqhhtuUO/evbVo0aIqP5mjMn369NFdd92lO+64Q7/4xS909913V/r9AwcOVP/+/TV06FD16dNHPp9PTz75pCSpfv36ysjI0JQpU9SrVy/VrVv3gkM1+vbtK0nq0aOH7rzzTgUCAb322mvq2bOnrr/+em3btk1Tp0696Gc2atRIs2fP1n/913+pR48e2rdvn7p37x68/tZbb9Xw4cM1btw4de/eXampqdq0aZPt+wQAosVl/fgzjAAANVqnTp20bt06tWnTJtqjAADEHmoAAADACH+UCACXiPT0dGVnZ190+a9//euQPnMaAGAPh3wAAAAABjjkAwAAADBAoQYAAAAMUKgBAAAAAxRqAAAAwACFGgAAADBAoQYAAAAM/D/PLRJ/B1QsVQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.countplot(x=df[\"temp_outside\"])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}