Indicadores que salen de deste dataset:
ID | Descripción |
---|---|
P0702 | Restricción al paso de automóviles |
P0703 | Restricción al paso a peatones |
P0704 | Vialidades con recubrimiento de la calle |
P0705 | Vialidades con banqueta |
P0706 | Vialidades con guarnición |
P0713 | vialidades con rampa para silla de ruedas |
In [2]:
descripciones = {
'P0702' : 'Restricción al paso de automóviles',
'P0703' : 'Restricción al paso a peatones',
'P0704' : 'Vialidades con recubrimiento de la calle',
'P0705' : 'Vialidades con banqueta',
'P0706' : 'Vialidades con guarnición',
'P0713' : 'vialidades con rampa para silla de ruedas',
}
In [3]:
# Librerias utilizadas
import pandas as pd
import sys
import urllib
import os
import csv
import zipfile
In [4]:
# Configuracion del sistema
print('Python {} on {}'.format(sys.version, sys.platform))
print('Pandas version: {}'.format(pd.__version__))
import platform; print('Running on {} {}'.format(platform.system(), platform.release()))
In [5]:
# URL Fuente
remote_path = r'http://www.beta.inegi.org.mx/contenidos/proyectos/encotras/cleu/2014/tabulados/tab_entorno_2014_xls.zip'
# Carpeta destino Local
local_path = r'D:\PCCS\00_RawData\01_CSV\CLEU\tab_entorno_2014_xls.zip'
In [7]:
# Descarga de archivo
if os.path.isfile(local_path):
print('Ya existe el archivo: {}'.format(local_path))
else:
print('Descargando {} ... ... ... ... ... '.format(local_path))
urllib.request.urlretrieve(remote_path, local_path) #
print('se descargó {}'.format(local_path))
In [13]:
#Descompresión de archivo
target = r'D:\PCCS\00_RawData\01_CSV\CLEU'
archivo = target + '\\' + 'tab_entorno_2014.xls'
if os.path.isfile(target + '\\' + 'tab_entorno_2014.xls'):
print('Ya existe el archivo: {}'.format(archivo))
else:
print('Descomprimiendo {} ... ... ... ... ... '.format(target))
descomprimir = zipfile.ZipFile(local_path, 'r')
descomprimir.extractall(target)
descomprimir.close
In [15]:
# Cada parametro se encuentra en una hoja diferente del libro de excel
# Ubicacion de datos del cada parametro:
hojas = {
'P0702': 'TEU07', # Restricción al paso de automóviles
'P0703': 'TEU07', # Restricción al paso a peatones
'P0704': 'TEU12', # Vialidades con recubrimiento de la calle
'P0705': 'TEU02', # Vialidades con banqueta
'P0706': 'TEU03', # Vialidades con guarnición
'P0713': 'TEU04' # vialidades con rampa para silla de ruedas
}
Cada hoja tiene columnas diferentes, a continuación se definen para pasar los nombres durante el proceso de lectura de hojas:
In [19]:
# Nombre de las hojas a partir de su descripcion en el archivo fuente
nom_hojas = {
'P0702': 'Manzanas por entidad federativa, municipio, localidad y restricción del paso a automóviles según restricción del paso a peatones en sus vialidades', # Restricción al paso de automóviles
'P0703': 'Manzanas por entidad federativa, municipio, localidad y restricción del paso a automóviles según restricción del paso a peatones en sus vialidades', # Restricción al paso a peatones
'P0704': 'Vialidades por entidad federativa, municipio, localidad y alumbrado público según tipo de recubrimiento de la calle', # Vialidades con recubrimiento de la calle
'P0705': 'Manzanas por entidad federativa, municipio, localidad y disponibilidad de banqueta según disponibilidad de recubrimiento de la calle', # Vialidades con banqueta
'P0706': 'Manzanas por entidad federativa, municipio, localidad y disponibilidad de banqueta según disponibilidad de guarnición en sus vialidades', # Vialidades con guarnición
'P0713': 'Manzanas por entidad federativa, municipio, localidad y disponibilidad de banqueta según disponibilidad de rampa para silla de ruedas en sus vialidades' # vialidades con rampa para silla de ruedas
}
Debido a que se saltarán renglones al momento de leer cada hoja, será necesario renombrar todas las columnas para cada hoja. De una vez, como en el archivo original todas las columnas tienen nombres similares sin imporatar el tema, en el renombrado de columnas se incluirá el tema al que aluda cada dataset.
In [40]:
dic_hojas = {
'TEU07': [ # Restricción al paso de automóviles
'Clave geoestadística',
'Entidad federativa',
'Municipio',
'Localidad',
'Restricción del paso a automóviles',
'Total de manzanas',
'RPPeatones Todas las vialidades',
'RPPeatones Alguna vialidad',
'RPPeatones Ninguna vialidad',
'RPPeatones No especificado'
],
'TEU12': [ # Vialidades con recubrimiento de la calle
'Clave geoestadística',
'Entidad federativa',
'Municipio',
'Localidad',
'Disponibilidad de alumbrado público',
'Total de vialidades',
'Pavimento o concreto',
'Empedrado o adoquín',
'Sin recubrimiento',
'Recubrimiento No especificado',
],
'TEU02': [ # Vialidades con banqueta
'Clave geoestadística',
'Entidad federativa',
'Municipio',
'Localidad',
'Disponibilidad de banqueta',
'Total de manzanas',
'Banqueta en todas las vialidades',
'Banqueta en Alguna vialidad',
'Banqueta en Ninguna vialidad',
'Banqueta No especificado'
],
'TEU03': [ # Vialidades con guarnición
'Clave geoestadística',
'Entidad federativa',
'Municipio',
'Localidad',
'Disponibilidad de banqueta',
'Total de manzanas',
'Guarnicion en Todas las vialidades',
'Guarnicion en Alguna vialidad',
'Guarnicion en Ninguna vialidad',
'Guarnicion No especificado'
],
'TEU04': [ # vialidades con rampa para silla de ruedas
'Clave geoestadística',
'Entidad federativa',
'Municipio',
'Localidad',
'Disponibilidad de banqueta',
'Total de manzanas',
'Rampa en Todas las vialidades',
'Rampa en Alguna vialidad',
'Rampa en Ninguna vialidad',
'Rampa No especificado'
]
}
In [23]:
# Numero de filas que se tienen que ignorar en cada hoja antes de llegar a los datos.
skip = 8
In [41]:
# Funcion para leer datos de hojas
def cargahoja(hoja, colnames, skip):
raw_data = pd.read_excel(archivo,
sheetname=hoja,
skiprows=skip).dropna()
# renombra las columnas
raw_data.columns = colnames
return raw_data
In [77]:
datasets = {}
for parametro, hoja in hojas.items():
print('Procesando {} para {}'.format(hoja, parametro))
datasets[parametro] = cargahoja(hoja, dic_hojas[hoja], skip)
print('------terminado------')
In [51]:
datasets.keys()
Out[51]:
In [49]:
descripciones
Out[49]:
In [73]:
# Limpieza estándar
def limpieza(dataset):
# Conserva unicamente los renglones con datos municipales
dataset = dataset[dataset['Clave geoestadística'].str.len() == 5]
# Elimina columnas que ya no se van a utilizar
del(dataset['Entidad federativa'])
del(dataset['Municipio'])
del(dataset['Localidad'])
# Renombra la columna correspondiente a CVE_MUN y asignala como index
dataset.set_index('Clave geoestadística', inplace=True)
dataset = dataset.rename_axis('CVE_MUN')
return dataset
In [64]:
# Metadatos estándar
metadatos = {
'Nombre del Dataset': 'Características de las localidades y del entorno urbano 2014',
'Descripcion del dataset': None,
'Disponibilidad Temporal': '2015',
'Periodo de actualizacion': 'No Determinada',
'Nivel de Desagregacion': 'Proyecto (agregable a municipal, estatal y nacional)',
'Notas': None,
'Fuente': 'INEGI',
'URL_Fuente': 'http://www.beta.inegi.org.mx/proyectos/encotras/cleu/2014/',
'Dataset base': None,
}
In [67]:
list(datasets.keys())
Out[67]:
In [78]:
datasets['P0702'].head(3)
Out[78]:
In [79]:
# Limpieza estándar inicial
for ds in list(datasets.keys()):
print('Limpiando dataset para {}'.format(ds))
datasets[ds] = limpieza(datasets[ds])
print('------terminado------')
In [268]:
nom_hojas['P0702']
Out[268]:
In [93]:
datasets['P0702'].head()
Out[93]:
In [164]:
# La columna 'Restricción del paso a automóviles' clasifica las manzanas
# que tienen alguna clase de restriccion al paso de automóviles.
P0702_raw = datasets['P0702']
list(P0702_raw['Restricción del paso a automóviles'].unique())
Out[164]:
In [165]:
P0702_raw.head()
Out[165]:
In [166]:
list(P0702_raw)
Out[166]:
In [167]:
# Es conveniente crear un dataset con el total de manzanas por municipio
manzanas = P0702_raw[P0702_raw['Restricción del paso a automóviles'] == 'Total']['Total de manzanas']
manzanas.head()
Out[167]:
In [168]:
# Para el parametro, hay que filtrar unicamente las columnas que contienen restricciones a la vialidad
P0702_1 = P0702_raw.loc[P0702_raw['Restricción del paso a automóviles'].isin([
'Restricción del paso a automóviles en todas las vialidades',
'Restricción del paso a automóviles en alguna vialidad',
])]
P0702_1.head()
Out[168]:
In [169]:
# Una vez filtrados hay que agregar los datos por municipio. También vale la pena quitar las columnas de
# restriccion al paso de peatones, pues no son de interes para este parametro.
P0702_1 = P0702_1['Total de manzanas'].groupby(level=0).sum().to_frame(name='Restricción del paso a automóviles')
P0702_1.head()
Out[169]:
In [170]:
# Unimos ambos datasets para crear el dataset estandar del parámetro
P0702 = manzanas.to_frame().join(P0702_1)
print(len(P0702))
P0702.head()
Out[170]:
Después de hacer el join de las columnas del total de manzanas y las manzanas con restricción al paso de automóviles, en algunas celdas de la columna "Restricción del paso a automóviles" quedaron sin valores. Para entender a qué se debe, es conveniente agregar las columnas de 'Restricción del paso a automóviles en ninguna vialidad' y 'No Especificado'.
In [171]:
# celdas de la columna "Restricción del paso a automóviles" que quedaron sin valores
P0702[P0702['Restricción del paso a automóviles'].isnull()]
Out[171]:
In [172]:
P0702_raw['Restricción del paso a automóviles'].unique()
Out[172]:
In [173]:
# Columna con manzanas con restriccion al paso de automoviles en ninguna vialidad
RPA = 'Restricción del paso a automóviles'
TM = 'Total de manzanas'
VAR = 'Restricción del paso a automóviles en ninguna vialidad'
RPANV = P0702_raw[P0702_raw[RPA] == VAR][TM].to_frame(name = VAR)
RPANV.head()
Out[173]:
In [174]:
# Columna con manzanas con restriccion al paso de automoviles no especificado
VAR = 'No especificado'
RPANE = P0702_raw[P0702_raw[RPA] == VAR][TM].to_frame(name = 'Restricción del paso a automóviles '+VAR)
RPANE.head()
Out[174]:
In [175]:
# Union de los dataframes
P0702 = P0702.join(RPANV)
P0702 = P0702.join(RPANE)
P0702.head()
Out[175]:
Nuevamente, revisamos las celdas que no tienen datos en la columna de "Restriccion al paso de automóviles"
In [197]:
# Celdas de la columna "Restricción del paso a automóviles" que quedaron sin valores
testframe = P0702[P0702['Restricción del paso a automóviles'].isnull()].head()
testframe
Out[197]:
Hay dos tipos de casos:
In [198]:
# Funcion para tratar los casos vacios:
def llenarestriccion(x):
tm = 'Total de manzanas'
rpanv = 'Restricción del paso a automóviles en ninguna vialidad'
if x[tm] == x[rpanv]:
return 0
else:
return x['Restricción del paso a automóviles']
In [196]:
# Corrida de prueba
testframe.apply(llenarestriccion, axis = 1)
Out[196]:
In [200]:
# Corrida sobre el dataset del paramentro
P0702['Restricción del paso a automóviles'] = P0702.apply(llenarestriccion, axis = 1)
In [215]:
# metadatos especificos para este parametro
metadatos['Descripcion del dataset'] = 'Manzanas por municipio y restricción del paso a automóviles'
metadatos['Notas'] = 'Se presentan los resultados de 3,993 localidades con información de entorno urbano. Se excluyen 35,839 manzanas que corresponden a edificios de conjuntos habitacionales.'
# Convertir metadatos a dataframe
P0702meta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
P0702meta.columns = ['Descripcion']
P0702meta = P0702meta.rename_axis('Metadato')
P0702meta
Out[215]:
In [212]:
# Descripciones de columnas
variables = {
'Total de manzanas': 'Total de manzanas',
'Restricción del paso a automóviles': 'Total de manzanas que cuentan con restriccion al paso de automoviles en una o más de sus vialidades',
'Restricción del paso a automóviles en ninguna vialidad': 'Total de manzanas que no tienen restriccion al paso de automoviles en ninguna de sus vialidades',
'Restricción del paso a automóviles No especificado': 'Total de manzanas en donde no se especifican las restricciones al paso de automoviles'
}
# Convertir descripciones a dataframe
P0702vars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
P0702vars.columns = ['Descripcion']
P0702vars = P0702vars.rename_axis('Mnemonico')
P0702vars.head()
Out[212]:
In [216]:
# Guardar el dataset
file = r'D:\PCCS\01_Dmine\Datasets\CLEU\P0702.xlsx'
writer = pd.ExcelWriter(file)
P0702.to_excel(writer, sheet_name = 'DATOS')
P0702meta.to_excel(writer, sheet_name = 'METADATOS')
P0702vars.to_excel(writer, sheet_name = 'VARIABLES')
writer.save()
print('---------------TERMINADO---------------')
In [321]:
nom_hojas['P0703']
Out[321]:
In [228]:
P0703_raw = datasets['P0703']
P0703_raw.head()
Out[228]:
In [237]:
# Solo nos interesan los renglones con totales
P0703 = P0703_raw[P0703_raw['Restricción del paso a automóviles'] == 'Total']
# Y podemos quitar la columna "Restricción del paso a automóviles"
del(P0703['Restricción del paso a automóviles'])
P0703.head()
Out[237]:
In [258]:
# Y pos ese ya es el dataset para el parámetro, nomás faltan los metadatos y las variables.
# metadatos especificos para este parametro
metadatos['Descripcion del dataset'] = 'Manzanas por municipio y restricción del paso a peatones'
metadatos['Notas'] = 'Se presentan los resultados de 3,993 localidades con información de entorno urbano. Se excluyen 35,839 manzanas que corresponden a edificios de conjuntos habitacionales.'
# Convertir metadatos a dataframe
P0703meta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
P0703meta.columns = ['Descripcion']
P0703meta = P0703meta.rename_axis('Metadato')
P0703meta
Out[258]:
In [238]:
# Qué variables tiene este dataset?
list(P0703)
Out[238]:
In [259]:
# Descripciones de columnas
variables = {
'Total de manzanas': 'Total de manzanas',
'RPPeatones Todas las vialidades': 'Manzanas con restriccion al paso de peatones en todas las vialidades',
'RPPeatones Alguna vialidad': 'Manzanas con restriccion al paso de peatones en alguna vialidad',
'RPPeatones Ninguna vialidad': 'Manzanas con restriccion al paso de peatones en ninguna vialidad',
'RPPeatones No especificado': 'Manzanas sin especificacion de restriccion al paso de peatones'
}
# Convertir descripciones a dataframe
P0703vars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
P0703vars.columns = ['Descripcion']
P0703vars = P0703vars.rename_axis('Mnemonico')
P0703vars
Out[259]:
In [264]:
# Guardar el dataset
file = r'D:\PCCS\01_Dmine\Datasets\CLEU\P0703.xlsx'
writer = pd.ExcelWriter(file)
P0703.to_excel(writer, sheet_name = 'DATOS')
P0703meta.to_excel(writer, sheet_name = 'METADATOS')
P0703vars.to_excel(writer, sheet_name = 'VARIABLES')
writer.save()
print('---------------TERMINADO---------------')
In [256]:
nom_hojas['P0704']
Out[256]:
In [246]:
P0704_raw = datasets['P0704']
P0704_raw.head()
Out[246]:
In [253]:
# Solo nos interesan los renglones con totales
P0704 = P0704_raw[P0704_raw['Disponibilidad de alumbrado público'] == 'Total']
# Y podemos quitar la columna "Disponibilidad de alumbrado público"
del(P0704['Disponibilidad de alumbrado público'])
P0704.head()
Out[253]:
In [261]:
# metadatos especificos para este parametro
metadatos['Descripcion del dataset'] = 'Vialidades por municipio según tipo de recubrimiento de la calle'
metadatos['Notas'] = 'Total de vialidades que circundan cada manzana. Se presentan los resultados de 3,993 localidades con información de entorno urbano. Se excluyen 35,839 manzanas que corresponden a edificios de conjuntos habitacionales.'
# Convertir metadatos a dataframe
P0704meta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
P0704meta.columns = ['Descripcion']
P0704meta = P0704meta.rename_axis('Metadato')
P0704meta
Out[261]:
In [254]:
# Que Variables tiene este dataset?
list(P0704)
Out[254]:
In [262]:
# Descripciones de columnas
variables = {
'Total de vialidades': 'Total de Vialidades',
'Pavimento o concreto': 'Vialidades que cuentan con Pavimento o concreto',
'Empedrado o adoquín': 'Vialidades que cuentan con Empedrado o adoquín',
'Sin recubrimiento': 'Vialidades Sin recubrimiento',
'Recubrimiento No especificado': 'Vialidades con Recubrimiento No especificado'
}
# Convertir descripciones a dataframe
P0704vars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
P0704vars.columns = ['Descripcion']
P0704vars = P0704vars.rename_axis('Mnemonico')
P0704vars
Out[262]:
In [263]:
# Guardar el dataset
file = r'D:\PCCS\01_Dmine\Datasets\CLEU\P0704.xlsx'
writer = pd.ExcelWriter(file)
P0704.to_excel(writer, sheet_name = 'DATOS')
P0704meta.to_excel(writer, sheet_name = 'METADATOS')
P0704vars.to_excel(writer, sheet_name = 'VARIABLES')
writer.save()
print('---------------TERMINADO---------------')
In [269]:
nom_hojas['P0705']
Out[269]:
In [270]:
# Dataset base
P0705_raw = datasets['P0705']
P0705_raw.head()
Out[270]:
In [293]:
db = 'Disponibilidad de banqueta'
list(P0705_raw[db].unique())
Out[293]:
In [298]:
# Comenzamos creando un dataset con el total de manzanas por municipio
tm = 'Total de manzanas'
manzanas = P0705_raw[P0705_raw[db] == 'Total'][tm].to_frame()
manzanas.head()
Out[298]:
In [299]:
# Para el parametro, hay que separar la columna "Disponibilidad de banqueta" en una columna por cada subset
tv = 'Banqueta en todas las vialidades'
av = 'Banqueta en alguna vialidad'
nv = 'Banqueta en ninguna vialidad'
ne = 'No especificado'
todasvial = P0705_raw[P0705_raw[db] == tv][tm].to_frame(name = tv)
alguvial = P0705_raw[P0705_raw[db] == av][tm].to_frame(name = av)
ningvial = P0705_raw[P0705_raw[db] == nv][tm].to_frame(name = nv)
nevial = P0705_raw[P0705_raw[db] == ne][tm].to_frame(name = ne)
In [301]:
# Después es necesario unir cada serie a partir del dataset 'manzanas'
P0705 = manzanas.join(todasvial).join(alguvial).join(ningvial).join(nevial)
P0705.head()
Out[301]:
In [308]:
# celdas de la columna "Banqueta en todas las vialidades" que quedaron sin valores
P0705[P0705['Banqueta en todas las vialidades'].isnull()].tail()
Out[308]:
Para los renglones en donde el valor de la columna "Total de Manzanas" es igual al valor de la columna "Banqueta en ninguna vialidad" se puede reemplazar el valor NaN por Cero.
In [311]:
P0705[P0705[tm] == P0705[nv]].head()
Out[311]:
In [312]:
# Funcion para tratar los casos vacios:
def llenarestriccion(x):
if x[tm] == x[nv]:
return 0
else:
return x['Banqueta en todas las vialidades']
# Es seguro utilizar la misma funcion para las columnas
# "Banqueta en todas las vialidades" como en la columna
# "Banqueta en alguna vialidad"
In [315]:
P0705[tv]= P0705.apply(llenarestriccion, axis = 1)
P0705[av]= P0705.apply(llenarestriccion, axis = 1)
P0705.loc['12037']
Out[315]:
In [317]:
nom_hojas['P0705']
Out[317]:
In [318]:
# metadatos especificos para este parametro
metadatos['Descripcion del dataset'] = 'Manzanas por municipio segun disponibilidad de banqueta en sus vialidades'
metadatos['Notas'] = 'Se presentan los resultados de 3,993 localidades con información de entorno urbano. Se excluyen 35,839 manzanas que corresponden a edificios de conjuntos habitacionales.'
# Convertir metadatos a dataframe
P0705meta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
P0705meta.columns = ['Descripcion']
P0705meta = P0705meta.rename_axis('Metadato')
P0705meta
Out[318]:
In [316]:
list(P0705)
Out[316]:
In [319]:
# Descripciones de columnas
variables = {
'Total de manzanas': 'Total de manzanas',
'Banqueta en todas las vialidades': 'Manzanas que cuentan con banqueta en todas las vialidades',
'Banqueta en alguna vialidad': 'Manzanas que cuentan con banqueta en alguna vialidad',
'Banqueta en ninguna vialidad': 'Manzanas que cuentan con banqueta en ninguna vialidad',
'No especificado': 'Manzanas en donde no se ha especificado si cuenta o no con banqueta'
}
P0705vars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
P0705vars.columns = ['Descripcion']
P0705vars = P0705vars.rename_axis('Mnemonico')
P0705vars
Out[319]:
In [320]:
# Guardar el dataset
file = r'D:\PCCS\01_Dmine\Datasets\CLEU\P0705.xlsx'
writer = pd.ExcelWriter(file)
P0705.to_excel(writer, sheet_name = 'DATOS')
P0705meta.to_excel(writer, sheet_name = 'METADATOS')
P0705vars.to_excel(writer, sheet_name = 'VARIABLES')
writer.save()
print('---------------TERMINADO---------------')
In [271]:
nom_hojas['P0706']
Out[271]:
In [272]:
# Dataset base
P0706_raw = datasets['P0706']
P0706_raw.head()
Out[272]:
In [273]:
list(P0706_raw)
Out[273]:
In [274]:
# Solo nos interesan los renglones con totales
P0706 = P0706_raw[P0706_raw['Disponibilidad de banqueta'] == 'Total']
# Y podemos quitar la columna "Disponibilidad de alumbrado público"
del(P0706['Disponibilidad de banqueta'])
P0706.head()
Out[274]:
In [275]:
hojas
Out[275]:
In [276]:
# metadatos especificos para este parametro
metadatos['Descripcion del dataset'] = 'Manzanas por municipio segun disponibilidad de guarnición en sus vialidades'
metadatos['Notas'] = 'Se presentan los resultados de 3,993 localidades con información de entorno urbano. Se excluyen 35,839 manzanas que corresponden a edificios de conjuntos habitacionales.'
# Convertir metadatos a dataframe
P0706meta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
P0706meta.columns = ['Descripcion']
P0706meta = P0706meta.rename_axis('Metadato')
P0706meta
Out[276]:
In [277]:
# Que Variables tiene este dataset?
list(P0706)
Out[277]:
In [287]:
# Descripciones de columnas
variables = {
'Total de manzanas': 'Total de manzanas',
'Guarnicion en Todas las vialidades': 'Manzanas con guarnicion en Todas las vialidades',
'Guarnicion en Alguna vialidad': 'Manzanas con guarnicion en Alguna vialidad',
'Guarnicion en Ninguna vialidad': 'Manzanas con guarnicion en Ninguna vialidad',
'Guarnicion No especificado': 'Manzanas en donde no se ha especificado si cuenta o no con guarnicion'
}
P0706vars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
P0706vars.columns = ['Descripcion']
P0706vars = P0706vars.rename_axis('Mnemonico')
P0706vars
Out[287]:
In [288]:
# Guardar el dataset
file = r'D:\PCCS\01_Dmine\Datasets\CLEU\P0706.xlsx'
writer = pd.ExcelWriter(file)
P0706.to_excel(writer, sheet_name = 'DATOS')
P0706meta.to_excel(writer, sheet_name = 'METADATOS')
P0706vars.to_excel(writer, sheet_name = 'VARIABLES')
writer.save()
print('---------------TERMINADO---------------')
In [280]:
nom_hojas['P0713']
Out[280]:
In [281]:
# Dataset base
P0713_raw = datasets['P0713']
P0713_raw.head()
Out[281]:
In [282]:
list(P0713_raw)
Out[282]:
In [283]:
# Solo nos interesan los renglones con totales
P0713 = P0713_raw[P0713_raw['Disponibilidad de banqueta'] == 'Total']
# Y podemos quitar la columna "Disponibilidad de alumbrado público"
del(P0713['Disponibilidad de banqueta'])
P0713.head()
Out[283]:
In [284]:
metadatos
Out[284]:
In [285]:
# metadatos especificos para este parametro
metadatos['Descripcion del dataset'] = 'Manzanas municipio según disponibilidad de rampa para silla de ruedas en sus vialidades'
metadatos['Notas'] = 'Total de vialidades que circundan cada manzana. Se presentan los resultados de 3,993 localidades con información de entorno urbano. Se excluyen 35,839 manzanas que corresponden a edificios de conjuntos habitacionales.'
# Convertir metadatos a dataframe
P0713meta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
P0713meta.columns = ['Descripcion']
P0713meta = P0713meta.rename_axis('Metadato')
P0713meta
Out[285]:
In [286]:
# Que Variables tiene este dataset?
list(P0713)
Out[286]:
In [289]:
# Descripciones de columnas
variables = {
'Total de manzanas': 'Total de manzanas',
'Rampa en Todas las vialidades': 'Manzanas con rampa en Todas las vialidades',
'Rampa en Alguna vialidad': 'Manzanas con rampa en Alguna vialidad',
'Rampa en Ninguna vialidad': 'Manzanas con rampa en Ninguna vialidad',
'Rampa No especificado': 'Manzanas en donde no se ha especificado si cuenta o no con rampa'
}
P0713vars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
P0713vars.columns = ['Descripcion']
P0713vars = P0713vars.rename_axis('Mnemonico')
P0713vars
Out[289]:
In [290]:
# Guardar el dataset
file = r'D:\PCCS\01_Dmine\Datasets\CLEU\P0713.xlsx'
writer = pd.ExcelWriter(file)
P0713.to_excel(writer, sheet_name = 'DATOS')
P0713meta.to_excel(writer, sheet_name = 'METADATOS')
P0713vars.to_excel(writer, sheet_name = 'VARIABLES')
writer.save()
print('---------------TERMINADO---------------')