diff --git a/Exploratory_FA.R b/Exploratory_FA.R deleted file mode 100644 index f7f43b0..0000000 --- a/Exploratory_FA.R +++ /dev/null @@ -1,466 +0,0 @@ -######## Define the parameter lists ########### - -### 02.10.2023 - -## Este script contiene el flujo de trabajo para ejecutar la funci髇 search_fa_parameters para realizar -## varios an醠isis factoriales exportando sus resultados a un excel - - -library(psych) -library(GPArotation) -library(dplyr) -library(corrplot) - -########################################################################################### - - -# 1- Cargar datos completos - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - -lapply(lista_datos,KMO) - -fa(lista_datos$df_datos_PTrans.csv,4, rotate = "varimax", fm = "minchi") - -completos_PTRANS <- lista_datos$df_datos_PTrans.csv - - -################################################################################################# - -# 2.- Crear distintos set de datos - -# Los set de datos se van a crear eliminando progresivamente variables utilizando como criterio la distribucion original de la variable - -# Que tan alejada de la distribuci髇 normal se encuentra la variable, y el n鷐ero de outliers que existen - -# Primer intento: Eliminar SQUARE_MN, AREA_AM, DIVISION, Vehiculos, SHAPE_MD, PobH. - -# Finalmente evaluamos el adecuaci髇 del dataset para realizar un an醠isis factorial utilizando -# el test de Kaiser-Meyer-Olkin. Esta se realaciona a la propoporcion de varianza entre las variables que podria ser -# varianza com鷑. Mientras m醩 alto el valor, m醩 adecuado el dataset o la variable para realizar un an醠isis factorial. - - -lista_sel_44 <- lapply(lista_datos, dplyr::select, -c("SQUARE_MN","AREA_AM", "DIVISION", "Vehiculos","SHAPE_MD","PobH")) - -lapply(lista_sel_44,KMO) - -PTRANS_44 <- lista_sel_44$df_datos_PTrans.csv -NORM_44 <- lista_sel_44$df_datos_Normalizer.csv - -######################################################################################################## - -lista_sel_varios <- lapply(lista_datos, dplyr::select, -c("SQUARE_MN","AREA_AM", "DIVISION", "Vehiculos","SHAPE_MD","PobH","PobM","LPI","SQUARE_MD","FRAC_MD","T_Viv_Prin", - "T_Viv_Sec","Viv_vacias","MESH","PAFRAC","AREA_MN",)) -lapply(lista_sel_varios,KMO) - -PTRANS32<- lista_sel_varios$df_datos_PTrans.csv -NORM32<- lista_sel_varios$df_datos_Normalizer.csv - -######################################################################### - - -lista_ocio <- lapply(lista_datos, dplyr::select, -c("SQUARE_MN","AREA_AM", "DIVISION", "Vehiculos","SHAPE_MD","PobH","PobM","LPI","SQUARE_MD","FRAC_MD","T_Viv_Prin", - - "T_Viv_Sec","Viv_vacias","MESH","PAFRAC","AREA_MN","OCIO")) -Maxabs_ocio <- lista_ocio$df_datos_Maxabs.csv -MinMax_ocio <- lista_ocio$df_datos_MinMax.csv -Norm_ocio <- lista_ocio$df_datos_Normalizer.csv -Ptrans_ocio <- lista_ocio$df_datos_PTrans.csv -Rscaler_ocio <- lista_ocio$df_datos_Rscaler.csv -Std_ocio <- lista_ocio$df_datos_std.csv - - -####################################################### - -lista_sel1 <- lapply(lista_datos, dplyr::select, c("LPI","AREA_MN","AREA_AM","GYRATE_MN","SHEI","NP","DIVISION","SPLIT","SHAPE_MN", "FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","PobT","Vehiculos","T_Viviendas","T_Viv_Sec","COM","ED_SING","EQUIP","IND","OCIO","OFI","RES_PLU", "RES_UNI")) - -lapply(lista_sel1,KMO) - -Norm_sel1 <- lista_sel1$df_datos_Normalizer.csv -PTrans_sel1 <- lista_sel1$df_datos_PTrans.csv - -################################################################################ -################################################################################ - -lista_sel2 <- lapply(lista_datos, dplyr::select, c("LPI","AREA_MN","GYRATE_MN","SHEI","NP","SPLIT","SHAPE_MN", "FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","PobT","T_Viviendas","T_Viv_Sec","COM","ED_SING","EQUIP","IND","OCIO","OFI","RES_PLU","RES_UNI")) -lapply(lista_sel2,KMO) - - -Norm_sel2 <- lista_sel2$df_datos_Normalizer.csv -PTrans_sel2 <- lista_sel2$df_datos_PTrans.csv - -################################################################################ -################################################################################# - -lista_sel3 <- lapply(lista_datos, dplyr::select, c("LPI","AREA_MN","GYRATE_MN","SHEI","SPLIT","SHAPE_MN", "FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","T_Viviendas","COM","ED_SING","EQUIP","IND","OCIO","OFI","RES_PLU","RES_UNI")) -lapply(lista_sel3,KMO) - -Norm_sel3 <- lista_sel3$df_datos_Normalizer.csv -PTrans_sel3 <- lista_sel3$df_datos_PTrans.csv - -###################################################################################################### - -lista_sel4 <- lapply(lista_datos, dplyr::select, c("LPI","AREA_MN","GYRATE_MN","SHEI","SPLIT","SHAPE_MN", "FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","T_Viviendas","COM","ED_SING","EQUIP","IND","OCIO","OFI","RES_PLU")) - -lapply(lista_sel4,KMO) - -Norm_sel4 <- lista_sel4$df_datos_Normalizer.csv - -## Nuevas pruebas de seleccion de variables #### - -### 26.06.2023 ### - - -lista_seleccion_general1 <- lapply(lista_datos, dplyr::select, c("TA","LPI","AREA_MN","AREA_AM","AREA_MD","GYRATE_MN","GYRATE_AM","GYRATE_MD","SHEI","SIDI","SPLIT","MESH","SHAPE_MN", "PAFRAC", "SHAPE_MD","PARA_MN","PARA_MD","FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","PobT", "Vehiculos", "T_Viv_Prin","T_Viv_Sec", "COM","ED_SING","EQUIP","IND","OCIO","OFI","RES_PLU","RES_UNI")) - - -lista_seleccion_general <- lapply(lista_datos, dplyr::select, c("TA","LPI","AREA_MN","AREA_AM","AREA_MD","GYRATE_MN","GYRATE_AM","GYRATE_MD","SHEI","SIDI","SPLIT","MESH","SHAPE_MN", "PAFRAC", "SHAPE_MD","PARA_MN","PARA_MD","FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","PobT", "Vehiculos", "T_Viv_Prin","T_Viv_Sec", "COM","ED_SING","EQUIP","IND","OFI","RES_PLU","RES_UNI")) - - -datos_seleccion_general <- list(lista_seleccion_general$df_datos_Maxabs.csv,lista_seleccion_general$df_datos_MinMax.csv,lista_seleccion_general$df_datos_Normalizer.csv, lista_seleccion_general$df_datos_Normalizer.csv, - lista_seleccion_general$df_datos_PTrans.csv, lista_seleccion_general$df_datos_Rscaler.csv, lista_seleccion_general$df_datos_std.csv) - -nombres_seleccion_general <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", "df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - - - -n_factors <- c(3,4,5) -fm_methods <- c("minchi") -#rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") -rotate_methods <- c("promax","oblimin","bentlerQ","geominQ") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_general, nombres_seleccion_general, n_factors, fm_methods, rotate_methods) - - -######################################################### - -### Nuevas pruebas de seleccion de variables #### - -### 27.06.2023 ### - - -### Cargar datos completos #### - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - - - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - - -lista_seleccion_1 <- lapply(lista_datos, dplyr::select, c("TA","LPI","AREA_MN","AREA_AM","AREA_MD","GYRATE_MN","GYRATE_AM","GYRATE_MD","SHEI","SIDI","SPLIT","MESH","SHAPE_MN","PAFRAC","SHAPE_MD","FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","PobT", "Vehiculos","T_Viv_Prin", "COM","ED_SING","EQUIP","IND","OFI","RES_PLU","RES_UNI")) - - - -datos_seleccion_1 <- list(lista_seleccion_1$df_datos_Maxabs.csv,lista_seleccion_1$df_datos_MinMax.csv,lista_seleccion_1$df_datos_Normalizer.csv, lista_seleccion_1$df_datos_Normalizer.csv, - lista_seleccion_1$df_datos_PTrans.csv, lista_seleccion_1$df_datos_Rscaler.csv, lista_seleccion_1$df_datos_std.csv) - -nombres_seleccion_1 <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", "df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - - -n_factors <- c(4,5) -fm_methods <- c("minchi") -rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") -#rotate_methods <- c("promax","oblimin") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_1, nombres_seleccion_1, n_factors, fm_methods, rotate_methods) - - -################################################################################################################ - - -# Nuevas pruebas de seleccion de variables - -### 28.06.2023 - -## Cargar datos completos - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - -lista_seleccion_2 <- lapply(lista_datos, dplyr::select, c("TA","LPI","AREA_MN","AREA_AM","SHEI","SIDI","SPLIT","MESH","DIVISION", "SHAPE_MN","PAFRAC","IJI","LSI","TE","ED", - "RNMDP_2020","PobT", "Vehiculos","T_Viv_Prin", "COM","ED_SING","EQUIP","IND","OFI","RES_PLU","RES_UNI")) - - - -datos_seleccion_2 <- list(lista_seleccion_2$df_datos_Maxabs.csv,lista_seleccion_2$df_datos_MinMax.csv,lista_seleccion_2$df_datos_Normalizer.csv, lista_seleccion_2$df_datos_Normalizer.csv, - lista_seleccion_2$df_datos_PTrans.csv, lista_seleccion_2$df_datos_Rscaler.csv, lista_seleccion_2$df_datos_std.csv) - -nombres_seleccion_2 <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", "df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - -n_factors <- c(4,5) -fm_methods <- c("minchi") - -#rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") - -rotate_methods <- c("promax","oblimin") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_2, nombres_seleccion_2, n_factors, fm_methods, rotate_methods) - -################################################################################################################ - -# Nuevas pruebas de seleccion de variables #### - -### 28.06.2023 ### - -## Parte II. Seleccion de un menor numero de variables ## - -## Cargar datos completos #### - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - -lista_seleccion_3 <- lapply(lista_datos, dplyr::select, c("TA","AREA_MN","AREA_AM","SIDI","NP","SPLIT","DIVISION", "SHAPE_MN","PAFRAC","IJI","LSI","TE","ED", - "RNMDP_2020","T_Viviendas", "COM","ED_SING","EQUIP","IND","OFI","RES_PLU","RES_UNI")) - - - -datos_seleccion_3 <- list(lista_seleccion_3$df_datos_Maxabs.csv,lista_seleccion_3$df_datos_MinMax.csv,lista_seleccion_3$df_datos_Normalizer.csv, lista_seleccion_3$df_datos_Normalizer.csv, - lista_seleccion_3$df_datos_PTrans.csv, lista_seleccion_3$df_datos_Rscaler.csv, lista_seleccion_3$df_datos_std.csv) - -nombres_seleccion_3 <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - -n_factors <- c(5) -fm_methods <- c("minchi") - -rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") - -#rotate_methods <- c("promax","oblimin") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_3, nombres_seleccion_3, n_factors, fm_methods, rotate_methods) - - -########################################################################################################## - -# Nuevas pruebas de seleccion de variables #### - -## 29.06.2023 #### - -## Parte I. Seleccion de un menor numero de variables ## - -## Cargar datos completos #### - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - -lista_seleccion_4 <- lapply(lista_datos, dplyr::select, c("AREA_MN","GYRATE_AM","SIDI","SPLIT","MESH","DIVISION", "SHAPE_MN","PAFRAC","IJI","LSI","ED", - "RNMDP_2020","T_Viviendas", "COM","ED_SING","EQUIP","IND","OFI","RES_PLU","RES_UNI")) - - - -datos_seleccion_4 <- list(lista_seleccion_4$df_datos_Maxabs.csv,lista_seleccion_4$df_datos_MinMax.csv,lista_seleccion_4$df_datos_Normalizer.csv, - lista_seleccion_4$df_datos_PTrans.csv, lista_seleccion_4$df_datos_Rscaler.csv, lista_seleccion_4$df_datos_std.csv) - -nombres_seleccion_4 <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - -n_factors <- c(5) -fm_methods <- c("minchi") - -#rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") - -rotate_methods <- c("promax","oblimin") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_4, nombres_seleccion_4, n_factors, fm_methods, rotate_methods) - - -############################################################################################################################# -############################################################################################################################# - -## 29.06.2023 #### - -## Parte II ## - -## Cargar datos completos #### - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - -lista_seleccion_5 <- lapply(lista_datos, dplyr::select, c("GYRATE_AM","SIDI", "SPLIT","DIVISION", "SHAPE_MN","PAFRAC","IJI","LSI","ED", - "RNMDP_2020","T_Viviendas", "COM","ED_SING","EQUIP","OFI","RES_PLU","RES_UNI")) - - -datos_seleccion_5 <- list(lista_seleccion_5$df_datos_Maxabs.csv,lista_seleccion_5$df_datos_MinMax.csv,lista_seleccion_5$df_datos_Normalizer.csv, - lista_seleccion_5$df_datos_PTrans.csv, lista_seleccion_5$df_datos_Rscaler.csv, lista_seleccion_5$df_datos_std.csv) - -nombres_seleccion_5 <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - -n_factors <- c(5) -fm_methods <- c("minchi") -#rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") -rotate_methods <- c("promax","oblimin") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_5, nombres_seleccion_5, n_factors, fm_methods, rotate_methods) - -############################################################################################## - -## Analysis 04.07.2023 #### - - -## Cargar datos completos #### - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - - - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - - -lista_seleccion_ohne_AM <- lapply(lista_datos, dplyr::select, c("TA","LPI","AREA_MN","AREA_MD","GYRATE_MN","GYRATE_MD","SHEI","SIDI","SPLIT","MESH","SHAPE_MN","PAFRAC","SHAPE_MD","FRAC_MD","IJI","LSI","TE","ED", - "RNMDP_2020","PobT", "Vehiculos","T_Viv_Prin", "COM","ED_SING","EQUIP","IND","OFI","RES_PLU","RES_UNI")) - - - -datos_seleccion_ohne_AM <- list(lista_seleccion_ohne_AM$df_datos_Maxabs.csv,lista_seleccion_ohne_AM$df_datos_MinMax.csv,lista_seleccion_ohne_AM$df_datos_Normalizer.csv, lista_seleccion_ohne_AM$df_datos_Normalizer.csv, - lista_seleccion_ohne_AM$df_datos_PTrans.csv, lista_seleccion_ohne_AM$df_datos_Rscaler.csv, lista_seleccion_ohne_AM$df_datos_std.csv) - -nombres_seleccion_ohne_AM <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", "df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - - -n_factors <- c(5) -fm_methods <- c("minchi") -rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") - -#rotate_methods <- c("promax","oblimin") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_ohne_AM, nombres_seleccion_ohne_AM, n_factors, fm_methods, rotate_methods) - - - -############################################################################################################ - -## Analysis 05.07.2023 #### - -## Cargar datos completos #### - -setwd("C:/Users/CRISTIAN/github/clustering-metrics/datos/datos_completos") - -archivos <- list.files(path = ".", pattern = "*.csv$") - - - -lista_datos <- lapply(archivos, read.csv, fileEncoding = "ISO-8859-1") %>% lapply(dplyr::select, -c("Ciudades","X")) - -names(lista_datos) = archivos - - -lista_seleccion_ohne_AM <- lapply(lista_datos, dplyr::select, c("TA","LPI","AREA_MN","SIDI","SPLIT","MESH","SHAPE_MN","PAFRAC","IJI","LSI","ED", - "RNMDP_2020","T_Viviendas","COM","ED_SING","EQUIP","IND","OFI","RES_PLU","RES_UNI")) - - - -datos_seleccion_ohne_AM <- list(lista_seleccion_ohne_AM$df_datos_Maxabs.csv,lista_seleccion_ohne_AM$df_datos_MinMax.csv,lista_seleccion_ohne_AM$df_datos_Normalizer.csv, lista_seleccion_ohne_AM$df_datos_Normalizer.csv, - lista_seleccion_ohne_AM$df_datos_PTrans.csv, lista_seleccion_ohne_AM$df_datos_Rscaler.csv, lista_seleccion_ohne_AM$df_datos_std.csv) - -nombres_seleccion_ohne_AM <- c("df_datos_Maxabs","df_datos_MinMax","df_datos_Normalizer", "df_datos_Normalizer", - "df_datos_PTrans", "df_datos_Rscaler", "df_datos_std") - - -n_factors <- c(5) - -fm_methods <- c("minchi") - -#rotate_methods <- c("varimax","quartimax","bentlerT","equamax","varimin","geominT") - -rotate_methods <- c("varimax","equamax") - -#rotate_methods <- c("promax","oblimin") - -setwd("C:/Users/CRISTIAN/github/clustering-metrics") - -source("function_search_FA_parameters.R") - -library(dplyr) - -factor_analysis_export(datos_seleccion_ohne_AM, nombres_seleccion_ohne_AM, n_factors, fm_methods, rotate_methods) - - diff --git a/calculo_porcentaje_uso_ciudades.ipynb b/calculo_porcentaje_uso_ciudades.ipynb deleted file mode 100644 index ce31478..0000000 --- a/calculo_porcentaje_uso_ciudades.ipynb +++ /dev/null @@ -1,622 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# C谩lculo de porcentajes de uso del suelo" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Este script abarca el flujo de trabajo completo para obtener una tabla con el porcentaje de ocupaci贸n de uso del suelo para cada una de las ciudades de m谩s de 100.000 habitantes de Espa帽a, excluyendo el uso sin edificar y otros. Los pasos que contempla este flujo de trabajo son los siguientes: \n", - "\n", - "1.- Crear nueva columna para la categor铆a uso agregado.\n", - "2.- Reclasificar los usos a una nueva clase uso agregado.\n", - "3.- Asignar un nuevo c贸digo num茅rico a los usos de la categor铆a uso agregado.\n", - "4.- Exportar los shapefile con las modificaciones realizadas.\n", - "5.- Eliminar las clases sin edificar y otros.\n", - "6.- Calcular los porcentajes de ocupaci贸n de cada uso respecto al total, sin considerar sin edificar y otros. " - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import geopandas as gpd\n", - "import os\n", - "import glob\n", - "import string" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " ### Incorporar una barra de progreso por medio de la librar铆a tqdm" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "from tqdm import tqdm, trange \n", - "from time import sleep\n", - "from tqdm.notebook import tqdm" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Definir el directorio utilizando la librer铆a os\n" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "path =(r\"F:/Respaldo toshiba/projectos/shapes/marcos_clasificacion_ag/\")\n", - "# Definir directorio de trabajo\n", - "os.chdir(path)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Leer de forma iterativa cada uno de los shapefiles y almacenarlos en un diccionario con clave igual al nombre del archivo, y valor correspondiente al shapefile." - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "e1dd2897ff1347f7ac73f5738b11a5c1", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/72 [00:00\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
USOUSO_AG
0COMCOM
1ED_SINGED_SING
2EQUIP_EDUEQUIP
3EQUIP_OTREQUIP
4EQUIP_SANIEQUIP
5HOS_RESTOCIO
6INDIND
7IND_MXIND
8OCIO_ESPOCIO
9OFIOFI
10RES_PLURES_PLU
11RES_PLU_MXRES_PLU
12RES_UNIRES_UNI
13RES_UNI_MXRES_UNI
14SIN_EDIFSIN_EDIF
15OTROSOTROS
\n", - "" - ], - "text/plain": [ - " USO USO_AG\n", - "0 COM COM\n", - "1 ED_SING ED_SING\n", - "2 EQUIP_EDU EQUIP\n", - "3 EQUIP_OTR EQUIP\n", - "4 EQUIP_SANI EQUIP\n", - "5 HOS_REST OCIO\n", - "6 IND IND\n", - "7 IND_MX IND\n", - "8 OCIO_ESP OCIO\n", - "9 OFI OFI\n", - "10 RES_PLU RES_PLU\n", - "11 RES_PLU_MX RES_PLU\n", - "12 RES_UNI RES_UNI\n", - "13 RES_UNI_MX RES_UNI\n", - "14 SIN_EDIF SIN_EDIF\n", - "15 OTROS OTROS" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "clases_agregadas = pd.read_csv(r\"F:/Respaldo toshiba/projectos/shapes/clases_agregadas.csv\")\n", - "clases_agregadas" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Definimos una funci贸n para hacer una join usando la funci贸n merge de pandas. Ejecuta un leftjoin a partir de la columna com煤n uso." - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "def uso_agregado(data_in, clases):\n", - " data_out = {}\n", - " for key, value in data_in.items():\n", - " data_out[key] = value.merge(clases, on = 'USO', how = 'left')\n", - " return data_out\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Aplicar la funci贸n y obtenemos un nuevo diccionario con el uso agregado" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "uso_agregado = uso_agregado(dict_areas,clases_agregadas)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Definimos una funci贸n para asignar un codigo por categoria agregada" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [], - "source": [ - "def asignacion_codigo_categorias(data_in):\n", - " data_out = {}\n", - " for key, df in data_in.items():\n", - " df = df.reset_index()\n", - " usos = df['USO_AG'].unique()\n", - " cod_usos = np.arange(len(usos))\n", - " cod_map = pd.Series(cod_usos, index=usos)\n", - " df['cod_usos_a'] = df['USO_AG'].map(cod_map)\n", - " data_out[key] = df\n", - " return data_out" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Aplicamos la funci贸n para obtener un c贸digo n煤merico asociado a cada categor铆a." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "uso_agregado_cat = asignacion_codigo_categorias(uso_agregado)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "Calcular la suma de las 谩reas de cada categor铆a agregada" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "df_final = pd.DataFrame()\n", - "for key, value in uso_agregado_cat.items():\n", - " temp = uso_agregado_cat[key] \n", - " temp_cat = temp.groupby('USO_AG')['Area'].sum()\n", - " temp_area = temp.groupby('USO_AG')['Area'].sum().sum()\n", - " temp_porcentaje = (temp_cat/temp_area)*100\n", - " df_temp = temp_porcentaje.to_frame().rename(columns = {'Area':key})\n", - " df_final = pd.concat([df_final,df_temp], axis = 1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Exportar los datos a un csv" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Definimos una funci贸n para eliminar la categor铆a otros de todos los shapesfiles." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "dict_filter_sin_otros = {}\n", - "for key, value in uso_agregado_gtp_cat.items():\n", - " ciudad = uso_agregado_gtp_cat[key].copy()\n", - " ciudad1 = ciudad[ciudad.loc[:,'USO_AG'] != \"OTROS\"].copy()\n", - " dict_filter_sin_otros[key] = ciudad1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Calcular los porcentajes sin considerar la categor铆a otros. " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "df_sin_otros = pd.DataFrame()\n", - "for key, value in dict_filter_otros.items():\n", - " temp = dict_filter_otros[key] \n", - " temp_cat = temp.groupby('USO_AG')['Area'].sum()\n", - " temp_area = temp.groupby('USO_AG')['Area'].sum().sum()\n", - " temp_porcentaje = (temp_cat/temp_area)*100\n", - " df_temp = temp_porcentaje.to_frame().rename(columns = {'Area':key})\n", - " df_otros = pd.concat([df_sin_otros,df_temp], axis = 1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Finalmente, volvemos a calcular los porcentajes de cada categor铆a respecto al total, pero sin considerar la categor铆a otros, y sin edificaci贸n." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dict_filter = {}\n", - "for key, value in uso_agregado_gtp_cat.items():\n", - " ciudad = uso_agregado_gtp_cat[key].copy()\n", - " ciudad1 = ciudad[ciudad.loc[:,'USO_AG'] != \"SIN_EDIF\"].copy()\n", - " ciudad2 = ciudad1[ciudad1.loc[:,'USO_AG'] != \"OTROS\"].copy()\n", - " dict_filter[key] = ciudad2" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter = pd.DataFrame()\n", - "for key, value in dict_filter.items():\n", - " temp = dict_filter[key] \n", - " temp_cat = temp.groupby('USO_AG')['Area'].sum()\n", - " temp_area = temp.groupby('USO_AG')['Area'].sum().sum()\n", - " temp_porcentaje = (temp_cat/temp_area)*100\n", - " df_temp = temp_porcentaje.to_frame().rename(columns = {'Area':key})\n", - " df_final_filter = pd.concat([df_final_filter,df_temp], axis = 1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Exportar la tabla final" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter.to_csv('')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "La tabla tiene las variables en las filas y las observaciones en las columnas, por lo tanto tenemos que transformarla (Formato wide a long)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter_melt = df_final_filter.melt(id_vars = \"USO_AG\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter_pivot = df_final_filter_melt.pivot(columns = \"USO_AG\", values = 'value', index = 'variable')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter_pivot = df_final_filter_pivot.reset_index()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter_pivot.to_csv(\"\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Finalmente queremos corregir el nombre de las ciudades para dejar solamente el nombre de las ciudades. Esto lo haremos utilizando expresiones regulares." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter_pivot['Ciudad'] = df_final_filter_pivot['Ciudades'].str.replace('_', ' ')\n", - "df_final_filter_pivot['Ciudad'] = df_final_filter_pivot['Ciudad'].str.replace(r'\\.txt$', '')\n", - "df_final_filter_pivot['Ciudad'] = df_final_filter_pivot['Ciudad'].apply(lambda x: x.capitalize())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "rep = {'Alcorcon':'Alcorc贸n','Ciudad real':'Ciudad Real','Bodajoz':'Badajoz','Dos hermanas':'Dos Hermanas','Fuentelabra':'Fuenlabrada',\n", - "'Leganes':'Legan茅s','Logronio':'Logro帽o','Mataro':'Matar贸','Mostoles':'M贸stoles','Santa coloma':'Santa Coloma','Santa cruz tenerife':'Santa Cruz de Tenerife',\n", - "'San cristobal':'San Crist贸bal','Terrasa':'Terrassa','Terragona':'Tarragona','Corunia':'Coru帽a','Gijon':'Gij贸n',\n", - "'Las palmas':'Palmas de Gran Canaria, Las'}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def replace_cities(df, replacements,col):\n", - " for city, replacement in replacements.items():\n", - " df[col] = df[col].str.replace(city, replacement)\n", - " return df" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "df_final_filter_pivot_replace = replace_cities(df_final_filter_pivot, rep,'Ciudad')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "datamecum", - "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.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/datos_metricas_socioeconomicos_porcentajes.csv b/datos_metricas_socioeconomicos_porcentajes.csv deleted file mode 100644 index c505c02..0000000 --- a/datos_metricas_socioeconomicos_porcentajes.csv +++ /dev/null @@ -1,73 +0,0 @@ -Ciudades,TA,LPI,AREA_MN,AREA_AM,AREA_MD,GYRATE_MN,GYRATE_AM,GYRATE_MD,PRD,SHDI,SIDI,MSIDI,SHEI,SIEI,MSIEI,NP,DIVISION,SPLIT,MESH,PAFRAC,SHAPE_MN,SHAPE_MD,PARA_MN,PARA_MD,FRAC_MN,FRAC_MD,SQUARE_MN,SQUARE_MD,IJI,LSI,TE,ED,RNMDP_2020,PobT,PobH,PobM,Vehiculos,T_Viviendas,T_Viv_Prin,T_Viv_Sec,Viv_vacias,COM,ED_SING,EQUIP,IND,OCIO,OFI,RES_PLU,RES_UNI -Albacete,1605.293355,2.929497,0.116461,2.976411,0.03152,8.380829,36.057566,5.710261,0.498351,0.723601,0.755052,1.40671,0.745706,0.862917,0.676484,13784,0.998146,539.338537,29764.11375,1.036782,1.239875,1.196013,0.251356,0.242674,1.071821,1.06197,0.523948,0.500157,9.879637,79.687495,1546155.784,963.160895,12529,174336,85214,89122,125053,83250,62980,5168,15081,0.44501767,6.865099536,12.01865817,28.68764933,0.698910129,0.55346804,16.78948082,33.94171631 -Alcal de Henares,1615.304126,2.451039,0.136451,4.559123,0.019854,7.591469,55.583827,4.874116,0.495263,0.76967,0.746116,1.370878,0.771443,0.852704,0.659253,11838,0.997178,354.3015,45591.23029,1.025171,1.293679,1.267219,0.325155,0.328765,1.095561,1.092224,0.575723,0.578704,11.52813,63.226395,1220331.826,755.481155,13243,197562,96061,101501,124019,78947,71864,1255,5798,1.557488817,11.25917132,19.28088326,41.83691969,0.823272898,1.896483842,13.99431428,9.351465887 -Alcobendas,1386.626321,2.882984,0.289423,3.843857,0.069676,12.998986,45.886723,9.320043,0.495263,0.76967,0.746116,1.370878,0.771443,0.852704,0.659253,4791,0.997228,360.738228,38438.57433,1.028039,1.247419,1.185695,0.205145,0.164615,1.066683,1.054622,-3.814456,0.493816,15.371893,46.890853,848092.2295,611.622769,18684,118417,56554,61863,247035,41189,39101,566,1513,0.7796493,10.60864754,16.11861917,12.71888838,0.426557736,4.777436623,14.14253776,40.4276635 -Alcorc髇,787.044792,3.295528,0.161214,3.023467,0.028205,9.644223,43.879007,6.0778,1.016461,0.714969,0.757634,1.417307,0.751111,0.865868,0.681581,4882,0.996158,260.312025,30234.66906,1.029029,1.248374,1.223028,0.262249,0.25072,1.068275,1.070708,0.539567,0.536001,8.229806,48.316227,606523.6182,770.634181,13522,172384,82959,89425,99385,70861,66066,1303,3488,1.917221812,6.864289345,33.29560565,25.02186498,0.369680718,0.344602126,23.83687954,8.349855836 -Algeciras,1063.319019,2.044908,0.0633,2.629819,0.013341,5.460983,38.065313,3.687046,0.752361,1.209382,0.625019,0.98088,0.626374,0.714308,0.471704,16798,0.997527,404.331644,26298.18949,1.048912,1.259996,1.214451,0.404055,0.386923,1.091095,1.080717,0.539164,0.521263,10.820873,82.217416,1289373.115,1212.59292,10665,123078,60729,62349,90188,54089,42692,4700,6686,1.155168688,2.049920947,13.42054536,14.52477325,0.86434838,0.355067089,10.73480668,56.89536961 -Alicante/Alacant,2644.25298,1.662929,0.13336,2.778957,0.026882,8.629026,35.448592,5.137771,0.302543,0.75845,0.742545,1.356912,0.741693,0.848623,0.652537,19828,0.998949,951.527179,27789.56859,1.024859,1.240818,1.204889,0.267953,0.262356,1.073578,1.066561,0.53536,0.518358,10.057429,98.014149,2347700.917,887.850343,11676,337482,163385,174097,235733,186558,132637,28707,25172,1.158215963,3.049092686,11.65871786,17.6506232,2.372703335,0.42090185,25.42464328,38.26510183 -Almer韆,1221.025597,2.647566,0.047095,3.179176,0.011569,4.981105,39.172147,3.608059,0.655187,0.713636,0.759126,1.42348,0.76275,0.867572,0.684549,25927,0.997396,384.069792,31791.76342,1.027705,1.267989,1.232491,0.416482,0.413503,1.097109,1.084962,0.555736,0.542673,10.81042,103.44117,1748123.034,1431.684183,11233,201322,98531,102791,142223,99692,69178,12276,18220,1.19786496,6.426123798,21.57405394,9.32361881,1.115114248,0.829088532,25.31985637,34.21427934 -羦ila,1221.025597,2.647566,0.047095,3.179176,0.011569,4.981105,39.172147,3.608059,1.096773,0.664081,0.780506,1.516428,0.780474,0.892006,0.729248,7089,0.991158,113.102202,64491.48078,1.034888,1.25529,1.2124,0.321635,0.302125,1.082146,1.071951,0.538745,0.519508,10.374722,55.25446,693473.4489,950.728315,13209,58369,27784,30585,41695,34487,22770,3506,8189,0.473220582,7.168614595,24.10689063,16.73265346,1.775391427,0.24729183,19.54842686,29.94751061 -Badajoz,2459.10219,2.496544,0.117638,3.88053,0.017477,7.522677,39.867536,4.287598,0.325322,1.675347,0.54112,0.778966,0.551175,0.618423,0.374603,20904,0.998422,633.702638,38805.30146,1.008527,1.263527,1.219802,0.33739,0.338322,1.087256,1.074434,0.550015,0.535521,9.110097,88.067061,2143663.888,871.726233,11775,150984,73170,77814,116431,72067,56297,5161,10589,1.276354038,1.851106082,11.66369425,8.677849144,0.248779704,0.409059324,10.60708148,65.26607598 -Badalona,681.177151,4.079243,0.045908,2.010601,0.014343,5.476681,28.199631,4.179474,1.174438,0.667509,0.779475,1.511744,0.777582,0.890829,0.726995,14838,0.997048,338.792854,20106.00707,1.046864,1.336913,1.302643,0.388141,0.412724,1.108151,1.104945,0.622964,0.636074,14.459889,88.64089,1118574.663,1642.120059,12537,223166,110018,113148,126321,92894,81793,2199,8881,1.24626388,8.509623017,16.21313696,23.82652618,0.256721655,0.46583534,30.91355603,18.56833694 -Barcelona,4436.370992,1.165791,0.063782,4.135431,0.024406,6.204639,41.995155,5.018938,0.180328,0.830052,0.726807,1.297576,0.76185,0.830636,0.624002,69555,0.999068,1072.771035,41354.3137,1.053047,1.294586,1.247781,0.314192,0.289829,1.093063,1.080488,0.571572,0.56994,17.034972,176.428499,6127182.411,1381.124893,16750,1664182,790708,873474,968655,811521,684078,38769,88259,1.748788632,4.652241115,18.29327773,14.51636168,2.092078116,2.720612859,45.06742927,10.9092106 -Burgos,1736.579705,2.081176,0.18573,5.610663,0.030097,8.833211,58.938853,5.566782,0.460676,1.032058,0.668666,1.104628,0.667596,0.764189,0.531214,9350,0.996769,309.514149,56106.63393,1.041695,1.256064,1.222159,0.285839,0.251415,1.078412,1.069578,0.548882,0.53238,8.134834,59.286097,1126346.242,648.600372,14421,176418,83995,92423,107558,92140,71076,6893,14107,0.791483702,8.259385879,14.40477962,52.3121759,0.307489852,0.136661612,14.84266721,8.945356237 -C醕eres,1004.264138,10.801445,0.087993,15.591491,0.017182,6.305038,78.210549,4.368,0.796603,0.676864,0.773811,1.486385,0.767844,0.884356,0.7148,11413,0.984475,64.411039,155914.9093,1.033562,1.254194,1.220952,0.339863,0.348555,1.084645,1.073838,0.543867,0.532931,9.008143,65.01955,981162.6486,976.996601,12815,96255,46104,50151,73858,50311,37048,5989,7256,0.434506667,5.610840978,20.21645876,27.46440934,1.403430191,0.404661328,16.04868791,28.41700482 -C醖iz,346.91323,4.314831,0.06941,1.354117,0.022331,6.344666,26.279749,4.66083,2.306052,0.847446,0.71318,1.248899,0.710609,0.815062,0.600593,4998,0.996097,256.191456,13541.17093,1.065735,1.242394,1.198581,0.295931,0.287829,1.076832,1.065849,0.507219,0.486576,10.370918,51.652735,448626.6019,1293.195426,12997,115439,54580,60859,70672,59204,46966,5346,6874,1.045978109,9.97986691,17.39455304,22.72792078,1.604226427,1.280809783,44.05111827,1.915526688 -Cartagena,2538.032439,5.180597,0.061825,12.172446,0.015923,5.60611,56.254443,4.020624,0.315205,0.790186,0.734601,1.326523,0.733105,0.839545,0.637923,41052,0.995204,208.506366,121724.4577,1.030318,1.24236,1.201139,0.352023,0.341692,1.083272,1.071986,0.527564,0.508556,12.057665,129.406205,3142335.059,1238.098856,11092,216108,107478,108630,159993,115780,76599,28332,10818,1.467330278,4.402338522,14.28780137,20.87064966,1.207123214,0.138342862,15.95147077,41.67494333 -Castell de la Plana,1065.590722,6.736165,0.072494,7.510539,0.015936,6.126644,50.773006,4.231785,0.750757,0.629566,0.796432,1.591756,0.803526,0.910208,0.765473,14699,0.992952,141.879403,75105.3851,0.995107,1.300942,1.239912,0.366698,0.353584,1.101108,1.081041,0.582947,0.565608,14.856298,77.022664,1235147.245,1159.119744,12785,174264,84319,89945,128463,90990,68917,8363,13696,1.462352126,12.12712797,14.61217847,23.72778937,0.834905352,0.157396688,24.26244076,22.81580926 -Ceuta,349.66179,3.370658,0.0513,2.274088,0.009016,4.6342,37.428848,3.044126,2.287925,0.620345,0.801459,1.616759,0.821489,0.915953,0.777497,6816,0.993496,153.759147,22740.87731,1.095603,1.262175,1.203947,0.47462,0.456466,1.095877,1.082542,0.488503,0.496238,10.172125,54.792736,456502.5037,1305.554445,12358,84202,42542,41660,67589,26664,24904,413,1335,0.878866735,19.96326745,12.05413647,18.74626709,2.046676515,0.597665077,18.38491296,27.32820769 -Ciudad Real,575.896521,7.185502,0.079963,4.279406,0.023164,6.736786,39.660272,5.021657,1.389138,0.713925,0.756267,1.411683,0.744301,0.864305,0.678876,7202,0.992569,134.573939,42794.05996,1.028727,1.284991,1.257552,0.298989,0.302434,1.089199,1.082145,0.573261,0.56893,11.548152,55.824071,669910.4258,1163.247912,13580,75504,35773,39731,48679,38018,29682,3070,5253,0.615294047,3.277289094,31.04549861,11.35236866,0.726024455,1.390794448,26.06445735,25.52827334 -C髍doba,3892.869064,1.245034,0.11267,2.730728,0.027762,8.262326,35.02702,5.389476,0.205504,1.082266,0.651208,1.053279,0.645673,0.744237,0.50652,34551,0.999299,1425.579338,27307.27755,1.028187,1.284991,1.213202,0.287245,0.269167,1.078779,1.068802,0.523638,0.500479,8.638293,127.167742,3794441.747,974.715996,11791,326039,156523,169516,225687,152772,121823,13280,17615,0.545181932,3.625494744,9.032239778,20.03786553,0.994550043,0.300080889,12.14712247,53.31746462 -"Coru馻, A",1141.314854,2.34648,0.078695,3.041818,0.01881,6.538037,35.02702,4.529875,0.700946,0.645963,0.787801,1.55023,0.793153,0.900344,0.745503,14503,0.997335,375.208183,30418.17601,1.068158,1.259186,1.210611,0.327174,0.322582,1.084438,1.074097,-369540.8625,0.539218,9.371166,80.963926,1298866.823,1138.044264,14591,247604,114776,132828,144917,135450,105584,10544,19283,1.042108506,6.741383266,23.87092748,22.19081973,0.875388518,0.810725057,25.62930555,18.83934189 -Cuenca,478.304019,3.312846,0.074433,1.729964,0.013484,6.117953,36.723471,3.713148,1.672576,0.638837,0.792325,1.571782,0.805076,0.905514,0.755867,6426,0.996383,276.482083,17299.63891,1.041051,1.257844,1.218278,0.41456,0.380563,1.085491,1.078784,0.542628,0.527547,8.71695,54.160052,523593.1765,1094.686968,13160,54621,25956,28665,40587,30958,21473,4594,4866,1.500509888,10.14447526,15.38808253,26.96001378,0.571314941,0.905879967,25.03576172,19.4939619 -Dos Hermanas,1925.880926,4.048958,0.081792,8.973081,0.01476,6.152659,56.908686,3.957091,0.415394,0.835171,0.713537,1.250146,0.692011,0.815471,0.601193,23546,0.995341,214.628729,89730.80787,1.018742,1.270227,1.230733,0.342839,0.368318,1.085491,1.08187,0.551995,0.54694,8.466449,90.426492,1983809.302,1030.078898,10994,135050,66330,68720,97507,50661,44299,1094,5258,1.019749879,5.436159202,17.73784075,26.50511794,0.282604548,0.211401794,6.716097268,42.09102862 -Elche/Elx,1986.561847,3.488935,0.111261,3.578773,0.025248,8.125683,34.893413,5.101094,0.402706,0.918435,0.693897,1.183835,0.683827,0.793026,0.569304,17855,0.998199,555.095863,35787.72568,1.014367,1.239454,1.206914,0.276196,0.269019,1.074923,1.06784,0.234472,0.519107,10.0178,90.785293,1935341.469,974.21657,9840,234765,116386,118379,164532,113351,86118,13660,13558,2.28447609,1.580429639,11.91945174,19.66095931,0.877565925,0.156869792,15.84665598,47.67359152 -Fuenlabrada,986.88558,4.797541,0.123561,4.437921,0.034045,9.006354,42.055108,6.179378,0.810631,0.937728,0.687368,1.162728,0.687395,0.785563,0.559154,7987,0.995503,222.375662,44379.20819,1.027474,1.297684,1.253234,0.265427,0.233612,1.096833,1.07568,0.562036,0.554194,15.336302,66.95934,942800.8973,955.329489,11205,194514,95847,98667,122452,70841,66655,674,3506,2.143776295,4.22067063,22.22148147,48.25205318,1.178906775,0.210116081,15.54435271,6.228642869 -Getafe,1333.511318,3.280688,0.090377,4.404839,0.018878,6.498853,48.168808,4.376008,0.59992,0.791764,0.737726,1.338367,0.741321,0.843116,0.643618,14755,0.996697,302.737816,44048.38937,1.023921,1.277073,1.242009,0.319235,0.328134,1.089673,1.081304,0.575847,0.559715,6.651213,71.109092,1292087.672,968.936412,13638,185180,90403,94777,107745,69002,62509,1663,4812,1.391918878,8.96903095,14.62894766,42.7313536,0.411231219,0.267820787,15.14063568,16.45906123 -Gij髇,2071.146768,3.37409,0.141714,7.742569,0.036526,8.640796,59.908947,5.967553,0.386259,0.771771,0.735261,1.329011,0.708071,0.840298,0.639119,14615,0.996262,267.501224,77425.69323,1.061926,1.235201,1.187461,0.240152,0.225954,1.068407,1.059691,0.529323,0.50022,8.487592,80.800661,1742175.234,841.164548,13842,271717,127961,143756,167896,147212,122519,8079,16551,0.595710872,2.246498579,14.10405399,38.15103855,0.537690162,0.440848625,18.61450426,25.30965497 -Girona,679.734461,1.979426,0.072266,1.115294,0.026972,6.89068,23.841674,5.343331,1.17693,0.685813,0.769897,1.469227,0.768239,0.879882,0.706549,9406,0.998359,609.466839,11152.93595,1.031952,1.235201,1.221572,0.293199,0.270808,1.084289,1.071519,0.562663,0.543797,13.083362,70.786354,882978.1671,1299.004563,14750,103369,49809,53560,76071,47486,38245,2474,6727,1.969354894,3.52277132,23.44458903,16.06646087,0.909671049,0.53342316,22.20234348,31.3513862 -Granada,1395.765302,4.125408,0.072981,4.751803,0.015907,5.810415,43.193601,3.975179,0.573162,0.667978,0.778922,1.509238,0.789183,0.890196,0.72579,19125,0.996596,293.733857,47518.02585,1.037741,1.244693,1.203264,0.36677,0.342883,1.083137,1.07286,0.512325,0.493546,10.861967,89.200138,1540392.448,1103.618528,13251,233648,107829,125819,173509,140027,96916,16029,27024,1.048003945,7.500218094,27.4712954,13.88726665,1.2477455,0.874957416,29.13292877,18.83758422 -Guadalajara,788.017019,3.07834,0.104845,3.024986,0.019503,7.150348,43.903155,4.658112,1.015207,0.677647,0.775695,1.494749,0.7899,0.886509,0.718822,7516,0.996161,260.502719,30249.85776,1.025042,1.281085,1.250415,0.314805,0.324792,1.089258,1.083527,0.567957,0.565557,13.057642,55.134655,742005.5915,941.611125,13514,87484,42091,45393,57686,40223,32538,2263,5398,1.474126118,5.185273581,16.5472776,33.08551424,2.224587785,0.599759579,18.94362021,21.93984089 -"Hospitalet de Llobregat, L'",629.336224,2.738342,0.060023,2.476622,0.017624,5.836993,37.187806,4.335084,1.271181,0.83472,0.705742,1.223298,0.669583,0.806562,0.588282,10485,0.996065,254.110685,24766.22439,1.043084,1.294451,1.26153,0.341749,0.361694,1.096029,1.090425,0.596134,0.595362,14.031637,66.061117,857621.5779,1362.739893,11726,269382,130289,139093,126843,112105,102031,1429,8605,1.007766588,2.463846665,20.79592604,37.89075394,0.397821571,0.812028081,32.37917847,4.252678643 -Huelva,723.771461,6.668003,0.072836,8.179238,0.018571,5.920937,61.218199,4.433064,1.105321,0.672091,0.777305,1.50195,0.784593,0.888348,0.722285,9937,0.988699,88.488862,81792.38016,1.035522,1.264199,1.227771,0.355944,0.318338,1.090463,1.078018,0.532601,0.516791,9.983486,64.017992,799234.623,1104.263799,11310,143837,69043,74794,98494,67752,55255,3979,8507,1.639460011,9.137241276,30.97576606,22.86379262,0.863142065,0.446594343,23.24439887,10.82960476 -Huesca,388.279842,2.759404,0.100931,1.452965,0.036755,8.069576,30.759632,6.25183,2.06037,0.82612,0.72376,1.286486,0.727665,0.827154,0.618669,3847,0.996258,267.232724,14529.65173,1.045864,1.280859,1.231216,0.277026,0.231976,1.084043,1.073433,0.552099,0.534035,11.90866,46.307333,424146.7461,1092.373852,13630,53956,25702,28254,36057,28310,20786,2615,4883,1.476991681,8.280800709,14.77907294,43.77816207,0.317369712,0.766063212,21.92581989,8.675719798 -Ja閚,742.615915,2.867485,0.057688,2.734006,0.013795,5.840019,36.917021,4.181158,1.077273,0.634194,0.793492,1.577414,0.796878,0.906848,0.758576,12873,0.996318,271.621896,27340.06078,1.039976,1.250475,1.220862,0.375607,0.37575,1.087279,1.079303,0.536592,0.526757,7.97694,75.435438,964115.2493,1298.269037,12495,112757,54244,58513,82789,54642,43258,4123,7247,1.188939386,8.65018791,22.22008346,22.82412436,0.524742753,0.530847461,20.82115597,23.2399187 -Jerez de la Frontera,2182.981449,4.669319,0.078415,9.203425,0.015923,5.986853,53.919284,4.123398,0.366471,0.710242,0.76436,1.445449,0.770671,0.873554,0.695114,27839,0.995784,237.192296,92034.2474,1.039824,1.262895,1.22998,0.346752,0.345283,1.087721,1.078811,0.391348,0.532329,11.581823,102.536358,2336904.637,1070.510535,10049,213105,104086,109019,156740,92037,77378,4424,10213,0.942903803,13.89946354,12.21691798,23.12638675,0.818010371,0.540065787,11.9141192,36.54213256 -"Palmas de Gran Canaria, Las",1576.635765,2.406659,0.0416,2.056654,0.013085,4.793442,28.428436,3.592223,0.50741,0.687819,0.770551,1.472074,0.782022,0.880629,0.707918,37900,0.998696,766.602228,20566.54295,1.059347,1.226561,1.197519,0.367684,0.375381,1.080615,1.072834,0.523458,0.506516,14.176409,130.947028,2516826.563,1596.327205,12509,381223,183905,197318,275061,182930,144987,8299,29604,2.334813533,6.776839401,17.48749089,11.97842239,0.5785812,0.971454562,30.24429742,29.6281006 -Legan閟,1189.409657,12.402124,0.143251,21.368705,0.025194,7.908193,85.224575,5.015887,0.672603,0.665155,0.779888,1.513618,0.776091,0.8913,0.727896,8303,0.982034,55.661289,213687.0481,1.02423,1.272742,1.225505,0.286329,0.293514,1.084037,1.071646,0.548894,0.527147,8.331189,57.201862,903347.5826,759.492389,12584,191114,92573,98541,111070,75525,70949,651,3914,0.644739285,23.15812653,19.62997727,30.14009363,0.586674277,0.556979416,17.66001629,7.623393303 -Le髇,940.397089,4.102869,0.093955,5.121285,0.0226,6.788706,64.186164,4.76932,0.850704,0.687343,0.768489,1.46313,0.770071,0.878274,0.703617,10009,0.994554,183.625222,51212.84974,1.070044,1.239692,1.19268,0.296222,0.289311,1.075591,1.066118,0.518728,0.497454,11.487682,65.560972,934193.8255,993.40357,14434,124028,56191,67837,78774,78776,57490,5889,15346,2.221450988,3.365608961,24.46232624,28.84845073,0.622502926,1.212641379,26.53995649,12.72706229 -Lleida,1021.769176,2.504677,0.112307,3.573076,0.024872,7.461297,45.294329,5.065696,0.782956,0.706056,0.764,1.443922,0.756322,0.873142,0.69438,9098,0.996503,285.963493,35730.7559,1.040533,1.257449,1.207681,0.29428,0.280211,1.080504,1.070304,0.545342,0.524194,12.846056,62.381167,932638.8447,912.768624,13303,140403,69541,70862,94148,66454,55792,3167,7456,0.59529133,7.719892586,17.73560412,35.09503345,0.290183155,0.618889635,23.06261972,14.88248601 -Logro駉,852.032302,2.157928,0.158311,2.262931,0.043755,9.731187,44.4711,6.557399,0.938932,0.761619,0.738439,1.341086,0.717721,0.84393,0.644926,5382,0.997344,376.517135,22629.31015,1.030207,1.251819,1.203456,0.234857,0.206249,1.072616,1.060387,0.531431,0.508794,9.947848,52.172066,706098.2178,828.722357,13791,152485,72341,80144,93436,77682,61904,4106,11640,1.138860474,12.01304102,15.42243682,34.77140623,0.248709409,0.176393749,31.65587283,4.57327947 -Lugo,643.117386,2.530207,0.066575,1.534823,0.022438,7.14451,28.018985,5.367742,1.243941,0.668627,0.781168,1.519453,0.797964,0.892764,0.730703,9660,0.997613,419.017367,15348.22747,1.091946,1.336751,1.286445,0.31638,0.331624,1.101408,1.092393,0.571794,0.621237,10.901138,77.274943,915007.7323,1422.769391,12992,98519,45568,52951,71727,59647,40227,7026,12370,2.131199021,9.270127611,15.8464165,20.82275622,0.731994035,0.702100673,33.53081465,16.96459129 -Madrid,643.117386,2.530207,0.066575,1.534823,0.022438,7.14451,28.018985,5.367742,0.058042,0.663808,0.782504,1.525577,0.806105,0.894291,0.733647,123098,0.998446,643.361666,214237.1569,1.038102,1.25444,1.205531,0.301839,0.274237,inf,1.06819,0.350863,0.504962,10.248382,219.605314,12057792.36,874.818229,17059,3334730,1553899,1780831,2012707,1531490,1320531,57325,153101,0.786506149,13.96393448,27.12639268,13.70369557,0.909222196,3.08618411,30.89636255,9.527702268 -M醠aga,643.117386,2.530207,0.066575,1.534823,0.022438,7.14451,28.018985,5.367742,0.231482,0.676318,0.776218,1.497082,0.791311,0.887106,0.719944,46248,0.999177,1215.723799,28427.48739,1.045858,1.236386,1.195609,0.33595,0.313932,1.077701,1.068645,0.521593,0.501037,10.104268,144.608844,3989460.882,1154.358797,11246,578460,277789,300671,420160,254736,211358,14890,28410,1.864574895,5.110216948,18.10596646,18.32285617,1.004683791,1.346577432,21.18167968,33.06344462 -Marbella,3168.727803,2.135795,0.178239,5.418642,0.063617,10.20654,49.245705,8.446928,0.252467,0.998898,0.665668,1.09562,0.640649,0.760763,0.526882,17778,0.99829,584.782661,54186.41859,1.054742,1.250681,1.185366,0.247345,0.169418,1.070926,1.056655,0.211107,0.497154,10.688337,97.523648,2526590.195,797.351603,9993,147633,70833,76800,128691,86716,48791,26231,11678,0.62215373,0.984625537,19.57024139,5.143135168,2.663106728,0.194925208,20.96231564,49.8594966 -Matar,594.463594,5.236858,0.051442,2.462405,0.015254,5.555791,29.73569,4.219238,1.345751,0.637263,0.793009,1.575078,0.813828,0.906296,0.757452,11556,0.995858,241.415842,24624.05073,1.015978,1.350681,1.312535,0.369457,0.403057,1.114026,1.104583,0.631793,0.645094,16.693761,71.813266,920497.1209,1548.449948,12201,129661,64476,65185,82443,54329,47081,1272,5957,1.037829449,4.016876473,17.27686117,19.15065419,6.103669416,0.467122565,26.58451317,25.36247357 -Melilla,401.005097,6.104528,0.041811,3.416999,0.00939,4.313018,40.89123,3.119782,1.994987,0.639054,0.79249,1.572577,0.793978,0.905703,0.75625,9591,0.991479,117.35592,34169.99307,1.070934,1.19913,1.157815,0.444843,0.437038,1.076771,1.067197,0.480239,0.446324,9.21604,60.528787,542851.8849,1353.728142,11665,87076,44162,42914,72353,26246,24666,200,1367,1.016856341,28.23870996,14.3167599,14.04272964,0.54393563,0.223297634,18.79531409,22.8223968 -M髎toles,882.374697,4.427847,0.109857,4.601716,0.029115,8.071251,45.552518,5.88974,0.906644,0.642828,0.789963,1.560473,0.793922,0.902815,0.750429,8032,0.994785,191.749053,46017.16061,1.017083,1.297285,1.263912,0.283876,0.264516,1.09021,1.080007,0.57319,0.570475,7.604313,62.325516,866535.2921,982.049118,12064,210309,102307,108002,127220,79599,74951,1649,2992,0.668677476,9.202293212,24.09781895,26.79997114,0.492700331,1.065648059,20.46323557,17.20965526 -Murcia,882.374697,4.427847,0.109857,4.601716,0.029115,8.071251,45.552518,5.88974,0.188628,0.735037,0.75396,1.402262,0.751272,0.861669,0.674345,57688,0.998245,569.772079,74436.04097,1.047906,1.268026,1.221349,0.317831,0.307044,1.086123,1.074292,-153655.9954,0.531412,11.48254,172.658116,5086644.201,1199.352739,11778,459403,224929,234474,358228,207618,156916,14611,36044,1.037802889,7.476055071,13.77790411,22.31853906,0.541381515,0.346356319,16.53097129,37.97098974 -Ourense,1072.807433,1.343457,0.06342,1.306178,0.023652,6.570052,25.322967,5.014611,0.745707,1.208704,0.622217,0.973436,0.603775,0.711105,0.468124,16916,0.998782,821.333532,13061.77565,1.096012,1.280935,1.224703,0.326494,0.291726,1.087607,1.077016,0.56419,0.543765,6.478429,103.781409,1541938.731,1437.293109,13037,105643,47891,57752,73491,67104,43805,8707,14561,0.260536632,2.458586705,9.937318601,13.04664616,0.178122256,0.311044864,17.17025435,56.63749043 -Oviedo,981.507459,3.520464,0.11599,2.993032,0.032942,8.17277,37.143082,5.842881,0.815073,0.764665,0.737757,1.338482,0.705927,0.84315,0.643674,8462,0.996951,327.930774,29930.32486,1.057826,1.254438,1.205068,0.265896,0.243552,1.35325,1.065915,0.538619,0.514612,9.230418,66.354134,950174.9494,968.077156,14657,219910,101749,118161,133254,123730,97821,7283,18582,0.507020142,1.795108367,22.89803533,20.76770152,0.418780422,0.514738154,37.80021051,15.29840555 -Palencia,624.655113,3.783919,0.103471,3.707235,0.021156,7.332732,55.588778,4.845938,1.280707,0.737545,0.750623,1.388791,0.731803,0.857855,0.667867,6037,0.994065,168.496219,37072.35186,1.043739,1.245576,1.201339,0.295989,0.296904,0.661278,1.068949,0.549911,0.518849,9.575122,50.37555,602511.9897,964.551441,13662,78144,36875,41269,51281,44610,32691,4745,7137,1.093943754,4.112275441,20.23707835,37.20466967,0.20911061,0.214805186,18.47343359,18.4546834 -Palma de Mallorca,2946.774052,3.279668,0.083951,4.930098,0.028243,7.128906,37.14125,5.237095,0.271483,0.683856,0.773189,1.483637,0.791149,0.883644,0.713479,35101,0.998327,597.711104,49300.97558,1.027479,1.254301,1.214899,0.269904,0.262725,1.078541,1.06891,0.532558,0.529751,15.600723,125.961797,3460655.326,1174.387742,12998,422587,206654,215933,360254,182244,159316,6521,16349,0.927676765,6.242174717,16.01056755,13.67968868,3.027674339,0.815612142,26.73804607,32.55855973 -Parla,633.212934,19.994841,0.096822,27.703034,0.019997,6.856993,109.147215,5.466245,1.263398,0.675798,0.776232,1.497147,0.791741,0.887123,0.719976,6540,0.95625,22.857169,277030.3385,1.043017,1.300935,1.28017,0.329106,0.336968,1.096462,1.092514,0.426996,0.608534,7.905136,47.406647,578738.9117,913.972031,9803,133482,66524,66958,66997,47097,43712,576,2805,2.334117454,5.324166237,19.0690841,32.24693509,0.377942902,1.990844833,24.28335942,14.37354996 -Pontevedra,604.755716,6.60961,0.085454,3.423965,0.035801,7.74214,38.137105,6.265001,1.322848,0.770596,0.735808,1.331078,0.710126,0.840923,0.640113,7077,0.994338,176.62441,34239.64548,1.090859,1.296588,1.230306,0.284937,0.243004,1.086863,1.07469,0.521571,0.548893,10.560709,69.490392,753826.0941,1246.496848,13047,83260,39344,43916,59044,39568,30946,1726,6886,0.681221751,1.489442517,14.01950383,23.7660659,1.078373903,0.428354474,20.23446423,38.3025734 -Sabadell,1090.068472,2.090116,0.043296,1.570535,0.013927,5.171963,27.855174,4.082364,0.733899,0.673577,0.773694,1.485865,0.764465,0.884221,0.71455,25177,0.998559,694.074811,15705.34551,1.083084,1.415343,1.360043,0.415406,0.435982,1.133652,1.122543,-123991.3169,0.687683,17.994628,107.511781,1910152.83,1752.323712,13520,216520,105388,111132,139550,93237,81596,1423,10184,1.392173289,2.515662469,19.89253037,23.5695134,1.087194583,0.598761951,26.95004489,23.99411905 -Salamanca,885.137174,3.267961,0.094073,4.048108,0.020095,6.581246,46.490574,4.532603,0.903815,0.714124,0.756183,1.411336,0.745841,0.864209,0.678709,9409,0.995427,218.654554,40481.07659,1.051635,1.257037,1.21058,0.312493,0.306654,1.082017,1.07135,0.549894,0.51992,11.288692,64.237809,882897.217,997.469367,13185,144825,65661,79164,79554,92491,64588,14907,12954,0.761127537,7.018541555,29.25256781,26.09774571,1.115083177,0.421178931,28.29401661,7.03973867 -San Crist骲al de La Laguna,1438.04495,0.814449,0.052825,1.018972,0.017127,6.116619,24.412439,4.596158,0.556311,0.932454,0.69106,1.174608,0.681847,0.789783,0.564867,27223,0.999291,1411.271008,10189.7151,1.082293,1.253427,1.205466,0.331662,0.335698,1.082882,1.072537,0.531807,0.518625,12.33727,123.810552,2160385.8,1502.307561,11481,158911,76703,82208,129699,71233,57555,4045,9621,0.925674134,3.908889416,11.64032344,15.55077719,0.533987354,0.243181842,18.80216244,48.39500419 -Santa Coloma de Gramenet,275.938786,9.182635,0.041476,2.952744,0.020184,5.446041,29.299202,4.79812,2.899194,0.850595,0.708782,1.233682,0.689198,0.810036,0.593276,6653,0.989299,93.451637,29527.44262,1.04622,1.254024,1.20779,0.264173,0.230264,1.076411,1.065345,0.536362,0.516802,16.338627,55.920871,510347.0832,1849.493832,10799,120443,59527,60916,57124,48527,45646,498,2371,2.440079648,2.179385759,25.5793274,8.273807802,0.314589044,0.278266951,43.15656515,17.77797824 -Santa Cruz de Tenerife,1017.423254,1.543634,0.048066,1.004617,0.013195,5.551545,24.463683,4.069826,0.7863,0.727781,0.750957,1.390129,0.728807,0.858236,0.668511,21167,0.999013,1012.747587,10046.16814,1.049767,1.235287,1.199565,0.374101,0.374048,1.082768,1.072958,0.532703,0.516691,9.025349,106.397217,1496086.987,1470.466672,12547,209194,99840,109354,176209,96313,78572,5125,12593,0.739465334,2.971492933,14.5187984,19.0880732,0.413263605,0.604738863,32.26989874,29.39426893 -Santander,1216.584547,3.359808,0.123049,3.951181,0.032875,8.443763,45.332585,5.853981,0.657579,0.672155,0.777239,1.501657,0.778447,0.888274,0.722145,9887,0.996752,307.904062,39511.80574,1.069452,1.275037,1.213704,0.273275,0.244573,1.080693,1.068258,0.556365,0.5255,13.140323,72.304405,1161190.899,954.467901,14202,173375,79936,93439,117011,92442,73395,8286,10742,0.771991578,6.903087829,19.01689502,17.76517482,0.843979824,0.698586902,31.63147502,22.368809 -Segovia,550.996736,3.749205,0.102359,2.840016,0.024102,7.334539,41.711668,4.959739,1.451914,0.616999,0.802926,1.624175,0.815801,0.91763,0.781063,5383,0.994846,194.011864,28400.15682,1.064557,1.273825,1.215704,0.302834,0.295236,1.083889,1.070855,0.54725,0.518428,11.974658,50.979095,549244.4213,996.819737,13441,52057,24328,27729,36270,28894,21254,2649,4972,0.628881795,16.82703858,15.53102878,23.03909757,2.210847803,0.167142189,25.54959821,16.04636507 -Sevilla,550.996736,3.749205,0.102359,2.840016,0.024102,7.334539,41.711668,4.959739,0.214436,0.615403,0.803449,1.626831,0.829605,0.918227,0.782341,57878,0.997208,358.230217,104142.886,1.035909,1.267778,1.219951,0.450273,0.389583,1.096375,1.081786,0.340574,0.513197,13.41208,139.26766,4097269.579,1098.253798,12490,691395,328013,363382,485440,337303,268435,20612,48178,1.465233613,14.4821703,21.98988141,23.33898421,1.35333236,1.202196674,23.91609028,12.25211116 -Soria,379.935971,4.003721,0.110511,2.281415,0.033063,8.137307,34.455219,5.682173,2.105618,0.749789,0.745836,1.369775,0.737823,0.852384,0.658723,3438,0.993995,166.535215,22814.152,1.04622,1.254024,1.20779,0.264173,0.230264,1.076411,1.065345,0.536362,0.516802,9.009657,41.858176,374902.5855,986.752016,14573,39821,18788,21033,29588,23597,15965,3645,3977,1.02237651,3.16006562,16.31025216,37.93921379,0.674618665,0.947700241,23.57955247,16.36622055 -Tarragona,1313.091165,5.279116,0.138017,2.281415,0.040985,8.785371,55.511952,6.577365,0.609249,0.629911,0.797619,1.597604,0.823623,0.911565,0.768285,9514,0.994988,199.540585,65805.71883,1.057172,1.259214,1.206575,0.263796,0.216383,1.076287,1.065068,0.54812,0.528677,14.707599,65.374082,1138688.585,867.181667,13860,136496,66666,69830,94004,65723,52391,5548,7772,0.694231218,12.17989777,15.55301158,23.39023286,1.162169448,2.463067373,15.72582008,28.83156967 -Terrassa,1253.75102,1.919933,0.049161,1.306412,0.01567,5.899534,23.790631,4.719074,0.638085,0.713778,0.757116,1.41517,0.749488,0.865275,0.680553,25503,0.998958,959.690368,13064.12008,1.035035,1.404373,1.348658,0.384417,0.417365,1.12768,1.119531,0.653962,0.675532,17.736428,111.673236,2090006.008,1667.002438,13243,223627,109948,113679,149620,101739,83249,2544,15908,2.146106915,4.494514233,9.861473011,27.15666178,0.459974344,0.44176089,23.71182654,31.72768228 -Teruel,519.992981,4.61585,0.087497,2.474775,0.020931,6.973207,34.569297,4.802547,1.538482,0.79297,0.728547,1.303966,0.708345,0.832625,0.627075,5943,0.995241,210.117254,24747.75254,1.040073,1.276532,1.227719,0.326296,0.311237,1.088724,1.077512,0.561993,0.539894,9.270194,56.084285,566438.277,1089.319082,14090,36240,17287,18953,28945,19022,13218,2755,3026,0.612204498,3.333225824,14.05755242,39.63495541,1.050809995,0.119447027,14.07670123,27.11510359 -Toledo,1699.657512,13.068388,0.217654,34.804116,0.022233,8.69961,110.391413,4.81292,0.470683,0.735045,0.756789,1.413825,0.765116,0.864902,0.679906,7809,0.979523,48.834958,348041.156,1.02563,1.259621,1.216064,0.311901,0.295576,1.084151,1.07396,-55179.7298,0.520097,10.888881,50.290169,946247.6269,556.728411,14326,85811,40941,44870,60442,37923,31386,2464,4030,0.314278985,16.67185861,17.11969161,15.40663401,1.700557438,0.645446531,8.880285029,39.26124778 -Torrej髇 de Ardoz,2003.737494,66.928393,0.339099,898.453967,0.024424,8.297531,821.120921,5.573816,0.399254,2.307808,0.45807,0.612619,0.471648,0.523509,0.294608,5909,0.551611,2.230206,8984539.673,1.046314,1.279729,1.224598,0.28411,0.283542,1.084836,1.072528,0.559403,0.53502,9.017763,31.137722,655656.7445,327.216887,12188,132853,65343,67510,86439,49216,44581,661,3967,0.300058007,72.04759211,4.894815203,11.73851288,0.234591027,0.22512086,7.597285006,2.962024905 -Valencia,2164.215491,2.51541,0.065111,4.506163,0.024895,6.216411,38.408851,4.992987,0.369649,0.871006,0.710258,1.238763,0.723575,0.811723,0.595719,33239,0.997918,480.279041,45061.62681,1.042692,1.257228,1.213188,0.306693,0.276416,1.079785,1.070835,0.54507,0.5255,14.618656,125.303941,2864155.963,1323.415332,13873,800215,380293,419922,513747,419994,328979,33757,57193,2.379025634,4.969881312,20.81178784,15.18235964,0.892344167,0.835997541,46.08362235,8.844981523 -Valladolid,2764.692882,2.285334,0.170702,9.992102,0.028855,8.463257,74.230483,5.39219,0.289363,0.708775,0.762939,1.439438,0.757313,0.87193,0.692223,16196,0.996386,276.687811,99921.02196,1.029885,1.260936,1.224576,0.297016,0.25854,2.406995,1.07222,0.554657,0.537779,10.983938,75.829594,1873658.813,677.709566,14247,299265,140247,159018,182319,158259,129151,10260,18757,0.554565569,6.484726891,20.23269672,35.57945567,0.798932155,0.459606087,19.95669411,15.93332281 -Vigo,2673.672921,4.253406,0.076896,7.653004,0.03715,7.448687,40.795189,6.35969,0.299214,0.92435,0.691404,1.175722,0.67477,0.790176,0.565403,34770,0.997138,349.362521,76530.04423,1.109125,1.296248,1.232625,0.278694,0.239418,1.086155,1.074478,0.565968,0.551518,11.377132,151.527114,3592622.038,1343.702893,13164,296692,140164,156528,215138,143638,114455,10536,18588,0.428888023,3.261984294,15.13932598,20.63672613,0.557649427,0.404116363,11.82431516,47.74699461 -Zamora,551.778808,9.977708,0.075195,6.638329,0.018018,6.080244,52.258509,4.223122,1.449856,0.673657,0.774217,1.488181,0.758289,0.88482,0.715664,7338,0.987969,83.120135,66383.29042,1.047176,1.260158,1.217223,0.350769,0.330062,1.086805,1.076438,0.547378,0.528852,12.125267,55.257533,622534.684,1128.23232,12884,60988,28299,32689,41943,39079,27297,5092,6673,1.117132834,4.423835616,24.28850055,27.91758554,0.424894784,0.199479246,21.52089153,20.10767991 -Zaragoza,4188.64345,1.57618,0.148265,6.420273,0.028926,8.365215,65.532054,5.374877,0.190993,0.765839,0.742138,1.35533,0.731288,0.848158,0.651776,28251,0.998467,652.408945,64202.72871,1.04527,1.245742,1.197868,0.269641,0.255703,1.074214,1.064998,0.036638,0.504216,12.7523,105.150657,3250830.304,776.105759,14220,681877,326103,355774,376213,327112,277588,14208,35136,0.759847791,7.166900881,14.00403742,39.66411238,0.305394384,0.273807024,23.48225866,14.34364147 diff --git a/escalar_variables.ipynb b/escalar_variables.ipynb deleted file mode 100644 index ca648e1..0000000 --- a/escalar_variables.ipynb +++ /dev/null @@ -1,4814 +0,0 @@ -{ - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ESCALADO DE CARACTER脥STICAS" - ] - }, - { - "cell_type": "code", - "execution_count": 77, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "from sklearn.preprocessing import MinMaxScaler, MaxAbsScaler,StandardScaler,RobustScaler,Normalizer,QuantileTransformer,PowerTransformer\n", - "from matplotlib import pyplot as plt" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Desactivamos la notaci贸n cient铆fica" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "pd.set_option('display.float_format', '{:.2f}'.format)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Si es necesario podemos definir un diccionario definiendo el tipo de datos que deben tomar las variables al leer el archivo csv. " - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "#dtypes = {'NP':float, 'RNMDP_2020':float,'PobT':float,'PobH':float,'PobM':float,'Vehiculos':float,\n", - "#'T_Viviendas':float,'T_Viv_Prin':float,'T_Viv_Sec':float,'Viv_vacias':float,'T_viv_col':float}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Leer el archivo de datos" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "datos = pd.read_csv(r'C:\\Users\\crist\\Documents\\GitHub\\manifolds\\clustering-cities-spain\\datos_metricas_socioeconomicos_porcentajes.csv', encoding = \"ISO-8859-1\"\n", - ")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "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", - "
CiudadesTALPIAREA_MNAREA_AMAREA_MDGYRATE_MNGYRATE_AMGYRATE_MDPRD...T_Viv_SecViv_vaciasCOMED_SINGEQUIPINDOCIOOFIRES_PLURES_UNI
0Albacete1605.2933552.9294970.1164612.9764110.0315208.38082936.0575665.7102610.498351...5168150810.4450186.86510012.01865828.6876490.6989100.55346816.78948133.941716
1Alcal谩 de Henares1615.3041262.4510390.1364514.5591230.0198547.59146955.5838274.8741160.495263...125557981.55748911.25917119.28088341.8369200.8232731.89648413.9943149.351466
2Alcobendas1386.6263212.8829840.2894233.8438570.06967612.99898645.8867239.3200430.495263...56615130.77964910.60864816.11861912.7188880.4265584.77743714.14253840.427664
3Alcorc贸n787.0447923.2955280.1612143.0234670.0282059.64422343.8790076.0778001.016461...130334881.9172226.86428933.29560625.0218650.3696810.34460223.8368808.349856
4Algeciras1063.3190192.0449080.0633002.6298190.0133415.46098338.0653133.6870460.752361...470066861.1551692.04992113.42054514.5247730.8643480.35506710.73480756.895370
..................................................................
67Valencia2164.2154912.5154100.0651114.5061630.0248956.21641138.4088514.9929870.369649...33757571932.3790264.96988120.81178815.1823600.8923440.83599846.0836228.844982
68Valladolid2764.6928822.2853340.1707029.9921020.0288558.46325774.2304835.3921900.289363...10260187570.5545666.48472720.23269735.5794560.7989320.45960619.95669415.933323
69Vigo2673.6729214.2534060.0768967.6530040.0371507.44868740.7951896.3596900.299214...10536185880.4288883.26198415.13932620.6367260.5576490.40411611.82431547.746995
70Zamora551.7788089.9777080.0751956.6383290.0180186.08024452.2585094.2231221.449856...509266731.1171334.42383624.28850127.9175860.4248950.19947921.52089220.107680
71Zaragoza4188.6434501.5761800.1482656.4202730.0289268.36521565.5320545.3748770.190993...14208351360.7598487.16690114.00403739.6641120.3053940.27380723.48225914.343641
\n", - "

72 rows 脳 49 columns

\n", - "
" - ], - "text/plain": [ - " Ciudades TA LPI AREA_MN AREA_AM AREA_MD \\\n", - "0 Albacete 1605.293355 2.929497 0.116461 2.976411 0.031520 \n", - "1 Alcal谩 de Henares 1615.304126 2.451039 0.136451 4.559123 0.019854 \n", - "2 Alcobendas 1386.626321 2.882984 0.289423 3.843857 0.069676 \n", - "3 Alcorc贸n 787.044792 3.295528 0.161214 3.023467 0.028205 \n", - "4 Algeciras 1063.319019 2.044908 0.063300 2.629819 0.013341 \n", - ".. ... ... ... ... ... ... \n", - "67 Valencia 2164.215491 2.515410 0.065111 4.506163 0.024895 \n", - "68 Valladolid 2764.692882 2.285334 0.170702 9.992102 0.028855 \n", - "69 Vigo 2673.672921 4.253406 0.076896 7.653004 0.037150 \n", - "70 Zamora 551.778808 9.977708 0.075195 6.638329 0.018018 \n", - "71 Zaragoza 4188.643450 1.576180 0.148265 6.420273 0.028926 \n", - "\n", - " GYRATE_MN GYRATE_AM GYRATE_MD PRD ... T_Viv_Sec Viv_vacias \\\n", - "0 8.380829 36.057566 5.710261 0.498351 ... 5168 15081 \n", - "1 7.591469 55.583827 4.874116 0.495263 ... 1255 5798 \n", - "2 12.998986 45.886723 9.320043 0.495263 ... 566 1513 \n", - "3 9.644223 43.879007 6.077800 1.016461 ... 1303 3488 \n", - "4 5.460983 38.065313 3.687046 0.752361 ... 4700 6686 \n", - ".. ... ... ... ... ... ... ... \n", - "67 6.216411 38.408851 4.992987 0.369649 ... 33757 57193 \n", - "68 8.463257 74.230483 5.392190 0.289363 ... 10260 18757 \n", - "69 7.448687 40.795189 6.359690 0.299214 ... 10536 18588 \n", - "70 6.080244 52.258509 4.223122 1.449856 ... 5092 6673 \n", - "71 8.365215 65.532054 5.374877 0.190993 ... 14208 35136 \n", - "\n", - " COM ED_SING EQUIP IND OCIO OFI RES_PLU \\\n", - "0 0.445018 6.865100 12.018658 28.687649 0.698910 0.553468 16.789481 \n", - "1 1.557489 11.259171 19.280883 41.836920 0.823273 1.896484 13.994314 \n", - "2 0.779649 10.608648 16.118619 12.718888 0.426558 4.777437 14.142538 \n", - "3 1.917222 6.864289 33.295606 25.021865 0.369681 0.344602 23.836880 \n", - "4 1.155169 2.049921 13.420545 14.524773 0.864348 0.355067 10.734807 \n", - ".. ... ... ... ... ... ... ... \n", - "67 2.379026 4.969881 20.811788 15.182360 0.892344 0.835998 46.083622 \n", - "68 0.554566 6.484727 20.232697 35.579456 0.798932 0.459606 19.956694 \n", - "69 0.428888 3.261984 15.139326 20.636726 0.557649 0.404116 11.824315 \n", - "70 1.117133 4.423836 24.288501 27.917586 0.424895 0.199479 21.520892 \n", - "71 0.759848 7.166901 14.004037 39.664112 0.305394 0.273807 23.482259 \n", - "\n", - " RES_UNI \n", - "0 33.941716 \n", - "1 9.351466 \n", - "2 40.427664 \n", - "3 8.349856 \n", - "4 56.895370 \n", - ".. ... \n", - "67 8.844982 \n", - "68 15.933323 \n", - "69 47.746995 \n", - "70 20.107680 \n", - "71 14.343641 \n", - "\n", - "[72 rows x 49 columns]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datos" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Visualizaci贸n de la distribuci贸n de los datos en forma de tabla" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
countmeanstdmin25%50%75%max
TA72.01.318404e+039.184625e+02275.938786643.1173861.042544e+031.636392e+034.436371e+03
LPI72.04.985617e+008.019584e+000.8144492.4851683.304187e+004.474848e+006.692839e+01
AREA_MN72.09.916672e-025.319897e-020.0414760.0647798.647550e-021.161077e-013.390990e-01
AREA_AM72.01.743274e+011.054410e+021.0046172.4171583.420482e+004.977895e+008.984540e+02
AREA_MD72.02.392935e-021.060419e-020.0090160.0168292.243800e-022.839600e-026.967600e-02
GYRATE_MN72.07.094323e+001.488582e+004.3130186.0568967.051056e+008.128589e+001.299899e+01
GYRATE_AM72.05.511094e+019.310961e+0123.79063134.9936184.084321e+015.114438e+018.211209e+02
GYRATE_MD72.05.008917e+001.050683e+003.0441264.2736454.959739e+005.491379e+009.320043e+00
PRD72.08.524466e-015.863966e-010.0580420.4018437.398030e-011.175061e+002.899194e+00
SHDI72.07.892292e-012.464732e-010.6154030.6721397.145465e-018.012575e-012.307808e+00
SIDI72.07.421337e-015.828422e-020.4580700.7281127.565280e-017.772555e-018.034490e-01
MSIDI72.01.375261e+001.911268e-010.6126191.3023691.412754e+001.501730e+001.626831e+00
SHEI72.07.417274e-016.331482e-020.4716480.7104887.568175e-017.857405e-018.296050e-01
SIEI72.08.481527e-016.661054e-020.5235090.8321288.646035e-018.882925e-019.182270e-01
MSIEI72.06.613607e-019.191256e-020.2946080.6263076.793910e-017.221800e-017.823410e-01
NP72.01.828046e+041.855340e+043438.0000007471.5000001.148450e+042.176175e+041.230980e+05
DIVISION72.09.889365e-015.260589e-020.5516110.9948319.964445e-019.981592e-019.992990e-01
SPLIT72.03.901311e+023.149477e+022.230206193.4461612.813257e+025.432779e+021.425579e+03
MESH72.01.797694e+051.053929e+0610046.16814025915.1982153.775546e+046.482004e+048.984540e+06
PAFRAC72.01.044594e+002.184804e-020.9951071.0289541.041373e+001.053471e+001.109125e+00
SHAPE_MN72.01.269265e+003.491183e-021.1991301.2506301.259809e+001.280878e+001.415343e+00
SHAPE_MD72.01.225296e+003.445610e-021.1578151.2053671.217750e+001.230854e+001.360043e+00
PARA_MN72.03.192130e-015.362411e-020.2051450.2825813.133425e-013.477562e-014.746200e-01
PARA_MD72.03.062550e-016.350343e-020.1646150.2614022.995145e-013.434830e-014.564660e-01
FRAC_MD72.01.075643e+001.208133e-021.0546221.0687631.072909e+001.080127e+001.122543e+00
SQUARE_MN72.0-9.754677e+034.918178e+04-369540.8625000.5215875.393655e-015.571245e-016.539620e-01
SQUARE_MD72.05.364690e-014.159291e-020.4463240.5161715.273470e-015.445828e-016.876830e-01
IJI72.01.129271e+012.676121e+006.4784299.2268241.084142e+011.289895e+011.799463e+01
LSI72.08.309622e+013.564757e+0131.13772256.0434317.146118e+011.027626e+022.196053e+02
TE72.01.685269e+061.701765e+06374902.585500750870.9684501.122460e+062.010358e+061.205779e+07
ED72.01.097312e+032.901204e+02327.216887934.7013511.079915e+031.298453e+031.849494e+03
RNMDP_202072.01.292796e+041.569903e+039803.00000011787.7500001.301750e+041.369425e+041.868400e+04
PobT72.02.620163e+054.322667e+0536240.000000110978.5000001.656475e+052.261322e+053.334730e+06
PobH72.01.251140e+052.023449e+0517287.00000053135.2500007.831950e+041.099655e+051.553899e+06
PobM72.01.369024e+052.299629e+0518953.00000058322.7500008.566500e+041.182155e+051.780831e+06
Vehiculos72.01.739258e+052.613792e+0528945.00000073206.5000001.137505e+051.611278e+052.012707e+06
T_Viviendas72.01.247685e+052.020095e+0519022.00000049043.7500007.660350e+041.139582e+051.531490e+06
T_Viv_Prin72.01.016010e+051.727884e+0513218.00000042075.7500006.274450e+048.881750e+041.320531e+06
T_Viv_Sec72.08.011514e+039.963596e+03200.0000002247.0000004.722500e+039.095250e+035.732500e+04
Viv_vacias72.01.511262e+042.143417e+041335.0000005256.7500009.251000e+031.601825e+041.531010e+05
COM72.01.142787e+005.816195e-010.2605370.6780861.037816e+001.469029e+002.440080e+00
ED_SING72.08.086762e+009.199959e+000.9846263.4834816.455425e+009.153504e+007.204759e+01
EQUIP72.01.799633e+015.528186e+004.89481514.3095201.719828e+012.100235e+013.329561e+01
IND72.02.391042e+011.016568e+015.14313515.9375402.284396e+012.872785e+015.231218e+01
OCIO72.09.576019e-018.744678e-010.1781220.4233667.654631e-011.115091e+006.103669e+00
OFI72.07.223227e-017.620613e-010.1194470.2771524.909304e-018.189812e-014.777437e+00
RES_PLU72.02.251444e+018.517932e+006.71609716.4104002.172336e+012.655110e+014.608362e+01
RES_UNI72.02.466934e+011.454853e+011.91552714.3660732.259231e+013.328301e+016.526608e+01
\n", - "
" - ], - "text/plain": [ - " count mean std min 25% \\\n", - "TA 72.0 1.318404e+03 9.184625e+02 275.938786 643.117386 \n", - "LPI 72.0 4.985617e+00 8.019584e+00 0.814449 2.485168 \n", - "AREA_MN 72.0 9.916672e-02 5.319897e-02 0.041476 0.064779 \n", - "AREA_AM 72.0 1.743274e+01 1.054410e+02 1.004617 2.417158 \n", - "AREA_MD 72.0 2.392935e-02 1.060419e-02 0.009016 0.016829 \n", - "GYRATE_MN 72.0 7.094323e+00 1.488582e+00 4.313018 6.056896 \n", - "GYRATE_AM 72.0 5.511094e+01 9.310961e+01 23.790631 34.993618 \n", - "GYRATE_MD 72.0 5.008917e+00 1.050683e+00 3.044126 4.273645 \n", - "PRD 72.0 8.524466e-01 5.863966e-01 0.058042 0.401843 \n", - "SHDI 72.0 7.892292e-01 2.464732e-01 0.615403 0.672139 \n", - "SIDI 72.0 7.421337e-01 5.828422e-02 0.458070 0.728112 \n", - "MSIDI 72.0 1.375261e+00 1.911268e-01 0.612619 1.302369 \n", - "SHEI 72.0 7.417274e-01 6.331482e-02 0.471648 0.710488 \n", - "SIEI 72.0 8.481527e-01 6.661054e-02 0.523509 0.832128 \n", - "MSIEI 72.0 6.613607e-01 9.191256e-02 0.294608 0.626307 \n", - "NP 72.0 1.828046e+04 1.855340e+04 3438.000000 7471.500000 \n", - "DIVISION 72.0 9.889365e-01 5.260589e-02 0.551611 0.994831 \n", - "SPLIT 72.0 3.901311e+02 3.149477e+02 2.230206 193.446161 \n", - "MESH 72.0 1.797694e+05 1.053929e+06 10046.168140 25915.198215 \n", - "PAFRAC 72.0 1.044594e+00 2.184804e-02 0.995107 1.028954 \n", - "SHAPE_MN 72.0 1.269265e+00 3.491183e-02 1.199130 1.250630 \n", - "SHAPE_MD 72.0 1.225296e+00 3.445610e-02 1.157815 1.205367 \n", - "PARA_MN 72.0 3.192130e-01 5.362411e-02 0.205145 0.282581 \n", - "PARA_MD 72.0 3.062550e-01 6.350343e-02 0.164615 0.261402 \n", - "FRAC_MD 72.0 1.075643e+00 1.208133e-02 1.054622 1.068763 \n", - "SQUARE_MN 72.0 -9.754677e+03 4.918178e+04 -369540.862500 0.521587 \n", - "SQUARE_MD 72.0 5.364690e-01 4.159291e-02 0.446324 0.516171 \n", - "IJI 72.0 1.129271e+01 2.676121e+00 6.478429 9.226824 \n", - "LSI 72.0 8.309622e+01 3.564757e+01 31.137722 56.043431 \n", - "TE 72.0 1.685269e+06 1.701765e+06 374902.585500 750870.968450 \n", - "ED 72.0 1.097312e+03 2.901204e+02 327.216887 934.701351 \n", - "RNMDP_2020 72.0 1.292796e+04 1.569903e+03 9803.000000 11787.750000 \n", - "PobT 72.0 2.620163e+05 4.322667e+05 36240.000000 110978.500000 \n", - "PobH 72.0 1.251140e+05 2.023449e+05 17287.000000 53135.250000 \n", - "PobM 72.0 1.369024e+05 2.299629e+05 18953.000000 58322.750000 \n", - "Vehiculos 72.0 1.739258e+05 2.613792e+05 28945.000000 73206.500000 \n", - "T_Viviendas 72.0 1.247685e+05 2.020095e+05 19022.000000 49043.750000 \n", - "T_Viv_Prin 72.0 1.016010e+05 1.727884e+05 13218.000000 42075.750000 \n", - "T_Viv_Sec 72.0 8.011514e+03 9.963596e+03 200.000000 2247.000000 \n", - "Viv_vacias 72.0 1.511262e+04 2.143417e+04 1335.000000 5256.750000 \n", - "COM 72.0 1.142787e+00 5.816195e-01 0.260537 0.678086 \n", - "ED_SING 72.0 8.086762e+00 9.199959e+00 0.984626 3.483481 \n", - "EQUIP 72.0 1.799633e+01 5.528186e+00 4.894815 14.309520 \n", - "IND 72.0 2.391042e+01 1.016568e+01 5.143135 15.937540 \n", - "OCIO 72.0 9.576019e-01 8.744678e-01 0.178122 0.423366 \n", - "OFI 72.0 7.223227e-01 7.620613e-01 0.119447 0.277152 \n", - "RES_PLU 72.0 2.251444e+01 8.517932e+00 6.716097 16.410400 \n", - "RES_UNI 72.0 2.466934e+01 1.454853e+01 1.915527 14.366073 \n", - "\n", - " 50% 75% max \n", - "TA 1.042544e+03 1.636392e+03 4.436371e+03 \n", - "LPI 3.304187e+00 4.474848e+00 6.692839e+01 \n", - "AREA_MN 8.647550e-02 1.161077e-01 3.390990e-01 \n", - "AREA_AM 3.420482e+00 4.977895e+00 8.984540e+02 \n", - "AREA_MD 2.243800e-02 2.839600e-02 6.967600e-02 \n", - "GYRATE_MN 7.051056e+00 8.128589e+00 1.299899e+01 \n", - "GYRATE_AM 4.084321e+01 5.114438e+01 8.211209e+02 \n", - "GYRATE_MD 4.959739e+00 5.491379e+00 9.320043e+00 \n", - "PRD 7.398030e-01 1.175061e+00 2.899194e+00 \n", - "SHDI 7.145465e-01 8.012575e-01 2.307808e+00 \n", - "SIDI 7.565280e-01 7.772555e-01 8.034490e-01 \n", - "MSIDI 1.412754e+00 1.501730e+00 1.626831e+00 \n", - "SHEI 7.568175e-01 7.857405e-01 8.296050e-01 \n", - "SIEI 8.646035e-01 8.882925e-01 9.182270e-01 \n", - "MSIEI 6.793910e-01 7.221800e-01 7.823410e-01 \n", - "NP 1.148450e+04 2.176175e+04 1.230980e+05 \n", - "DIVISION 9.964445e-01 9.981592e-01 9.992990e-01 \n", - "SPLIT 2.813257e+02 5.432779e+02 1.425579e+03 \n", - "MESH 3.775546e+04 6.482004e+04 8.984540e+06 \n", - "PAFRAC 1.041373e+00 1.053471e+00 1.109125e+00 \n", - "SHAPE_MN 1.259809e+00 1.280878e+00 1.415343e+00 \n", - "SHAPE_MD 1.217750e+00 1.230854e+00 1.360043e+00 \n", - "PARA_MN 3.133425e-01 3.477562e-01 4.746200e-01 \n", - "PARA_MD 2.995145e-01 3.434830e-01 4.564660e-01 \n", - "FRAC_MD 1.072909e+00 1.080127e+00 1.122543e+00 \n", - "SQUARE_MN 5.393655e-01 5.571245e-01 6.539620e-01 \n", - "SQUARE_MD 5.273470e-01 5.445828e-01 6.876830e-01 \n", - "IJI 1.084142e+01 1.289895e+01 1.799463e+01 \n", - "LSI 7.146118e+01 1.027626e+02 2.196053e+02 \n", - "TE 1.122460e+06 2.010358e+06 1.205779e+07 \n", - "ED 1.079915e+03 1.298453e+03 1.849494e+03 \n", - "RNMDP_2020 1.301750e+04 1.369425e+04 1.868400e+04 \n", - "PobT 1.656475e+05 2.261322e+05 3.334730e+06 \n", - "PobH 7.831950e+04 1.099655e+05 1.553899e+06 \n", - "PobM 8.566500e+04 1.182155e+05 1.780831e+06 \n", - "Vehiculos 1.137505e+05 1.611278e+05 2.012707e+06 \n", - "T_Viviendas 7.660350e+04 1.139582e+05 1.531490e+06 \n", - "T_Viv_Prin 6.274450e+04 8.881750e+04 1.320531e+06 \n", - "T_Viv_Sec 4.722500e+03 9.095250e+03 5.732500e+04 \n", - "Viv_vacias 9.251000e+03 1.601825e+04 1.531010e+05 \n", - "COM 1.037816e+00 1.469029e+00 2.440080e+00 \n", - "ED_SING 6.455425e+00 9.153504e+00 7.204759e+01 \n", - "EQUIP 1.719828e+01 2.100235e+01 3.329561e+01 \n", - "IND 2.284396e+01 2.872785e+01 5.231218e+01 \n", - "OCIO 7.654631e-01 1.115091e+00 6.103669e+00 \n", - "OFI 4.909304e-01 8.189812e-01 4.777437e+00 \n", - "RES_PLU 2.172336e+01 2.655110e+01 4.608362e+01 \n", - "RES_UNI 2.259231e+01 3.328301e+01 6.526608e+01 " - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datos.describe().T" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "La variable Frac_mn tiene una dato con valor infinito, por lo que eliminaremos la variable usando el m茅todo drop." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "datos = datos.drop(columns='FRAC_MN')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "La libreria sklean proporciona una variedad de m茅todos de escalado y normalizaci贸n. Mayor informaci贸n sobre cada m茅todo se puede consultar en la [documentaci贸n de sklearn](https://scikit-learn.org/stable/modules/preprocessing.html)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Creamos un objeto para cada m茅todo importado." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "MinMax = MinMaxScaler()\n", - "Maxabs = MaxAbsScaler()\n", - "Std = StandardScaler()\n", - "Rscaler = RobustScaler()\n", - "Normalizer = Normalizer()\n", - "QuantileT = QuantileTransformer()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Indexaci贸n del dataframe excluyendo la variable ciudades que es de tipo string" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
countmeanstdmin25%50%75%max
TA72.001318.40918.46275.94643.121042.541636.394436.37
LPI72.004.998.020.812.493.304.4766.93
AREA_MN72.000.100.050.040.060.090.120.34
AREA_AM72.0017.43105.441.002.423.424.98898.45
AREA_MD72.000.020.010.010.020.020.030.07
GYRATE_MN72.007.091.494.316.067.058.1313.00
GYRATE_AM72.0055.1193.1123.7934.9940.8451.14821.12
GYRATE_MD72.005.011.053.044.274.965.499.32
PRD72.000.850.590.060.400.741.182.90
SHDI72.000.790.250.620.670.710.802.31
SIDI72.000.740.060.460.730.760.780.80
MSIDI72.001.380.190.611.301.411.501.63
SHEI72.000.740.060.470.710.760.790.83
SIEI72.000.850.070.520.830.860.890.92
MSIEI72.000.660.090.290.630.680.720.78
NP72.0018280.4618553.403438.007471.5011484.5021761.75123098.00
DIVISION72.000.990.050.550.991.001.001.00
SPLIT72.00390.13314.952.23193.45281.33543.281425.58
MESH72.00179769.411053928.6610046.1725915.2037755.4664820.048984539.67
PAFRAC72.001.040.021.001.031.041.051.11
SHAPE_MN72.001.270.031.201.251.261.281.42
SHAPE_MD72.001.230.031.161.211.221.231.36
PARA_MN72.000.320.050.210.280.310.350.47
PARA_MD72.000.310.060.160.260.300.340.46
FRAC_MD72.001.080.011.051.071.071.081.12
SQUARE_MN72.00-9754.6849181.78-369540.860.520.540.560.65
SQUARE_MD72.000.540.040.450.520.530.540.69
IJI72.0011.292.686.489.2310.8412.9017.99
LSI72.0083.1035.6531.1456.0471.46102.76219.61
TE72.001685269.281701764.56374902.59750870.971122460.452010358.4812057792.36
ED72.001097.31290.12327.22934.701079.911298.451849.49
RNMDP_202072.0012927.961569.909803.0011787.7513017.5013694.2518684.00
PobT72.00262016.32432266.7236240.00110978.50165647.50226132.253334730.00
PobH72.00125113.96202344.8517287.0053135.2578319.50109965.501553899.00
PobM72.00136902.36229962.9318953.0058322.7585665.00118215.501780831.00
Vehiculos72.00173925.78261379.2028945.0073206.50113750.50161127.752012707.00
T_Viviendas72.00124768.53202009.4619022.0049043.7576603.50113958.251531490.00
T_Viv_Prin72.00101600.97172788.3813218.0042075.7562744.5088817.501320531.00
T_Viv_Sec72.008011.519963.60200.002247.004722.509095.2557325.00
Viv_vacias72.0015112.6221434.171335.005256.759251.0016018.25153101.00
COM72.001.140.580.260.681.041.472.44
ED_SING72.008.099.200.983.486.469.1572.05
EQUIP72.0018.005.534.8914.3117.2021.0033.30
IND72.0023.9110.175.1415.9422.8428.7352.31
OCIO72.000.960.870.180.420.771.126.10
OFI72.000.720.760.120.280.490.824.78
RES_PLU72.0022.518.526.7216.4121.7226.5546.08
RES_UNI72.0024.6714.551.9214.3722.5933.2865.27
\n", - "
" - ], - "text/plain": [ - " count mean std min 25% 50% \\\n", - "TA 72.00 1318.40 918.46 275.94 643.12 1042.54 \n", - "LPI 72.00 4.99 8.02 0.81 2.49 3.30 \n", - "AREA_MN 72.00 0.10 0.05 0.04 0.06 0.09 \n", - "AREA_AM 72.00 17.43 105.44 1.00 2.42 3.42 \n", - "AREA_MD 72.00 0.02 0.01 0.01 0.02 0.02 \n", - "GYRATE_MN 72.00 7.09 1.49 4.31 6.06 7.05 \n", - "GYRATE_AM 72.00 55.11 93.11 23.79 34.99 40.84 \n", - "GYRATE_MD 72.00 5.01 1.05 3.04 4.27 4.96 \n", - "PRD 72.00 0.85 0.59 0.06 0.40 0.74 \n", - "SHDI 72.00 0.79 0.25 0.62 0.67 0.71 \n", - "SIDI 72.00 0.74 0.06 0.46 0.73 0.76 \n", - "MSIDI 72.00 1.38 0.19 0.61 1.30 1.41 \n", - "SHEI 72.00 0.74 0.06 0.47 0.71 0.76 \n", - "SIEI 72.00 0.85 0.07 0.52 0.83 0.86 \n", - "MSIEI 72.00 0.66 0.09 0.29 0.63 0.68 \n", - "NP 72.00 18280.46 18553.40 3438.00 7471.50 11484.50 \n", - "DIVISION 72.00 0.99 0.05 0.55 0.99 1.00 \n", - "SPLIT 72.00 390.13 314.95 2.23 193.45 281.33 \n", - "MESH 72.00 179769.41 1053928.66 10046.17 25915.20 37755.46 \n", - "PAFRAC 72.00 1.04 0.02 1.00 1.03 1.04 \n", - "SHAPE_MN 72.00 1.27 0.03 1.20 1.25 1.26 \n", - "SHAPE_MD 72.00 1.23 0.03 1.16 1.21 1.22 \n", - "PARA_MN 72.00 0.32 0.05 0.21 0.28 0.31 \n", - "PARA_MD 72.00 0.31 0.06 0.16 0.26 0.30 \n", - "FRAC_MD 72.00 1.08 0.01 1.05 1.07 1.07 \n", - "SQUARE_MN 72.00 -9754.68 49181.78 -369540.86 0.52 0.54 \n", - "SQUARE_MD 72.00 0.54 0.04 0.45 0.52 0.53 \n", - "IJI 72.00 11.29 2.68 6.48 9.23 10.84 \n", - "LSI 72.00 83.10 35.65 31.14 56.04 71.46 \n", - "TE 72.00 1685269.28 1701764.56 374902.59 750870.97 1122460.45 \n", - "ED 72.00 1097.31 290.12 327.22 934.70 1079.91 \n", - "RNMDP_2020 72.00 12927.96 1569.90 9803.00 11787.75 13017.50 \n", - "PobT 72.00 262016.32 432266.72 36240.00 110978.50 165647.50 \n", - "PobH 72.00 125113.96 202344.85 17287.00 53135.25 78319.50 \n", - "PobM 72.00 136902.36 229962.93 18953.00 58322.75 85665.00 \n", - "Vehiculos 72.00 173925.78 261379.20 28945.00 73206.50 113750.50 \n", - "T_Viviendas 72.00 124768.53 202009.46 19022.00 49043.75 76603.50 \n", - "T_Viv_Prin 72.00 101600.97 172788.38 13218.00 42075.75 62744.50 \n", - "T_Viv_Sec 72.00 8011.51 9963.60 200.00 2247.00 4722.50 \n", - "Viv_vacias 72.00 15112.62 21434.17 1335.00 5256.75 9251.00 \n", - "COM 72.00 1.14 0.58 0.26 0.68 1.04 \n", - "ED_SING 72.00 8.09 9.20 0.98 3.48 6.46 \n", - "EQUIP 72.00 18.00 5.53 4.89 14.31 17.20 \n", - "IND 72.00 23.91 10.17 5.14 15.94 22.84 \n", - "OCIO 72.00 0.96 0.87 0.18 0.42 0.77 \n", - "OFI 72.00 0.72 0.76 0.12 0.28 0.49 \n", - "RES_PLU 72.00 22.51 8.52 6.72 16.41 21.72 \n", - "RES_UNI 72.00 24.67 14.55 1.92 14.37 22.59 \n", - "\n", - " 75% max \n", - "TA 1636.39 4436.37 \n", - "LPI 4.47 66.93 \n", - "AREA_MN 0.12 0.34 \n", - "AREA_AM 4.98 898.45 \n", - "AREA_MD 0.03 0.07 \n", - "GYRATE_MN 8.13 13.00 \n", - "GYRATE_AM 51.14 821.12 \n", - "GYRATE_MD 5.49 9.32 \n", - "PRD 1.18 2.90 \n", - "SHDI 0.80 2.31 \n", - "SIDI 0.78 0.80 \n", - "MSIDI 1.50 1.63 \n", - "SHEI 0.79 0.83 \n", - "SIEI 0.89 0.92 \n", - "MSIEI 0.72 0.78 \n", - "NP 21761.75 123098.00 \n", - "DIVISION 1.00 1.00 \n", - "SPLIT 543.28 1425.58 \n", - "MESH 64820.04 8984539.67 \n", - "PAFRAC 1.05 1.11 \n", - "SHAPE_MN 1.28 1.42 \n", - "SHAPE_MD 1.23 1.36 \n", - "PARA_MN 0.35 0.47 \n", - "PARA_MD 0.34 0.46 \n", - "FRAC_MD 1.08 1.12 \n", - "SQUARE_MN 0.56 0.65 \n", - "SQUARE_MD 0.54 0.69 \n", - "IJI 12.90 17.99 \n", - "LSI 102.76 219.61 \n", - "TE 2010358.48 12057792.36 \n", - "ED 1298.45 1849.49 \n", - "RNMDP_2020 13694.25 18684.00 \n", - "PobT 226132.25 3334730.00 \n", - "PobH 109965.50 1553899.00 \n", - "PobM 118215.50 1780831.00 \n", - "Vehiculos 161127.75 2012707.00 \n", - "T_Viviendas 113958.25 1531490.00 \n", - "T_Viv_Prin 88817.50 1320531.00 \n", - "T_Viv_Sec 9095.25 57325.00 \n", - "Viv_vacias 16018.25 153101.00 \n", - "COM 1.47 2.44 \n", - "ED_SING 9.15 72.05 \n", - "EQUIP 21.00 33.30 \n", - "IND 28.73 52.31 \n", - "OCIO 1.12 6.10 \n", - "OFI 0.82 4.78 \n", - "RES_PLU 26.55 46.08 \n", - "RES_UNI 33.28 65.27 " - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datos.iloc[:,1:50].describe().T" - ] - }, - { - "cell_type": "code", - "execution_count": 83, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 0.12\n", - "1 0.14\n", - "2 0.29\n", - "3 0.16\n", - "4 0.06\n", - " ... \n", - "67 0.07\n", - "68 0.17\n", - "69 0.08\n", - "70 0.08\n", - "71 0.15\n", - "Name: AREA_MN, Length: 72, dtype: float64" - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datos.loc[:,\"AREA_MN\"]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [] - }, - { - "cell_type": "code", - "execution_count": 114, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([23., 20., 15., 7., 4., 1., 0., 0., 1., 1.]),\n", - " array([0.041476 , 0.0712383, 0.1010006, 0.1307629, 0.1605252, 0.1902875,\n", - " 0.2200498, 0.2498121, 0.2795744, 0.3093367, 0.339099 ]),\n", - " )" - ] - }, - "execution_count": 114, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGzCAYAAAAFROyYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAuzElEQVR4nO3de1xU1f7/8fcAMpjCICoiiYpXymtpmuU9Cs0y865lYGalqA8z62SnVL7HwtTKk3n5ZqWd0izL9JRmXtI6ede0OlmkhuUl7wqIihfW749+zNcBTNBBFvB6Ph7z0Fl7zd5rf2YxvNmz94zDGGMEAABgEZ/CHgAAAEB2BBQAAGAdAgoAALAOAQUAAFiHgAIAAKxDQAEAANYhoAAAAOsQUAAAgHUIKAAAwDoEFFyR6tWrKy4urrCHAVwRh8OhsWPHFvYwrrm4uDhVr179ih47duxYORwO7w4om9WrV8vhcGj16tUFuh0UDQQUaPbs2XI4HNq8eXOuy9u2bav69etf9XaWLFlSIn8peEOzZs3kcDg0ffr0wh5KibZ9+3aNHTtWu3fvLuyhAMUeAQVXJCkpSTNnzszXY5YsWaKEhIQCGlHxtWPHDm3atEnVq1fXnDlzCns4Jdr27duVkJBQZAPKzJkzlZSUdEWPfe6553T69Gkvjwi4NAIKrojT6VSpUqUKexj5kp6eXthDuCLvvfeeQkND9fLLL2vt2rV5/uVYVPcX3pc1F0qVKiWn03lF6/Dz81NAQIA3hwX8JQIKrkj2c1DOnTunhIQE1a5dWwEBASpfvrxatmyp5cuXS/rzve+pU6dK+vP9/6xblvT0dD355JOKiIiQ0+lU3bp1NWnSJGX/su3Tp09r2LBhqlChggIDA9W5c2ft27cvxzkFWe+Xb9++XX379lW5cuXUsmVLSdL333+vuLg41ahRQwEBAQoLC9PDDz+so0ePemwrax2//PKLHnzwQblcLlWsWFHPP/+8jDHas2eP7rvvPgUFBSksLEwvv/yyx+PPnj2r0aNHq0mTJnK5XCpTpoxatWqlVatW5avWc+fOVffu3XXPPffI5XJp7ty5Ofr81f5Kf4acJk2aqHTp0goJCVHv3r21Z88ej3X85z//UY8ePVS1alU5nU5FREToiSeeyNNfzVlvE37zzTcaNmyYKlasqODgYD322GM6e/asTpw4oYceekjlypVTuXLl9PTTT3s8t7t375bD4dCkSZP0xhtvqGbNmnI6nbrlllu0adOmfNXrYhkZGXriiSdUsWJF93zZu3dvjn6//fabBg8erLp166p06dIqX768evTo4REGZ8+erR49ekiS2rVr557DF58vMW3aNNWrV09Op1Ph4eGKj4/XiRMnPLa1Y8cOdevWTWFhYQoICFCVKlXUu3dvpaSkXHZ/5s+f734eK1SooAcffFD79u3z6BMXF6eyZctq165duvvuuxUYGKgHHnjAvSz7OShHjx5Vv379FBQUpODgYMXGxuq7776Tw+HQ7Nmz3f1yOwfF4XBoyJAhWrhwoerXry+n06l69epp6dKl+a7vX9mwYYM6dOggl8ul6667Tm3atNGaNWs8+qSlpWn48OGqXr26nE6nQkNDdeedd+rbb7/N0zZgH7/CHgDskZKSoiNHjuRoP3fu3GUfO3bsWCUmJuqRRx5Rs2bNlJqaqs2bN+vbb7/VnXfeqccee0z79+/X8uXL9e6773o81hijzp07a9WqVRowYIAaN26sL774Qk899ZT27dunV1991d03Li5OH374ofr166dbb71VX331lTp16nTJcfXo0UO1a9fWiy++6P6FuHz5cv3666/q37+/wsLC9OOPP+qNN97Qjz/+qPXr1+d4Ee7Vq5duuOEGjR8/XosXL9a4ceMUEhKi//3f/1X79u310ksvac6cORo5cqRuueUWtW7dWpKUmpqqN998U3369NHAgQOVlpamt956SzExMdq4caMaN2582bpu2LBBO3fu1KxZs+Tv76+uXbtqzpw5evbZZ/O8vy+88IKef/559ezZU4888ogOHz6sKVOmqHXr1tq6dauCg4Ml/fnL79SpUxo0aJDKly+vjRs3asqUKdq7d6/mz59/2bFK0tChQxUWFqaEhAStX79eb7zxhoKDg7V27VpVrVpVL774opYsWaKJEyeqfv36euihhzweP3fuXKWlpemxxx6Tw+HQhAkT1LVrV/36669XdMTukUce0Xvvvae+ffvqtttu05dffpnrfNm0aZPWrl2r3r17q0qVKtq9e7emT5+utm3bavv27bruuuvUunVrDRs2TK+99pqeffZZ3XDDDZLk/nfs2LFKSEhQdHS0Bg0apKSkJE2fPl2bNm3SmjVrVKpUKZ09e1YxMTHKyMhw12rfvn367LPPdOLECblcrkvuy+zZs9W/f3/dcsstSkxM1MGDB/XPf/5Ta9as8XgeJen8+fOKiYlRy5YtNWnSJF133XW5rjMzM1P33nuvNm7cqEGDBikqKkqLFi1SbGxsnmv8zTffaMGCBRo8eLACAwP12muvqVu3bvr9999Vvnz5PNf3Ur788kt17NhRTZo00ZgxY+Tj46NZs2apffv2+s9//qNmzZpJkh5//HF99NFHGjJkiG688UYdPXpU33zzjX766SfdfPPNed4fWMSgxJs1a5aR9Je3evXqeTymWrVqJjY21n2/UaNGplOnTn+5nfj4eJPblFu4cKGRZMaNG+fR3r17d+NwOMzOnTuNMcZs2bLFSDLDhw/36BcXF2ckmTFjxrjbxowZYySZPn365NjeqVOncrS9//77RpL5+uuvc6zj0UcfdbedP3/eVKlSxTgcDjN+/Hh3+/Hjx03p0qU9anL+/HmTkZHhsZ3jx4+bSpUqmYcffjjHGHIzZMgQExERYTIzM40xxixbtsxIMlu3bvXod6n93b17t/H19TUvvPCCR/sPP/xg/Pz8PNpzq0tiYqJxOBzmt99++8txZs2hmJgY91iNMaZFixbG4XCYxx9/3N2WVcM2bdq425KTk40kU758eXPs2DF3+6JFi4wk8+mnn/7l9nOzbds2I8kMHjzYo71v37455ktu+75u3TojyfzrX/9yt82fP99IMqtWrfLoe+jQIePv72/uuusuc+HCBXf766+/biSZt99+2xhjzNatW40kM3/+/Hzty9mzZ01oaKipX7++OX36tLv9s88+M5LM6NGj3W2xsbFGknnmmWdyrCc2NtZUq1bNff/jjz82kszkyZPdbRcuXDDt27c3ksysWbPc7Vlz7GKSjL+/v/tn1BhjvvvuOyPJTJkyxd2W1/quWrXKo76ZmZmmdu3aOebVqVOnTGRkpLnzzjvdbS6Xy8THx+fYDoou3uKB29SpU7V8+fIct4YNG172scHBwfrxxx+1Y8eOfG93yZIl8vX11bBhwzzan3zySRlj9Pnnn0uS+7Dx4MGDPfoNHTr0kut+/PHHc7SVLl3a/f8zZ87oyJEjuvXWWyUp18PBjzzyiPv/vr6+atq0qYwxGjBggLs9ODhYdevW1a+//urR19/fX9Kff6keO3ZM58+fV9OmTfN02Pn8+fP64IMP1KtXL/dRnfbt2ys0NPSSJ8tm398FCxYoMzNTPXv21JEjR9y3sLAw1a5d2+Ptpovrkp6eriNHjui2226TMUZbt2697HglacCAAR5HoJo3b56jVlk1vLhWWXr16qVy5cq577dq1UqScu17OUuWLJGkHPNq+PDhOfpevO/nzp3T0aNHVatWLQUHB+fpuVqxYoXOnj2r4cOHy8fn/15WBw4cqKCgIC1evFiS3EdIvvjiC506dSrP+7J582YdOnRIgwcP9jgPpFOnToqKinKv/2KDBg267HqXLl2qUqVKaeDAge42Hx8fxcfH53ls0dHRqlmzpvt+w4YNFRQU5PGcXWl9t23bph07dqhv3746evSoe/6mp6frjjvu0Ndff63MzExJf/4MbtiwQfv378/z2GE33uKBW7NmzdS0adMc7eXKlcv1rZ+L/c///I/uu+8+1alTR/Xr11eHDh3Ur1+/PIWb3377TeHh4QoMDPRozzp0/ttvv7n/9fHxUWRkpEe/WrVqXXLd2ftK0rFjx5SQkKB58+bp0KFDHstyOw+gatWqHvddLpcCAgJUoUKFHO3Zz2N555139PLLL+vnn3/2eKsst3Flt2zZMh0+fFjNmjXTzp073e3t2rXT+++/r5deesnjl2Fu692xY4eMMapdu3au27j4bZPff/9do0eP1r///W8dP37co19ezo+Qcq+VJEVERORoz76N3B6fFVZy63s5WfPl4l+eklS3bt0cfU+fPq3ExETNmjVL+/bt8zg/Ji/7njVHs6/b399fNWrUcC+PjIzUiBEj9Morr2jOnDlq1aqVOnfu7D7HKb/rl6SoqCh98803Hm1+fn6qUqVKnsZduXLlHG+x/NXPVHbZnzPpz+ft4ufsSuub9QfPX73llJKSonLlymnChAmKjY1VRESEmjRporvvvlsPPfSQatSoked9gV0IKPCK1q1ba9euXVq0aJGWLVumN998U6+++qpmzJjhcQTiWrv4L7csPXv21Nq1a/XUU0+pcePGKlu2rDIzM9WhQwf3X2MX8/X1zVObJI8X3vfee09xcXHq0qWLnnrqKYWGhsrX11eJiYnatWvXZceedZSkZ8+euS7/6quv1K5dO4+27PubmZkph8Ohzz//PNcxly1bVpJ04cIF3XnnnTp27Jj+9re/KSoqSmXKlNG+ffsUFxeXa11yc6m65NZusp0A/VePz62vNw0dOlSzZs3S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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.title(\"Histograma Area mn, datos originales\")\n", - "plt.hist(datos.loc[:,\"AREA_MN\"], bins = 10)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Primer m茅todo: StandardScaler. \n", - "\n", - "Muchos algoritmos pueden comportarse de forma negativa si las variables no muestran uns distribuci贸n Gaussiana normalizada con media cero, y varianza igual a uno. En la pr谩ctica se suele ignorar la forma de la distribuci贸n, y transformar para centrarlos removiendo el valor medio de cada caracter铆stica y dividiendolo por la desviaci贸n estandar. Muchos elementos de la funci贸n objetivo de un algoritmo de aprendizaje como RBF and SVM asumen que las car谩cteristicas est谩n centradas cerca de cero y tienen una varianza en la misma magnitud.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "# Ajustar el objeto Std creado utilizando los datos num茅ricos\n", - "Std.fit(datos.iloc[:,1:50])\n", - "# Transformar los datos utilizando el objeto ajustado\n", - "datos_std = Std.transform(datos.iloc[:,1:50])\n", - "# Convertir datos_std que era un array a un dataframe utilizando los nombres de las columans\n", - "df_datos_std = pd.DataFrame(datos_std, columns = datos.iloc[:,1:50].columns)\n", - "# Agregar al dataframe la columna con el nombre de las ciudades\n", - "df_datos_std['Ciudades'] = datos['Ciudades']" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "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", - "
TALPIAREA_MNAREA_AMAREA_MDGYRATE_MNGYRATE_AMGYRATE_MDPRDSHDI...T_Viv_SecViv_vaciasCOMED_SINGEQUIPINDOCIOOFIRES_PLURES_UNI
count72.0072.0072.0072.0072.0072.0072.0072.0072.0072.00...72.0072.0072.0072.0072.0072.0072.0072.0072.0072.00
mean0.000.000.00-0.00-0.00-0.000.000.000.000.00...0.000.000.000.000.00-0.000.00-0.00-0.00-0.00
std1.011.011.011.011.011.011.011.011.011.01...1.011.011.011.011.011.011.011.011.011.01
min-1.14-0.52-1.09-0.16-1.42-1.88-0.34-1.88-1.36-0.71...-0.79-0.65-1.53-0.78-2.39-1.86-0.90-0.80-1.87-1.57
25%-0.74-0.31-0.65-0.14-0.67-0.70-0.22-0.70-0.77-0.48...-0.58-0.46-0.80-0.50-0.67-0.79-0.62-0.59-0.72-0.71
50%-0.30-0.21-0.24-0.13-0.14-0.03-0.15-0.05-0.19-0.31...-0.33-0.28-0.18-0.18-0.15-0.11-0.22-0.31-0.09-0.14
75%0.35-0.060.32-0.120.420.70-0.040.460.550.05...0.110.040.560.120.550.480.180.130.480.60
max3.427.784.548.414.343.998.284.133.516.20...4.986.482.257.002.792.815.935.362.792.81
\n", - "

8 rows 脳 48 columns

\n", - "
" - ], - "text/plain": [ - " TA LPI AREA_MN AREA_AM AREA_MD GYRATE_MN GYRATE_AM GYRATE_MD \\\n", - "count 72.00 72.00 72.00 72.00 72.00 72.00 72.00 72.00 \n", - "mean 0.00 0.00 0.00 -0.00 -0.00 -0.00 0.00 0.00 \n", - "std 1.01 1.01 1.01 1.01 1.01 1.01 1.01 1.01 \n", - "min -1.14 -0.52 -1.09 -0.16 -1.42 -1.88 -0.34 -1.88 \n", - "25% -0.74 -0.31 -0.65 -0.14 -0.67 -0.70 -0.22 -0.70 \n", - "50% -0.30 -0.21 -0.24 -0.13 -0.14 -0.03 -0.15 -0.05 \n", - "75% 0.35 -0.06 0.32 -0.12 0.42 0.70 -0.04 0.46 \n", - "max 3.42 7.78 4.54 8.41 4.34 3.99 8.28 4.13 \n", - "\n", - " PRD SHDI ... T_Viv_Sec Viv_vacias COM ED_SING EQUIP IND \\\n", - "count 72.00 72.00 ... 72.00 72.00 72.00 72.00 72.00 72.00 \n", - "mean 0.00 0.00 ... 0.00 0.00 0.00 0.00 0.00 -0.00 \n", - "std 1.01 1.01 ... 1.01 1.01 1.01 1.01 1.01 1.01 \n", - "min -1.36 -0.71 ... -0.79 -0.65 -1.53 -0.78 -2.39 -1.86 \n", - "25% -0.77 -0.48 ... -0.58 -0.46 -0.80 -0.50 -0.67 -0.79 \n", - "50% -0.19 -0.31 ... -0.33 -0.28 -0.18 -0.18 -0.15 -0.11 \n", - "75% 0.55 0.05 ... 0.11 0.04 0.56 0.12 0.55 0.48 \n", - "max 3.51 6.20 ... 4.98 6.48 2.25 7.00 2.79 2.81 \n", - "\n", - " OCIO OFI RES_PLU RES_UNI \n", - "count 72.00 72.00 72.00 72.00 \n", - "mean 0.00 -0.00 -0.00 -0.00 \n", - "std 1.01 1.01 1.01 1.01 \n", - "min -0.90 -0.80 -1.87 -1.57 \n", - "25% -0.62 -0.59 -0.72 -0.71 \n", - "50% -0.22 -0.31 -0.09 -0.14 \n", - "75% 0.18 0.13 0.48 0.60 \n", - "max 5.93 5.36 2.79 2.81 \n", - "\n", - "[8 rows x 48 columns]" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_datos_std.describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 90, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([23., 20., 15., 7., 4., 1., 0., 0., 1., 1.]),\n", - " array([-1.09204316, -0.5286646 , 0.03471396, 0.59809252, 1.16147108,\n", - " 1.72484964, 2.28822821, 2.85160677, 3.41498533, 3.97836389,\n", - " 4.54174245]),\n", - " )" - ] - }, - "execution_count": 90, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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hQvXfe3o0aOVmJiovn37qk6dOkpLS9OmTZu0ZcsW/fnPf9aTTz6pw4cPa8WKFXr//ffdXmuMUfv27bV69Wr16dNHNWvW1Oeff65hw4bp0KFDmjhxomve2NhYffTRR3r88cf1wAMPaO3atWrTpk2OdXXr1k2VKlXSK6+84hr4VqxYoZ9//llxcXGKjIzU9u3b9fbbb2v79u1av369W9CSpB49eqhq1aoaP368lixZorFjxyo0NFTTp09Xs2bNNGHCBM2ZM0dDhw7V/fffr0aNGkmS0tLS9K9//Uu9evVSv379dPr0ab3zzjtq2bKlvv76a9WsWfO67bphwwbt3r1bM2fOlJ+fnzp37qw5c+bkOEBnt73jxo3TSy+9pO7du6tv3746duyYJk+erEaNGumbb75RsWLFJF3+MD579qyeeuopFS9eXF9//bUmT56sgwcPegSUnBQpUkQdOnTQBx98oKeeekqS9O2332r79u3617/+pe+++y7H144YMULvvfdevh6lGTlypMaOHavWrVurdevW2rJlix566CHXTp7l559/1qJFi9StWzdFR0crJSVF06dPV+PGjbVjxw5FRUWpatWqGjNmjEaOHKn+/fvrwQcflCTVr19f0uWdOS4uTvfff78SExOVkpKi119/XV9++aVbO3fp0kXbt2/XwIEDVa5cOR09elQrVqzQ/v37r3nkbfv27WrQoIHuvPNOvfDCCypatKg++ugjdezYUR9//LE6deok6fr7onQ51D/44IPy9fVV//79Va5cOe3Zs0f//e9/NW7cOEnSxo0b9dVXX6lnz54qVaqU9u7dq7feektNmjTRjh07VKRIkRxrzW1fWr58ubp06aJq1aopMTFRJ06ccIW9K+V2jNi+fbvatm2re++9V2PGjJHT6dTu3bv15ZdfXq+r5Ernzp31008/6YMPPtDEiRNdRyHDwsJueJkjRoxQ37593abNnj1bn3/+uesDPzf980rjx49XoUKFNHToUKWmpurVV1/Vo48+qg0bNrjmeeedd/Tkk0+qfv36Gjx4sH7++We1b99eoaGhKl26tGu+3377TU2aNNHu3bs1YMAARUdHa/78+YqNjdWpU6f0zDPP5LhtZcuWlXS5P3Tr1i3HPtOoUSMNGjRIb7zxhl588UVVrVpVklz/nTVrlgIDAzVkyBAFBgZq1apVGjlypNLS0vTaa6+5LevXX3/Vww8/rM6dO6t79+5asGCBnn/+eVWvXl2tWrVybVPz5s21f/9+DRo0SFFRUXr//fe1atUqj9ryMi5evHhRLVu2VMOGDfX3v//dtb19+/bV7Nmz9cgjj6h+/fpatWrVNT+3rjRjxgwNGjRIXbt21TPPPKNz587pu+++04YNG/TII49IunwqvE6dOjp16pT69++vKlWq6NChQ1qwYIHOnj0rPz+/PPehK+V27Mny9NNPKywsTCNHjlR6enqutlOSZPLBzJkzjaRrPu6++26315QtW9bExMS4/q5Ro4Zp06bNNdcTHx9vsit50aJFRpIZO3as2/SuXbsah8Nhdu/ebYwxZvPmzUaSGTx4sNt8sbGxRpIZNWqUa9qoUaOMJNOrVy+P9Z09e9Zj2gcffGAkmaSkJI9l9O/f3zXt4sWLplSpUsbhcJjx48e7pv/6668mICDArU0uXrxoMjIy3Nbz66+/moiICPPEE0941JCdAQMGmNKlS5vMzExjjDHLly83ksw333zjNl9O27t3717j4+Njxo0b5zb9+++/N4ULF3abnl27JCYmGofDYfbt23fNOlevXm0kmfnz55tPP/3UOBwOs3//fmOMMcOGDTPly5c3xhjTuHHjbPtSVt+Ji4sz/v7+5vDhwx7LzaujR48aPz8/06ZNG1f7GWPMiy++aCS5vVfnzp0zly5dcnt9cnKycTqdZsyYMa5pGzduNJLMzJkz3eY9f/68CQ8PN/fcc4/57bffXNM//fRTI8mMHDnSGHP5/ZdkXnvttTxvT/PmzU316tXNuXPnXNMyMzNN/fr1TaVKlVzTcrMvNmrUyAQFBXm8r1e2U3b9Yd26dUaSee+991zTst6j1atXX/O12fWlmjVrmpIlS5pTp065pmX18bJly7qm5XaMmDhxopFkjh07ds3tv1pycnK276sxxmNsee2114wkk5yc7DHv1eNidm0TExPjtm1X+/LLL42vr6/bGJHb/pm1vqpVq7qNPa+//rqRZL7//ntjzP/115o1a7rN9/bbbxtJpnHjxq5pkyZNMpLM7NmzXdPOnz9v6tWrZwIDA01aWlqO22KMMb179zaSzB133GE6depk/v73v5sffvjBY7758+d7tFWW7PrTk08+aYoUKeK2PzRu3Nijf2ZkZJjIyEjTpUsXj2366KOPXNPS09NNxYoV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7avatWsrKSnJNbZcKWscGzFihHr27ClfX1+1a9fuhr9ALS4uTtLlU4VXH6GrX7++ypcvn+v+mVu+vr4aO3asnnzySTVr1kw9evRQcnKyZs6c6bHM/v37a/r06YqNjdXmzZtVrlw5LViwQF9++aUmTZrkcV3TlQ4ePKg6deqoWbNmat68uSIjI3X06FF98MEH+vbbbzV48GDXvlizZk35+PhowoQJSk1NldPpVLNmzVS/fn3dcccdiomJ0aBBg+RwOPT+++/f1Omzfv366c0331Tv3r21efNmlSxZUu+//77HbeX5MS7WrFlTvXr10tSpU5Wamqr69etr5cqVuT6z8NBDDykyMlINGjRQRESEfvjhB7355ptq06aNq+1feeUVLV++XI0bN1b//v1VtWpV/fLLL5o/f77+3//7fypWrNhN9aHcjj03Lc/3RWUj61ar7G75MibnW22vvD1x7Nixpk6dOqZYsWImICDAVKlSxYwbN86cP3/eNc/FixfNwIEDTVhYmHE4HG63cJ8+fdo8++yzJioqyvj6+ppKlSqZ1157ze02UmMu31oXHx9vQkNDTWBgoOnYsaPZuXOnkeR2G3XWbczZ3b558OBB06lTJ1OsWDETEhJiunXrZg4fPpzjrd9XLyMmJsYULVr0uu2UmZlpXnnlFVO2bFnjdDrNfffdZz799NPr3raZkpJiChcubB5//PEc5zl79qwpUqSI6dSp03W31xhjPv74Y9OwYUNTtGhRU7RoUVOlShUTHx9vdu7c6Zpnx44dpkWLFiYwMNCUKFHC9OvXz3z77bc53s56pdzeXn2927avtGvXLuPj4+Ox3NOnTxtJpmfPntdclzHGXLp0ySQkJJiSJUuagIAA06RJE7Nt2zaP/nvu3Dnz3HPPueZr0KCBWbdunWncuLHbLazGGLN48WJTrVo1U7hwYY+2+fDDD819991nnE6nCQ0NNY8++qg5ePCg6/njx4+b+Ph4U6VKFVO0aFETEhJi6tat63b76LXs2bPH9O7d20RGRhpfX19z5513mrZt25oFCxa45snNvmiMMdu2bXPtB/7+/qZy5crmpZdecj3/66+/mri4OFOiRAkTGBhoWrZsaX788cdc3Zqcl7708ccfm6pVqxqn02mqVatmPvnkk2z3kdyMEStXrjQdOnQwUVFRxs/Pz0RFRZlevXqZn3766bpt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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.title(\"Histograma Area MN, datos escalados utilizando Standard scaler\")\n", - "plt.hist(df_datos_std.loc[:,\"AREA_MN\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Exportar los datos a un csv" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "df_datos_std.to_csv(r'C:\\Users\\crist\\Documents\\GitHub\\manifolds\\ciudades\\datos\\datos_completos\\df_datos_std.csv', encoding = 'ISO-8859-1')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### MinMaxScaler\n", - "\n", - "La alternativa a la estandarizaci贸n es escalar las caracteriscas para que se situan en un rango determinado, generalmente entre 0 y 1. La motivaci贸n para realizar esto es que es un procedimiento robusto cuando hay desviaciones estandar muy peque帽as de las caracter铆sticas y preservar las entradas con valor 0 de los datos \"sparse\".\n", - "\n", - "Los datos que son sparsity se refiere a aquellos en los que un porcentaje muy alto de los datos son datos perdidos o 0. Esta estructura a veces se utiliza para mejorar la eficiencia computacional y de almacenamiento.\n", - " " - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [], - "source": [ - "MinMax.fit(datos.iloc[:,1:50])\n", - "datos_MinMax = MinMax.transform(datos.iloc[:,1:50])\n", - "df_datos_MinMax = pd.DataFrame(datos_MinMax, columns = datos.iloc[:,1:50].columns)\n", - "df_datos_MinMax['Ciudades'] = datos['Ciudades']" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "df_datos_MinMax.to_csv(r'C:\\Users\\crist\\Documents\\GitHub\\manifolds\\ciudades\\datos\\datos_completos\\df_datos_MinMax.csv', encoding = 'ISO-8859-1')" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "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", - "
TALPIAREA_MNAREA_AMAREA_MDGYRATE_MNGYRATE_AMGYRATE_MDPRDSHDI...T_Viv_SecViv_vaciasCOMED_SINGEQUIPINDOCIOOFIRES_PLURES_UNI
count72.0072.0072.0072.0072.0072.0072.0072.0072.0072.00...72.0072.0072.0072.0072.0072.0072.0072.0072.0072.00
mean0.250.060.190.020.250.320.040.310.280.10...0.140.090.400.100.460.400.130.130.400.36
std0.220.120.180.120.170.170.120.170.210.15...0.170.140.270.130.190.220.150.160.220.23
min0.000.000.000.000.000.000.000.000.000.00...0.000.000.000.000.000.000.000.000.000.00
25%0.090.030.080.000.130.200.010.200.120.03...0.040.030.190.040.330.230.040.030.250.20
50%0.180.040.150.000.220.320.020.310.240.06...0.080.050.360.080.430.380.100.080.380.33
75%0.330.060.250.000.320.440.030.390.390.11...0.160.100.550.110.570.500.160.150.500.50
max1.001.001.001.001.001.001.001.001.001.00...1.001.001.001.001.001.001.001.001.001.00
\n", - "

8 rows 脳 48 columns

\n", - "
" - ], - "text/plain": [ - " TA LPI AREA_MN AREA_AM AREA_MD GYRATE_MN GYRATE_AM GYRATE_MD \\\n", - "count 72.00 72.00 72.00 72.00 72.00 72.00 72.00 72.00 \n", - "mean 0.25 0.06 0.19 0.02 0.25 0.32 0.04 0.31 \n", - "std 0.22 0.12 0.18 0.12 0.17 0.17 0.12 0.17 \n", - "min 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 \n", - "25% 0.09 0.03 0.08 0.00 0.13 0.20 0.01 0.20 \n", - "50% 0.18 0.04 0.15 0.00 0.22 0.32 0.02 0.31 \n", - "75% 0.33 0.06 0.25 0.00 0.32 0.44 0.03 0.39 \n", - "max 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 \n", - "\n", - " PRD SHDI ... T_Viv_Sec Viv_vacias COM ED_SING EQUIP IND \\\n", - "count 72.00 72.00 ... 72.00 72.00 72.00 72.00 72.00 72.00 \n", - "mean 0.28 0.10 ... 0.14 0.09 0.40 0.10 0.46 0.40 \n", - "std 0.21 0.15 ... 0.17 0.14 0.27 0.13 0.19 0.22 \n", - "min 0.00 0.00 ... 0.00 0.00 0.00 0.00 0.00 0.00 \n", - "25% 0.12 0.03 ... 0.04 0.03 0.19 0.04 0.33 0.23 \n", - "50% 0.24 0.06 ... 0.08 0.05 0.36 0.08 0.43 0.38 \n", - "75% 0.39 0.11 ... 0.16 0.10 0.55 0.11 0.57 0.50 \n", - "max 1.00 1.00 ... 1.00 1.00 1.00 1.00 1.00 1.00 \n", - "\n", - " OCIO OFI RES_PLU RES_UNI \n", - "count 72.00 72.00 72.00 72.00 \n", - "mean 0.13 0.13 0.40 0.36 \n", - "std 0.15 0.16 0.22 0.23 \n", - "min 0.00 0.00 0.00 0.00 \n", - "25% 0.04 0.03 0.25 0.20 \n", - "50% 0.10 0.08 0.38 0.33 \n", - "75% 0.16 0.15 0.50 0.50 \n", - "max 1.00 1.00 1.00 1.00 \n", - "\n", - "[8 rows x 48 columns]" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_datos_MinMax.describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 93, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Histograma 脕rea mn, datos escalados utilizando MinMax scaler ')" - ] - }, - "execution_count": 93, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjEAAAG2CAYAAACOMtcJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7QUlEQVR4nO3daXgUVf728bsJpBPIRiAhRAKEiKLIMgbZlNWwL7LI6jAEQVCCiPzVATeIouDOiCwjKjAKoiDiCCjIvgguCKOCIkuCoAKCkISACSHneeGTlk53IMEsHPh+rqsvSPXpql+drqq++3RVt8MYYwQAAGCZUiVdAAAAwMUgxAAAACsRYgAAgJUIMQAAwEqEGAAAYCVCDAAAsBIhBgAAWIkQAwAArESIuYJt3rxZEydO1O+//17SpQAAUGCEmCvU/v371a1bN8XExMjPz6+kywEAoMAc/OzAlWnRokVyOBzq3r17SZcCAMBFuWRGYqpXr674+PiSLuOK0aNHDwJMIXI4HBo/fnxJl3FZmD17thwOh5KTkwttni1btlTLli0LbX7FJfd25a1vLvV1u1SO7ePHj5fD4SjpMi4Ll9I2VyQhJmdH+/LLL73e37JlS91www1/eTnLli3jheMiNWzYUA6HQ9OnTy/pUq5oO3fu1Pjx4wv1BRt24ThWMNWrV5fD4VBcXJzX+2fOnCmHw3He16CCynlNczgc2rhxo8f9xhhFRUXJ4XCoc+fOhbJM5M8lMxKza9cuzZw5s0CPWbZsmRITE4uoosvX7t279cUXX6h69eqaO3duSZdzRdu5c6cSExMJMVew8x3HTp8+rUcfffS8j1+xYoVWrFhRFKVdsvz8/LRmzRodOnTI4765c+d6Pc/v0Ucf1enTp//ycufNm+cxfd26dTp48KCcTudfmj8K7pIJMU6nU2XKlCnpMgokPT29pEu4KG+99ZbCw8P1wgsv6NNPP833C6it6wvYys/PT6VLlz5vG19fX/n6+hZTRZeGm2++WQEBAXrnnXfcph88eFAbNmxQp06dPB5TunTpv3wRQ8eOHbVgwQJlZWW5TZ83b55iY2MVERHxl+Z/JcrOzv5LV8heMiEm9+emZ86cUWJiomrWrCk/Pz9VqFBBt9xyiz755BNJUnx8vKZOnSpJrmG+cz/vTE9P1//93/8pKipKTqdT1157rZ5//nnlPo/59OnTGjlypCpWrKjAwEB17dpVP/30k8dn0Tmfp+7cuVP9+/dX+fLldcstt0iSvv76a8XHx6tGjRry8/NTRESE7rzzTh07dsxtWTnz+OGHH/T3v/9dwcHBCgsL02OPPSZjjA4cOKDbbrtNQUFBioiI0AsvvOD2+MzMTD3++OOKjY1VcHCwypUrp2bNmmnNmjUF6ut58+bp9ttvV+fOnRUcHOz1ncX51lf6IwjFxsbK399foaGh6tu3rw4cOOA2jw0bNqhXr16qWrWqnE6noqKidP/99+fr3VDO8O3GjRs1cuRIhYWFKSQkRMOGDVNmZqZOnDihf/zjHypfvrzKly+vhx56yO25TU5OlsPh0PPPP69XX31VMTExcjqduummm/TFF18UqL/OlZGRofvvv19hYWGu7eXgwYMe7fbv36/hw4fr2muvlb+/vypUqKBevXq5BcbZs2erV69ekqRWrVq5tuG1a9e62kybNk21a9eW0+lUZGSkEhISdOLECbdl7d69Wz179lRERIT8/PxUpUoV9e3bVykpKRdcn88++0zt27dXcHCwypYtqxYtWmjTpk1ubdLS0jRq1ChVr15dTqdT4eHhatOmjb766iuPeXXs2FHly5dXuXLlVLduXf3rX/9y3Z/f/cSbDz74QJ06dVJkZKScTqdiYmL05JNP6uzZsx5tc55vf39/NWzYUBs2bPA6zyNHjmjw4MGqVKmS/Pz8VK9ePc2ZM8ej3fz58xUbG6vAwEAFBQWpTp06buvlzdq1az2eS+nP7XL27NmSLnwcy8+5VrnPT8j5uMXbLaee/Gyf0p/74aZNmzR69GiFhYWpXLly6t69u3799Ve3tsYYTZgwQVWqVFHZsmXVqlUr7dixw2vN+/btU69evRQaGqqyZcuqcePGWrp06XnX81x+fn7q0aOHx7Hr7bffVvny5dWuXTuPx3g7J8bhcGjEiBFavHixbrjhBjmdTtWuXVsff/yx1+X269dPx44dc70OSX8clxcuXKj+/ft7fczzzz+vpk2bqkKFCvL391dsbKwWLlzo1mbWrFlyOBx644033KY//fTTcjgcWrZsWd6dIenLL79Uu3btVLFiRfn7+ys6Olp33nmnW5vs7Gz961//Up06deTn56ewsDC1b9/e7SO3WbNmqXXr1goPD5fT6dT111+f71MOMjIyNG7cOF199dWu4/1DDz2kjIwMt3Y5fT537lzXsS2v/s6P80f8vyglJUVHjx71mH7mzJkLPnb8+PGaOHGihgwZooYNGyo1NVVffvmlvvrqK7Vp00bDhg3Tzz//rE8++URvvvmm22ONMeratavWrFmjwYMHq379+lq+fLkefPBB/fTTT3rppZdcbePj4/Xuu+9qwIABaty4sdatW+c1xefo1auXatasqaefftr1ovnJJ59o3759GjRokCIiIrRjxw69+uqr2rFjh7Zs2eKx4/Tp00fXXXedJk2apKVLl2rChAkKDQ3Vv//9b7Vu3VrPPPOM5s6dqwceeEA33XSTmjdvLklKTU3Va6+9pn79+umuu+5SWlqaXn/9dbVr106ff/656tevf8F+/eyzz7Rnzx7NmjVLvr6+6tGjh+bOnauHH3443+v71FNP6bHHHlPv3r01ZMgQ/frrr5oyZYqaN2+ubdu2KSQkRJK0YMECnTp1Svfcc48qVKigzz//XFOmTNHBgwe1YMGCC9YqSffee68iIiKUmJioLVu26NVXX1VISIg+/fRTVa1aVU8//bSWLVum5557TjfccIP+8Y9/uD1+3rx5SktL07Bhw+RwOPTss8+qR48e2rdv30WN/A0ZMkRvvfWW+vfvr6ZNm2r16tVet5cvvvhCn376qfr27asqVaooOTlZ06dPV8uWLbVz506VLVtWzZs318iRI/Xyyy/r4Ycf1nXXXSdJrn/Hjx+vxMRExcXF6Z577tGuXbs0ffp0ffHFF9q0aZPKlCmjzMxMtWvXThkZGa6++umnn7RkyRKdOHFCwcHBea7L6tWr1aFDB8XGxmrcuHEqVaqU6yC2YcMGNWzYUJJ09913a+HChRoxYoSuv/56HTt2TBs3btR3332nG2+8UdIf+0Dnzp1VuXJl3XfffYqIiNB3332nJUuW6L777nO1Kch+cq7Zs2crICBAo0ePVkBAgFavXq3HH39cqampeu6551ztXn/9dQ0bNkxNmzbVqFGjtG/fPnXt2lWhoaGKiopytTt9+rRatmypPXv2aMSIEYqOjtaCBQsUHx+vEydOuNXcr18/3XrrrXrmmWckSd999502bdrkavNXnO84drEmT56skydPuk176aWXtH37dlWoUEFS/rbPc917770qX768xo0bp+TkZE2ePFkjRoxwGwl5/PHHNWHCBHXs2FEdO3bUV199pbZt2yozM9NtXocPH1bTpk116tQpjRw5UhUqVNCcOXPUtWtXLVy4MN8XHPTv319t27bV3r17FRMTI+nPN2gF2bc3btyoRYsWafjw4QoMDNTLL7+snj176scff3T1V47q1aurSZMmevvtt9WhQwdJ0kcffaSUlBT17dtXL7/8ssf8//Wvf6lr16664447lJmZqfnz56tXr15asmSJ69gxaNAgLVq0SKNHj1abNm0UFRWlb775RomJiRo8eLA6duyYZ/1HjhxR27ZtFRYWpjFjxigkJETJyclatGiRW7vBgwdr9uzZ6tChg4YMGaKsrCxt2LBBW7ZsUYMGDSRJ06dPV+3atdW1a1eVLl1aH374oYYPH67s7GwlJCTkWUN2dra6du2qjRs3aujQobruuuv0zTff6KWXXtIPP/ygxYsXu7VfvXq13n33XY0YMUIVK1ZU9erV85z3BZkiMGvWLCPpvLfatWu7PaZatWpm4MCBrr/r1atnOnXqdN7lJCQkGG+rsHjxYiPJTJgwwW367bffbhwOh9mzZ48xxpitW7caSWbUqFFu7eLj440kM27cONe0cePGGUmmX79+Hss7deqUx7S3337bSDLr16/3mMfQoUNd07KyskyVKlWMw+EwkyZNck0/fvy48ff3d+uTrKwsk5GR4bac48ePm0qVKpk777zTowZvRowYYaKiokx2drYxxpgVK1YYSWbbtm1u7fJa3+TkZOPj42Oeeuopt+nffPONKV26tNt0b/0yceJE43A4zP79+89bZ8421K5dO1etxhjTpEkT43A4zN133+2altOHLVq0cE1LSkoykkyFChXMb7/95pr+wQcfGEnmww8/PO/yvdm+fbuRZIYPH+42vX///h7bi7d137x5s5Fk/vOf/7imLViwwEgya9ascWt75MgR4+vra9q2bWvOnj3rmv7KK68YSeaNN94wxhizbds2I8ksWLCgQOuSnZ1tatas6dG/p06dMtHR0aZNmzauacHBwSYhISHPeWVlZZno6GhTrVo1c/z4cY/lnDvv3LztJznPfVJS0nkfO2zYMFO2bFnz+++/G2OMyczMNOHh4aZ+/fpu+8mrr75qJLltH5MnTzaSzFtvveWalpmZaZo0aWICAgJMamqqMcaY++67zwQFBZmsrKw819+bNWvWeH1ec7bLWbNmuabldRwzxnhsV976pkWLFm7rltu7775rJJknnnjCNS2/22fO8uLi4tyey/vvv9/4+PiYEydOGGP+3F47derk1u7hhx82ktyOY6NGjTKSzIYNG1zT0tLSTHR0tKlevbrb9u5NtWrVTKdOnUxWVpaJiIgwTz75pDHGmJ07dxpJZt26da66v/jiC9fjco5p55JkfH19Xa8Jxhjzv//9z0gyU6ZM8eiHL774wrzyyismMDDQ1Ye9evUyrVq1cqvtXLn7OjMz09xwww2mdevWbtN/+eUXExoaatq0aWMyMjLM3/72N1O1alWTkpJy3v54//33PdY1t9WrVxtJZuTIkR73XWgfbdeunalRo4bbtNzb3JtvvmlKlSrl9pwaY8yMGTOMJLNp0ybXNEmmVKlSZseOHeddr/wq0o+Tpk6dqk8++cTjVrdu3Qs+NiQkRDt27NDu3bsLvNxly5bJx8dHI0eOdJv+f//3fzLG6KOPPpIk1xDW8OHD3drde++9ec777rvv9pjm7+/v+v/vv/+uo0ePqnHjxpLkMeQu/fFuPoePj48aNGggY4wGDx7smh4SEqJrr71W+/btc2ub89l3dna2fvvtN2VlZalBgwZel5NbVlaW3nnnHfXp08f1rjdn6DCvE3xzr++iRYuUnZ2t3r176+jRo65bRESEatas6fbR1rn9kp6erqNHj6pp06Yyxmjbtm0XrFf6493Due/QGzVq5NFXOX14bl/l6NOnj8qXL+/6u1mzZpLkte2F5Azp5t6uRo0a5dH23HU/c+aMjh07pquvvlohISH5eq5WrlypzMxMjRo1SqVK/bmb3nXXXQoKCnINveeMtCxfvlynTp3K97ps375du3fvVv/+/XXs2DHX85ienq5bb71V69evV3Z2tqQ/tsXPPvtMP//8s9d5bdu2TUlJSRo1apRrFC7Huc9dQfeTc5372LS0NB09elTNmjXTqVOn9P3330v6Y0j9yJEjuvvuu93OEYmPj/cYkVq2bJkiIiLUr18/17QyZcpo5MiROnnypNatW+da9/T0dLePD2yyc+dO3XnnnbrtttvcThAu6PY5dOhQt+eyWbNmOnv2rPbv3y/pz+313nvvdWvnbd9YtmyZGjZs6PbxdEBAgIYOHark5GTt3LkzX+vm4+Oj3r176+2335b0xwm9UVFRrn08v+Li4lwjOZJUt25dBQUF5XmM6N27t06fPq0lS5YoLS1NS5YsyfOjJMm9r48fP66UlBQ1a9bMo58jIiJcr5nNmjXT9u3b9cYbbygoKOi89efsc0uWLMnzU4733ntPDodD48aN87gvr30055OUFi1aaN++fef9eHrBggW67rrrVKtWLbfXhdatW0uSxykPLVq00PXXX3/e9cqvIg0xDRs2VFxcnMft3BeVvDzxxBM6ceKErrnmGtWpU0cPPvigvv7663wtd//+/YqMjFRgYKDb9Jxh+pwdb//+/SpVqpSio6Pd2l199dV5zjt3W0n67bffdN9996lSpUry9/dXWFiYq523J75q1apufwcHB8vPz08VK1b0mH78+HG3aXPmzFHdunVd5wmFhYVp6dKl+Tr/YcWKFfr111/VsGFD7dmzR3v27FFSUpJatWqlt99+2/Widb713b17t4wxqlmzpsLCwtxu3333nY4cOeJq++OPPyo+Pl6hoaEKCAhQWFiYWrRokWe/eOOtryS5fTSQMz13X3l7fM62563theRsL+ce8CTp2muv9Wh7+vRpPf74465zsipWrKiwsDCdOHEiX+ues43mnrevr69q1Kjhuj86OlqjR4/Wa6+9pooVK6pdu3aaOnXqBZeR8+Zg4MCBHs/ja6+9poyMDNc8nn32WX377beKiopSw4YNNX78eLcD/N69eyXpgl+bUND95Fw7duxQ9+7dFRwcrKCgIIWFhenvf/+722Nz+qRmzZpujy1Tpoxq1KjhNm3//v2qWbOmW0CUPI8Rw4cP1zXXXKMOHTqoSpUquvPOO//S5/fFKTU1VT169NBVV12l//znP24vVgXdPi+0H+XV92FhYR7H+/3793vdZ3L3fX70799fO3fu1P/+9z/NmzdPffv2LfB3weReN+mP9cvrGBEWFqa4uDjNmzdPixYt0tmzZ3X77bfnOf8lS5aocePG8vPzU2hoqMLCwjR9+nSv/dy3b1916tRJn3/+ue666y7deuutF6y/RYsW6tmzpxITE1WxYkXddtttmjVrltu5KHv37lVkZKRCQ0PPO69NmzYpLi5O5cqVU0hIiMLCwlynGpxvH929e7d27NjhcSy55pprJMntdUHy/jp6sYr0nJi/onnz5tq7d68++OADrVixQq+99ppeeuklzZgxw20ko7idm1Rz9O7dW59++qkefPBB1a9fXwEBAcrOzlb79u29BgMfH598TZPkdrLqW2+9pfj4eHXr1k0PPvigwsPD5ePjo4kTJ7peSM4nZ7Sld+/eXu9ft26dWrVq5TYt9/pmZ2fL4XDoo48+8lpzQECAJOns2bNq06aNfvvtN/3zn/9UrVq1VK5cOf3000+Kj4/32i/e5NUv3qabXCdtn+/x3toWpnvvvVezZs3SqFGj1KRJEwUHB8vhcKhv3775Xvf8euGFFxQfH+/aV0aOHKmJEydqy5YtqlKlitfH5NTw3HPP5XkuVc5z2bt3bzVr1kzvv/++VqxYoeeee07PPPOMFi1a5DovID8Kup/kOHHihFq0aKGgoCA98cQTrp/K+Oqrr/TPf/6z0PvzXOHh4dq+fbuWL1+ujz76SB999JFmzZqlf/zjH15PAs6R1wuptxORi0p8fLx+/vlnff755x7v5gu6fZbUfnQhjRo1UkxMjEaNGqWkpKTzjojk5WLWrX///rrrrrt06NAhdejQwWMEMseGDRvUtWtXNW/eXNOmTVPlypVVpkwZzZo1y+sFFceOHXOdaLtz505lZ2d7BO3cHA6HFi5cqC1btujDDz/U8uXLdeedd+qFF17Qli1bXPvxhezdu1e33nqratWqpRdffFFRUVHy9fXVsmXL9NJLL513P8vOzladOnX04osver0/95tOb6+jF+uSDTGSFBoaqkGDBmnQoEE6efKkmjdvrvHjx7tCTF4HimrVqmnlypVKS0tzG43JGXauVq2a69/s7GwlJSW5vYPYs2dPvms8fvy4Vq1apcTERD3++OOu6RfzMdiFLFy4UDVq1HD9ZEAOb0OEuaWnp+uDDz5Qnz59vL5rGDlypObOnesRYnKLiYmRMUbR0dGulO3NN998ox9++EFz5sxxO9nW1mF56c/tZe/evW7vJHft2uXRduHChRo4cKDbFWa///67x5VF59uGc+Z97ihCZmamkpKSPL7oq06dOqpTp44effRRffrpp7r55ps1Y8YMTZgwwev8c0aTgoKC8vzSsHNVrlxZw4cP1/Dhw3XkyBHdeOONeuqpp9ShQwfXvL799ts85/VX9pO1a9fq2LFjWrRokeskd0lKSkpya5fTZ7t373YNY0t/fFySlJSkevXqubX9+uuvPV4kch8jpD9Gv7p06aIuXbooOztbw4cP17///W899thjeY7a5ow+5H6+vY0yFMW3yE6aNEmLFy/WokWLVKtWLY/787t95te5fX/u9vrrr796jGhUq1bN6z7jre/zo1+/fpowYYKuu+66fF3cUBi6d++uYcOGacuWLR6XeZ/rvffek5+fn5YvX+72HTKzZs3y2j4hIUFpaWmaOHGixo4dq8mTJ2v06NH5qqlx48Zq3LixnnrqKc2bN0933HGH5s+fryFDhigmJkbLly/Xb7/9ludozIcffqiMjAz997//dRudys/VrzExMfrf//6nW2+9tdi/FfmSucQ6t9yXXQYEBOjqq692GyIrV66cJM8DRceOHXX27Fm98sorbtNfeuklORwO17vHnMvwpk2b5tZuypQp+a4zJ8XnTu2TJ0/O9zz+yrI+++wzbd68+YKPff/995Wenq6EhATdfvvtHrfOnTvrvffe87gcLrcePXrIx8dHiYmJHutsjHE9b95qNcZc8NLUS1nOdpP7CgRvz7WPj49H/0yZMsXjnXhe23BcXJx8fX318ssvu83n9ddfV0pKiuuqhtTUVI/vrKhTp45KlSp13ucyNjZWMTExev755z2uZJHkunz27NmzHsPI4eHhioyMdM3/xhtvVHR0tCZPnuyxHjm1/5X9xNtjMzMzPfbbBg0aKCwsTDNmzHC7Imb27NlejxGHDh1yewHKysrSlClTFBAQ4PrYM/dxqFSpUq5z+s7Xv9WqVZOPj4/Wr1/vNj13zVLe28DFWrlypR599FE98sgj6tatm9c2+d0+8ysuLk5lypTRlClT3Obr7fnt2LGjPv/8c7fjVnp6ul599VVVr169wOdKDBkyROPGjfP4SoqiFBAQoOnTp2v8+PHq0qVLnu18fHzkcDjc+jU5Odnjah3pj2D5zjvvaNKkSRozZoz69u2rRx99VD/88MN5azl+/LjHc5kT5nK20Z49e8oY4/VLFc+3j6akpOQZuM7Vu3dv/fTTT16/sPb06dNF+h1jl+xIzPXXX6+WLVsqNjZWoaGh+vLLL12XeeaIjY2V9McoQrt27eTj46O+ffuqS5cuatWqlR555BElJyerXr16WrFihT744AONGjXK9c4xNjZWPXv21OTJk3Xs2DHXJdY5G01+EmVQUJCaN2+uZ599VmfOnNFVV12lFStWeLxLLAydO3fWokWL1L17d3Xq1ElJSUmaMWOGrr/+eq8vROeaO3euKlSooKZNm3q9v2vXrpo5c6aWLl2qHj165DmfmJgYTZgwQWPHjlVycrK6deumwMBAJSUl6f3339fQoUP1wAMPqFatWoqJidEDDzygn376SUFBQXrvvfcu6lyUopacnKzo6GgNHDjQ9f0d3tSvX1/9+vXTtGnTlJKSoqZNm2rVqlVeR+46d+6sN998U8HBwbr++uu1efNmrVy50uOSzfr168vHx0fPPPOMUlJS5HQ6XSdbjx07VomJiWrfvr26du2qXbt2adq0abrppptc54OsXr1aI0aMUK9evXTNNdcoKytLb775pnx8fNSzZ88816VUqVJ67bXX1KFDB9WuXVuDBg3SVVddpZ9++klr1qxRUFCQPvzwQ6WlpalKlSq6/fbbVa9ePQUEBGjlypX64osvXC8apUqV0vTp09WlSxfVr19fgwYNUuXKlfX9999rx44dWr58+V/aT5o2bary5ctr4MCBGjlypBwOh958802PA3eZMmU0YcIEDRs2TK1bt1afPn2UlJSkWbNmeZwTM3ToUP373/9WfHy8tm7dqurVq2vhwoXatGmTJk+e7BrBHTJkiH777Te1bt1aVapU0f79+zVlyhTVr1/fdQ6HN8HBwerVq5emTJkih8OhmJgYLVmyxOPcACnv49jF6tevn8LCwlSzZk299dZbbve1adNGlSpVyvf2mV9hYWF64IEHNHHiRHXu3FkdO3bUtm3b9NFHH3mc6zdmzBjXJcojR45UaGio5syZo6SkJL333nsX/Pgkt2rVqpXIzzYMHDjwgm06deqkF198Ue3bt1f//v115MgRTZ06VVdffbXbOZ5HjhzRPffco1atWrle41555RWtWbNG8fHx2rhxY579MmfOHE2bNk3du3dXTEyM0tLSNHPmTAUFBbkuzW7VqpUGDBigl19+Wbt373Z9hLthwwbXMtu2besadRw2bJhOnjypmTNnKjw8XL/88st513PAgAF69913dffdd2vNmjW6+eabdfbsWX3//fd69913tXz5ctdl3IWuUK5xysXb5W3natGixQUvsZ4wYYJp2LChCQkJMf7+/qZWrVrmqaeeMpmZma42WVlZ5t577zVhYWHG4XC4XT6XlpZm7r//fhMZGWnKlCljatasaZ577jm3y8mMMSY9Pd0kJCSY0NBQExAQYLp162Z27dplJLld8pxzed6vv/7qsT4HDx403bt3NyEhISY4ONj06tXL/Pzzz3lepp17HgMHDjTlypW7YD9l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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.hist(df_datos_MinMax.loc[:,\"AREA_MN\"])\n", - "plt.title(\"Histograma 脕rea mn, datos escalados utilizando MinMax scaler \")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Maxabs\n", - "\n", - "Centrar los datos sparse destruir铆a la estructura sparseness de los datos, y por lo tanto raramente es un procedimiento adecuado. Sin embargo, puede tener sentido escalar entradas sparse, especialmente si las caracter铆sticas se encuentran en distintas escalas. El escalamiento de MaxAbsScaler fue desarrollado especialmente para escalar datos sparse, y es la forma recomendada de hacer esto.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [], - "source": [ - "Maxabs.fit(datos.iloc[:,1:50])\n", - "datos_Maxabs = Maxabs.transform(datos.iloc[:,1:50])\n", - "df_datos_Maxabs = pd.DataFrame(datos_Maxabs, columns = datos.iloc[:,1:50].columns)\n", - "df_datos_Maxabs['Ciudades'] = datos['Ciudades']" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df_datos_Maxabs.to_csv(r'C:\\Users\\crist\\Documents\\GitHub\\manifolds\\ciudades\\datos\\datos_completos\\df_datos_Maxabs.csv', encoding = 'ISO-8859-1')" - ] - }, - { - "cell_type": "code", - "execution_count": 71, - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
countmeanstdmin25%50%75%max
TA72.000.300.210.060.140.230.371.00
LPI72.000.070.120.010.040.050.071.00
AREA_MN72.000.290.160.120.190.260.341.00
AREA_AM72.000.020.120.000.000.000.011.00
AREA_MD72.000.340.150.130.240.320.411.00
GYRATE_MN72.000.550.110.330.470.540.631.00
GYRATE_AM72.000.070.110.030.040.050.061.00
GYRATE_MD72.000.540.110.330.460.530.591.00
PRD72.000.290.200.020.140.260.411.00
SHDI72.000.340.110.270.290.310.351.00
SIDI72.000.920.070.570.910.940.971.00
MSIDI72.000.850.120.380.800.870.921.00
SHEI72.000.890.080.570.860.910.951.00
SIEI72.000.920.070.570.910.940.971.00
MSIEI72.000.850.120.380.800.870.921.00
NP72.000.150.150.030.060.090.181.00
DIVISION72.000.990.050.551.001.001.001.00
SPLIT72.000.270.220.000.140.200.381.00
MESH72.000.020.120.000.000.000.011.00
PAFRAC72.000.940.020.900.930.940.951.00
SHAPE_MN72.000.900.020.850.880.890.901.00
SHAPE_MD72.000.900.030.850.890.900.911.00
PARA_MN72.000.670.110.430.600.660.731.00
PARA_MD72.000.670.140.360.570.660.751.00
FRAC_MD72.000.960.010.940.950.960.961.00
SQUARE_MN72.00-0.030.13-1.000.000.000.000.00
SQUARE_MD72.000.780.060.650.750.770.791.00
IJI72.000.630.150.360.510.600.721.00
LSI72.000.380.160.140.260.330.471.00
TE72.000.140.140.030.060.090.171.00
ED72.000.590.160.180.510.580.701.00
RNMDP_202072.000.690.080.520.630.700.731.00
PobT72.000.080.130.010.030.050.071.00
PobH72.000.080.130.010.030.050.071.00
PobM72.000.080.130.010.030.050.071.00
Vehiculos72.000.090.130.010.040.060.081.00
T_Viviendas72.000.080.130.010.030.050.071.00
T_Viv_Prin72.000.080.130.010.030.050.071.00
T_Viv_Sec72.000.140.170.000.040.080.161.00
Viv_vacias72.000.100.140.010.030.060.101.00
COM72.000.470.240.110.280.430.601.00
ED_SING72.000.110.130.010.050.090.131.00
EQUIP72.000.540.170.150.430.520.631.00
IND72.000.460.190.100.300.440.551.00
OCIO72.000.160.140.030.070.130.181.00
OFI72.000.150.160.030.060.100.171.00
RES_PLU72.000.490.180.150.360.470.581.00
RES_UNI72.000.380.220.030.220.350.511.00
\n", - "
" - ], - "text/plain": [ - " count mean std min 25% 50% 75% max\n", - "TA 72.00 0.30 0.21 0.06 0.14 0.23 0.37 1.00\n", - "LPI 72.00 0.07 0.12 0.01 0.04 0.05 0.07 1.00\n", - "AREA_MN 72.00 0.29 0.16 0.12 0.19 0.26 0.34 1.00\n", - "AREA_AM 72.00 0.02 0.12 0.00 0.00 0.00 0.01 1.00\n", - "AREA_MD 72.00 0.34 0.15 0.13 0.24 0.32 0.41 1.00\n", - "GYRATE_MN 72.00 0.55 0.11 0.33 0.47 0.54 0.63 1.00\n", - "GYRATE_AM 72.00 0.07 0.11 0.03 0.04 0.05 0.06 1.00\n", - "GYRATE_MD 72.00 0.54 0.11 0.33 0.46 0.53 0.59 1.00\n", - "PRD 72.00 0.29 0.20 0.02 0.14 0.26 0.41 1.00\n", - "SHDI 72.00 0.34 0.11 0.27 0.29 0.31 0.35 1.00\n", - "SIDI 72.00 0.92 0.07 0.57 0.91 0.94 0.97 1.00\n", - "MSIDI 72.00 0.85 0.12 0.38 0.80 0.87 0.92 1.00\n", - "SHEI 72.00 0.89 0.08 0.57 0.86 0.91 0.95 1.00\n", - "SIEI 72.00 0.92 0.07 0.57 0.91 0.94 0.97 1.00\n", - "MSIEI 72.00 0.85 0.12 0.38 0.80 0.87 0.92 1.00\n", - "NP 72.00 0.15 0.15 0.03 0.06 0.09 0.18 1.00\n", - "DIVISION 72.00 0.99 0.05 0.55 1.00 1.00 1.00 1.00\n", - "SPLIT 72.00 0.27 0.22 0.00 0.14 0.20 0.38 1.00\n", - "MESH 72.00 0.02 0.12 0.00 0.00 0.00 0.01 1.00\n", - "PAFRAC 72.00 0.94 0.02 0.90 0.93 0.94 0.95 1.00\n", - "SHAPE_MN 72.00 0.90 0.02 0.85 0.88 0.89 0.90 1.00\n", - "SHAPE_MD 72.00 0.90 0.03 0.85 0.89 0.90 0.91 1.00\n", - "PARA_MN 72.00 0.67 0.11 0.43 0.60 0.66 0.73 1.00\n", - "PARA_MD 72.00 0.67 0.14 0.36 0.57 0.66 0.75 1.00\n", - "FRAC_MD 72.00 0.96 0.01 0.94 0.95 0.96 0.96 1.00\n", - "SQUARE_MN 72.00 -0.03 0.13 -1.00 0.00 0.00 0.00 0.00\n", - "SQUARE_MD 72.00 0.78 0.06 0.65 0.75 0.77 0.79 1.00\n", - "IJI 72.00 0.63 0.15 0.36 0.51 0.60 0.72 1.00\n", - "LSI 72.00 0.38 0.16 0.14 0.26 0.33 0.47 1.00\n", - "TE 72.00 0.14 0.14 0.03 0.06 0.09 0.17 1.00\n", - "ED 72.00 0.59 0.16 0.18 0.51 0.58 0.70 1.00\n", - "RNMDP_2020 72.00 0.69 0.08 0.52 0.63 0.70 0.73 1.00\n", - "PobT 72.00 0.08 0.13 0.01 0.03 0.05 0.07 1.00\n", - "PobH 72.00 0.08 0.13 0.01 0.03 0.05 0.07 1.00\n", - "PobM 72.00 0.08 0.13 0.01 0.03 0.05 0.07 1.00\n", - "Vehiculos 72.00 0.09 0.13 0.01 0.04 0.06 0.08 1.00\n", - "T_Viviendas 72.00 0.08 0.13 0.01 0.03 0.05 0.07 1.00\n", - "T_Viv_Prin 72.00 0.08 0.13 0.01 0.03 0.05 0.07 1.00\n", - "T_Viv_Sec 72.00 0.14 0.17 0.00 0.04 0.08 0.16 1.00\n", - "Viv_vacias 72.00 0.10 0.14 0.01 0.03 0.06 0.10 1.00\n", - "COM 72.00 0.47 0.24 0.11 0.28 0.43 0.60 1.00\n", - "ED_SING 72.00 0.11 0.13 0.01 0.05 0.09 0.13 1.00\n", - "EQUIP 72.00 0.54 0.17 0.15 0.43 0.52 0.63 1.00\n", - "IND 72.00 0.46 0.19 0.10 0.30 0.44 0.55 1.00\n", - "OCIO 72.00 0.16 0.14 0.03 0.07 0.13 0.18 1.00\n", - "OFI 72.00 0.15 0.16 0.03 0.06 0.10 0.17 1.00\n", - "RES_PLU 72.00 0.49 0.18 0.15 0.36 0.47 0.58 1.00\n", - "RES_UNI 72.00 0.38 0.22 0.03 0.22 0.35 0.51 1.00" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_datos_Maxabs.describe().T" - ] - }, - { - "cell_type": "code", - "execution_count": 110, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([23., 20., 15., 7., 4., 1., 0., 0., 1., 1.]),\n", - " array([0.12231236, 0.21008113, 0.29784989, 0.38561865, 0.47338742,\n", - " 0.56115618, 0.64892495, 0.73669371, 0.82446247, 0.91223124,\n", - " 1. ]),\n", - " )" - ] - }, - "execution_count": 110, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxz0lEQVR4nO3deVxU5d//8feAMiCrKIskKpJmi+I3TdPco9BMM821r4FpWmJmfsuyvqaUqWmLd+ZSWdq3TLsts7s0961yyfVuscwFTCs1FwRRQeT6/dGPuR0BFYMLwdfz8ZiHzjXXOedzzjVn5j1nzmEcxhgjAAAASzxKugAAAHB1IXwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8lCI1atRQQkJCSZcBXBaHw6FRo0aVdBllwsyZM+VwOJSSklJk82zVqpVatWpVZPMrixISEuTn51fSZZQJhI8SkvvisWnTpnwfb9WqlW666aa/vZyFCxfygn+ZGjVqJIfDoalTp5Z0KVe17du3a9SoUUX6Rosrg8PhkMPhUL9+/fJ9/Nlnn3X1OXz4sOXqUJwIH6XIjh079PbbbxdqmoULFyopKamYKiq7du7cqY0bN6pGjRqaNWtWSZdzVdu+fbuSkpIIH2WUt7e3PvnkE2VlZeV5bPbs2fL29i6BqlDcCB+liNPpVPny5Uu6jELJyMgo6RIuywcffKDQ0FC98sorWrt27SW/8ZXW9QVKStu2bZWWlqYvv/zSrX3t2rVKTk5W+/btS6gyFCfCRyly/jkfZ86cUVJSkmrVqiVvb29VqlRJzZo109KlSyX99f3k5MmTJf3f4U2Hw+GaPiMjQ//6178UGRkpp9Op6667Ti+//LLO/6HjU6dOafDgwapcubL8/f3VsWNH/fbbb3m+wx81apQcDoe2b9+uXr16qWLFimrWrJkk6bvvvlNCQoJq1qwpb29vhYeH68EHH9SRI0fclpU7j19++UX//Oc/FRgYqJCQEI0YMULGGO3bt0/33HOPAgICFB4erldeecVt+qysLD333HNq0KCBAgMD5evrq+bNm2vlypWF2tYffvih7rvvPt19990KDAzUhx9+mKfPhdZX+ivANGjQQD4+PgoODlaPHj20b98+t3l89dVX6tq1q6pVqyan06nIyEg9/vjjOnXq1EVrzP3q7uuvv9bgwYMVEhKioKAgDRgwQFlZWUpNTdUDDzygihUrqmLFiho2bJjb2KakpMjhcOjll1/WW2+9pejoaDmdTt1yyy3auHFjobbXuTIzM/X4448rJCTE9XzZv39/nn579+7VwIEDdd1118nHx0eVKlVS165d3YLezJkz1bVrV0lS69atXc/hVatWufpMmTJFN954o5xOpyIiIpSYmKjU1FS3Ze3cuVNdunRReHi4vL29VbVqVfXo0UPHjx+/6Pps2LBBbdu2VWBgoCpUqKCWLVvqm2++ceuTnp6uIUOGqEaNGnI6nQoNDdUdd9yhLVu25JnXXXfdpYoVK8rX11f16tXTf/3Xf7kev9T9JD+fffaZ2rdvr4iICDmdTkVHR+uFF17Q2bNn8/TNHW8fHx81atRIX331Vb7zPHTokPr27auwsDB5e3srJiZG7733Xp5+c+bMUYMGDeTv76+AgADVrVvXbb0u5JprrlGLFi3y7GOzZs1S3bp18/36+VL2m0OHDikkJEStWrVye97v2rVLvr6+6t69e6Hmd649e/YoLi5Ovr6+ioiI0PPPP5/ndfPvbJOrQbmSLuBqd/z48Xy/yzxz5sxFpx01apTGjh2rfv36qVGjRkpLS9OmTZu0ZcsW3XHHHRowYIB+//13LV26VO+//77btMYYdezYUStXrlTfvn1Vv359LV68WE8++aR+++03vfbaa66+CQkJ+u///m/17t1bt956q1avXn3BTyNdu3ZVrVq1NGbMGNcOuXTpUu3Zs0d9+vRReHi4fvzxR7311lv68ccftX79erdQJEndu3fX9ddfr3HjxmnBggUaPXq0goOD9eabb6pNmzZ66aWXNGvWLD3xxBO65ZZb1KJFC0lSWlqapk+frp49e+qhhx5Senq63nnnHcXFxenbb79V/fr1L7pdN2zYoF27dmnGjBny8vJS586dNWvWLD3zzDOXvL4vvviiRowYoW7duqlfv376888/NWnSJLVo0UJbt25VUFCQJGnu3Lk6efKkHnnkEVWqVEnffvutJk2apP3792vu3LkXrVWSHn30UYWHhyspKUnr16/XW2+9paCgIK1du1bVqlXTmDFjtHDhQk2YMEE33XSTHnjgAbfpP/zwQ6Wnp2vAgAFyOBwaP368OnfurD179lzWkbZ+/frpgw8+UK9evdS0aVOtWLEi3+fLxo0btXbtWvXo0UNVq1ZVSkqKpk6dqlatWmn79u2qUKGCWrRoocGDB+v111/XM888o+uvv16SXP+OGjVKSUlJio2N1SOPPKIdO3Zo6tSp2rhxo7755huVL19eWVlZiouLU2Zmpmtb/fbbb/riiy+UmpqqwMDAAtdlxYoVateunRo0aKCRI0fKw8NDM2bMUJs2bfTVV1+pUaNGkqSHH35YH3/8sQYNGqQbbrhBR44c0ddff62ffvpJN998s6S/9oG7775bVapU0WOPPabw8HD99NNP+uKLL/TYY4+5+hRmPznXzJkz5efnp6FDh8rPz08rVqzQc889p7S0NE2YMMHV75133tGAAQPUtGlTDRkyRHv27FHHjh0VHBysyMhIV79Tp06pVatW2rVrlwYNGqSoqCjNnTtXCQkJSk1Ndau5Z8+euv322/XSSy9Jkn766Sd98803rj4X06tXLz322GM6ceKE/Pz8lJ2drblz52ro0KE6ffp0nv6Xst+EhoZq6tSp6tq1qyZNmqTBgwcrJydHCQkJ8vf315QpUwo1v1xnz55V27Ztdeutt2r8+PFatGiRRo4cqezsbD3//PNFtk3KPIMSMWPGDCPpgrcbb7zRbZrq1aub+Ph41/2YmBjTvn37Cy4nMTHR5DfM8+fPN5LM6NGj3drvu+8+43A4zK5du4wxxmzevNlIMkOGDHHrl5CQYCSZkSNHutpGjhxpJJmePXvmWd7JkyfztM2ePdtIMmvWrMkzj/79+7vasrOzTdWqVY3D4TDjxo1ztR87dsz4+Pi4bZPs7GyTmZnptpxjx46ZsLAw8+CDD+apIT+DBg0ykZGRJicnxxhjzJIlS4wks3XrVrd+Ba1vSkqK8fT0NC+++KJb+/fff2/KlSvn1p7fdhk7dqxxOBxm7969F6wz9zkUFxfnqtUYY5o0aWIcDod5+OGHXW2527Bly5autuTkZCPJVKpUyRw9etTV/tlnnxlJ5vPPP7/g8vOzbds2I8kMHDjQrb1Xr155ni/5rfu6deuMJPOf//zH1TZ37lwjyaxcudKt76FDh4yXl5e58847zdmzZ13tb7zxhpFk3n33XWOMMVu3bjWSzNy5cwu1Ljk5OaZWrVp5tu/JkydNVFSUueOOO1xtgYGBJjExscB5ZWdnm6ioKFO9enVz7NixPMs5d97ny28/yR375OTkC047YMAAU6FCBXP69GljjDFZWVkmNDTU1K9f320/eeutt4wkt+fHxIkTjSTzwQcfuNqysrJMkyZNjJ+fn0lLSzPGGPPYY4+ZgIAAk52dXeD6F0SSSUxMNEePHjVeXl7m/fffN8YYs2DBAuNwOExKSoprP/vzzz8vuK4F7Tc9e/Y0FSpUML/88ouZMGGCkWTmz5/v1udS5xcfH28kmUcffdTVlpOTY9q3b2+8vLxcNf6dbXK14GuXEjZ58mQtXbo0z61evXoXnTYoKEg//vijdu7cWejlLly4UJ6enho8eLBb+7/+9S8ZY1zfvy5atEiSNHDgQLd+jz76aIHzfvjhh/O0+fj4uP5/+vRpHT58WLfeeqsk5Tk0Lcnt7HdPT081bNhQxhj17dvX1R4UFKTrrrtOe/bscevr5eUlScrJydHRo0eVnZ2thg0b5ruc82VnZ+ujjz5S9+7dXZ8y27Rpo9DQ0AJPPD1/fefNm6ecnBx169ZNhw8fdt3Cw8NVq1Ytt6+Azt0uGRkZOnz4sJo2bSpjjLZu3XrReiWpb9++bp+IGzdunGdb5W7Dc7dVru7du6tixYqu+82bN5ekfPtezMKFCyUpz/NqyJAhefqeu+5nzpzRkSNHdO211yooKOiSxmrZsmXKysrSkCFD5OHxfy9lDz30kAICArRgwQJJch3ZWLx4sU6ePHnJ67Jt2zbt3LlTvXr10pEjR1zjmJGRodtvv11r1qxRTk6OpL+eixs2bNDvv/+e77y2bt2q5ORkDRkyxHXUK9e5Y1fY/eRc506bnp6uw4cPq3nz5jp58qR+/vlnSdKmTZt06NAhPfzww679RPrr6Ob5R4AWLlyo8PBw9ezZ09VWvnx5DR48WCdOnNDq1atd656RkeH6uvdyVKxYUW3bttXs2bMl/XU0rmnTpqpevfpF1/Vi+80bb7yhwMBA3XfffRoxYoR69+6te+6557LnJ0mDBg1y/d/hcGjQoEHKysrSsmXLJBXNNinrCB8lrFGjRoqNjc1zO/fNoCDPP/+8UlNTVbt2bdWtW1dPPvmkvvvuu0ta7t69exURESF/f3+39tzD2Xv37nX96+HhoaioKLd+1157bYHzPr+vJB09elSPPfaYwsLC5OPjo5CQEFe//L53r1atmtv9wMBAeXt7q3Llynnajx075tb23nvvqV69eq7zYEJCQrRgwYJL+n5/yZIl+vPPP9WoUSPt2rVLu3btUnJyslq3bq3Zs2e73mwutL47d+6UMUa1atVSSEiI2+2nn37SoUOHXH1//fVXJSQkKDg4WH5+fgoJCVHLli0L3C75yW9bSXI7hJ7bfv62ym/63Odefn0vJvf5Eh0d7dZ+3XXX5el76tQpPffcc65zjipXrqyQkBClpqZe0rrnPkfPn7eXl5dq1qzpejwqKkpDhw7V9OnTVblyZcXFxWny5MkXXUZuqI+Pj88zjtOnT1dmZqZrHuPHj9cPP/ygyMhINWrUSKNGjXILb7t375aki14+X9j95Fw//vij7r33XgUGBiogIEAhISH65z//6TZt7japVauW27Tly5dXzZo13dr27t2rWrVquQU7Ke9rxMCBA1W7dm21a9dOVatW1YMPPuj60FIYvXr10tKlS/Xrr79q/vz56tWrV4F9C7PfBAcH6/XXX9d3332nwMBAvf76639rfh4eHnm2Ve3atSXJdb5SUW2TsoxzPkqxFi1aaPfu3frss8+0ZMkSTZ8+Xa+99pqmTZtW4HXzNpz7KSJXt27dtHbtWj355JOqX7++/Pz8lJOTo7Zt2+b7hu7p6XlJbZLcTvT64IMPlJCQoE6dOunJJ59UaGioPD09NXbsWNcbwIXkHt3o1q1bvo+vXr1arVu3dms7f31zcnLkcDj05Zdf5ltz7h8pOnv2rO644w4dPXpUTz31lOrUqSNfX1/99ttvSkhIyHe75Keg7ZJfuznvpLgLTZ9f36L06KOPasaMGRoyZIiaNGmiwMBAORwO9ejR45LX/VK98sorSkhIcO0rgwcP1tixY7V+/XpVrVo132lya5gwYUKB5wrljmW3bt3UvHlzffrpp1qyZIkmTJigl156SfPmzVO7du0uuc7C7ie5UlNT1bJlSwUEBOj5559XdHS0vL29tWXLFj311FNFvj3PFRoaqm3btmnx4sX68ssv9eWXX2rGjBl64IEH8j05tSAdO3aU0+lUfHy8MjMzC9wHL2e/Wbx4saS/AvX+/fvdjj4V1X54rqLaJmUZ4aOUCw4OVp8+fdSnTx+dOHFCLVq00KhRo1zho6AT1KpXr65ly5YpPT3d7ehH7uHZ3MOd1atXV05OjpKTk90+Le3ateuSazx27JiWL1+upKQkPffcc672y/m66GI+/vhj1axZU/PmzXNb95EjR1502oyMDH322Wfq3r277rvvvjyPDx48WLNmzcoTPs4XHR0tY4yioqJcn4jy8/333+uXX37Re++953YSaGk+VJv7fNm9e7fbEYkdO3bk6fvxxx8rPj7e7Yql06dP57lS5ULP4dx5n/tJNCsrS8nJyYqNjXXrX7duXdWtW1f//ve/tXbtWt12222aNm2aRo8ene/8c4/eBAQE5JlXfqpUqaKBAwdq4MCBOnTokG6++Wa9+OKLateunWteP/zwQ4Hz+jv7yapVq3TkyBHNmzfPdfK1JCUnJ7v1y91mO3fuVJs2bVztZ86cUXJysmJiYtz6fvfdd8rJyXE7+nH+a4T019GmDh06qEOHDsrJydHAgQP15ptvasSIERc8SnouHx8fderUSR988IHatWuX5yhnrsLuN4sWLdL06dM1bNgwzZo1S/Hx8dqwYYPKlSt3WfPLycnRnj173PbtX375RdJfVyQW5TYpy/japRQ7//I7Pz8/XXvttcrMzHS1+fr6SlKeF/S77rpLZ8+e1RtvvOHW/tprr8nhcLg+rcXFxUmS25nhkjRp0qRLrjP3k/X5n6QnTpx4yfP4O8vasGGD1q1bd9FpP/30U2VkZCgxMVH33Xdfntvdd9+tTz75xG375qdz587y9PRUUlJSnnU2xrjGLb9ajTGl+nK83OfN+Ye28xtrT0/PPNtn0qRJeS4NLeg5HBsbKy8vL73++utu83nnnXd0/Phx1xU2aWlpys7Odpu2bt268vDwuOBYNmjQQNHR0Xr55Zd14sSJPI//+eefkv765Hz+ofnQ0FBFRES45n/zzTcrKipKEydOzLMeubX/nf0kv2mzsrLy7LcNGzZUSEiIpk2b5vZHvWbOnJnva8SBAwf00Ucfudqys7M1adIk+fn5ub6WOP91yMPDw3XO2sX2lfM98cQTGjlypEaMGFFgn8LsN6mpqa6rAceMGaPp06dry5YtGjNmzGXNL9e5r5vGGL3xxhsqX768br/9dklFu03KKo58lGI33HCDWrVqpQYNGig4OFibNm1yXe6Xq0GDBpL++tQeFxcnT09P9ejRQx06dFDr1q317LPPKiUlRTExMVqyZIk+++wzDRkyxPVJrUGDBurSpYsmTpyoI0eOuC61zU36F7r0L1dAQIBatGih8ePH68yZM7rmmmu0ZMmSPJ/KisLdd9+tefPm6d5771X79u2VnJysadOm6YYbbsj3DeRcs2bNUqVKldS0adN8H+/YsaPefvttLViwQJ07dy5wPtHR0Ro9erSGDx+ulJQUderUSf7+/kpOTtann36q/v3764knnlCdOnUUHR2tJ554Qr/99psCAgL0ySefXNa5FsUtJSVFUVFRio+P18yZMwvsV79+ffXs2VNTpkzR8ePH1bRpUy1fvjzfI2V333233n//fQUGBuqGG27QunXrtGzZMlWqVCnPPD09PfXSSy/p+PHjcjqdrpOAhw8frqSkJLVt21YdO3bUjh07NGXKFN1yyy2u8x1WrFihQYMGqWvXrqpdu7ays7P1/vvvy9PTU126dClwXTw8PDR9+nS1a9dON954o/r06aNrrrlGv/32m1auXKmAgAB9/vnnSk9PV9WqVXXfffcpJiZGfn5+WrZsmTZu3Og6quPh4aGpU6eqQ4cOql+/vvr06aMqVaro559/1o8//qjFixf/rf2kadOmqlixouLj4zV48GA5HA69//77eYJM+fLlNXr0aA0YMEBt2rRR9+7dlZycrBkzZuQ5j6F///568803lZCQoM2bN6tGjRr6+OOP9c0332jixImuI6b9+vXT0aNH1aZNG1WtWlV79+7VpEmTVL9+fdf5IZcqJibG7ehLfgqz3zz22GM6cuSIli1bJk9PT7Vt21b9+vXT6NGjdc899ygmJqbQ+6G3t7cWLVqk+Ph4NW7cWF9++aUWLFigZ555RiEhIUW+TcosOxfV4Hy5l8pt3Lgx38dbtmx50UttR48ebRo1amSCgoKMj4+PqVOnjnnxxRdNVlaWq092drZ59NFHTUhIiHE4HG6X3aanp5vHH3/cREREmPLly5tatWqZCRMmuF36Z4wxGRkZJjEx0QQHBxs/Pz/TqVMns2PHDiPJ7dLX/C6Jy7V//35z7733mqCgIBMYGGi6du1qfv/99wIv1z1/HvHx8cbX1/ei2yknJ8eMGTPGVK9e3TidTvOPf/zDfPHFFyY+Pt5Ur149321tjDEHDx405cqVM7179y6wz8mTJ02FChXMvffee9H1NcaYTz75xDRr1sz4+voaX19fU6dOHZOYmGh27Njh6rN9+3YTGxtr/Pz8TOXKlc1DDz1k/vd//9dIMjNmzCiwFmMKfg5d6jbMvdR2woQJeeZ9/rh8//33RpJ5+umnL1iTMcacOnXKDB482FSqVMn4+vqaDh06mH379uWZ57Fjx0yfPn1M5cqVjZ+fn4mLizM///xznue5Mca8/fbbpmbNmsbT0zPPZbdvvPGGqVOnjilfvrwJCwszjzzyiNvlrHv27DEPPvigiY6ONt7e3iY4ONi0bt3aLFu27KLrYsxfl+p27tzZVKpUyTidTlO9enXTrVs3s3z5cmOMMZmZmebJJ580MTExxt/f3/j6+pqYmBgzZcqUPPP6+uuvzR133OHqV69ePTNp0iTX45e6n+R3qe0333xjbr31VuPj42MiIiLMsGHDzOLFi/O9THnKlCkmKirKOJ1O07BhQ7NmzRrTsmVLt0ttjflrv8gdIy8vL1O3bt08z8uPP/7Y3HnnnSY0NNR4eXmZatWqmQEDBpg//vjjottW//9S2wvJ7/l8KftN7iXjr7zyitv80tLSTPXq1U1MTIzrtfJS98PcfWj37t3mzjvvNBUqVDBhYWFm5MiRbpd7/51tcrVwGFPMZ5WhTNq2bZv+8Y9/6IMPPtD9999f0uWgmE2ZMkXDhg3T7t27FRYWVtLlACjlOOcDF5XfnxieOHGiPDw83E5uQ9m1cuVKDR48mOABoEhw5AMXlZSUpM2bN6t169YqV66c69Kx3O+EAQAoDMIHLmrp0qVKSkrS9u3bdeLECVWrVk29e/fWs88+67pcDQCAS0X4AAAAVnHOBwAAsIrwAQAArLrivrDPycnR77//Ln9//0v6A1YAAKDkGWOUnp6uiIiIPD9IeL4rLnz8/vvveX6NEwAAlA779u0r8Acbc11x4SP3T/bu27dPAQEBJVwNAAC4FGlpaYqMjHT7sdKCXHHhI/erloCAAMIHAAClzKWcMsEJpwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsKpcSRdgW42nF5R0CYWWMq59SZcAAECR4cgHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCqUOFj7NixuuWWW+Tv76/Q0FB16tRJO3bscOtz+vRpJSYmqlKlSvLz81OXLl108ODBIi0aAACUXoUKH6tXr1ZiYqLWr1+vpUuX6syZM7rzzjuVkZHh6vP444/r888/19y5c7V69Wr9/vvv6ty5c5EXDgAASqdyhem8aNEit/szZ85UaGioNm/erBYtWuj48eN655139OGHH6pNmzaSpBkzZuj666/X+vXrdeuttxZd5QAAoFT6W+d8HD9+XJIUHBwsSdq8ebPOnDmj2NhYV586deqoWrVqWrduXb7zyMzMVFpamtsNAACUXYU68nGunJwcDRkyRLfddptuuukmSdKBAwfk5eWloKAgt75hYWE6cOBAvvMZO3askpKSLreMq0KNpxeUdAmFljKufUmXAAC4Ql32kY/ExET98MMPmjNnzt8qYPjw4Tp+/Ljrtm/fvr81PwAAcGW7rCMfgwYN0hdffKE1a9aoatWqrvbw8HBlZWUpNTXV7ejHwYMHFR4enu+8nE6nnE7n5ZQBAABKoUId+TDGaNCgQfr000+1YsUKRUVFuT3eoEEDlS9fXsuXL3e17dixQ7/++quaNGlSNBUDAIBSrVBHPhITE/Xhhx/qs88+k7+/v+s8jsDAQPn4+CgwMFB9+/bV0KFDFRwcrICAAD366KNq0qQJV7oAAABJhQwfU6dOlSS1atXKrX3GjBlKSEiQJL322mvy8PBQly5dlJmZqbi4OE2ZMqVIigUAAKVfocKHMeaifby9vTV58mRNnjz5sosCAABlF7/tAgAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCh0+1qxZow4dOigiIkIOh0Pz5893ezwhIUEOh8Pt1rZt26KqFwAAlHKFDh8ZGRmKiYnR5MmTC+zTtm1b/fHHH67b7Nmz/1aRAACg7ChX2AnatWundu3aXbCP0+lUeHj4ZRcFAADKrmI552PVqlUKDQ3Vddddp0ceeURHjhwpsG9mZqbS0tLcbgAAoOwq9JGPi2nbtq06d+6sqKgo7d69W88884zatWundevWydPTM0//sWPHKikpqajLQAmr8fSCki6h0FLGtS/pEgDgqlDk4aNHjx6u/9etW1f16tVTdHS0Vq1apdtvvz1P/+HDh2vo0KGu+2lpaYqMjCzqsgAAwBWi2C+1rVmzpipXrqxdu3bl+7jT6VRAQIDbDQAAlF3FHj7279+vI0eOqEqVKsW9KAAAUAoU+muXEydOuB3FSE5O1rZt2xQcHKzg4GAlJSWpS5cuCg8P1+7duzVs2DBde+21iouLK9LCAQBA6VTo8LFp0ya1bt3adT/3fI34+HhNnTpV3333nd577z2lpqYqIiJCd955p1544QU5nc6iqxoAAJRahQ4frVq1kjGmwMcXL178twoCAABlG7/tAgAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAq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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.title(\"Histograma Area mn, datos escalados Maxabs\")\n", - "plt.hist(df_datos_Maxabs.loc[:,\"AREA_MN\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### ROBUST SCALER\n", - "\n", - "Si los datos contienen datos at铆picos, escalar usando la media y la varianza de los datos es probable que no funcione bien. En estos casos, es posible utilizar el RobustScaler como una alternativa. Este m茅todo usa estimadores m谩s robustos para estimar la centralidad y rango de los valores.Este m茅todo de escalado no utiliza la media y escala los datos de acuerdo al rango cuant铆lico (Por defecto el rango intercuart铆lico). El rango intercuart铆lico se define como el rango entre el primer cuantil (25%) y el tercer cuantil (75%). \n", - "\n", - "[COMPARACI脫N DE DISTINTOS M脡TODOS DE ESCALADO APLICADO A UN DATASET CON\n", - "OUTLIERS](https://scikit-learn.org/stable/auto_examples/preprocessing/plot_all_scaling.html#plot-all-scaling-robust-scaler-section)" - ] - }, - { - "cell_type": "code", - "execution_count": 67, - "metadata": {}, - "outputs": [], - "source": [ - "Rscaler.fit(datos.iloc[:,1:50])\n", - "datos_Rscaler = Rscaler.transform(datos.iloc[:,1:50])\n", - "df_datos_Rscaler = pd.DataFrame(datos_Rscaler, columns = datos.iloc[:,1:50].columns)\n", - "df_datos_Rscaler['Ciudades'] = datos['Ciudades']" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": {}, - "outputs": [], - "source": [ - "df_datos_Rscaler\n", - "df_datos_Rscaler.to_csv(r'C:\\Users\\crist\\Documents\\GitHub\\manifolds\\ciudades\\datos\\datos_completos\\df_datos_Rscaler.csv', encoding = 'ISO-8859-1')" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
countmeanstdmin25%50%75%max
TA72.000.280.92-0.77-0.40-0.000.603.42
LPI72.000.854.03-1.25-0.410.000.5931.98
AREA_MN72.000.251.04-0.88-0.42-0.000.584.92
AREA_AM72.005.4741.18-0.94-0.390.000.61349.52
AREA_MD72.000.130.92-1.16-0.480.000.524.08
GYRATE_MN72.000.020.72-1.32-0.480.000.522.87
GYRATE_AM72.000.885.77-1.06-0.360.000.6448.31
GYRATE_MD72.000.040.86-1.57-0.560.000.443.58
PRD72.000.150.76-0.88-0.440.000.562.79
SHDI72.000.581.91-0.77-0.330.000.6712.34
SIDI72.00-0.291.19-6.07-0.58-0.000.420.95
MSIDI72.00-0.190.96-4.01-0.550.000.451.07
SHEI72.00-0.200.84-3.79-0.620.000.380.97
SIEI72.00-0.291.19-6.07-0.580.000.420.95
MSIEI72.00-0.190.96-4.01-0.55-0.000.451.07
NP72.000.481.30-0.56-0.280.000.727.81
DIVISION72.00-2.2615.80-133.64-0.480.000.520.86
SPLIT72.000.310.90-0.80-0.250.000.753.27
MESH72.003.6527.09-0.71-0.300.000.70229.97
PAFRAC72.000.130.89-1.89-0.51-0.000.492.76
SHAPE_MN72.000.311.15-2.01-0.30-0.000.705.14
SHAPE_MD72.000.301.35-2.35-0.490.000.515.58
PARA_MN72.000.090.82-1.66-0.470.000.532.47
PARA_MD72.000.080.77-1.64-0.46-0.000.541.91
FRAC_MD72.000.241.06-1.61-0.36-0.000.644.37
SQUARE_MN72.00-274508.731383959.91-10398778.79-0.500.000.503.22
SQUARE_MD72.000.321.46-2.85-0.390.000.615.64
IJI72.000.120.73-1.19-0.440.000.561.95
LSI72.000.250.76-0.86-0.330.000.673.17
TE72.000.451.35-0.59-0.30-0.000.708.68
ED72.000.050.80-2.07-0.400.000.602.12
RNMDP_202072.00-0.050.82-1.69-0.650.000.352.97
PobT72.000.843.75-1.12-0.470.000.5327.52
PobH72.000.823.56-1.07-0.440.000.5625.96
PobM72.000.863.84-1.11-0.460.000.5428.30
Vehiculos72.000.682.97-0.96-0.460.000.5421.60
T_Viviendas72.000.743.11-0.89-0.420.000.5822.41
T_Viv_Prin72.000.833.70-1.06-0.440.000.5626.91
T_Viv_Sec72.000.481.45-0.66-0.360.000.647.68
Viv_vacias72.000.541.99-0.74-0.370.000.6313.37
COM72.000.130.74-0.98-0.45-0.000.551.77
ED_SING72.000.291.62-0.96-0.520.000.4811.57
EQUIP72.000.120.83-1.84-0.430.000.572.41
IND72.000.080.79-1.38-0.540.000.462.30
OCIO72.000.281.26-0.85-0.49-0.000.517.72
OFI72.000.431.41-0.69-0.390.000.617.91
RES_PLU72.000.080.84-1.48-0.520.000.482.40
RES_UNI72.000.110.77-1.09-0.430.000.572.26
\n", - "
" - ], - "text/plain": [ - " count mean std min 25% 50% 75% max\n", - "TA 72.00 0.28 0.92 -0.77 -0.40 -0.00 0.60 3.42\n", - "LPI 72.00 0.85 4.03 -1.25 -0.41 0.00 0.59 31.98\n", - "AREA_MN 72.00 0.25 1.04 -0.88 -0.42 -0.00 0.58 4.92\n", - "AREA_AM 72.00 5.47 41.18 -0.94 -0.39 0.00 0.61 349.52\n", - "AREA_MD 72.00 0.13 0.92 -1.16 -0.48 0.00 0.52 4.08\n", - "GYRATE_MN 72.00 0.02 0.72 -1.32 -0.48 0.00 0.52 2.87\n", - "GYRATE_AM 72.00 0.88 5.77 -1.06 -0.36 0.00 0.64 48.31\n", - "GYRATE_MD 72.00 0.04 0.86 -1.57 -0.56 0.00 0.44 3.58\n", - "PRD 72.00 0.15 0.76 -0.88 -0.44 0.00 0.56 2.79\n", - "SHDI 72.00 0.58 1.91 -0.77 -0.33 0.00 0.67 12.34\n", - "SIDI 72.00 -0.29 1.19 -6.07 -0.58 -0.00 0.42 0.95\n", - "MSIDI 72.00 -0.19 0.96 -4.01 -0.55 0.00 0.45 1.07\n", - "SHEI 72.00 -0.20 0.84 -3.79 -0.62 0.00 0.38 0.97\n", - "SIEI 72.00 -0.29 1.19 -6.07 -0.58 0.00 0.42 0.95\n", - "MSIEI 72.00 -0.19 0.96 -4.01 -0.55 -0.00 0.45 1.07\n", - "NP 72.00 0.48 1.30 -0.56 -0.28 0.00 0.72 7.81\n", - "DIVISION 72.00 -2.26 15.80 -133.64 -0.48 0.00 0.52 0.86\n", - "SPLIT 72.00 0.31 0.90 -0.80 -0.25 0.00 0.75 3.27\n", - "MESH 72.00 3.65 27.09 -0.71 -0.30 0.00 0.70 229.97\n", - "PAFRAC 72.00 0.13 0.89 -1.89 -0.51 -0.00 0.49 2.76\n", - "SHAPE_MN 72.00 0.31 1.15 -2.01 -0.30 -0.00 0.70 5.14\n", - "SHAPE_MD 72.00 0.30 1.35 -2.35 -0.49 0.00 0.51 5.58\n", - "PARA_MN 72.00 0.09 0.82 -1.66 -0.47 0.00 0.53 2.47\n", - "PARA_MD 72.00 0.08 0.77 -1.64 -0.46 -0.00 0.54 1.91\n", - "FRAC_MD 72.00 0.24 1.06 -1.61 -0.36 -0.00 0.64 4.37\n", - "SQUARE_MN 72.00 -274508.73 1383959.91 -10398778.79 -0.50 0.00 0.50 3.22\n", - "SQUARE_MD 72.00 0.32 1.46 -2.85 -0.39 0.00 0.61 5.64\n", - "IJI 72.00 0.12 0.73 -1.19 -0.44 0.00 0.56 1.95\n", - "LSI 72.00 0.25 0.76 -0.86 -0.33 0.00 0.67 3.17\n", - "TE 72.00 0.45 1.35 -0.59 -0.30 -0.00 0.70 8.68\n", - "ED 72.00 0.05 0.80 -2.07 -0.40 0.00 0.60 2.12\n", - "RNMDP_2020 72.00 -0.05 0.82 -1.69 -0.65 0.00 0.35 2.97\n", - "PobT 72.00 0.84 3.75 -1.12 -0.47 0.00 0.53 27.52\n", - "PobH 72.00 0.82 3.56 -1.07 -0.44 0.00 0.56 25.96\n", - "PobM 72.00 0.86 3.84 -1.11 -0.46 0.00 0.54 28.30\n", - "Vehiculos 72.00 0.68 2.97 -0.96 -0.46 0.00 0.54 21.60\n", - "T_Viviendas 72.00 0.74 3.11 -0.89 -0.42 0.00 0.58 22.41\n", - "T_Viv_Prin 72.00 0.83 3.70 -1.06 -0.44 0.00 0.56 26.91\n", - "T_Viv_Sec 72.00 0.48 1.45 -0.66 -0.36 0.00 0.64 7.68\n", - "Viv_vacias 72.00 0.54 1.99 -0.74 -0.37 0.00 0.63 13.37\n", - "COM 72.00 0.13 0.74 -0.98 -0.45 -0.00 0.55 1.77\n", - "ED_SING 72.00 0.29 1.62 -0.96 -0.52 0.00 0.48 11.57\n", - "EQUIP 72.00 0.12 0.83 -1.84 -0.43 0.00 0.57 2.41\n", - "IND 72.00 0.08 0.79 -1.38 -0.54 0.00 0.46 2.30\n", - "OCIO 72.00 0.28 1.26 -0.85 -0.49 -0.00 0.51 7.72\n", - "OFI 72.00 0.43 1.41 -0.69 -0.39 0.00 0.61 7.91\n", - "RES_PLU 72.00 0.08 0.84 -1.48 -0.52 0.00 0.48 2.40\n", - "RES_UNI 72.00 0.11 0.77 -1.09 -0.43 0.00 0.57 2.26" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_datos_Rscaler.describe().T" - ] - }, - { - "cell_type": "code", - "execution_count": 109, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([23., 20., 15., 7., 4., 1., 0., 0., 1., 1.]),\n", - " array([-0.87668764, -0.29685363, 0.28298038, 0.86281439, 1.44264841,\n", - " 2.02248242, 2.60231643, 3.18215044, 3.76198445, 4.34181847,\n", - " 4.92165248]),\n", - " )" - ] - }, - "execution_count": 109, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA0g0lEQVR4nO3deVyVZf7/8TciHIg1lEVywxXNrTTNfS1yKxvTdKoBrCwHLTKdyZpUysRqSsvc+lba2GLalP4mMyVTmSm11BxT09QwLRNXRDFB4fr94YMzHkAFguuAvp6Px3noue/73PfnXPd13+d97uXgYYwxAgAAsKSKuwsAAABXF8IHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwKqrInxMnDhRHh4eOnLkyGWnrVu3ruLi4sq/KBRC25ed1atXy8PDQ6tXry6zecbFxalu3bplNj9bCvarotqmor+3bt26qVu3btaXm7/vdIdu3bqpWbNmbll2RTdv3jx5eHho79697i6l1K6K8FHePv30U02cONHdZVy1Dhw4oIkTJ2rz5s3uLgVu8tVXX2nixInKyMhwdylXpbi4OHl4eDgfDodDjRo10vjx43XmzBl3l1cikydP1uLFi4s9/eHDh/Xoo48qOjpavr6+CgsLU9u2bfXXv/5Vp06dKr9CK7mq7i6gotm5c6eqVClZJvv00081Y8YMAoibHDhwQElJSapbt65atWrl7nLgBl999ZWSkpIUFxen4OBgl3HF2ab/7//+T3l5eeVY4ZXP4XDojTfekCSdOHFCS5Ys0bPPPqs9e/bo3XffdXN1xTd58mTdddddGjBgwGWnPXbsmNq0aaPMzEwNGzZM0dHROnr0qLZs2aJZs2ZpxIgR8vf3L/+iKyHCRwEOh8PdJZRYVlaW/Pz83F0GUCEVZ5v28vKyUMmVrWrVqrr33nudz//85z+rQ4cOev/99/Xyyy8rPDzcjdWVjzfffFP79u3Tl19+qQ4dOriMy8zMlLe3t5sqKxl3fIZcVaddMjIynN+MgoKCFB8fr9OnT7tMU/D88NmzZ5WUlKSGDRvKx8dH1apVU6dOnZSSkiLp/OHGGTNmSJLLYcd8WVlZevzxx1WrVi05HA41btxYf//731Xwjwn/9ttveuSRR1S9enUFBATo9ttv1y+//CIPDw+XIyr552C3b9+uP/7xj7r22mvVqVMnSdKWLVsUFxenevXqycfHRxERERo2bJiOHj3qsqz8efzwww+69957FRQUpNDQUD399NMyxmj//v264447FBgYqIiICL300ksur8/JydH48ePVunVrBQUFyc/PT507d9aqVauKtR6MMZo0aZJq1qypa665Rt27d9e2bdsKTXfs2DGNGTNGzZs3l7+/vwIDA9W7d2/997//dU6zevVq3XTTTZKk+Ph4Z/vPmzfPOc2iRYvUunVr+fr6qnr16rr33nv1yy+/uCzr4MGDio+PV82aNeVwOFSjRg3dcccdxTqnumPHDt11110KCQmRj4+P2rRpo//3//6fyzSX60cXzmvw4MEKDQ2Vr6+vGjdurKeeeso5/qefftKf//xnNW7cWL6+vqpWrZoGDRpUrDr//e9/a9CgQapdu7YcDodq1aqlxx57TL/99luhaRcvXqxmzZrJx8dHzZo108cff1zkPIvbv1NSUtSpUycFBwfL399fjRs31pNPPnnJevfu3VtoXea7cLuYOHGixo4dK0mKiopy9oH8NinOtUQFr/no1q2by/Z84SO/nuL0T+l/15gsXLhQzz33nGrWrCkfHx/17NlTu3fvLlTL66+/rvr168vX11dt27bVv//97yJrPnTokO6//36Fh4fLx8dHLVu21Ntvv33J93mhZcuWqXPnzvLz81NAQID69u1b5HZYWh4eHurUqZOMMfrxxx9dxs2cOVPXX3+9HA6HIiMjlZCQcNFTZhs3blSHDh3k6+urqKgozZ4922X8xa5/KOranl27dmngwIGKiIiQj4+PatasqSFDhujEiRPOmrOysvT222871/el+s6ePXvk6empm2++udC4wMBA+fj4uAxbv369+vTpo2uvvVZ+fn5q0aKFXnnlFef44u7DL6Y46zQuLk7+/v7as2eP+vTpo4CAAN1zzz3Fmn9ZuqqOfAwePFhRUVFKTk7Wpk2b9MYbbygsLEzPP//8RV8zceJEJScn64EHHlDbtm2VmZmpDRs2aNOmTbrlllv00EMP6cCBA0pJSdH8+fNdXmuM0e23365Vq1bp/vvvV6tWrbR8+XKNHTtWv/zyi6ZOneqcNi4uTgsXLtR9992nm2++WWvWrFHfvn0vWtegQYPUsGFDTZ482bmjT0lJ0Y8//qj4+HhFRERo27Ztev3117Vt2zatW7eu0IVjd999t5o0aaIpU6Zo6dKlmjRpkkJCQjRnzhz16NFDzz//vN59912NGTNGN910k7p06SLpfKJ/4403NHToUD344IM6efKk3nzzTcXExOjrr7++7KmP8ePHa9KkSerTp4/69OmjTZs26dZbb1VOTo7LdD/++KMWL16sQYMGKSoqSunp6ZozZ466du2q7du3KzIyUk2aNNEzzzyj8ePHa/jw4ercubMkOb+FzJs3T/Hx8brpppuUnJys9PR0vfLKK/ryyy/17bffOg/RDxw4UNu2bdOoUaNUt25dHTp0SCkpKdq3b98lL0Tctm2bOnbsqOuuu05PPPGE/Pz8tHDhQg0YMED//Oc/deedd0q6fD+Szu94OnfuLC8vLw0fPlx169bVnj179K9//UvPPfecJOmbb77RV199pSFDhqhmzZrau3evZs2apW7dumn79u265pprLlrrokWLdPr0aY0YMULVqlXT119/renTp+vnn3/WokWLnNOtWLFCAwcOVNOmTZWcnKyjR486g9mFitu/t23bpn79+qlFixZ65pln5HA4tHv3bn355ZeX7CfF9Yc//EE//PCD3n//fU2dOlXVq1eXJIWGhpZ6nk899ZQeeOABl2HvvPOOli9frrCwMEnF658XmjJliqpUqaIxY8boxIkTeuGFF3TPPfdo/fr1zmnefPNNPfTQQ+rQoYMSExP1448/6vbbb1dISIhq1arlnO63335Tt27dtHv3bo0cOVJRUVFatGiR4uLilJGRoUcfffSS72/+/PmKjY1VTEyMnn/+eZ0+fVqzZs1Sp06d9O2335bZxbf5geDaa691Dps4caKSkpLUq1cvjRgxQjt37tSsWbP0zTff6Msvv3Q5CnX8+HH16dNHgwcP1tChQ7Vw4UKNGDFC3t7eGjZsWIlqycnJUUxMjLKzszVq1ChFRETol19+0SeffKKMjAwFBQVp/vz5zm10+PDhkqT69etfdJ516tRRbm6usz0vJSUlRf369VONGjX06KOPKiIiQt9//70++eQT5/oq6T78QiVZp+fOnVNMTIw6deqkv//975fcb5QbcxWYMGGCkWSGDRvmMvzOO+801apVcxlWp04dExsb63zesmVL07dv30vOPyEhwRTVlIsXLzaSzKRJk1yG33XXXcbDw8Ps3r3bGGPMxo0bjSSTmJjoMl1c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GTNGv/zyiwIDA/XPf/6zyOudkpOT1bdvX3Xq1EnDhg3TsWPHNH36dF1//fUu67e4/fuZZ55Ramqq+vbtqzp16ujQoUOaOXOmatas6fyNmot54IEHNGXKFD3wwANq06aNUlNTndvFhfK3waeeekpDhgyRl5eX+vfvX+ofToqPj5d0/nRZwSNfHTp0UL169YrdP4vLy8tLkyZN0kMPPaQePXro7rvvVlpamubOnVtonsOHD9ecOXMUFxenjRs3qm7duvrwww/15Zdfatq0aYWuw7lQYGCgZs2apfvuu0833nijhgwZotDQUO3bt09Lly5Vx44dCwXK0qpWrZri4+M1c+ZMff/992rSpInGjRunpKQk3Xbbbbr99tu1c+dOzZw5UzfddJPLj5RJ56/5eP7557V37141atRIH3zwgTZv3qzXX3/deUvu9ddfr5tvvlnjxo3TsWPHFBISogULFhQKGl988YVGjhypQYMGqVGjRjp37pzmz58vT09PDRw40Dld69at9fnnn+vll19WZGSkoqKi1K5duyLf3/z58/Xuu+/qzjvvVOvWreXt7a3vv/9eb731lnx8fJy/ZVOlShXNmjVL/fv3V6tWrRQfH68aNWpox44d2rZtm5YvX/679uE212mZsXpvjZvk3y5W8Fa/om7RKnhb3qRJk0zbtm1NcHCw8fX1NdHR0ea5555z3uZlzPnbqEaNGmVCQ0ONh4eHy61pJ0+eNI899piJjIw0Xl5epmHDhubFF190ub3KGGOysrJMQkKCCQkJMf7+/mbAgAFm586dRpLLra8Xey/GGPPzzz+bO++80wQHB5ugoCAzaNAgc+DAgYverltwHvm3yxXUtWtXc/311zuf5+XlmcmTJ5s6deoYh8NhbrjhBvPJJ59c9nbFfLm5uSYpKcnUqFHD+Pr6mm7dupmtW7cWavszZ86Yxx9/3Dldx44dzdq1a03Xrl1dbjs0xpglS5aYpk2bmqpVqxa6PfODDz4wN9xwg3E4HCYkJMTcc8895ueff3aOP3LkiElISDDR0dHGz8/PBAUFmXbt2pmFCxde9r0YY8yePXvMn/70JxMREWG8vLzMddddZ/r162c+/PBD5zTF6UfGGLN161bnOvTx8TGNGzc2Tz/9tHP88ePHTXx8vKlevbrx9/c3MTExZseOHcW6nXT79u2mV69ext/f31SvXt08+OCD5r///W+Rt7P+85//NE2aNDEOh8M0bdrUfPTRR0Wu3+L075UrV5o77rjDREZGGm9vbxMZGWmGDh1qfvjhh8u27enTp839999vgoKCTEBAgBk8eLA5dOhQoT5tjDHPPvusue6660yVKlVctuvS3Gpbp04dI6nIR35bFbd/5i+v4C2eF7uVeObMmSYqKso4HA7Tpk0bk5qaWmSfT09Pd/YFb29v07x58yJvS76YVatWmZiYGBMUFGR8fHxM/fr1TVxcnNmwYYNzmpLealuUPXv2GE9PT5d18Nprr5no6Gjj5eVlwsPDzYgRIwrdgpq/39mwYYNp37698fHxMXXq1DGvvfZakcvo1auXcTgcJjw83Dz55JMmJSXFZT3/+OOPZtiwYaZ+/frGx8fHhISEmO7du5vPP//cZV47duwwXbp0Mb6+voVu/y9oy5YtZuzYsebGG280ISEhpmrVqqZGjRpm0KBBZtOmTYWm/89//mNuueUWExAQYPz8/EyLFi3M9OnTneOLuw+/1O3Fl1unl1pXNnkYY/lqJxTb5s2bdcMNN+idd95xyy/QAQBQHrjmo4Io6ieup02bpipVqjh/WRQAgCsB13xUEC+88II2btyo7t27q2rVqlq2bJmWLVum4cOHu/ysMgAAlR2nXSqIlJQUJSUlafv27Tp16pRq166t++67T0899VSp77sHAKAiInwAAACruOYDAABYRfgAAABWVbiLCfLy8nTgwAEFBASUy08mAwCAsmeM0cmTJxUZGXnZvx1T4cLHgQMHuLsDAIBKav/+/Zf9Q30VLnzk/yzw/v37FRgY6OZqAABAcWRmZqpWrVqX/Hn/fBUufOSfagkMDCR8AABQyRTnkgkuOAUAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVhE+AACAVYQPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFVV3V2AbXWfWOruEkps75S+7i4BAIAyw5EPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVhE+AACAVYQPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVhE+AACAVYQPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGAV4QMAAFhF+AAAAFYRPgAAgFWEDwAAYBXhAwAAWEX4AAAAVhE+AACAVYQPAABgFeEDAABYRfgAAABWET4AAIBVhA8AAGBVicJHcnKybrrpJgUEBCgsLEwDBgzQzp07XaY5c+aMEhISVK1aNfn7+2vgwIFKT08v06IBAEDlVaLwsWbNGiUkJGjdunVKSUnR2bNndeuttyorK8s5zWOPPaZ//etfWrRokdasWaMDBw7oD3/4Q5kXDgAAKqeqJZn4s88+c3k+b948hYWFaePGjerSpYtOnDihN998U++995569OghSZo7d66aNGmidevW6eabby67ygEAQKX0u675OHHihCQpJCREkrRx40adPXtWvXr1ck4THR2t2rVra+3atUXOIzs7W5mZmS4PAABw5SrRkY8L5eXlKTExUR07dlSzZs0kSQcPHpS3t7eCg4Ndpg0PD9fBgweLnE9ycrKSkpJKW8ZVoe4TS91dQontndLX3SUAACqoUh/5SEhI0NatW7VgwYLfVcC4ceN04sQJ52P//v2/a34AAKBiK9WRj5EjR+qTTz5Ramqqatas6RweERGhnJwcZWRkuBz9SE9PV0RERJHzcjgccjgcpSkDAABUQiU68mGM0ciRI/Xxxx/riy++UFRUlMv41q1by8vLSytXrnQO27lzp/bt26f27duXTcUAAKBSK9GRj4SEBL333ntasmSJAgICnNdxBAUFydfXV0FBQbr//vs1evRohYSEKDAwUKNGjVL79u250wUAAEgqYfiYNWuWJKlbt24uw+fOnau4uDhJ0tSpU1WlShUNHDhQ2dnZiomJ0cyZM8ukWAAAUPmVKHwYYy47jY+Pj2bMmKEZM2aUuigAAHDl4m+7AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACwivABAACsInwAAACrCB8AAMAqwgcAALCK8AEAAKwifAAAAKsIHwAAwCrCBwAAsIrwAQAArCJ8AAAAqwgfAADAKsIHAACw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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.title(\"Histograma Area Mn, datos escalados utilizando el Robust Scaler\")\n", - "plt.hist(df_datos_Rscaler.loc[:,\"AREA_MN\"])" - ] - }, - { - "attachments": { - "image-2.png": { - "image/png": "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" - }, - "image.png": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAArgAAAD2CAYAAAA9DfQaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAE7dSURBVHhe7d0NXFRl4j78q3X/0M9dKFdw2xBNpVAiTQ0N3wJ1A7MGMyAzMHVIC1KDlZBIlzBDnlymLDAVMoVVGlyT+adCqaCILBKShASJ0IqUK5AFrb8dnnh47jNzUEBeBuR1uL6fz3DOuWeAmTNnzlznPvd9nztqfvlPPYiIiIiIjMRv5CkRERERkVFgwCUiIiIio8KAS0RERERGhQGXiIiIiIwKAy4RERERGRUGXCIiIiIyKgy4RERERGRUGHCJiIiIyKgw4BIRERGRUWHAJSIiIiKjwoBLREREREaFAZeIiIiIjAoDLhEREREZlQEXcCs1r2HCIzPxt6/kAuoadb/g3J438PTcmWL9vobDVXI5ERERUQ/rUMDVZqkwRYTDKSEnUCOX6dUiffMcEWy8sPNbuai7fRWlC6qvaH6UC6g3VR4Kw5KtJ4BZ/vhg059hIZcTERER9bQOBVzTqS8geJoIuik7kdA4yH6bgMj9tTB198OSB+Qy6kY/4NjmN/BsyBeolEt6W0lxpvi5EAHrFmKmy58xZai+nIiIiKindbCJwh/wxPJFsMK/sPNAJrS6sl9w+KOdKIEjgpc7wlRXRt2rCl/tP4HCGv070Pt+RPl30tQE5ia6AiIiIqImfvr5Z3mu+3W4Da7pw8/hRakWd/8efCpCjfar3fjgKGC1ZAmeGKZ/TGXWHgS4z9M1IZjyxMsI1/xLDsOymgs4vLWhvab+McF7zqKyTr6/s+p+QWFK1I3/PWGWG5ZsSMCZltqD/vojzsS8hjmz9I97Zc+FRs8xH3+Tfn/1Zyi5+BnCl+n/3oxlKhz7Xn6IoL34Bf4W6IUZ0mMfmYenAz9DuXyfpDIrAcE+brpmHfr7o3D4Yq18r3CjmcW/UKJRYYlufczDks0nUN7autD9zsvYI82fjsAc+XlWipD56Wrp96Pw6VH5b+nKxfP8PhN7Nrysf63S63B/Azu/vNm040a7ZFHW6jqpE/ftCcOSJ6SmKPr37IOsX4Crn+GVR9wQelp6UAKW3Hg+egavg71fYE+A/nG69tGN1k3hnpvPKXi/2Jak59Lqe0dERER9iRRsN779DuLiP+mxkDvo9ddDQuV5A/0PRv/pf3FYcxzH7hiM3362C8d++TPe3OyB++8EykVYUgQdw5BFAQhdthBT7jqLD1Uf4fzwp/DE/f8DXBfhcekKRGabwnGZH15b8hhGV5/DJ3v/jrTaKXh66jD8Vv5PbbqSjQ81+Rj52HN4wlb8XdTi3Acv4nlVNkynLsdfArwwd+QvyDmQgF2p/4tpT07BPf9H/PsiEaROXEZNfj4K7/0z1jz9MLRFJ5GWcgQ1E57DzOGDxN+6iswdh3Cu7jLOfXmHeJ5LMHfoDzhx7AQO598NxYJxMP/pBNYv+iv+7+/m4bXXxP91GQdk/YB7FJNxj/gL+vVwAOUj3fDaX16E+9TBuJCUgD0HLuAelz9jnNnN11D3r3yc+Y0DXhTrwuLfGfj8+BfItxBh0E56UDN3/hGTp/4J1w9no9RuEcJDX8SiRx/AiD/+FheOJCCtLB+ZtQrs3LMZr81/AIPFr/yUuh0f/TQDy1c8h0Vzx6FOhM498fkYMu9J2N/VbJ3YPInXnrQXZU3XSeHuF7HkgyrYK1/B60vE+/qnf+FC3RQ42Q+D1aRxMPvuBM5VPIa/RAVgue75mOHfHVgHlzK/w/3Bu7Ar9CVMk1Zgo3WTby1+X/EA/p2VgbSjmSj89iyO/n/T8doyR5jmpyKlyXtHREREfYUUaN+P2oG77xKBQ8jLOw9bWxvceacIjd2oU6Mo3KjF/SQKH3wNTPB7AXPuFnfUnsWeLZmweGkrdvr8GVOmTsITL61DgF0t0hPSUCIeUn44Cnu+M8GizdsQvkR6zJ+xZNN7CJ0LlOzZg8NXdf+i48o+w9/2/Aum7m9hz6ZFeEL630s2ICbkMeC7BOw82rQzmtY1ADtXP4mZLosQ+cYimIqA/Glusx5yP03GK1FBWDTLEU8HbNK1P8bXIgRKPezKvsWx68CoWY/j6VmTMGXWk/jL9hcxQfo9eT1oH/LHnq1+uvtnKvywc+uLsLqeifD9+dKjbqh8xAc7QxZipvQ33vbHTFF2TjyXph35ZHePFOvMHlY35sX/fuhPjZqGPIAA8bqsGmU9i/lvYee6hbp1MmXWQgQHLBSl+ThX9Iv+ATIzj3X6963ROkkv+Je450eUfC1NH8L8p+X3dclbCJ3/B8DkT5gwdTJGS+8/pHn5+XRwHcDdD6888nt54aby8T744CXpOS3BB2HS8/4B6ddmIVK3vhYitMnzJCIior6icbhVPDkP3l7P6sp7oia3UwH3ZltcYfBCvPjUSF0pinLwqQh95R8u151e1t+8EF4g7iv4QQS2H3HutBRsFmLO1MaNNX+PKdMcxTQTJbomAA2n22/e2hvWq/Lrf+KcmD47t2k7YLOJj+oCY/p3jdoWCHMeuV+eE+4VQVFMtI3OnOs8fD/GSVWgOn/AaBtp+guq/1dM7B5HwMMmKNy6XHfK/2+a/JsdvuT1MEXhiNGNKxXtJmGOmGiLv7v5WGGKne3N5zzsPoySpjU1nTztPgnj7pNnG1z/F9L370R4oBLPLnbDzNUHdMU115u+4Am28vsokddJua6d7x8w030hRuMzBMzXN/tI/06E47YqTDu4DmY2XgeNzHz4ZrnpYP02M9Z1sn7bkzR5nkRERNQXNA+3I0da6+Z7KuR2MuBKtbiP6YJKkxBYV6sLZVMCP8Kpo0ea3eTaTYOIwPvie9gZdfP2dPPQ1tsGjcSi7UdwOCYIT4/4Gp+EvYw5z0bhnAh1fUptPj5Y5oVXEv4Fq7l++MsbH+JYpFQT2jFm0/zx6dF4fOAzGTgdhVfc3fCK5gf53p5l+T8tNN0gIiKiPqGlcNugp0JupwNui8bY4wkxOZNRhGqz38Ps7sY3qfbtDxj90J/E9ATScxvXHtbim6+kYaYek2sfTWD10CT96Xf5pj8FflPhlyfETxOMGvEH3bKFjf60/bGTZ5vUfGoLzyNdTOfYdnFCljqBDRLP8+En8ZfIJBwO0zeFSDj9C3DfA7rwfyY1p2lnsYv5OCMmVuNte26c2IIT2PkdMHNJAJa4iHVp9ydof+pEMJVex90jxd/ZgD0p2/DivbVIj/kChfp7b9WX1gERERH1iLbCbYOeCLldG3DNHLHIZ6Sud/+zq6PwqQibZ7K+QMLm17Dza/1Dxj7th6fv/gF7AqSRE77Q3b8n5GX8RWOCsatfwBPNgmwTX+/BK5t34m8hSiz5UIS0h8Tfeki+74GF+Ivi9yjfG4glIQk4nHUWh6Ve/298BtMH/LBi7q3tO2/L1zvxrPx/dK/xgBTQR2LcKPF/zB7DC6sfgGmj9ZCuicKLK6NQeLcIxO6Nmkd0ihms7MTkdAI+2J+JT/efaHK6v4nB4rFiciZhHz4VzzV9fwRCE5o212jfj/g05FX8TZMpXqv4G58e0o0mYfrIyJtNBZrr9nVAREREfU174bZB85Db1bo24MIEE178EHvW/RmjSw8gNGANXgz8AJ9WjcTYP8oPufsxhH7yHv7iZIIzMWF40S8MO4r+hGc3fYQ9S9oPPV/t34M96ZUY6x6ET6MWNmrf+XvMCfk7dq5+DKa5OxHst0YE6G9h5b4BCTGLMLat9qKdMfQ+jP73PoSK//Oi32Z8isfwlw+3YskY/d1jl2xDwqZFmPLvz3Tr4ZUtn0M7zQ87PwnSd8i7LSPx9Do/zBz2Az7d/AY+KDZpsf2qzgOL8IF4P6yuJojnGoKdxY8iOEBq79wRJhht+3uc2vqaeK3itXz4NUYtEet17WMiareue9cBERER9TVSsG0v3DZoCLmzZkq9+LvWHTW//KdeniciIiIi6ve6uAaXiIiIiKh3MeASERERkVFhwCUiIiIio8KAS0RERERGhQGXiIiIiIwKAy4RERERGRUGXCIiIiIyKgy4RERERGRUGHCJiIiIyKgw4BIRERGRUWHAJSIiIiKjwoBLREREREaFAZeIiIiIjAoDLhEREREZlTvqBXmeiIiIiKjfYw0uERERERkVBlwiIiIiMioMuERERERkVBhwiYiIiMioMOASERERkVFhwCUiIiIio8KAS0RERERGhQGXiIiIiIwKAy4RERERGRUGXCIiIiIyKgy4RERERGRUGHCJiIiIyKgw4BIRERGRUWHAJSIiIiKjwoBLREREREaFAZeIiIiIjAoDLhEREREZFQZcIiIiIjIqDLhEREREZFQYcImIiIjIqDDgEhEREZFRYcAlIiIiIqPCgEtERERERoUBl4iIiIiMCgMuERERERkVBlwiIiIiMioMuERERERkVBhwiYiIiMioMOASERERkVFhwCUiIiIio8KAS0RERERGhQGXiIiIiIwKAy4RERERGRUGXCJJZTailE4YMzkEKdfkMmqR9koGQuc7wWVTBqrlMiIior6EAZcGPG1+LNxdXkLklXmIPbQJLkPkO6hFpvdMR4CvA4rjY5B0SS4kIiLqQxhwaWArPwjfF6KRixkI3xYEp3vk8iaqkLJhMRQe0i1ePLa5WpTlZKO4Rl7sx7RXipBZWCUvtc581jwokIfE1FK5pLe19x41J71neSjTyotERGRUGHBp4KorRdxfNiLtOuC07jV4jpDLW/Dzv83h9e5eaBK9MFEu06tF7tal8EsFhg2Wi/oxU8vfo2zrM1AeKJdLWmE2A27PAeeTMlAsF/WuoXAJk96fdXDMr8B/6+Ti1lw7jvCgbNT8Vl6W1OQhbpU77JyXITS5nddP/VtdFTK3BULhtQzuMx3hHluEto51ylIj4D7ZCS6r4lEg9hddSZujgkvIcTb3IepiDLg0YGmz1Ag/J2YGe8J7vpW+sIO0J1V4PmUONvs7wHyQXNgPVJckI3yhI8Jz5IIGg6zguWkDzDe9jKh8uaxFJnB08gS+iYJGWoc9qNXn3gFlKZ+g4JkZsGv8npmNh/e7m+A3SARd/3ehYVvsfq8gdjHsxjnCP7nx6RVxUKpaCa9/3IvgsGdxV6VYjj6MgjYOiqydg/BRmAOKj6qwfHeRXNoVyqF+JwOK52bDXC5pS/U5NfxXLoNvWASUC5fBPyEP1e0dzHU3bRE0CeJAt6vOYNWVI21LINxXbkRo0DIofFVIY1Mo6gQGXBqgapB2QK2rtTH1mA2nztS+avMQGXYQnms9mwalHlJRWISKDn255SHGYzFc5rvDwysEMd/UAr/KdzU2ZDb8/IcicstBlMlFt6jJRuS7R2A+uBYxJ/Lkwu5k4HM3iPgCPQgoXWzl5UYG2cJlqVR+HMnp7TfVoL6sBmUlpeIzXouCS9/LZULNKeyJLQXmzoDjaFdEH92PlBQ/TGznM2w+dwG8xbRi7zHkdlGo1J6MR6SdP7zHyQVt0J6LhseieAx7YSuiNwQhNt4Xw2JEAFTltVn73O1MbeE0BUgJcof7BjVyr8jlnVIFzSp3KC84QBW9HqERuxDl/J34rK6B+rb+Lg1EDLg0QJXi7CH9nOMDo/UzHVR9NA4x1xbAaaqZXNKTqpCqUiG1Qzv98fBJ3IuUQ/uxeaFc1AqbWfMwMSsaiS3VzlZmIHRRBKpX/B3Rz5lAu0184ct3dR/Dn3u7SjKQiHlwHCkvN2Mza4GuGUrKF9mo0BdRv2QGl7ATyD2dBo2y0cHMf6qbNAcwtRoFGwsTeakNpg5w8RKPqzyI1DbPbhiorhTq6EL4PTfdgLM/NUj5OBbFg53h2rC/GewAV4UJymLjkFKpL+ot5qOnwy96P/6+chROhz0Oxap4ZJaLg9COyj+IyNRaOLnMgbW8Tqyd58EJpxCp7okDaTImDLg0MF0pudF21MZqqDzXETXITD0OuM6AoxG0vb3FCAe42VdBfbrZ6Vgp3L6gwlXvTQh1tYKjqw+sEY+kk534MuslBSnxsHxmOmxaCxUjpsNtgpgeFUGGTXH7t0EmMB9iBtMuOcNigknOC2AqDi6jjmTLZZ1X/UUMIu184H2/XNCWmmykJovpQ6Ng0ei1DB8+Rfw8juSsvtHD1dTKQQTdz5G4zhbnVUvxqDIWaSWGP7eC00m6s0ZN9skW98JGTCoSs1GgLyEyCAMuUWdo85B5CHjwgXvFF96ttBcOInRlIEI3vAQXX7GTPy2WV4XA33cxlLvb7tDSN1jB+iHxpZJxrlEzhVLEvLAW+W6boFpkq3/d9rPhNRqIO5rdD16TUFeE1H/Yws25rTbXVnD1nCGm2YjvM6NEUEdVJG+EwtkRY8ZNxpjN+kCqK/ONRqa0oInQj7qxw/CaQdOp8+AtHdDuPo6029ngxXYY9/73CPCa3uL+4xYVlbgoz7bkYqWhVbi1KD4QAaV/BIKV7lBuy0CmWPYNCoFy4RrEFHbNgaoUdH227MU/N41HcfRKA4NuLa5eaeOIsvJ7XO3iDn5k3BhwiTrjWoUu+A23sNAvN3YlWXxhlMJlyzsIDQuCx+VoKJUZmLR6Du7MKkLa1mYdWmpKkWvA0Fw9ywTD7hEhMKccl28811HwSTyB/SvkcKsjyg6kIdffwbAv6l6mzTqIqIfmwLGdsY4tH5mua6ZwPim7j4wSQR1l6boemvggOMrLEl1ZtK++TBEETeJeaFaM191nkEHj4aRrIqNGWlZ7YbAUcSsbhq5rdlOsRGRJKeKDGpevQVyJ/KvNXSvHeXm2JcU/GBZwKzSBCCiZDdWWIISvW4DLW1fDK30CApzvROY3pxD5WaH8SNnt7pvuaQi6Dih+/xnYecWjoNUDgxpcbfOMSTmusuMndQADLlFnlJciTUysLW5tf1ucdgQ2a/3gKN2l/R6XL4ip6xw4jbCC3VxXscP3bNKhpWDfSjz/+kHk9rEqUEuLUeJnEcoat/Md3EJbRVMzmA8xoA1jr6vF2dSDcFPMhmVbp6yvFyHq9WgUSDV1+SLISO8f9U/ife7KA6+y5I0IPWCi+5txKe2dtRgF7+3S0HXNbgl/hYt2FEIPpSGlyX3vwbtz3QEMVIrkQ/ch2Fc/4ov2h3LdwZvL3Omwvs8WLgovRHs2Dftdsm+6ko2YLZsRUz0Pm9e5wa4/HAmTUWDAJepiNoveQ/A0OfAVnoNaTJymPQRzU1t4R2xCcLPT43YrPkfBASUmtrLjrz6palTL03BbhcgvsxG+onm5uG3uS5fQbaMW65ZbGzVYXUGbjZQDC+AytY0wfj0PkV5LoXn4HaSEuYqCUsQcYecWEuFWEwhFSCWUn26Hn/QRPnCwU527tBkHETPLB26tdHJs0RArPCjPtuTBP7VwJukWUuD2v9FnoOCrg+LnDDg9bAbTsZ5QRfiLg3D9fQ3a2ze1RVsugu3aZXAJy4ON73b8M9YfCvu2OuSaYVibozVaYRivMkkdwIBL1I2Kvz4FrdgxTxrXwp5bW4SYkEB4zX8c4adbP91pPsu/US1Pw+19BDzigOAdzcvFbd10g8bU7Bmt1GK1eOveGqzq1MNQu7XRKbBGHDB4LEPMPUGI8XeAtTQslHhsReKpLhsWivqnssQ1cAkqhWf0W/AcMR4KH6mm8ziST3f09H051NHZ8FloyMgJjVhaYIw825IWm0q1qRT56WKfYzUe9i1dvdHAfVNLGoKtYpMUbLciJVoJp9GGjDQjN4tqjdW9GMbaX+oABlyizrAaBScxKau8teNEWaoK/kFqFGircDZdGoVgugi4+vu0WdFQJug7LlUcikbm1HlwFI/LudT3BqSqqJSepy2sW7x8cX9Tg7SU4/B2aaVTj27os5cQN3I9Ut5foB+iyHQCXBZKw0LFIvlL/cNooKlFcbwItxvK4f3xLgTLQ3RZT5unH0ruQHrrY0W3dPbC2R2hl8TvvdmsXHcT219rzWHMHOAsnVDIKkXjSuPLJafEz9k3hw67loe4rdGIaWn4D90FFELgn1AE7ZVzSJOGOnMeL4/hXYtM1c0zKJ3ZN1WXZCDK1x3Pq4rw4OrtHQi2N9lNc4O1mBaXNzpwkEe8sVY43HiuxcnxiNx6sMuvKkfGhQGXqDMsrXRD19zaezkPiWvjoTl6DsWF6Ug5KYomj8Jwaccsnf6OKILLTKltq9Th5S1EjyxFYvl4uE1r89xcL5B7NNtbwlIu6deuHEPS195wfURebky8L+EvrEYcvBAbIYdbHRM4unrqAnFMSkb/GCWCulTZgUAoNp2BY9h7N8Ktzog58JwlpllqpLXarKb52Yt34PFHKwTs2N+orPHtwzaGDDODy1Kl2OccQVJDjer1bCQnAzZKb7jIFbgV6bEI3RaLcN+PdJcgbyI/Cb6xyUj5shQF6am6PgQTx9yru0ubE4XwC85wkptNdGjfJNX2Kh+HV3QpJq3bi/1bvOA4opNt8u0XIMDZBGmaYyiTz5qUSc918Az4PtPQPrgQmhAVorZthH8iRzmh1jHg0oAl7eA7bdBYTJoPFH/7fbPgMxauqx3w4FQg6Z2v4RK9Ht6/RsM/KAK+q45gzNtvwbPh+2KwGS5mJaFswjw4WtRA2+2nwauQskGqKXLH8lh9SYzv47rao+Dk5qday1H2NWA926H18WJ7VEee+63K0pJw8Zk5LV+tqroGli7+iN3mr+8Y2NjDSxD7VyX87q7BRdYW9Su6IcGU7+o/57sD4bLhOAqbl4ntJ6bVS03Xoua3tvDZtB2qhc1D3lC4rd2E4JdnQHvZsMGSdVctG+4DTwOuWtYS0wm+SEzwwc/RS6EME/uTFfG4+tyHiPcff+OshOX8Dfi/sZvgY9/CiANj5yBgmi0cRUje9LUzYjd5AlvfgH9YIJSHRmFz44O7juybpL4F734Gze0E2xuGQvH+fsTaZ8PvhRCEhqyB/8n7oPp7o/2m7qIvuxC/brbBo0fQwHRHvSDPEw0o0viYkovf5OimrauCemUIsOHDRjtZkYsOBWLiWgvEfhUEp061DStC1NzFSPV+B25ZGbDetB5OBneiaPk5dZlLari7xGNaggYB0kUP+o08hI87Bqd8EVZvhNlyxC16A3h7Vzf3UidqRV0p4p4Pg3bjLvgYcmGH21EnPgMzxWcgvfFnoKNuZ9/UMyoOrMG6utcQ69EdO0AyBqzBJeok87ne8LFSI6WDnTBusoD1w0NRk5SEi4rlHfwCMYP9fFfYd9OXTvHJI8idtRwe9nJBf9bOpXmJups2Q627aplnDxxgVX/xCdIWzbmNcCu5nX1TD6grgjrWpJ0LttBAxxpcGrButwZXUp0cgke3jMb+FKXcAcIIXDsO/7lxeDChB2qbutytNbgFOxT425BtrOmh3iHCWJRiM8zf74EzCDUZCH7hDBS7W2hu013E/wxfHqW/Oly7JiDgoyA43eZzK969DOGD3+JnmtrEgEsDVlcEXKmdXu7WpVh33R+adf3jal5tqiuHetUypM3dhehb2h32B80DrnSqNQbWCe9A0dGRlIi6QPXRjfD40tU49g9E/QgDLg1YHQm4KRtWIeobaX4O3kxQNuusVIuynHPQjnaATV87lddB2itFOFtpAUf7oXJJf9HKe6QtR24+YDfZiuGCiGgAYcClAcvwgEtERET9CTuZEREREZFRYcAlIiIiIqPCgEtERERERoUBl4iIiIiMCgMuERERERkVBlwiIiIiMioMuERERERkVBhwiYiIiMioMOASERERkVFhwCUiIiIio8KAS0RERERGhQGXiIiIiIwKAy4RERERGRUGXCIiIiIyKgy4RERERGRUGHCJiIiIyKgw4BL1Eu2lPGSW1MhL/Zf2ShEyC6vkJSIiot7HgEvUhorkjXCZNhljxonb5my59PZpc6Lh8eoxwNJMLum/TC1/j7Ktz0B5oFwuIerj6qqQuS0QCq9lcJ/pCPfYImjlu1pSlhoB98lOcFkVj4LrciER9WkMuERtsHRdj5TE9XCUl7vE9QyErzgOlzB/OPajfFtdkozwhY4Iz5ELGgyyguemDTDf9DKi8uUyoj6gIHYx7MY5wj+58ZmSWuSqVsLrH/ciOOxZ3FUplqMPo6BOvrsF1s5B+CjMAcVHVVi+u0gu7XnV59TwX7kMvmERUC5cBv+EPFS38bx7hLYImoQMFHfVyai6cqRtCYT7yo0IDVoGha8KaZfk+4g6gAGXqD2DAFN59vZJX6YRULv5w3ucXNSDKgqLUNGhL8Q8xHgshst8d3h4hSDmm1rgV/muxobMhp//UERuOYgyuYiod9WgrKQUWvGZK7j0vVwm1JzCnthSYO4MOI52RfTR/UhJ8cNE8Tlvi/ncBfAW04q9x5DbC6FSey4aHoviMeyFrYjeEITYeF8MixEBUJXXZu1ztzO1hdMUICXIHe4b1Mi9Ipd3ShU0q9yhvOAAVfR6hEbsQpTzd1C6rIH6tv4uDUQMuEQ96dpx7IytgKeTA8zb+ULtelVIVamQ2qEvivHwSdyLlEP7sXmhXNQKm1nzMDErGonn5AKiXmUGl7ATyD2dBo3SVi4T/lONanlWYmo1CjYWJvJSG0wd4OIlHld5EKk9fqaiBikfx6J4sDNcp8qnfQY7wFVhgrLYOKRU6ot6i/no6fCL3o+/rxyF02GPQ7EqHpnl4mC4o/IPIjK1Fk4uc2At7x+tnefBCacQqc7TFxAZiAGXqAdVZ6UjBU/A6REDvlD7mxEOcLOvgvp0753CJWpikAnMh5jBtEsOJk0wyXkBTMWBYtSRrmuPb5CabKQmi+lDo2DR6LUMHz5F/DyO5Ky+0VnV1MpBBN3PkbjOFudVS/GoMhZpHehIW3A6SXcGyMZqqL5AYnEvbMSkIjEbBfoSIoMw4BJ1kL7jmRMedXaEV+xxaFQbEbw5Al6izD3sIIpb7YRSi7NnxLeU/SgMb6HNg/bCQYSuDETohpfg4iu+GE6L5VUh8PddDOXutjvB9A1WsH5IrJ+Mc2ymQL1O+pwqxGe0cQdRXZlvNDKlBU0EFB6LodhheM2g6dR58B4sZnYfR1pPfiArKnFRnm3JxUpDq3BrUXwgAkr/CAQr3aHcloFMsewbFALlwjWIKexErWsLpKDrs2Uv/rlpPIqjVxoYdGtx9UobHVUrv8dVdvCjDmDAJeogfcezV2FzpRaZW5Lws1sQwtcFIX6HNyr3bUTAgVL5kc3V4Kq0/x5ugWHNa5SuJIsvmVK4bHkHoWFB8LgcDaUyA5NWz8GdWUVI29p2J5i+wQTD7rECcspxuc8/VzJ20udUEx/UpIOorizaV1+mCIImcS80K8br7jPIoPFw0jXVUSMtq70wWIq4lSJASyHaoNsaxJXIv9rctXKcl2dbUvyDYQG3QhOIgJLZUG2R9lkLcHnranilT0CA853I/OYUIj8rlB/ZRe5pCLoOKH7/Gdh5xaOg1QMDef/YqnJcvSbPEhmAAZeoM0RA1VXCLvSE52i5uYHFUIwRk/OXW/uyKcfFk2Lyx6Ew1xfcUJx2BDZr/fSjKmi/x+ULYuo6B04jrGA311V8SXg27QRTV4PinI52GOt+lhajxM8ilLFDCPUFDZ/TLlKWvBGhB0x0fzMuJbudsyqj4L1dBGgpRBt0ew/eo+Vf7RalSD50H4J99e3/tT+Uo1iUusydDuv7bOGi8EK0Z7OwX1OK3Nsd4/pKNmK2bEZM9TxsXucGu658Q4jawIBLdDvM9F92t8tm0XsIniYH5cJzUIuJ07SHYG5qC++ITQh2ttLf1+AbNbxWvAl1fsu1SNUnVS3UEK1C5JfZCF/RvFzcNmc06XhDRE2VaQKhCKmE8tPt8JM+jgcO9lznriFWeFCebcmDf7KQ59oiBW5/OEpNLISCrw6KnzPg9LAZTMd6QhXhLw6o9fc1KNi3Es+/fhC5nWiOoS0XwXbtMriE5cHGdzv+GesPhX1b4yKaYViz3VxTVhg2RJ4lMgADLlEfU/z1KWjFznzSuDb29vZK/DNnL/wmtNxZzXyWfws1RO8j4BEHBO9oXi5u66bfUqtMRHpliWvgElQKz+i34DliPBQ+Uk3ncSSf7qEr+Fla6M4OtWa4hSEBt7FS5KeLg2Or8bC/Ry5qgd2Kz1FwQImJHTiKbwi2ik1SsN2KlGglnEYbMuC33MSpNVb3Yhhrf6kDGHBpYKo8Ls8AMT02rJUVxswSk39X3VJbWpaqgn+QGgXaKpxNl0YhmC4Crv4+bVY0lAkN7XprUbB7I3yV7nh0S3unSHteRaX0PG1h3caXJlH/UYvieBFuN5TD++NdCJaH6LKeNg8TxTTlQHobHSo72gb3JcRJTZNaYuYAZ1cxzSpF40rjyyWnxM/ZN4cOu5aHuK3RiEltoTGr7gIKIfBPKIL2yjmkSUOdOY+Hna7pUy0yVY3aAGuLEBMSCK/5jyP8tGEdz6pLMhDl647nVUV4cPX2DgTbm+ymucFaTIvLGx04XCnRNaWwVjjIz5XIMAy4dJvEF0CCCpFZ7dRkVGYgdEMyyvpKm9Ffb0bMiv/KM91uKKylJqoXK3FVXyDLQ+LaeGiOnkNxYTpSpHa6k0dhuLQzv56HyIgiuMyUflG4chh/y3KA29RaVHxZ2uzv9Da5F7S9JSzlEqL+rOxAIBSbzsAx7L0b4VZnxBx4SgerWWqktdYxrMNtcD+E9/3yr97CDC5LlbDBESQ1BM7r2UhOBmyU3nCRK3Ar0mMRui0W4b4fIa35iAP5SfCNTUaK2G8UpKciTRRNHHOv7i5tThTCLzjDaaRuERWHopE5dR4cxQF3zqUKfWFrpDCsfBxe0aWYtG4v9m/xguOITg6DaL8AAc4mSNMcu/FdUSY918Ez4PtMBzoDEgmDQgV5nqjDKjQB8Dv/ON563lbfFrVG7Oz83eG7bzCcFj6IP+geJQwegUnaXXDZfQcWzxnVpR0/OuWXQuTtPonvxOykBSsxc7i+uDlpWKHnQvYh+5r4Ujl3AodP/BbDzZOwplnZMFEW0KzM3nM8/iT/nQZ3/XIJ2/f+Auflj+G+/yMXYgjuujNPxNzBKEv9ES7rPXBv9vuIy/430v5RjEkbguA5Wl5j/zMaznO0SHsjDv9dHIQX7TvSsOB/cf6z48BjT+JBg3+tCikbfBAQvQ9xKT/paozPfv4PHDt6BHnmTphrIzfo07mE9A/UuDh7NQKmdPSUKVHXuuWze3UEHLTxWN7kc/o5tLbPYFKLZxxqUX7hEsyd/fD60/fDtEl10GDYjB0J87vNUDf4Xkwa2f0NfH57jziwnWmK5Pc2IzG/GCkfZ0D71OtQvTwJ5vJz+53NFPx58lj8riQbpk7NPudDzGGaly/2Id/ji2vO2PT8PTijUiOzPAP7LozHm+sXwOZO/UN/N3IGXOsyELxLi+de98aEu/TlLfqtBR6c/Sy8n5oI67tut4p1MGxd52FCyQGs//AEinI0iPv2PgRtXouFDftAIgPdUS/I80Qdcz0DoXPVsEt8D56Nm07lx8LJIxpO2zMROqvRkXxdKeKeX4zLgZkIniyX9ZYrB6F03qirxfD5OAfBU/XF3e5aMnynhWBY83XTEYVi/T59CkrNdriNMIG5wfv9KqhXhgAbPmz6fnWVS2q4u8RjWoIGARPkMiLqWXV5CJ95DE7p/nC8jbxZsEOBp457IeWjebA27aqLZRD1HDZRoE6rTj2IuIec0byDP+xnwEOUxR1t1kZ00Cg4PjkKMUkZfa7taI8ZMhsvKq0MGGKodQUnk1A2YQ6GZQUi/HRHrmBkBvv5rrDvpp7IxSePIHfWcnjYywVE1OOqv/gEaYvm3Fa4lYb6S1WXY+I8C2SufReZHGKF+iEGXOqkGmSmHof15HEttLe0hctSWyDxODKbtQOzGecgys8M4EsummCi8lUokiMQ08nr2VtaPQTLmsNQl7jBd1ZHOnGYwE6xAHaNWxV0lWvHEaUCgtcuuHENeSLqYTUZCN9hgdBlt9te1QLWDw9FTVISLiqWw6mtg2Lpf7bYaa6lWwTS+sZVhWkAYBMF6qRSxHm446wyDSrXFkJWiRqK+RGwjPgcsYpG1xXXNQ1IhUvqe/DszZ72vdVEQabNiYbHBi2CE2+OS9lv1ZVDvWoZ0ubuQvTC7mj7QERE1DGswaVOqsHl1mogpcCzJQZl4qg/LTkbt/bBLUXFT/LsAGU62ReJ2+YA5f2/OkNb8Qusffcx3BIRUZ/BgEudZtpSzeP1UsSteh7qh99H4toZQOoRpPKyrS0yHTEejvd3bJzIvsj0Hls42jeqpSciIuplDLjUSVYY/ghQfb1WXhakcLt2GZJGbIJKaQsb53lwwSmo0xoNOi4eX4GHYNPblX0/VeGibsYBw5uP5UVERET9GgMuddJQ2E+2QlpJQ3itQcqmxYgfsgGqwOn6jkZDpsNtoQly1am6K9FItJdLcX7CBNj1csVl9Xcl+isQDRZBnGfWiYiIjAoDLnWa7rKK+04hV7dkBpcNJ6AJm92oF70oCzuB3FjxON1VaWpxNv0gJs5z0F2OsTddzNdfqtfUbQomsdc/ERGRUWHApc6z90SwcxzUqXIzBVOTWwcDH2QC8yHyIOHXjiPu9AK8opAvO9tbtNlI2ic95/EI9pre+1dVIyIioi7FYcKoqboqZO7YjJjLFjC9WIhhnr5w+rca6u9McLXcHC9uCYJL4+G9ruch3OsTTIrdBJe2xkqURlZYuxEVyq3ws+/kFby6SHH8MrhsyoPN6r1IedlWLiUiIiJjwYBLjdQid+tSfPCndxDrYQVt6kbY+R6E9cu7EP27MDy1pRROmz5H7MJmPea1NaiuM4N5W+O51tWi+jpgbmZIuC1F3MoQJP4oL7bLEh4R78F7tLzYBm2OCgqveJQ5r0fK+7woARERkTFiwKWbpCvSvF4Bj3cXwEYEv+L4xXDZ9AsCEjXw/FGFtw9ZYckbnpjYT0e20l5Qw3dRBC67bkJMmCvDLRERkZFiwKVWVEHj+zj8s7wQf8b/Nq9r3hfkIXzcMmS+vAvxfuNhznBLRERktNjJjFqmLcTZVDGdNQ4PthUGrxQh91KjsXD7rPEI0ATBcvcyKIKSUaYb1YGIiIiMEWtw6abrRYh7cw8uzw9A8O/2wM4rHpP+qkH8Immg2HKoV6kx7G1/ON1oolCFlLVPYl3dX/G5yhWWcunt62gbXHN4vP0hvO+XF9uSHwsXj2gUz1qPtGi2wSUiIjJGDLh0Q4VmDR4NOgUb/w8R+uNGeO0uh3dsDkKnAWUH1sCvRInEteP7/bBaDaMoWK/eizSOokBERGR0GHDppivHEewbh59HA9oxPvA2UWPdAcDZXouf71PizRUOsGyo8RSPDX0/CfmpWngmfAjPEXJ5f6DNFqH9JcRdt0WwZi98DKn5JSIion6DAZc6JXfLYqQ+7ImyVR/hru1/R+is/jW0Qu4WR7jH1gLPbUXBBl7sgYiIyJiwkxl1it3K7fDWZkNjNR1O/XDcsDH2s/Uz+87gLDucERERGRUGXOoUU5Fpz6Ymw3rWDDyI/jCKQlPm942GtW4uD8XluhkiIiIyEgy41Dk12Ug+ZAXHyRWIelmN4v5WC3r3UIzRzeTh8g+6GSIiIjISDLjUOSYWsJlQjbNx2Ri+zlN35TOiLne9FOpNGxEctAyPOi9D+Mka+Y6OqEFB7BpMFL8fd0EuIiIio8aAS51jOh5+CWlISdgEH3sTuZCoK9UiNzoMmQ8vR3jELsQrgZiVqxF3Sb7bYGawW+oLn0F5CN2XAa1cSkRExosBl6gbVSRvhMJjse4Wc04ubER7KQ+ZJZ2plTQS2ioUnC5CRYtNXAqRui8Pmi3JKBBLNtPm4UHkIel0JxpND7KFs6cVsO84Mq/LZb3tXPyNbSM4uUoubENlETIvtLyt9L/tqAbFWXko6yvvBREZHQZcou50vRLmnu9Ak7gXPhPkMpk2Jxoerx4DLPvfKBRdxnQozK5E4/FVB1u4fPJYKDb5w2+lA4ZLi6YmMBeTmv90rlOj3VwvEZAPIiWrj3SKnOCl2y5in7NEWc1/5cLWFSQGIu5beaGRvrgdVZ9Tw3e+Ix71ikBKi8cjZrD+7TH4eKiQ2xsht64KmdsCofBaBveZ0pCBRW3W7JelRsB9shNcVsWjoIufrzZHBZeQ46iWl4moazDgEvWG6xkIX3EcLmH+cBwI+fZaKTSbF8NuS55ccJP1wreweXAEvHcUySUNTGDj6oWAReN1wbY4NQmZQ2bDz3WU/u6OGu0AD3tAnXgcFXJRj9CWIzc2EBNXHuz8/9VmQx1jC9dpzTaW1rajS6J8lQhvC50wZpo7fKVa8B6s4DWf4InoCB/cmSOCrvjfLYU308n+ULllwD2k5fu7QkGs2ObGOcI/ufGLr0WuaiW8/nEvgsOexV2VUlOYwyhoo6OstXMQPgpzQPFRFZbvbr6d3o5yqN/JgOK52bptvD1lqSr4ilCumDYZE+cHIvxQEaqNbZjDunKkbQmE+8qNCA0Sr9VXhbQON0siYsAl6gXSF2oE1G7+8B4nF/UDFYWtNSVoXa4IGIr57nARX8r+Ihhof22pnswMLr7+sNiqgrq11geX1AjfZ4HQHZugsJIKypGyNRqRrd7ikXlF95s3lCW+i6hykQJTjyCzUi7sRrrmKQvFa1+4DM9vOY5q8dLbr6dtmTbnOJLcFsBliFyg08p2dCUZylfPwClsF/YfSMPFBC9o94XgqadVPds8w342lOKAAsnHkNbK+rbzEs/9ZCSiuqVWvQZlJaXQivVUcOl7uUyoOYU9saXA3BlwHO2K6KP7kZLih4ntdJQ1n7sA3mJasfcYcrsoVGpPxiPSzrD9gHQpdb+cGdi8exc0p3OgWVqLuLXi8/VOthG1K6+CZpU7lBccoIpej9CIXYhy/g5KlzVQN/s8E7WHAZeop107jp2xFfB0coB5vxl9ogqpKhVSO/glM1G5F5pDIkCEucklrRg9HW4TshH5j1treFF+EL6vFcFt2zvwtipHbrkUhqzgstoXAa3evOB4j/7XpSBYHL8GiqTx+Gj3q3DCKSSdNKDN622ydF0PzQHx2mN94SiXdU4tMo8ehJvYXppcca+V7ahAE420b+IRkyq/xhEL8MpzJmI9xiPqUE8O+jwKTs+MF9PjSD7dyvoe7CAOAGoQE98dteriwCnsBHJPp0GjtJXLhP9UN6kxNrUaBRsLAzrKmorn6iUeV3kQqfly2e2oK4U6uhB+z003YD9QBPXWUzgfG49keUVZL1TCe7A4cNsdi6R+MJZ3Rc5BhPtHI7OtMwn5BxGZWgsnlzmwlteJtfM83Wc2Ut3CvoGoDQy4NDD91hxp8qz5nfJMD6nOSkcKnoDTIxx94iYrOD5pi4rEbF2HshsqMxC64Wu4bvSFk1mNCG9h2PN1R+qrpHAbCI/k+6CKUMLu/jlwcwXS1MdQJj+izxNBVp3kCZfpTbeX1rYjk0H65cuVN6tNh4+eoptmXmxUk9kDrKfNw0QxTTmQ3sr6NsGkmQuAo8eQeU0u6kpiXZgPMYNplxxIiufqvEAcZFQh6ki2XNZ51V/EINLOB973ywVtMoGp7uimHBU/6QrEa7PCmEekmWxcvKwr6XvqalF2Oh7+i5bh7a+s4LVZHOy10SSr4HSSbjuxsRqqL5BY3AsbMbll30DUDgZcGpgs5Ev1Cn7NOn91r1qcPZMM2I/C8CbVcbdHe+EgQlcGijD4Elx8Y5F2WiyvCoG/72IopaYB8uP6MusR4o2oPIWcG+3tShHzwmrEidfir3gcE6c54anNVbAZbnij5eqjEVDss8DmCH846Zo2mMFpvggp5w4ipUT3kD6v+vQxFLwwB45NQlrr25GNcr8ICk1rLSsqS3VTpzH36qY9ZsQceM4S0yw10lpZ36bDR+FBHMfZb+SCLqJrIuLsiDHjJmPMZn0g1ZX5RiNTWtCIbUMaxWKH4TWDplPn6WpNsfs40m7nQ1VXhLj3v0eA1/SmtfKtGgUfTSZyT++F31i5CJWouChNZ2CMrhemIcQB34EIKP0jEKx0h3JbBjLFsm9QCJQL1yCmsIuaitTVoDg1FkqPlYi9NB4Bu3dBpXSAdZsvthZXr7RRFV35Pa5y1A3qAAZcoh5Vg6vSPny4BYZ1Sa2ScCVZfEGVwmXLOwgNC4LH5WgolRmYtHoO7swqQtrWtjvQ9BWmwyxg3eTKcuJL/VAOLn7T+KaBn9Su00DmzkHIPbAeLrpwq2c+d70ICtshjRrW95UjKa4IisekU/2Ntb0dmTautdTmIUlq3DzYFW7OPf2ih8LRWXruRUg8rQ/Zt7C00F1VsLi8a8+z65qIxAc1aR6iK4uWm4wognSjWGhWNF+3bRg0Hk4LpRkR2NttN1yKuJX6YeBuuSlWIrKkFPFBjcvXIK6tgy5dbfTN2nptzmEkilVmOn8enG80x2lbhSYQASWzodoShPB1C3B562p4pU9AgPOdyPzmFCI/K5Qf2Uki2BYcUsFLsRrx12Zg875dCF00vp1g20DepltVjqvdUctPRosBl6hHlePiSTH541CDek0bojjtCGzW+ulP/Wm/x2Xpal2uc+A0wgp2c13hs8WzaQcaqXYlp+MdxrqdfPnk85e6MOiIUKA/tduUFADNDas6612XMpBU5wnFLaHe0O2oFrnbwxBzzRZ+0eugsJCLe4g2Pxb+Wwt1tZTn1Rko1hc3ZSZCuph0S/MJsd135dtclrwRoQfENiXm41La69w1Ct7bRYCWQnTjW8Jf4aIdhdBDaUhpct978B4t/2p7xEFL1IZ4XB2nROxfXWFp0MFyKZIP3YdgX32bbe0P5br3w2XudFjfZwsXhReiPZuF/ZpS5BYa0F69rgq5CRFwVwQiCU9AdUAE24W2sOwPnzEyWnfUC/I80YAinbqUSDWDbak+qYLX+wa2uZvsh/h102+EjooDa+Bf9xriPRpqzvIQPm4ZYl74EBfXOchlspoMhC+P0p8+bZcDAj7yh1Pzs/XnomG3KBaOYRrE3vifzYjQ8egLx+D90cfwm3BrO+DWXu/VkiJo77GFtXSKtrFmr7lFOSqM8YoHWnrdDa4chNJ5I7Tiud9cXz3vdt7vFsmvK23qeqR9vADWcnGDW7eRm4rjF2MdNmG/V/Oh0drYjhqRxlhVrPgOXn9/C95j22ja0RXbXjO68XlXHIdj9Ht4MFEB/0ND4ZfwOQJuaRJk2GvplIZ13/hvt1RmgDJNIBRv1iL4UyUqli9DZPlsqNLf6fBBg/ZkBB5Nm4ETIYZ0LmuJOGjZshjPl3hif4Qn7AxvsdNE7lZHuG+bgvCj77V6NqNgx+NwT34Wf9+nxMTWwmrlcfiLYHtx7iZEhbgaWFvbklqkhTlCuQ/w+TgHwVPl4obtAwsQm7MeTs33P0StkQIu0UA0euwk3a07Xf3H6vrn1ZflJcm5+rel/xt+Rl7uWhfinhOv6an6D76WC7pMZf0nK1bWf9L4pXTEl5H69d3W6/7h0/rl4jFN15cRkF/X6Bc+rb8kFzV26zbSoLD+gzlL6/dclBebaH87+u+XUfVPOa2t/+RfcsGPJfWnv62WF7rXz/+MrH987KP1y+XX9d+MzfXjxPOd+t453XJT3fiZaFj3jf92S2XtuKReLZ7/M/Vv/1O//i7tW6rbnl9OqtQtG+5y/Z5nn7mNz6e2/ux7z9VPfVVsS7/qS37+9kz9hR/184Yrqd/jLtbBnJj68/LfuS2/Vtaf3be5/hmnpfVvf1ZY/3Mn/+b57U/p1uvb/5QLdOTto6ueKw0YbKJA1KOsMEbqdPPvqi4b3F4a/N0/SI0CbRXOpkuD0E/HJHlcTW1WNJQJDW0fa1GweyN8le54dEsfHDvzpypIfWYeHNF7tbd9Sv4pJI5xg9NIebmJdrYjaWi1taXw2v0OPEfoiyrS30VUTnddUuGmipMR8FiqxvCw/TfOIphOng3PweK+bceQ2bxpTE0lroqJY093gDOIfog5lw3l8P54F4Kn6qtL2x8dQtJCG1xnd4ReEr/3ZrNy3e0lxEnNi9pQdiAQL5d6InHLAnkYrSqkqWJvDr11LQ9xW6MRk9pCMx/dBRRC4J9QBO2Vc0iThjpzHg873d+pRaaqURtgbRFiQgLhNf9xhJ82oOPZoKGYuCgI+49uhRsOw3fuYgQf6PhFKOymuenOcBSXN2oWcaVE15TCWuFw47kWJ8cjcuvBLr+qHBkXBlyiHjUU1tLZ5ov6L/Xbl4fEtfHQHD2H4sJ0pEjtMiePwnDpi+B6HiIjiuAyUz69feUw/pblALeptaj4srSL/n/X0V6tFGHBFpZ/kAsGuNzkGNjNn3ljPNCm2tiOxPsevmIjLj98Ly4fvHnxi7f3noL1Hy3lB3UPqUmE10o1oNwK1cJGByqmYruTxuJFPFIymgWmikrdgY21Rfc+t86QAqVi0xk4hr13I9zqGDA6xK1tcN+Bxx+tELBjf6OyxrcP2xwyTFq3PiHlmGT1PRKjGt7XSOxJtRLrTv+YivRYhG6LRbjvR0hrHv7yk+Abm4wU8dkvSE/VDZM4UT6o0OZEIfyC842DqYpD0cicOg+O4qA551IHRigeZCa2WX/EH90O5ZBT8FcsQ3BCnuHt/e0XIMDZBGmaYzcu3V0mPdfBM+CrG1NZUghNiApR2zbCP7GVjotEAtvg0oBlaBvc29FS+8rq5BBM9L+zi9qTSbWyq7Euaygsq++Ei/IhFGx/F/kj52FYJeAU6AvPhraXdbWo1hYiTnzppPposH9RR2pKq6BeGQJs+LBDow9IwzIpY7+BtrwIxboe0CawHDcKw+x9EBs2G40jjdTe1OXjOfi/KUq5pqafOxcPxVuHgcpSnL+iD3Xmo6U2zE/gzUQvXQ2gpMU2uNpshE5TY9LRd6BocvWym1rbjvRtK1uqdRPhKrFjo1B0VMXJeMRdGAWPpdNvDeaV2Yjbm42K++bAT2F7o/OX1CbVbmUlVKdbf62dodv23j+G8yVS9aYZbDw24L1pGXitcZn9vfB4Yy98WhwqUHy2NDFI/nUGfNzG39JeVnshGXFHRLp92A0+s9r/UOja3mom4PMIQzuFNSYOVicvQ1RLNZZWvjc/M3VVKMjKRpLqIMa82+yzKtXK+r6JzCGW+HmwM155uAgfbCmEtasFKjAdr/svuNme93qNeH1quCw6BWXKLnjLZwE6TBoHVxwERG45DK0Ivm8udWj/tUs1zap3EfmVCSaN/AX51fdhiZ8PFI3akFeX5OF8ehy8fvDs+nbbZDx0DRWIBqDeaYMr/Hik/mXxf/96QisX9KBvYuofG7u0fs+32vqf/yuXGeQ22+C2S2qbOKn+sRbbaBq3lrYRqc3qw2+eqm/zLerN7ajLaOtPv/Vo/ehXj9RfNeb2lb+WiO17af3Ob+Xl7vTrufq3HSPrT9/m+tS1h332k/oL/6mu/28XvDdXv/y0/u1XIutTu6gZuPS5aWjjTdQSNlEg6mlDZuNFpZUBwwx1vYKTSSibMAfDsgIRfrqta2Y2Zwb7+a6w78IatiZKMpB0rvFpyIGslUvzNteL21GXuZ6NlAOW8Fk0uxO1mv2HNkOtu2qZp6HDgN2G6i8+Qdqi5hcG6agipKrLMXGeBTLXvovMLmi6bTl5AYLfb3/0DYPUFUEda9IL4zpTf8KAS9TjTDBR+SoUyRGI6Ypr2neApdVDsKw5DHWJG3xndeSbxgR2igWw65YhemqQEq0C1r3aTy6+0M1qTiGphUvz3qr3tqOuUhCvgtotCH7GfNlqEcZiIgp1Vy3r3LBgHSAN97bDAqHLbvdA0QLWDw9FTVISLiqWw6m7Dmw7qTh+M84uFdt+D4/rTP0L2+DSgNVbbXAb6MYJ3aBFcKI/HAfw2I5lYh15pDs36hk+sDTfRqS2tYpvn0XaasNCSn/djqROUx6bTBG821d/kRIjVX10Izy+dIVmXTs18kTUpRhwacDqkYArd7KSuLyxF37NOrNoL+XhrHYUHO834m/4tmirUJBTCcuptkZ9irpFDZ3QhDFL34dq/lDdfPWFbFwe4gC7DtRO9b/tqAbFWaWA3XjYDNBNn4i6FwMuDVg9EXCJiIio57ENLhEREREZFQZcIiIiIjIqDLhEREREZFQYcImIiIjIqDDgEhEREZFRYcAlIiIiIqPCgEtERERERoUBl4iIiIiMCgMuERERERkVBlwiIiIiMioMuERERERkVBhwiYiIiMioMOASERERkVFhwCUiIiIio8KAS0RERERGhQGXiIiIiIwKAy5RP6O9lIfMkhp5aQDSVqHgdBEq6uRlIiKiZhhwibpb5XEEz3fCmHGTxU2FzNsIZtqcaHi8egywNJNLBiDToTC7Eo3HVx1EGUMudUZdFTK3BULhtQzuMx3hHlsErXxXS8pSI+A+2Qkuq+JRcF0uJKI+jQGXBqg8eQp4JZbLc93EYjbCD/0d4VPl5c66noHwFcfhEuYPx4GQb6+VQrN5Mey23HyvGlgvfAubB0fAe0eRXEJ0q4JYsf2Mc4R/cuMzHrXIVa2E1z/uRXDYs7irUixHH0ZBGwdL1s5B+CjMAcVHVVi+u/e2ubJUFXxFKFdMm4yJ8wPFfqUI1cZ2kFdXjrQtgXBfuRGhQeK1+qqQdkm+j6gDGHCJesSdgKk82ynSl3AE1G7+8B4nF/UDFYUdb0qQK0KJYr47XMQXub8IE9pfW6pbM4OLrz8stqqg7ubjE+qvalBWUgqt+OwUXPpeLhNqTmFPbCkwdwYcR7si+uh+pKT4YeIg+f5WmM9dAG8xrdh7DLm9ECorNGvglzMDm3fvguZ0DjRLaxG3VnxW3slus/a5f6mCZpU7lBccoIpej9CIXYhy/g5KlzVQX5EfQmQgBlwasHzkab9w7Th2xlbA08kB5u18EfcdVUhVqZDawS+micq90BwSoSPMTS5pxejpcJuQjch/3FrDS6Q7CAo7gdzTadAobeUy4T/VqJZnJaZWo2BjYSIvtcHUQRx0icdVHkRqvlzWY4qg3noK52PjkVyhL7FeqIT3YKBsdyyS+sFBXkXOQYT7RyOzre4D+QcRmVoLJ5c5sJb3c9bO8+CEU4hU83NOHcOAS9QPVGelIwVPwOkRA76IBwwrOD5pi4rEbBTIJURNDDKB+RAzmHbJQaEJJjkvgKk4cIs6ki2X9RQTmOrOAJWj4iddgXhtVhjziDSTjYuXdSV9T10tyk7Hw3/RMrz9lRW8Nvu22byq4HQSysTUxmqovkBicS9sxISfc+ooBlyi3iB3PJvo/DjslsYj5VA0gkNUCFWKskURUF+olR8oqcXZM8mA/SgMv61mDk1pLxxE6MpAhG54CS6+sUg7LZZXhcDfdzGUUtMA+XF9mfWICWJdnkIO2+hRMxXJG6FwdtR37tysD6S6Mt9oZEoLmggoPBZDscPwmkHTqfN0tabYfRxpPfoBGQUfTSZyT++F31i5CJWouChNZ2DMcF2BAWpRfCACSv8IBCvdodyWgUyx7BsUAuXCNYgpbLzfuQ11NShOjYXSYyViL41HwO5dUCkdYN3m/qsWV6+0URVd+T2usoMfdQADLlFvkDueBY+sgjZLBXXNPISG+SN0x3b4VKoR/PpBFMsPldoSXpX2+8MtMKyrmidcSRZfaqVw2fKO+L9B8LgcDaUyA5NWz8GdWUVI29p2p5u+wnSYBayRh8s/yAVEMkvX9dDEB8FRXpboyqJ99WWKIGgS90KzYrzuPoMMGg+nhdKMGmlZ7YXBUsStFAFaCtEG3dYgrkT+1ZboaqNvnsHR5hyG1D/WdP48ON8jF7ajQhOIgJLZUG0JQvi6Bbi8dTW80icgwPlOZH5zCpGfFcqP7CQRbAsOqeClWI34azOwed8uhC4a306wbSDv51pVjqvX5FkiAzDgEvWaho5nC+CtGKU/jTrIApZjxDS/vFHnrHJcPCkmfxwKc33BbStOOwKbtX7604Xa73H5gpi6zoHTCCvYzXWFzxbPpp1upBqZnD449uzdQyGtrvOX+kEjROp5YhvuwpMeKEveiNADJrq/GZfSXueuUfDeLgK0FKINur0H79Hyr7ZHm4eoDfG4Ok6J2L+6wtKgA99SJB+6D8G++nb82h/KdQfRLnOnw/o+W7govBDt2Szs15Qit7BKXmhDXRVyEyLgrghEEp6A6oAItgttYdmVK5+ogxhwidpRfVLVQm1LK7fNGU06sBjm93L7uk6oyUB4S8+jxZsKaXIHD5tF7yF4mlwbVHgOajFxmvYQzE1t4R2xCcHOVvr7GnyjhteKN6HOb7nWquV1tAqRX2YjfEXzcnHr1Hoi6j1lmkAoQiqh/HQ7/KSPx4GDSKnU39ezapH7fhhiRgZh/+6227Q2JQVufzhKTSyEgq8Oip8z4PSwGUzHekIV4S8OcPX3NSjYtxLPv34QuW0l+crj8J/5OP5aMEEE2w8RPL+zwdYMw5rtdpqywrAh8iyRIeqJBqRz9W+PnVQ/WtyeV1+Wy7pTZf0nK6T/F1l/+le5yOAy+bmGn5GXu9aFuOfE/3uq/oOv5YIuI72WlfWfdHb1fhmpe3/afN0/fFq/vMfeQ+p35O2jyTbUUlk7LqlX148b+0z92/+s1i/vW6rbNl9OqtQt9xxt/dn3nquf+uqn9Zfk/cPP356pv/Cjft5wJfV73MU6mBNTf/7GfuY2/FpZf3bf5vpnnJbWv/1ZYf3Pnfyb57c/pVuvb/9TLtCR939d9VxpwGANLg1QQzFGvvBCxfUu6ljRbawwZpaY/Luqy2o9pQHj/YPUKNBW4Wy6NHD9dEySx9fVZkVDmVCqX5DGEN29Eb5Kdzy6pQ+Ot/lTFaR+Ng+OaLPqh6iTalEcvwYuG8rh/fEuBE/VV5daT5uHiWKaciBd1+u/ZR1tg/sS4qSmQm0oOxCIl0s9kbhlgTyMVhXSVLE3h966loe4rdGISW2hyY7uAgoh8E8ogvbKOaRJQ505j4ed7u/UIlPVqA2wtggxIYHwmv84wk8bsH8cNBQTFwVh/9GtcMNh+M5djOADHb8Ihd00N1iLaXF5o2YRV0p0TSmsFQ7ycyUyDAMuDVBWsJ+mD0XFX4kdsW6urxoK61FicrESV/UFtykPiWvjoTl6DsWF6UiR2vdOHoXh0pfH9TxERhTBZab0D4Urh/G3LAe4Ta1FxZelXfT/u472aqUIGLaw/INcQNSFpECp2HQGjmHv3Qi3OiPmwFM66MxSI63VjmEdbYP7Ibzvl3+1BdocFXxCyjHJ6nskRkUjUgTZyK2R2JNqBWsL/WMq0mMRui0W4b4fIa35iAP5SfCNTUaK+BwXpKciTRRNHHOv7i5tThTCLzjDaaRuERWHopE5dR4cxQFwziV54F1DDDKD3Xx/xB/dDuWQU/BXLENwQp7hbfftFyDA2QRpmmM3LsNdJj3XwTPg+0wHOgMSCYNCBXmeaECxHDII6XszcKUYGLvocdjKbdO6nDQk2At/xcfZP0ErwuXR5BP47fAhSAxsVjZUlAU3K7N/BpPuAe765RK27/0Fzssfw33/R/67nTYEd92ZJ/7DYJSl/giX9R64N/t9xGX/G2n/KMakDUHwHC03ovuf0XCeo0XaG3H47+IgvGjfkW5u/4vznx0HHnsSD3bg16ShnJ4L3o6PP0nFj/8VBec+x77jx6E5PwRznUfhd/qH6XyXHo34kjkIWj0Jljxcp0Z021HIPmRfqxXb0AkcvjoCDtp4LG9cduJzaG31n7Fb1aL8wiWYO/vh9afvh2mT7WswbMaOhPndZqgbfC8mjeyq7p+tycPWpzYi5f/9CRdzc5H9ZcOtGFesZuPFpfrt/3c2U/DnyWPxu5JsmDo1+9wNMYdpXr74TH+PL645Y9Pz9+CMSo3M8gzsuzAeb65fAJs79Q/93cgZcK3LQPAuLZ573RsT7tKXG+w3pvjDqElwW/QEbH85jv/HfzM0v4zAlAlW+F2bn9PBsHWdhwklB7D+wxMoytEg7tv7ELR5LRY27JOIDHSH1E5BnicaYGqRFvYYlPtqYb16L9JebnS1o77mWjJ8p4Vg2PZMhM7q4Ys9FMbC6elTUGq2w22ECcwN/p6pgnplCLDhQ3h2SwuCcsQtUiB22i6krWbtDpFOXR7CZx6DU7o/HG/jlH7BDgWeOu6FlI/mwdr09i+WIV3JLObjUji+7Q8ngzvGEXUe6zxoADOB09rt8BkNlG0NRHi741r2oiGz8aLSyoChibpewckklE2Yg2FZYh2dbus6m82ZwX6+K+y7q+dzSQaSzvHUJVFj1V98grRFc24r3EqXBk5Vl2PiPAtkrn0XmV3Qhsty8gIEv89wSz2HAZcGtsHjEbzjHXiOLkfM0kDE9dkrYplgovJVKJIjENPD18G3tHoIljWHoS5xg++sjnw7mcBOsQB23dL0owYp0Spg3avdVDtM1A9JwwbusEDosts96LOA9cNDUZOUhIuK5XDi8FzUD7GJApGkpgjqd95EaGItAjT74dNGZ4/epM2JhscGLYITb45nORCVHVgDj3TnRr3JiYiIbmLAJepntJfycFY7Co73D9BzfdoqFORUwnKqrYFXcCIiooGGAZeIiIiIjArb4BIRERGRUWHAJSIiIiKjwoBLREREREaFAZeIiIiIjAoDLhEREREZFQZcIiIiIjIqDLhEREREZFQYcImIiIjIqDDgEhEREZFRYcAlIiIiIqPCgEtERERERoUBl4iIiIiMCgMuERERERkVBlwiIiIiMioMuERERERkVBhwiYiIiMioMOASERERkVFhwCUiIiIio8KAS0RERERGhQGXiIiIiIwKAy4RERERGRUGXCIiIiIyKgy4RERERGRUGHCJiIiIyKgw4BIRERGRUWHAJSIiIiKjwoBLREREREaFAZeIiIiIjAoDLhEREREZFQZcIiIiIjIqDLhEREREZFQYcImIiIjIqDDgEhEREZFRYcAlIiIiIqPCgEtERERERoUBl4iIiIiMyh1Xr16tF+RFIiIiIqK+7Y477pDn9PMNt0GDBuE3v/kN7rh27RoDLhERERH1G60FXOmmC7g///wz0y0RERER9TsNQbdpwP0N/n/YgToZaHkP9gAAAABJRU5ErkJggg==" - } - }, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Transformaciones no lineales\n", - "\n", - "Dos tipos de transformaciones estan disponibles: la transformaci贸n de cuantil y la transformaci贸n de potencia. Ambas transformaciones est谩n basadas en transformaciones monot贸nicas de las caracter铆sticas y por lo tanto preservan el ranking de los valore a trav茅s de cada caracter铆stica. Sin embargo, distorcionan las correlaciones y las distancias a trav茅s de las caracter铆sticas. \n", - "\n", - "Las transformaciones de potencia pertenecen a una familia de transformaciones que apuntan a representar datos de cualquier distribuci贸n a una tan cercana posible a la distribuci贸n Gaussiana. \n", - "\n", - "Esto es necesario en algunos casos, debido a que algunos modelos requieren que las caracter铆sticas en un set de datos cumplan estos requerimientos.\n", - "\n", - "Las transformaciones de potencia actualmente proveen dos de estas transformaciones. La Yeo-Johnson y the Box-Cox. Box-Cox solo puede ser aplicada cuando los datos son mayor a 0. \n", - "\n", - "En ambos m茅todos, las transformaciones son parametrizadas por alpha que es determinada a trav茅s de estimaci贸n de m谩xima probabilidad. \n", - "\n", - "In both methods, the transformation is parameterized by, which is determined through maximum likelihood estimation. \n", - "\n", - "![image.png](attachment:image.png)\n", - "\n", - "![image-2.png](attachment:image-2.png)\n", - "\n", - "\n", - "En resumen, el objetivo primario es transformar los datos para que estos presentan una distribuci贸n normal. Si los datos son mayores a 0, se puede utilizar una transformaci贸n de Box-Cox, si por el contrario, los datos contienen valores negativos o ceros, o si se busca una transformaci贸n m谩s flexible que pueda manejar un mayor rango de valores, la transformaci贸n de Yeo-Johnson es preferible. \n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "metadata": {}, - "outputs": [], - "source": [ - "PTrans = PowerTransformer(method='yeo-johnson', standardize=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 74, - "metadata": {}, - "outputs": [], - "source": [ - "PTrans.fit(datos.iloc[:,1:50])\n", - "datos_PTrans= PTrans.transform(datos.iloc[:,1:50])\n", - "df_datos_PTrans= pd.DataFrame(datos_PTrans, columns = datos.iloc[:,1:50].columns)\n", - "df_datos_PTrans['Ciudades'] = datos['Ciudades']" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [], - "source": [ - "#df_datos_PTrans.to_csv(r'C:\\Users\\crist\\Documents\\GitHub\\manifolds\\ciudades\\datos\\datos_completos\\df_datos_PTrans.csv', encoding = 'ISO-8859-1')" - ] - }, - { - "cell_type": "code", - "execution_count": 112, - "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", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
countmeanstdmin25%50%75%max
TA72.00-0.001.01-2.29-0.79-0.000.692.09
LPI72.00-0.001.01-2.87-0.530.010.522.67
AREA_MN72.000.001.01-1.73-0.73-0.030.682.30
AREA_AM72.000.001.01-2.09-0.55-0.000.532.60
AREA_MD72.00-0.001.01-2.23-0.730.060.702.45
GYRATE_MN72.00-0.001.01-2.44-0.670.090.782.91
GYRATE_AM72.00-0.001.01-2.08-0.450.050.652.87
GYRATE_MD72.000.001.01-2.64-0.690.090.602.89
PRD72.000.001.01-2.21-0.810.050.802.18
SHDI72.00-0.001.01-1.72-0.73-0.180.632.23
SIDI72.00-0.001.01-2.26-0.650.040.721.84
MSIDI72.000.001.01-2.29-0.660.010.701.93
SHEI72.000.001.01-2.35-0.770.060.762.14
SIEI72.000.001.01-2.26-0.650.040.721.84
MSIEI72.00-0.001.01-2.29-0.660.010.691.95
NP72.00-0.001.01-2.29-0.76-0.080.762.28
DIVISION72.00-0.001.01-4.07-0.180.220.691.03
SPLIT72.00-0.001.01-2.94-0.54-0.130.722.32
MESH72.000.001.01-2.30-0.510.030.672.85
PAFRAC72.000.001.01-3.15-0.71-0.030.542.32
SHAPE_MN72.000.001.01-3.80-0.53-0.140.602.59
SHAPE_MD72.00-0.001.01-3.72-0.58-0.050.422.46
PARA_MN72.000.001.01-2.85-0.660.010.652.30
PARA_MD72.00-0.001.01-2.47-0.69-0.060.622.20
FRAC_MD72.000.000.00-0.00-0.00-0.000.000.00
SQUARE_MN72.00-0.001.01-3.510.230.310.400.90
SQUARE_MD72.00-0.001.01-3.89-0.44-0.070.422.48
IJI72.000.001.01-2.43-0.75-0.030.712.04
LSI72.000.001.01-2.91-0.82-0.110.812.29
TE72.000.001.01-2.15-0.71-0.040.772.35
ED72.000.001.01-2.96-0.54-0.030.712.46
RNMDP_202072.00-0.001.01-2.33-0.710.130.553.04
PobT72.00-0.001.01-2.59-0.510.070.482.76
PobH72.000.001.01-2.57-0.520.050.492.77
PobM72.00-0.001.01-2.61-0.500.070.492.75
Vehiculos72.00-0.001.01-2.36-0.580.090.552.66
T_Viviendas72.00-0.001.01-2.54-0.630.060.582.60
T_Viv_Prin72.00-0.001.01-2.68-0.500.080.522.70
T_Viv_Sec72.000.001.01-2.40-0.600.030.612.41
Viv_vacias72.00-0.001.01-2.43-0.640.010.622.73
COM72.000.001.01-2.11-0.790.000.721.80
ED_SING72.000.001.01-2.46-0.730.160.642.83
EQUIP72.00-0.001.01-3.09-0.63-0.060.612.41
IND72.000.001.01-2.61-0.750.030.582.26
OCIO72.000.001.01-1.89-0.830.090.682.34
OFI72.00-0.001.01-1.76-0.86-0.040.712.17
RES_PLU72.000.001.01-2.47-0.680.030.572.29
RES_UNI72.00-0.001.01-2.29-0.620.030.702.17
\n", - "
" - ], - "text/plain": [ - " count mean std min 25% 50% 75% max\n", - "TA 72.00 -0.00 1.01 -2.29 -0.79 -0.00 0.69 2.09\n", - "LPI 72.00 -0.00 1.01 -2.87 -0.53 0.01 0.52 2.67\n", - "AREA_MN 72.00 0.00 1.01 -1.73 -0.73 -0.03 0.68 2.30\n", - "AREA_AM 72.00 0.00 1.01 -2.09 -0.55 -0.00 0.53 2.60\n", - "AREA_MD 72.00 -0.00 1.01 -2.23 -0.73 0.06 0.70 2.45\n", - "GYRATE_MN 72.00 -0.00 1.01 -2.44 -0.67 0.09 0.78 2.91\n", - "GYRATE_AM 72.00 -0.00 1.01 -2.08 -0.45 0.05 0.65 2.87\n", - "GYRATE_MD 72.00 0.00 1.01 -2.64 -0.69 0.09 0.60 2.89\n", - "PRD 72.00 0.00 1.01 -2.21 -0.81 0.05 0.80 2.18\n", - "SHDI 72.00 -0.00 1.01 -1.72 -0.73 -0.18 0.63 2.23\n", - "SIDI 72.00 -0.00 1.01 -2.26 -0.65 0.04 0.72 1.84\n", - "MSIDI 72.00 0.00 1.01 -2.29 -0.66 0.01 0.70 1.93\n", - "SHEI 72.00 0.00 1.01 -2.35 -0.77 0.06 0.76 2.14\n", - "SIEI 72.00 0.00 1.01 -2.26 -0.65 0.04 0.72 1.84\n", - "MSIEI 72.00 -0.00 1.01 -2.29 -0.66 0.01 0.69 1.95\n", - "NP 72.00 -0.00 1.01 -2.29 -0.76 -0.08 0.76 2.28\n", - "DIVISION 72.00 -0.00 1.01 -4.07 -0.18 0.22 0.69 1.03\n", - "SPLIT 72.00 -0.00 1.01 -2.94 -0.54 -0.13 0.72 2.32\n", - "MESH 72.00 0.00 1.01 -2.30 -0.51 0.03 0.67 2.85\n", - "PAFRAC 72.00 0.00 1.01 -3.15 -0.71 -0.03 0.54 2.32\n", - "SHAPE_MN 72.00 0.00 1.01 -3.80 -0.53 -0.14 0.60 2.59\n", - "SHAPE_MD 72.00 -0.00 1.01 -3.72 -0.58 -0.05 0.42 2.46\n", - "PARA_MN 72.00 0.00 1.01 -2.85 -0.66 0.01 0.65 2.30\n", - "PARA_MD 72.00 -0.00 1.01 -2.47 -0.69 -0.06 0.62 2.20\n", - "FRAC_MD 72.00 0.00 0.00 -0.00 -0.00 -0.00 0.00 0.00\n", - "SQUARE_MN 72.00 -0.00 1.01 -3.51 0.23 0.31 0.40 0.90\n", - "SQUARE_MD 72.00 -0.00 1.01 -3.89 -0.44 -0.07 0.42 2.48\n", - "IJI 72.00 0.00 1.01 -2.43 -0.75 -0.03 0.71 2.04\n", - "LSI 72.00 0.00 1.01 -2.91 -0.82 -0.11 0.81 2.29\n", - "TE 72.00 0.00 1.01 -2.15 -0.71 -0.04 0.77 2.35\n", - "ED 72.00 0.00 1.01 -2.96 -0.54 -0.03 0.71 2.46\n", - "RNMDP_2020 72.00 -0.00 1.01 -2.33 -0.71 0.13 0.55 3.04\n", - "PobT 72.00 -0.00 1.01 -2.59 -0.51 0.07 0.48 2.76\n", - "PobH 72.00 0.00 1.01 -2.57 -0.52 0.05 0.49 2.77\n", - "PobM 72.00 -0.00 1.01 -2.61 -0.50 0.07 0.49 2.75\n", - "Vehiculos 72.00 -0.00 1.01 -2.36 -0.58 0.09 0.55 2.66\n", - "T_Viviendas 72.00 -0.00 1.01 -2.54 -0.63 0.06 0.58 2.60\n", - "T_Viv_Prin 72.00 -0.00 1.01 -2.68 -0.50 0.08 0.52 2.70\n", - "T_Viv_Sec 72.00 0.00 1.01 -2.40 -0.60 0.03 0.61 2.41\n", - "Viv_vacias 72.00 -0.00 1.01 -2.43 -0.64 0.01 0.62 2.73\n", - "COM 72.00 0.00 1.01 -2.11 -0.79 0.00 0.72 1.80\n", - "ED_SING 72.00 0.00 1.01 -2.46 -0.73 0.16 0.64 2.83\n", - "EQUIP 72.00 -0.00 1.01 -3.09 -0.63 -0.06 0.61 2.41\n", - "IND 72.00 0.00 1.01 -2.61 -0.75 0.03 0.58 2.26\n", - "OCIO 72.00 0.00 1.01 -1.89 -0.83 0.09 0.68 2.34\n", - "OFI 72.00 -0.00 1.01 -1.76 -0.86 -0.04 0.71 2.17\n", - "RES_PLU 72.00 0.00 1.01 -2.47 -0.68 0.03 0.57 2.29\n", - "RES_UNI 72.00 -0.00 1.01 -2.29 -0.62 0.03 0.70 2.17" - ] - }, - "execution_count": 112, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_datos_PTrans.describe().T" - ] - }, - { - "cell_type": "code", - "execution_count": 113, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([ 9., 4., 10., 11., 8., 13., 6., 6., 3., 2.]),\n", - " array([-1.72731958, -1.32416401, -0.92100844, -0.51785287, -0.1146973 ,\n", - " 0.28845827, 0.69161384, 1.09476941, 1.49792499, 1.90108056,\n", - " 2.30423613]),\n", - " )" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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3H333eb11183b731lnn00UeNt7e36dOnT451pr2GGjdubLp27WpiY2PNQw89ZCSZF1980bRp08YMHDjQzJkzx/To0cNIMgsXLnTNHxcXZySZJk2amFtuucVMnjzZTJkyxZQvX95UqVLFXL58OVfbK73cjD05OdmEhYWZypUrm0mTJpm///3vJjo62jRr1swcPnzYtazx48cbSaZVq1Zm6tSp5q9//asZOHCgeemll1x9IiMjTb9+/czUqVPN3LlzTd++fY0k8/zzz7vVFRUVZapXr+7WVqVKFTN06FAze/ZsM2PGDNO8eXMjyXzxxRdu/R588EEjyQwcONDMnj3b9O7d2zRs2DDDMfD9998bf39/ExoaaiZOnGjeeOMNExYWZpxOp9m6dWuO2y639Ugy9evXN+XLlzcTJkwwkydPNtWrVzd+fn5m7969rn5pr5G4uDhXW/v27U379u1dz69evWo6depkJJn+/fub2bNnm5iYGHPHHXeYpUuX5qu2Ro0aubbBzJkzTc2aNU2pUqXMyZMnXf2+++474+fnZ6pVq2ZiYmLMxIkTTaVKlVzb9VpRUVFGkunTp4+JjY01Dz/8sJFkIiMjc9ymxhjz6aefGknm7bffNiNHjjQlS5Z0bac1a9YYHx8f07JlSzN9+nTz5ptvmoYNGxofHx+zbds21zKud98aY8y6deuMJPPpp5/meblp+7JJkybmjjvuMLNmzTLPPfec8fb2Nv369XNbT/Xq1U1ERISpVKmSefnll83s2bPNbbfdZhwOh/n+++9d/XL6DDHGmFWrVpkSJUqY2rVrmylTpriO57Jly7q9rtLeD5s0aWJ69+5t5syZYx577DHX+1FRREiRsn3kFFIaNWpkunfvnu16hg0bluGAN8aYpUuXGklm0qRJbu19+vQxDofDHDx40BhjzM6dOzMNLoMGDcoypAwYMCDD+i5cuJCh7aOPPjKSzMaNGzMsY8iQIa62q1evmipVqhiHw+F28Jw5c8b4+fm5bZOrV6+a5ORkt/WcOXPGVKpUyTzyyCMZasjM8OHDTdWqVV3haeXKlUZShpCT1XgPHz5svL29zWuvvebWvnfvXlOiRAm39sy2S0xMjHE4HObIkSPZ1pn2GurSpYtb0GvZsqVxOBzmySefdLWlbcNrP5zSQkq5cuXM6dOnXe3Lli0zksy//vWvbNefmdyOfffu3RnerNM7cOCA8fLyMvfee69JSUlxm3bteDPbhk888YQpVaqUuXTpkqsts5CSft7Lly+b+vXrmzvuuMPVtmfPHiPJDB061K3vwIEDMxwDkZGRxsfHxxw6dMjV9vvvv5syZcqYdu3aZTnWvNRjjHG9R+zYscPVduTIEePr62vuvfdeV1tuQsq7777r+kdAetlt5+xq8/Hxcb2HGGPMf/7zHyPJzJo1y9UWGRlpfH193V7n+/btM97e3m7vWWnb/7HHHnNbz/PPP28kmbVr12aoOzM9evQwgYGBxtvb24wZM8Y1vlq1amU4hi5cuGDCwsLMnXfe6Vbv9exbYzIPKbldbtq+7Ny5s1utzz77rPH29jZnz551tVWvXj3De+vx48eN0+k0zz33nKstN58hjRs3NhUrVjSnTp1ytf3nP/8xXl5e5uGHH3a1pb0fpn+fvffee025cuWyXYet+LpHUmxsrFatWpXh0bBhwxznDQoK0g8//KADBw7keb1ffvmlvL29NWLECLf25557TsYYffXVV5LkOkU7dOhQt35PP/10lstOO4V6LT8/P9f/X7p0SSdPntSf//xnSdKuXbsy9H/sscdc/+/t7a3bb79dxhg9+uijrvagoCBFRETo559/duub9n17amqqTp8+ratXr+r222/PdD3pXb16VZ988onuv/9+11djd9xxhypWrJjlBbTpx7tkyRKlpqaqX79+OnnypOsREhKiWrVquX31dO12SUpK0smTJ9WqVSsZY7R79+4c65WkRx991O1rvBYtWmTYVmnb8Nptleb+++9X2bJlXc/btm0rSZn2zUluxx4YGChJWrFiRZangpcuXarU1FSNHTtWXl7ubxfXjvfabXju3DmdPHlSbdu21YULF/Tf//4323qvnffMmTNKSEhQ27Zt3V4rX375pSRlOFZGjhzp9jwlJUUrV65UZGSkatas6WoPDQ3VwIEDtWnTJiUmJl53PWlatmyppk2bup5Xq1ZNvXr10ooVK3L1VVeaxYsXq3z58pke01lt55xq69y5s8LDw13PGzZsqICAANdrKiUlRStWrFBkZKSqVavm6nfrrbeqS5cubstK2/6jRo1ya3/uueckScuXL8/VOGNjY3X58mVVrVpVr776qiRpz549OnDggAYOHKhTp065Xq9JSUnq1KmTNm7cqNTUVI/s28zkZ7lD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8Q8tWrRIH374oXbt2qWFCxdq2rRpWrhwYab9x4wZo4SEBNcjPj7e0yUBAIAiyONnUl544QWNHj1a/fv3lyQ1aNBAR44cUUxMjKKiojL0dzqdcjqdni4DAAAUcR4/k3LhwgV5ebkv1tvbW6mpqZ5eFQAAKMY8fialZ8+eeu2111StWjXVq1dPu3fv1owZM/TII494elUAAKAY83hImTVrll599VUNHTpUx48fV+XKlfXEE09o7Nixnl4VAAAoxjweUsqUKaOZM2dq5syZnl40AAC4ifDbPQAAwEqEFAAAYCVCCgAAsBIhBQAAWImQAgAArERIAQAAViKkAAAAKxFSAACAlQgpAADASoQUAABgJUIKAACwEiEFAABYiZACAACsREgBAABWIqQAAAArEVIAAICVCCkAAMBKhBQAAGAlQgoAALASIQUAAFiJkAIAAKxESAEAAFYipAAAACsRUgAAgJUIKQAAwEqEFAAAYCVCCgAAsBIhBQAAWImQAgAArERIAQAAViKkAAAAKxFSAACAlQgpAADASoQUAABgJUIKAACwEiEFAABYiZACAACsREgBAABWIqQAAAArEVIAAICVCCkAAMBKhBQAAGAlQgoAALBSgYSU3377TQ8++KDKlSsnPz8/NWjQQDt27CiIVQEAgGKqhKcXeObMGbVu3VodO3bUV199pQoVKujAgQMqW7asp1cFAACKMY+HlMmTJ6tq1aqaP3++qy0sLMzTqwEAAMWcx7/u+fzzz3X77berb9++qlixopo0aaJ33nkny/7JyclKTEx0ewAAAHj8TMrPP/+suXPnatSoUXr55Ze1fft2jRgxQj4+PoqKisrQPyYmRtHR0Z4uAwA8psbo5YVdwk3j8BvdC7sEWMTjZ1JSU1N122236fXXX1eTJk00ZMgQPf7445o3b16m/ceMGaOEhATXIz4+3tMlAQCAIsjjISU0NFR169Z1a7v11lv1yy+/ZNrf6XQqICDA7QEAAODxkNK6dWvt37/fre2nn35S9erVPb0qAABQjHk8pDz77LPaunWrXn/9dR08eFAffvih3n77bQ0bNszTqwIAAMWYx0NKs2bN9Nlnn+mjjz5S/fr1NXHiRM2cOVMPPPCAp1cFAACKMY/f3SNJPXr0UI8ePQpi0QAA4CbBb/cAAAArEVIAAICVCCkAAMBKhBQAAGAlQgoAALAS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9+7V3XffXYCV3hgtW7bMcLuqrfvOU/bs2VOox1h2jDF6+umn9dlnn2n9+vUKCwvLcZ6idPzlZ3zp5ev4u67LbmGMMebIkSNm9+7dJjo62pQuXdrs3r3b7N6925w7d87VJyIiwixZssQYY8y5c+fM888/b7Zs2WLi4uLM6tWrzW233WZq1aplLl26VFjDyFJex2eMMW+88YYJCgoyy5YtM999953p1auXCQsLMxcvXiyMIWSra9eupkmTJmbbtm1m06ZNplatWmbAgAGu6b/++quJiIgw27ZtM8YYc/DgQTNhwgSzY8cOExcXZ5YtW2Zq1qxp2rVrV1hDcPn444+N0+k0CxYsMPv27TNDhgwxQUFB5ujRo8YYYx566CEzevRoV/9vvvnGlChRwkybNs38+OOPZty4caZkyZJm7969hTWEbOV1fNHR0WbFihXm0KFDZufOnaZ///7G19fX/PDDD4U1hCydO3fOdWxJMjNmzDC7d+82R44cMcYYM3r0aPPQQw+5+v/888+mVKlS5oUXXjA//vijiY2NNd7e3ubrr78urCFkK6/je/PNN83SpUvNgQMHzN69e80zzzxjvLy8zOrVqwtrCNl66qmnTGBgoFm/fr353//+53pcuHDB1acoH3/5GZ8njj9CigdERUUZSRke69atc/WRZObPn2+MMebChQvmrrvuMhUqVDAlS5Y01atXN48//rjrjdY2eR2fMX/chvzqq6+aSpUqGafTaTp16mT2799/44vPhVOnTpkBAwaY0qVLm4CAADN48GC3ABYXF+c23l9++cW0a9fOBAcHG6fTaW655RbzwgsvmISEhEIagbtZs2aZatWqGR8fH9O8eXOzdetW17T27dubqKgot/7/+Mc/TO3atY2Pj4+pV6+eWb58+Q2uOG/yMr6RI0e6+laqVMncfffdZteuXYVQdc7SbrlN/0gbT1RUlGnfvn2GeRo3bmx8fHxMzZo13Y5B2+R1fJMnTzbh4eHG19fXBAcHmw4dOpi1a9cWTvG5kNnY0r8vFuXjLz/j88Tx5/j/KwcAALAKtyADAAArEVIAAICVCCkAAMBKhBQAAGAlQgoAALASIQUAAFiJkAIAAKxESAEAAFYipAAAACsRUgAAgJUIKQAAwEr/D7tfDLm6WCDrAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.title(\"Histograma Area mn, escalado aplicando Yeo-Johnson\")\n", - "plt.hist(df_datos_PTrans.loc[:,\"AREA_MN\"])" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "datamecum", - "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.9.13" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/function_search_FA_parameters.R b/function_search_FA_parameters.R deleted file mode 100644 index 301fb87..0000000 --- a/function_search_FA_parameters.R +++ /dev/null @@ -1,155 +0,0 @@ -library(psych) -library(writexl) -library(tidyverse) -library(psych) -library(GPArotation) -library(writexl) -library(openxlsx2) - -### Funcion para exportar datos a excel - -export_list_to_excel <- function(my_list, output_file) { - # Create a new workbook - - wb <- wb_workbook() - names_list <- names(my_list) - - # Iterate over the list elements - for (i in seq_along(my_list)) { - # Extract the current element - current_element <- my_list[[i]] - - # Create a name sheet - - name_sheet = paste('fa',i,sep = "") - - fa_parameters = names_list[i] - - # Create a new sheet in the workbook - wb$add_worksheet(sheet = name_sheet) - - wb$add_data(name_sheet, fa_parameters, startCol = 1, startRow = 1) - - wb$add_data(name_sheet, current_element, startCol = 1, startRow = 3, rowNames = TRUE) - - } - - # Save the workbook as an Excel file - wb_save(wb, path = output_file) -} - - -# Funcion que a partir de la salida del objeto FA devuelve un data.frame - -df_factors <- function(fa_result){ - t = fa_result$Vaccounted[3,] - n = length(t) - column_names <- paste0("F", 1:n) # Generate column names - order_t <- t[order(names(t))] - df <- setNames(as.data.frame(matrix(order_t, nrow = 1, ncol = n)), column_names) - return(df) -} - - -# funcion para crear un objeto de workbook para ir agregando los resultados de los FA - -summarize_fa <- function(wb,df, n = i,it = iterations, pc = parameter_combinations){ - if (it == 1){ - wb$add_data("resultados", df[1,], startCol = 2, startRow = 2 + n, colNames = FALSE, rowNames = FALSE) - } - else{ - wb$add_data("resultados", df[1,], startCol = 2, startRow = ((pc+2)*(it-1)) + n, colNames = FALSE, rowNames = FALSE) - } - return(wb) - - -} - -# Funcion que a partir una lista de parametros prueba todas las combinaciones, y devuelve los resultados - -factor_analysis_export <- function(data_list,data_names, n_factors, fm_methods, rotate_methods){ - # Generate all possible combinations of parameters - parameter_combinations <- tidyr::expand_grid(n_factors = as.integer(n_factors), - fm_methods = fm_methods, - rotate_methods = rotate_methods) - - # Create an empty structures to save results - loading_list <- list() - result_df <- data.frame() - vector_names <-c() - wb <- wb_workbook() - wb$add_worksheet(sheet = "resultados") - number_parameter_combinations = nrow(parameter_combinations) - iterations = 0 - #data_names = paste("data",seq(length(data_list)), sep = "") - - for (data in data_list) { - iterations = iterations + 1 - - # Iterate over the parameter combinations - for (i in 1:nrow(parameter_combinations)) { - # Extract the current parameter combination - current_params <- parameter_combinations[i, ] - n <- current_params$n_factors - fm <- current_params$fm_methods - rotate <- current_params$rotate_methods - - # Perform factor analysis with the current parameters - - fa_result <- fa(r = data, nfactors = n, fm = fm, rotate = rotate) - - variance_result <- df_factors(fa_result) # Funcion propia. Devuelve un dataframe de un fila de la varianza. - # m = length(colnames(data)) - - # Vamoso a crear un data frame - loadings_values <- data.frame(fa_result$loadings[]) - #resultados_n <- resultados[1:m,] # Esto en principio no es necesario. - - - # Resultados 1 es dataframe. Comunalidad, complexity, unicicidad - complexity <- data.frame(comunality = fa_result$communality, complexity = fa_result$complexity, uniqueness = fa_result$uniquenesses - ) - - Parameters = paste("data = ", data_names[iterations],"nfactors =", n, "fm =", fm, "rotate =", rotate) - - # Este es el data.frame resultado de cada fa. - - final <- cbind(loadings_values,complexity) - - ### Esto se almacena en una lista y luego se exporta a un hoja de excel - - loading_list[[length(loading_list) + 1]] <- final - - # Estamos creando una lista de nombres para darle a los elementos de la lista - - vector_names = c(vector_names,Parameters) - - parameters_model <- data.frame(Parameters = paste("data = ", data_names[iterations],"nfactors =", n, "fm =", fm, "rotate =", rotate)) - - # Este dataframe debe ir agregandose en cada iteracion en una hoja workbook - res_var <- cbind(parameters_model,variance_result) - - - ## Le damos un nombre a cada elemento de la lista basado en el vector vecto_names - names(loading_list) <- vector_names - - wb <- summarize_fa(wb,res_var,i,iterations,number_parameter_combinations) - - } - - - } - - # Esta es la salida de la loading list - - output_file <- "fa_results.xlsx" - export_list_to_excel(loading_list, output_file) - - wb_save(wb, path = "wb_test.xlsx") - - -} - - - -