{"id":2040,"date":"2020-04-22T10:02:47","date_gmt":"2020-04-22T15:02:47","guid":{"rendered":"https:\/\/naps.com.mx\/blog\/?p=2040"},"modified":"2020-04-28T17:57:00","modified_gmt":"2020-04-28T22:57:00","slug":"analisis-de-datos-comparaciones","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/analisis-de-datos-comparaciones\/","title":{"rendered":"Fases del an\u00e1lisis de datos usando Python: Comparaciones"},"content":{"rendered":"<p>Veremos la \u00faltima fase del an\u00e1lisis de datos: comparaciones entre variables. Habiendo clasificado nuestras variables, podemos realizar comparaciones.<\/p>\n<p><!--more--><\/p>\n<p>Librer\u00edas que vamos a utilizar:<\/p>\n<pre class=\"lang:python decode:true \">import pandas as pd\r\nimport numpy as np\r\nimport matplotlib.pyplot as plt\r\nimport seaborn as sns<\/pre>\n<p>Leemos los datos generados en el <a href=\"https:\/\/naps.com.mx\/blog\/fases-del-analisis-de-datos-usando-python\/\">paso 3:<\/a><\/p>\n<pre class=\"lang:python decode:true \">vehiculos = pd.read_pickle(\"vehiculospaso3.pkl\")<\/pre>\n<h2>An\u00e1lisis de datos: comparaciones<\/h2>\n<h2>Recuento por m\u00faltiples grupos y mapas de calor<\/h2>\n<p>Vamos a crear una funci\u00f3n que nos hace un recuento entre dos variables:<\/p>\n<pre class=\"lang:python decode:true \">def pivot_recuento(df, rows, columns, calc_field):\r\n    df_pivot = df.pivot_table(values=calc_field, \r\n                              index=rows, \r\n                              columns=columns, \r\n                              aggfunc=np.size\r\n                             ).dropna(axis=0, how='all')\r\n    return df_pivot<\/pre>\n<p>La puedes usar directamente, pasandole qu\u00e9 quieres ver como filas, qu\u00e9 como columnas.<\/p>\n<p>Pero la utilizaremos para crear un heatmap o mapa de calor.<\/p>\n<pre class=\"lang:python decode:true \">def heatmap_recuento_tipos(df, col1, col2):\r\n    pivot_table = pivot_recuento(df,col1, col2, \"year\")\r\n    sns.heatmap(pivot_table, annot=True, fmt='g')\r\n    plt.ylabel(col1)\r\n    plt.xlabel(col2)\r\n    plt.show()<\/pre>\n<p>Entonces podremos crear un gr\u00e1fico que nos compare, por ejemplo, \u00abclase_tipo\u00bb (si son camionetas, coches peque\u00f1os, etc), con \u00abconsumo_tipo\u00bb (si usa combustible normal, premium, h\u00edbrido, etc).<\/p>\n<pre class=\"lang:python decode:true \">heatmap_recuento_tipos(vehiculos, \"clase_tipo\", \"combustible_tipo\")<\/pre>\n<p>Lo que nos muestra:<\/p>\n<p><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-mapa-de-calor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2042\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-mapa-de-calor.png\" alt=\"analisis de datos comparaciones - mapa de calor\" width=\"1892\" height=\"1130\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-mapa-de-calor.png 1892w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-mapa-de-calor-300x179.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-mapa-de-calor-768x459.png 768w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-mapa-de-calor-1024x612.png 1024w\" sizes=\"auto, (max-width: 1892px) 100vw, 1892px\" \/><\/a><\/p>\n<p>De esta forma podemos observar que hay una gran cantidad de coches peque\u00f1os que utilizan gasolina normal (6619).<\/p>\n<p>Utilizando \u00e9sta herramienta podemos comparar cualquiera de nuestras variables categ\u00f3ricas.<\/p>\n<h2>Medias por variables categ\u00f3ricas<\/h2>\n<p>La siguiente funci\u00f3n nos permite realizar comparaciones entre dos variables pero analizando la media.<\/p>\n<pre class=\"lang:python decode:true \">def medias_por_categoria(col_grupo, col_calculo):\r\n    vehiculos.groupby(col_grupo)[col_calculo].mean().plot.barh()\r\n    plt.ylabel(col_grupo)\r\n    plt.xlabel('Valores medios de {}'.format(col_calculo))\r\n    plt.show()\r\n\r\ncolumnas_numericas = vehiculos.select_dtypes(['int', 'float']).columns\r\ncolumnas_categoricas = vehiculos.select_dtypes(['object', 'category']).columns\r\ncolumnas_tipo = [col for col in vehiculos.columns if col.endswith(\"_tipo\")]\r\n\r\n<\/pre>\n<p>Por ejemplo si queremos analizar el consumo de combustible comparado con la clase de veh\u00edculo, podemos indic\u00e1rselo as\u00ed:<\/p>\n<pre class=\"lang:python decode:true \">medias_por_categoria('clase_tipo', \"consumo_litros_milla\")<\/pre>\n<p>Lo que nos arroja:<\/p>\n<p><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2043\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias.png\" alt=\"analisis de datos comparaciones - medias\" width=\"1998\" height=\"1102\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias.png 1998w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-300x165.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-768x424.png 768w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-1024x565.png 1024w\" sizes=\"auto, (max-width: 1998px) 100vw, 1998px\" \/><\/a><\/p>\n<p>Donde podemos apreciar que las furgonetas consumen m\u00e1s litros por milla (en promedio) que las camionetas. O que los coches grandes consumen m\u00e1s que los coches familares.<\/p>\n<h2>Medias por m\u00faltiples tipos<\/h2>\n<p>La siguiente funci\u00f3n nos permite comparar tres variables, por ejemplo, tal vez deseemos ver el co2 emitido por los diferentes tipos de carros considerando sus diferentes tipos de combustible.<\/p>\n<pre class=\"lang:python decode:true\">def pivot_media(rows, columns, calc_field):\r\n    df_pivot = vehiculos.pivot_table(values=calc_field, \r\n                              index=rows, \r\n                              columns=columns, \r\n                              aggfunc=np.mean\r\n                             ).dropna(axis=0, how='all')\r\n    return df_pivot<\/pre>\n<p>Creamos un mapa de calor:<\/p>\n<pre class=\"lang:python decode:true \">def heatmap_medias_tipos(col1, col2, col3):\r\n    pivot_table = pivot_media(col1, col2, col3)\r\n    sns.heatmap(pivot_table, annot=True, fmt='g')\r\n    plt.ylabel(col1)\r\n    plt.xlabel(col2)\r\n    plt.show()<\/pre>\n<p>Y probamos el ejemplo que mencionamos hace un momento:<\/p>\n<pre class=\"lang:python decode:true \">heatmap_medias_tipos(\"clase_tipo\", \"combustible_tipo\", \"co2\")<\/pre>\n<p>Los que nos muestra:<\/p>\n<p><a href=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-multiples-tipos.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2044\" src=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-multiples-tipos.png\" alt=\"analisis de datos comparaciones - medias multiples tipos\" width=\"1998\" height=\"1118\" srcset=\"https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-multiples-tipos.png 1998w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-multiples-tipos-300x168.png 300w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-multiples-tipos-768x430.png 768w, https:\/\/naps.com.mx\/blog\/wp-content\/uploads\/2020\/04\/analisis-de-datos-comparaciones-medias-multiples-tipos-1024x573.png 1024w\" sizes=\"auto, (max-width: 1998px) 100vw, 1998px\" \/><\/a><\/p>\n<p>Un dato que se puede apreciar en los coches peque\u00f1os es que los que usan Premiun emiten m\u00e1s co2 que los que usan combustible normal.<\/p>\n<p>\u00c9stas son solo algunas t\u00e9cnicas que se pueden utilizar para comparar variables, pero como te puedes dar cuenta, un an\u00e1lisis m\u00e1s extenso de las diferentes combinaciones entre variables nos puede arrojar mucha m\u00e1s informaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Veremos la \u00faltima fase del an\u00e1lisis de datos: comparaciones entre variables. Habiendo clasificado nuestras variables, podemos realizar comparaciones.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[52],"tags":[266,280,230],"class_list":["post-2040","post","type-post","status-publish","format-standard","hentry","category-estadistica","tag-analisis-de-datos","tag-heatmap","tag-python"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=2040"}],"version-history":[{"count":9,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2040\/revisions"}],"predecessor-version":[{"id":2063,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2040\/revisions\/2063"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=2040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=2040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=2040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}