Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_final/grupo6/Grupo6_pregunta2.py
2714 views
1
##### TRABAJO FINAL #####
2
################################
3
4
## PREGUNTA 2 ##
5
6
7
# Primero importamos las librerias que usaremos para este ejercicio
8
import numpy as np
9
import pandas as pd
10
from pandas import DataFrame, Series
11
import re
12
import os
13
14
15
16
user = os.getlogin()
17
18
# Primero setearemos el directorio
19
os.chdir(f"C:/Users/User/Desktop/Trabajo_final")
20
21
# Definimos la primera variable que leerá los los archivos xls descargados de la base de datos de INFO-juntos
22
# para el caso del VRAEM y seleccionaremos la posicion cero de la base para poder espeficiarnos en la tabla a trabajar.
23
df1 = pd.read_html('Detalle2014.xls')
24
detalle_2014 = df1[0]
25
# Ahora eliminaremos las columnas y las filas que no usaremos para el ejerecicio con ".drop"
26
# A las filas restantes le cambiaremos de nombre, para luego invertir la matriz de datos a traves del
27
#cambio del orden de las filas con las columnas.
28
detalle_2014 = detalle_2014.drop( [1,2,3,4,5,6], axis=1)
29
detalle_2014 = detalle_2014.drop( [0,1,2,11,12,14], axis=0)
30
detalle_2014=detalle_2014.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
31
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
32
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
33
9:'CCPP con hogares abonados', 10:'Hogares abonados',
34
13:'Transferencia S/'})
35
detalle_2014 = detalle_2014.drop( [0], axis=1)
36
detalle_2014 = pd.DataFrame.transpose(detalle_2014)
37
38
# Repetiremos el proceso para cada base de datos descargada, es decir para cada año de analisis:
39
# 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021.
40
41
# Para 2015
42
df2 = pd.read_html('Detalle2015.xls')
43
detalle_2015 = df2[0]
44
45
detalle_2015 = detalle_2015.drop( [1,2,3,4,5,6], axis=1)
46
detalle_2015 = detalle_2015.drop( [0,1,2,11,12,14], axis=0)
47
detalle_2015=detalle_2015.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
48
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
49
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
50
9:'CCPP con hogares abonados', 10:'Hogares abonados',
51
13:'Transferencia S/'})
52
detalle_2015 = detalle_2015.drop( [0], axis=1)
53
detalle_2015 = pd.DataFrame.transpose(detalle_2015)
54
55
# Para 2016
56
df3 = pd.read_html('Detalle2016.xls')
57
detalle_2016 = df3[0]
58
59
detalle_2016 = detalle_2016.drop( [1,2,3,4,5,6], axis=1)
60
detalle_2016 = detalle_2016.drop( [0,1,2,11,12,14], axis=0)
61
detalle_2016=detalle_2016.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
62
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
63
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
64
9:'CCPP con hogares abonados', 10:'Hogares abonados',
65
13:'Transferencia S/'})
66
detalle_2016 = detalle_2016.drop( [0], axis=1)
67
detalle_2016 = pd.DataFrame.transpose(detalle_2016)
68
69
# Para 2017
70
df4 = pd.read_html('Detalle2017.xls')
71
detalle_2017 = df4[0]
72
73
detalle_2017 = detalle_2017.drop( [1,2,3,4,5,6], axis=1)
74
detalle_2017 = detalle_2017.drop( [0,1,2,11,12,14], axis=0)
75
detalle_2017=detalle_2017.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
76
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
77
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
78
9:'CCPP con hogares abonados', 10:'Hogares abonados',
79
13:'Transferencia S/'})
80
detalle_2017 = detalle_2017.drop( [0], axis=1)
81
detalle_2017 = pd.DataFrame.transpose(detalle_2017)
82
83
# Para 2018
84
df5 = pd.read_html('Detalle2018.xls')
85
detalle_2018 = df5[0]
86
87
detalle_2018 = detalle_2018.drop( [1,2,3,4,5,6], axis=1)
88
detalle_2018 = detalle_2018.drop( [0,1,2,11,12,14], axis=0)
89
detalle_2018=detalle_2018.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
90
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
91
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
92
9:'CCPP con hogares abonados', 10:'Hogares abonados',
93
13:'Transferencia S/'})
94
detalle_2018 = detalle_2018.drop( [0], axis=1)
95
detalle_2018 = pd.DataFrame.transpose(detalle_2018)
96
97
# Para 2019
98
df6 = pd.read_html('Detalle2019.xls')
99
detalle_2019 = df6[0]
100
101
detalle_2019 = detalle_2019.drop( [1,2,3,4,5,6], axis=1)
102
detalle_2019 = detalle_2019.drop( [0,1,2,11,12,14], axis=0)
103
detalle_2019=detalle_2019.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
104
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
105
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
106
9:'CCPP con hogares abonados', 10:'Hogares abonados',
107
13:'Transferencia S/'})
108
detalle_2019 = detalle_2019.drop( [0], axis=1)
109
detalle_2019 = pd.DataFrame.transpose(detalle_2019)
110
111
# Para 2020
112
df7 = pd.read_html('Detalle2020.xls')
113
detalle_2020 = df7[0]
114
115
detalle_2020 = detalle_2020.drop( [1,2,3,4,5,6], axis=1)
116
detalle_2020 = detalle_2020.drop( [0,1,2,11,12,14], axis=0)
117
detalle_2020=detalle_2020.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
118
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
119
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
120
9:'CCPP con hogares abonados', 10:'Hogares abonados',
121
13:'Transferencia S/'})
122
detalle_2020 = detalle_2020.drop( [0], axis=1)
123
detalle_2020 = pd.DataFrame.transpose(detalle_2020)
124
125
# Para 2021
126
df8 = pd.read_html('Detalle2021.xls')
127
detalle_2021 = df8[0]
128
129
detalle_2021 = detalle_2021.drop( [1,2,3,4,5,6], axis=1)
130
detalle_2021 = detalle_2021.drop( [0,1,2,11,12,14], axis=0)
131
detalle_2021=detalle_2021.rename( index={ 3:'Departamentos atendidos', 4:'Provincias Atendidas',
132
5:'Distritos Atendidos', 6: 'CPP con hogares afiliados',
133
7: 'Hogares afiliados', 8:'CCNN con hogares afiliafos',
134
9:'CCPP con hogares abonados', 10:'Hogares abonados',
135
13:'Transferencia S/'})
136
detalle_2021 = detalle_2021.drop( [0], axis=1)
137
detalle_2021 = pd.DataFrame.transpose(detalle_2021)
138
139
140
# Una vez especificados todos las bases para los años 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 emplearemos
141
# un merge para agrupar las bases y presentarlas todas juntas en funcion al año.
142
143
## Primero agruparemos de 2 en 2.
144
merge1 = pd.merge(detalle_2014, detalle_2015, how = "outer")
145
merge2 = pd.merge(detalle_2016, detalle_2017, how = "outer")
146
merge3 = pd.merge(detalle_2018, detalle_2019, how = "outer")
147
merge4 = pd.merge(detalle_2020, detalle_2021, how = "outer")
148
149
## Luego, de los merge obtenidos, realizamos otro merge con las nuevas bases de los primeros merge.
150
merge5 = pd.merge(merge1, merge2, how = "outer")
151
merge6 = pd.merge(merge3, merge4, how = "outer")
152
153
## Por ultimo, juntaremos los merge de la segunda parte en uno solo para tener un merge final que agrupe todas las bases.
154
merge_total = pd.merge(merge5, merge6, how = "outer")
155
156
# Ahora crearemos una lista llamada Year que agrupará en orden desde el año 2014 al 2021.
157
Year = ['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021']
158
159
# Asignamos la lista Year al merge final con todas las bases juntas.
160
merge_total['Year'] = Year
161
162
# Por ultimo, asignamos el nombre de Imagen2 al resultado fnal, que es la agrupacion del merge final con todas
163
# las bases y una nueva variable que asigne los años a la base de datos.
164
Imagen2 = pd.DataFrame(merge_total)
165
166
#reproducimos el resultado.
167
Imagen2
168
169
170
171
172
############### FIN ###################
173
174
175
176
177
178