Path: blob/main/Trabajo_final/grupo6/Grupo6_pregunta2.py
2714 views
##### TRABAJO FINAL #####1################################23## PREGUNTA 2 ##456# Primero importamos las librerias que usaremos para este ejercicio7import numpy as np8import pandas as pd9from pandas import DataFrame, Series10import re11import os12131415user = os.getlogin()1617# Primero setearemos el directorio18os.chdir(f"C:/Users/User/Desktop/Trabajo_final")1920# Definimos la primera variable que leerá los los archivos xls descargados de la base de datos de INFO-juntos21# para el caso del VRAEM y seleccionaremos la posicion cero de la base para poder espeficiarnos en la tabla a trabajar.22df1 = pd.read_html('Detalle2014.xls')23detalle_2014 = df1[0]24# Ahora eliminaremos las columnas y las filas que no usaremos para el ejerecicio con ".drop"25# A las filas restantes le cambiaremos de nombre, para luego invertir la matriz de datos a traves del26#cambio del orden de las filas con las columnas.27detalle_2014 = detalle_2014.drop( [1,2,3,4,5,6], axis=1)28detalle_2014 = detalle_2014.drop( [0,1,2,11,12,14], axis=0)29detalle_2014=detalle_2014.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',305:'Distritos Atendidos', 6: 'CPP con hogares afiliados',317: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',329:'CCPP con hogares abonados', 10:'Hogares abonados',3313:'Transferencia S/'})34detalle_2014 = detalle_2014.drop( [0], axis=1)35detalle_2014 = pd.DataFrame.transpose(detalle_2014)3637# Repetiremos el proceso para cada base de datos descargada, es decir para cada año de analisis:38# 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021.3940# Para 201541df2 = pd.read_html('Detalle2015.xls')42detalle_2015 = df2[0]4344detalle_2015 = detalle_2015.drop( [1,2,3,4,5,6], axis=1)45detalle_2015 = detalle_2015.drop( [0,1,2,11,12,14], axis=0)46detalle_2015=detalle_2015.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',475:'Distritos Atendidos', 6: 'CPP con hogares afiliados',487: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',499:'CCPP con hogares abonados', 10:'Hogares abonados',5013:'Transferencia S/'})51detalle_2015 = detalle_2015.drop( [0], axis=1)52detalle_2015 = pd.DataFrame.transpose(detalle_2015)5354# Para 201655df3 = pd.read_html('Detalle2016.xls')56detalle_2016 = df3[0]5758detalle_2016 = detalle_2016.drop( [1,2,3,4,5,6], axis=1)59detalle_2016 = detalle_2016.drop( [0,1,2,11,12,14], axis=0)60detalle_2016=detalle_2016.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',615:'Distritos Atendidos', 6: 'CPP con hogares afiliados',627: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',639:'CCPP con hogares abonados', 10:'Hogares abonados',6413:'Transferencia S/'})65detalle_2016 = detalle_2016.drop( [0], axis=1)66detalle_2016 = pd.DataFrame.transpose(detalle_2016)6768# Para 201769df4 = pd.read_html('Detalle2017.xls')70detalle_2017 = df4[0]7172detalle_2017 = detalle_2017.drop( [1,2,3,4,5,6], axis=1)73detalle_2017 = detalle_2017.drop( [0,1,2,11,12,14], axis=0)74detalle_2017=detalle_2017.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',755:'Distritos Atendidos', 6: 'CPP con hogares afiliados',767: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',779:'CCPP con hogares abonados', 10:'Hogares abonados',7813:'Transferencia S/'})79detalle_2017 = detalle_2017.drop( [0], axis=1)80detalle_2017 = pd.DataFrame.transpose(detalle_2017)8182# Para 201883df5 = pd.read_html('Detalle2018.xls')84detalle_2018 = df5[0]8586detalle_2018 = detalle_2018.drop( [1,2,3,4,5,6], axis=1)87detalle_2018 = detalle_2018.drop( [0,1,2,11,12,14], axis=0)88detalle_2018=detalle_2018.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',895:'Distritos Atendidos', 6: 'CPP con hogares afiliados',907: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',919:'CCPP con hogares abonados', 10:'Hogares abonados',9213:'Transferencia S/'})93detalle_2018 = detalle_2018.drop( [0], axis=1)94detalle_2018 = pd.DataFrame.transpose(detalle_2018)9596# Para 201997df6 = pd.read_html('Detalle2019.xls')98detalle_2019 = df6[0]99100detalle_2019 = detalle_2019.drop( [1,2,3,4,5,6], axis=1)101detalle_2019 = detalle_2019.drop( [0,1,2,11,12,14], axis=0)102detalle_2019=detalle_2019.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',1035:'Distritos Atendidos', 6: 'CPP con hogares afiliados',1047: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',1059:'CCPP con hogares abonados', 10:'Hogares abonados',10613:'Transferencia S/'})107detalle_2019 = detalle_2019.drop( [0], axis=1)108detalle_2019 = pd.DataFrame.transpose(detalle_2019)109110# Para 2020111df7 = pd.read_html('Detalle2020.xls')112detalle_2020 = df7[0]113114detalle_2020 = detalle_2020.drop( [1,2,3,4,5,6], axis=1)115detalle_2020 = detalle_2020.drop( [0,1,2,11,12,14], axis=0)116detalle_2020=detalle_2020.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',1175:'Distritos Atendidos', 6: 'CPP con hogares afiliados',1187: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',1199:'CCPP con hogares abonados', 10:'Hogares abonados',12013:'Transferencia S/'})121detalle_2020 = detalle_2020.drop( [0], axis=1)122detalle_2020 = pd.DataFrame.transpose(detalle_2020)123124# Para 2021125df8 = pd.read_html('Detalle2021.xls')126detalle_2021 = df8[0]127128detalle_2021 = detalle_2021.drop( [1,2,3,4,5,6], axis=1)129detalle_2021 = detalle_2021.drop( [0,1,2,11,12,14], axis=0)130detalle_2021=detalle_2021.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',1315:'Distritos Atendidos', 6: 'CPP con hogares afiliados',1327: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',1339:'CCPP con hogares abonados', 10:'Hogares abonados',13413:'Transferencia S/'})135detalle_2021 = detalle_2021.drop( [0], axis=1)136detalle_2021 = pd.DataFrame.transpose(detalle_2021)137138139# Una vez especificados todos las bases para los años 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 emplearemos140# un merge para agrupar las bases y presentarlas todas juntas en funcion al año.141142## Primero agruparemos de 2 en 2.143merge1 = pd.merge(detalle_2014, detalle_2015, how = "outer")144merge2 = pd.merge(detalle_2016, detalle_2017, how = "outer")145merge3 = pd.merge(detalle_2018, detalle_2019, how = "outer")146merge4 = pd.merge(detalle_2020, detalle_2021, how = "outer")147148## Luego, de los merge obtenidos, realizamos otro merge con las nuevas bases de los primeros merge.149merge5 = pd.merge(merge1, merge2, how = "outer")150merge6 = pd.merge(merge3, merge4, how = "outer")151152## Por ultimo, juntaremos los merge de la segunda parte en uno solo para tener un merge final que agrupe todas las bases.153merge_total = pd.merge(merge5, merge6, how = "outer")154155# Ahora crearemos una lista llamada Year que agrupará en orden desde el año 2014 al 2021.156Year = ['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021']157158# Asignamos la lista Year al merge final con todas las bases juntas.159merge_total['Year'] = Year160161# Por ultimo, asignamos el nombre de Imagen2 al resultado fnal, que es la agrupacion del merge final con todas162# las bases y una nueva variable que asigne los años a la base de datos.163Imagen2 = pd.DataFrame(merge_total)164165#reproducimos el resultado.166Imagen2167168169170171############### FIN ###################172173174175176177178