Indicadores que salen de esta fuente
ID | Descripción |
---|---|
P0009 | Potencial de aprovechamiento energía solar |
P0010 | Potencial de aprovechamiento energía eólica |
P0011 | Potencial de aprovechamiento energía geotérmica |
P0012 | Potencial de aprovechamiento energía de biomasa |
P0606 | Generación mediante fuentes renovables de energía |
P0607 | Potencial de fuentes renovables de energía |
P0608 | Capacidad instalada para aprovechar fuentes renovables de energía |
In [32]:
descripciones = {
'P0009' : 'Potencial de aprovechamiento energía solar',
'P0010' : 'Potencial de aprovechamiento energía eólica',
'P0011' : 'Potencial de aprovechamiento energía geotérmica',
'P0012' : 'Potencial de aprovechamiento energía de biomasa',
'P0606' : 'Generación mediante fuentes renovables de energía',
'P0607' : 'Potencial de fuentes renovables de energía',
'P0608' : 'Capacidad instalada para aprovechar fuentes renovables de energía'
}
In [33]:
# Librerias utilizadas
import pandas as pd
import sys
import urllib
import os
import csv
In [34]:
# 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()))
Los datos se encuentran en la plataforma del Inventario Nacional de Energias Renovables (INERE) ubicada en https://dgel.energia.gob.mx/inere/, y tienen que descargarse manualmente porque su página está elaborada en Flash y no permite la descarga sistematizada de datos. A veces ni funciona por sí misma, manda errores al azar.
Se descargaron dos datasets, uno que contiene el Inventario Actual y otro con el Inventario Potencial de energías renovables a nivel nacional.
Como la base de datos no incluye claves geoestadísticas, estas tienen que asignarse manualmente. A continuacion se muestra el encabezado del archivo que se procesó a mano.
In [35]:
# Lectura del dataset de energia renovable actual como descargado
directorio = r'D:\PCCS\00_RawData\01_CSV\INERE\\'
archivo = directorio+'Actual Energia Renovable.xls'
raw_actual = pd.read_excel(archivo).dropna()
raw_actual.head()
# El dataset envía error cuando se intenta leer directamente
Ninguno de los dos datasets puede ser leido por python tal como fue descargado, por lo que tienen que abrirse en excel y guardarse nuevamente en formato xlsx.
In [36]:
# Lectura del dataset de energia renovable actual después de ser re-guardado en excel
directorio = r'D:\PCCS\00_RawData\01_CSV\INERE\\'
archivo = directorio+'Actual Energia Renovable.xlsx'
raw_actual = pd.read_excel(archivo).dropna()
raw_actual.head()
Out[36]:
Se asignó CVE_MUN manualmente a la mayoría de los registros. No fue posible encontrar una clave geoestadística para las siguientes combinaciones de estado/municipio
ESTADO | MUNICIPIO |
---|---|
Veracruz | Jiotepec |
Chiapas | Atizapan |
Oaxaca | Motzorongo |
Guerrero | La Venta |
Jalisco | Santa Rosa |
Para los siguientes registros, la CVE_MUN fue intuida desde el nombre de la población o el nombre del proyecto:
ESTADO | MUNICIPIO | CVE_MUN | PROYECTO |
---|---|---|---|
Puebla | Atencingo | 21051 | Ingenio de Atencingo |
Puebla | Tatlahuquitepec | 21186 | Mazatepec |
A continuación se presenta el encabezado del dataset procesado manualmente, incluyendo columnas que se utilizaron como auxiliares para la identificación de municipios
In [37]:
# Lectura del dataset de energia renovable actual procesado manualmente
directorio = r'D:\PCCS\00_RawData\01_CSV\INERE\\'
archivo = directorio+'Actual CVE_GEO.xlsx'
actual_proc = pd.read_excel(archivo, dtype={'CVE_MUN': 'str'}).dropna()
actual_proc.head()
Out[37]:
Para guardar el dataset y utilizarlo en la construcción del parámetro, se eliminarán algunas columnas.
In [38]:
list(actual_proc)
Out[38]:
In [39]:
# Eliminacion de columnas redundantes y temporales
del(actual_proc['ESTADO'])
del(actual_proc['MUNICIPIO'])
del(actual_proc['3EDO3'])
del(actual_proc['3MUN3'])
del(actual_proc['GEO_EDO'])
del(actual_proc['GEOEDO_3MUN'])
del(actual_proc['GEO_MUN_Nom'])
# Nombre Unico de Coloumnas
actual_proc = actual_proc.rename(columns = {
'NOMBRE' : 'NOMBRE PROYECTO',
'PRODUCTOR': 'SECTOR PRODUCCION',
'TIPO': 'TIPO FUENTE ENER',
'UNIDADES': 'UNIDADES GEN'})
# Asignacion de CVE_MUN como indice
actual_proc.set_index('CVE_MUN', inplace=True)
actual_proc.head()
Out[39]:
In [40]:
# Metadatos estándar
metadatos = {
'Nombre del Dataset': 'Inventario Actual de Energias Renovables',
'Descripcion del dataset': '',
'Disponibilidad Temporal': '2014',
'Periodo de actualizacion': 'No Determinada',
'Nivel de Desagregacion': 'Localidad, Municipal, Estatal, Nacional',
'Notas': None,
'Fuente': 'SENER',
'URL_Fuente': 'https://dgel.energia.gob.mx/inere/',
'Dataset base': None,
}
# Convertir metadatos a dataframe
actualmeta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
actualmeta.columns = ['Descripcion']
actualmeta = actualmeta.rename_axis('Metadato')
actualmeta
Out[40]:
In [9]:
list(actual_proc)
Out[9]:
In [41]:
# Descripciones de columnas
variables = {
'NOMBRE PROYECTO': 'Nombre del proyecto de produccion de energia',
'SECTOR PRODUCCION': 'Sector al que pertenece el proyecto de produccion de energia',
'TIPO FUENTE ENER': 'Tipo de fuente de donde se obtiene la energía',
'UNIDADES GEN': 'Numero de generadores instalados por proyecto',
'CAPACIDAD INSTALADA (MW)': 'Capacidad Instalada en Megawatts',
'GENERACIÓN (GWh/a) ' : 'Generación de Gigawatts/hora al año'
}
# Convertir descripciones a dataframe
actualvars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
actualvars.columns = ['Descripcion']
actualvars = actualvars.rename_axis('Mnemonico')
actualvars
Out[41]:
In [42]:
# Guardar dataset limpio para creacion de parametro.
file = r'D:\PCCS\01_Dmine\Datasets\INERE\ER_Actual.xlsx'
writer = pd.ExcelWriter(file)
actual_proc.to_excel(writer, sheet_name = 'DATOS')
actualmeta.to_excel(writer, sheet_name = 'METADATOS')
actualvars.to_excel(writer, sheet_name = 'VARIABLES')
writer.save()
print('---------------TERMINADO---------------')
In [49]:
# Lectura del dataset de potencial de energia renovable después de ser re-guardado en excel
directorio = r'D:\PCCS\00_RawData\01_CSV\INERE\\'
archivo = directorio+'Potencial Energia Renovable.xlsx'
raw_potencial = pd.read_excel(archivo, dtype={'CVE_MUN': 'str'}).dropna()
raw_potencial.head()
Out[49]:
In [50]:
# Eliminacion de columnas redundantes y temporales
potencial_proc = raw_potencial
del(potencial_proc['ESTADO'])
del(potencial_proc['MUNICIPIO'])
del(potencial_proc['3EDO3'])
del(potencial_proc['3MUN3'])
del(potencial_proc['GEO_EDO'])
del(potencial_proc['GEOEDO_3MUN'])
del(potencial_proc['GEO_MUN_Nom'])
potencial_proc.head()
Out[50]:
In [29]:
potencial_proc['SUBCLASIFICACIÓN'].unique()
Out[29]:
In [51]:
# Nombre Unico de Coloumnas
potencial_proc = potencial_proc.rename(columns = {
'PROYECTO' : 'NOMBRE PROYECTO',
'CLASIFICACIÓN': 'PROBABILIDAD',
'TIPO': 'TIPO FUENTE ENER',
'SUBCLASIFICACIÓN': 'NOTAS'})
# Asignacion de CVE_MUN como indice
potencial_proc.set_index('CVE_MUN', inplace=True)
potencial_proc.head()
Out[51]:
In [46]:
# Metadatos estándar
metadatos = {
'Nombre del Dataset': 'Inventario Potencial de Energias Renovables',
'Descripcion del dataset': '',
'Disponibilidad Temporal': '2014',
'Periodo de actualizacion': 'No Determinada',
'Nivel de Desagregacion': 'Localidad, Municipal, Estatal, Nacional',
'Notas': None,
'Fuente': 'SENER',
'URL_Fuente': 'https://dgel.energia.gob.mx/inere/',
'Dataset base': None,
}
# Convertir metadatos a dataframe
potenmeta = pd.DataFrame.from_dict(metadatos, orient='index', dtype=None)
potenmeta.columns = ['Descripcion']
potenmeta = potenmeta.rename_axis('Metadato')
potenmeta
Out[46]:
In [53]:
list(potencial_proc)
Out[53]:
In [56]:
potencial_proc['FUENTE'].unique()
Out[56]:
In [ ]:
# Descripciones de columnas
variables = {
'NOMBRE PROYECTO': 'Nombre del proyecto de produccion de energia',
'TIPO FUENTE ENER': 'Tipo de fuente de donde se obtiene la energía',
'PROBABILIDAD': 'Certeza respecto al proyecto deproduccion de energía',
'NOTAS': 'Notas',
'CAPACIDAD INSTALABLE (MW)': 'Capacidad Instalable en Megawatts',
'POTENCIAL (GWh/a) ' : 'Potencial de Generación de Gigawatts/hora al año',
'FUENTE': 'Fuente de información'
}
# Convertir descripciones a dataframe
potencialvars = pd.DataFrame.from_dict(variables, orient='index', dtype=None)
potencialvars.columns = ['Descripcion']
potencialvars = potencialvars.rename_axis('Mnemonico')
potencialvars