Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Actividad
Instrucciones:
Cada pregunta la debe responder en una celda diferente (en total 4 celdas de código).
Antes de cada celda de código debe ir un markdown que muestre la pregunta que está
respondiendo.
En la celda de código debe agregar un breve comentario de qué está haciendo.
Revisar las bases y ver como vienen. Limpiar (en excel) para que sea sencillo importar los datos. Por
ejemplo, en la base de EMPLEO las primeras 5 filas son celdas vacías o título de la hoja. Eso se
puede borrar. Las columnas "C", "E" y otras son columnas en blanco, eliminar para que no queden a
la hora de importar. La fila 7 tiene un subtítulo "en miles" que no aporta, también se puede eliminar.
La idea es que las bases queden sólo con las filas y columnas que va a importar a python.
Utilizando pandas importar las 4 bases, llamar: DF_IMACEC, DF_EMP, DF_IMP, DF_EXP. Limpiar
para que se puedan trabajar (cambiar los nombres de variables, chequear el tipo de datos, revisar en
qué fecha parten).
1. Crear un DataFrame que tenga la variación porcentual anual de personas para las categorías
independientes (total) y asalariados (total).
2. Usando el DataFrame del IMACEC, transponer para que las fechas queden en las filas y las
categorías como columnas. Para esto puede usar la función de pandas pivot_table .
3. Al DF del punto 1), agregar la variación porcentual anual del imacec del punto 2), usando un
inner join .
4. Utilizando plotly , crear un subplot que contenga: 1) Gráfico con la variación anual de
independientes, asalariados e IMACEC. Debe usar líneas, markes o dash para diferenciar las tres
líneas. 2) Usando los DataFrame de exportaciones (EXP) e importaciones (IMP), crear un gráfico
de scatter que tenga el total de exportaciones en el eje horizontal y el total de
importaciones (CIF) en el vertical. Agregue al gráfico una línea de 45°.
3) Dentro de las
exportaciones seleccione: total exportaciones, minería, agropecuario-silvícola y pesquero,
industriales. Utilizando la primera fecha (enero-2009) como base 100, crear un mapa de calor
que en el eje horizontal tenga las fechas y en el vertical las 4 categorías. Cambie la escala de
colores (no utilizar el por defecto).
Cada gráfico debe tener un subtítulo, nombre de ejes y una leyenda -según corresponda-. hint: la
clave es que ordene bien los datos antes del gráfico. Luego piense bien a qué debe llegar.
1. Crear un DataFrame que tenga la variación porcentual anual de personas para las categorías
independientes (total) y asalariados (total).
In [2]:
import pandas as pd
In [4]:
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 1/19
7/1/22 2:31 TAREA2
#creamos los dataframe de los archivos correspondientes
DF_IMACEC = pd.read_excel("/Users/Lenovo/Desktop/IMACEC.xlsx")
DF_IMP = pd.read_excel("/Users/Lenovo/Desktop/IMP.xlsx")
DF_EMP = pd.read_excel("/Users/Lenovo/Desktop/EMPLEO.xlsx")
DF_EXP = pd.read_excel("/Users/Lenovo/Desktop/EXP.xlsx")
print(DF_IMACEC)
print(DF_IMACEC.dtypes)
print('inicio=Año 2010')
print()
print(DF_IMP)
print(DF_IMP.dtypes)
print('inicio=Año 2010')
print()
print(DF_EMP)
print(DF_EMP.dtypes)
print('inicio=Año 2010')
print()
print(DF_EXP)
print(DF_EXP.dtypes)
print('inicio=Año 2010')
print()
2 1 Imacec 83.095413
4 3 Minería 89.075201
5 4 Industria 87.60555
7 6 Comercio 70.635858
8 7 Servicios 83.825378
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 2/19
7/1/22 2:31 TAREA2
0 NaN NaN
2 110.961629 113.848748
3 104.969086 105.141976
4 104.961653 101.191991
5 104.4615 105.373949
6 105.210068 108.663918
7 122.981002 139.49505
8 111.871076 112.760289
9 110.329831 112.438244
10 111.575725 115.446537
Unnamed: 0 object
Unnamed: 1 object
Unnamed: 2 object
Unnamed: 3 object
Unnamed: 4 object
...
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 3/19
7/1/22 2:31 TAREA2
Unnamed: 134 object
inicio=Año 2010
0 NaN
1 Reg
2 1
3 2
4 3
5 4
6 5
7 6
8 7
9 8
10 9
11 10
12 11
13 12
14 13
15 14
16 15
17 16
18 17
19 18
20 19
21 20
22 21
23 22
24 23
25 24
26 25
27 26
28 27
29 28
30 29
31 30
32 31
33 32
34 33
35 34
36 35
37 36
38 37
39 38
40 39
41 40
42 41
43 42
44 43
45 44
46 45
47 46
48 47
49 48
50 49
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 4/19
7/1/22 2:31 TAREA2
51 50
52 51
53 52
54 53
Unnamed: 1 Unnamed: 2 \
0 NaN NaN
5 Durables 206.630392
6 Automóviles 63.031849
7 Computadores 15.248326
8 Celulares 49.211221
9 Televisores 11.050016
10 Electrodomésticos 13.580299
11 Semidurables 282.023917
12 Vestuario 159.808534
13 Calzado 59.051633
15 Carne 17.433025
18 Gasolinas 23.100129
20 Medicamentos 28.178351
21 Perfumes 30.173595
24 Petróleo 178.900822
25 Diésel 157.538327
32 Abono 27.247439
44 Buses 16.619189
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 5/19
7/1/22 2:31 TAREA2
54 Aparatos médicos 30.865489
27 0 0 0
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 6/19
7/1/22 2:31 TAREA2
27 0 0 20.22055
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 7/19
7/1/22 2:31 TAREA2
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 8/19
7/1/22 2:31 TAREA2
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 9/19
7/1/22 2:31 TAREA2
0 NaN NaN
2 7159.124492 6912.144846
3 6606.492516 6350.135863
4 2114.617498 2020.6088
5 910.008573 768.071279
6 292.588844 246.877966
7 99.853166 99.716492
8 177.323485 130.768681
9 85.344943 65.923883
10 104.074173 81.449455
11 464.777618 530.87617
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 10/19
7/1/22 2:31 TAREA2
12 207.399411 241.888469
13 62.838399 75.398651
14 739.831307 721.661351
15 147.556026 151.777533
16 148.324156 133.248197
17 36.835409 36.829865
18 0.126704 12.697532
19 28.902039 31.303872
20 116.018393 103.632568
21 102.253481 99.502782
22 3525.143478 3530.794861
23 904.99772 932.654772
24 395.192039 401.304899
25 193.701039 199.213567
26 84.898923 76.741128
27 120.655658 159.697088
28 0 0
29 51.168934 33.437558
30 2620.145758 2598.140089
31 415.384437 421.802878
32 87.942092 108.29676
33 344.587592 348.387073
34 74.507228 60.384214
35 232.047518 221.15751
36 36.495661 35.858121
37 43.562351 37.580714
38 77.337336 70.024518
39 34.986378 26.271966
40 45.561825 51.101961
41 78.10496 73.619714
42 1519.363516 1360.741185
43 273.628569 252.129461
44 40.702225 28.815012
45 4.430283 3.587194
46 135.227592 91.887954
47 114.916324 96.205457
48 16.61961 16.050908
49 44.412051 46.649232
50 0.736038 0.955234
51 346.682494 350.181782
52 96.011046 84.81359
53 93.703162 84.639683
54 86.674234 84.985734
Unnamed: 1 object
Unnamed: 2 object
Unnamed: 3 object
Unnamed: 4 object
...
inicio=Año 2010
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 11/19
7/1/22 2:31 TAREA2
0 2010 Ene - Mar 1689.071120 5141.758924 -
VAR% ASAL
0 -
1 -0.005271
2 -0.006722
3 -0.001311
4 0.001561
.. ...
130 0.012243
131 0.002926
132 -0.006702
133 -0.006967
134 -0.010615
Año int64
Trimestre object
dtype: object
inicio=Año 2010
0 NaN
1 Reg
2 1
3 2
4 3
.. ...
68 67
69 68
70 69
71 70
72 71
Unnamed: 1 Unnamed: 2 \
0 NaN NaN
2 Exportaciones 3651.808497
3 Minería 1528.537433
4 Cobre 1407.719394
.. ... ...
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 12/19
7/1/22 2:31 TAREA2
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 13/19
7/1/22 2:31 TAREA2
68 138.462329 145.973939 185.502514
0 NaN NaN
2 7920.047325 7445.471552
3 5332.933616 4794.417606
4 4967.250172 4366.559596
.. ... ...
68 124.746422 140.145488
69 27.69569 27.126942
70 60.895629 67.300732
71 36.155104 45.717814
72 85.042049 80.966564
Unnamed: 1 object
Unnamed: 2 object
Unnamed: 3 object
Unnamed: 4 object
...
inicio=Año 2010
In [46]:
#filtramos por años el DF de empleo
DF_1 = DF_EMP[filter_trimestre]
print(DF_1)
VAR% ASAL
11 0.008216
23 0.011519
35 0.00562
47 0.00401
59 0.005062
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 14/19
7/1/22 2:31 TAREA2
71 0.004166
83 -0.005904
95 0.00663
107 -0.000446
119 0.002353
131 0.002926
1. Usando el DataFrame del IMACEC, transponer para que las fechas queden en las filas y las
categorías como columnas. Para esto puede usar la función de pandas pivot_table .
In [26]:
#vemos como es el dataframe original de imacec para luego hacer la comparación con las
DF_IMACEC = pd.read_excel("/Users/Lenovo/Desktop/IMACEC.xlsx")
DF_IMACEC
Producción
1 2 86.952477 89.851944 81.907700 89.463873 87.521252 90.385506 91.503073 91.47
de bienes
Resto de
4 5 82.885023 84.180248 77.714976 82.839368 83.757173 84.435656 85.099581 86.01
bienes
Imacec a
7 8 costo de 83.770186 84.755341 80.986797 85.413809 85.125834 86.427262 87.380146 87.73
factores
Imacec no
8 9 81.922980 81.903321 78.393150 83.110114 83.915113 83.895672 85.222497 85.64
minero
In [28]:
#transponemos los datos de fecha a filas y las categorias a columnas con la función de
#df.transpose() = df.T
DF_2 = DF_IMACEC.T
DF_2
Out[28]: 0 1 2 3 4 5 6
Reg 1 2 3 4 5 6 7
Imac
Descripción Producción Resto de
Imacec Minería Industria Comercio Servicios costo
series de bienes bienes
fact
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 15/19
7/1/22 2:31 TAREA2
0 1 2 3 4 5 6
2010-01-01
83.095413 86.952477 89.075201 87.60555 82.885023 70.635858 83.825378 83.770
00:00:00
2010-02-01
84.029517 89.851944 97.482443 86.682957 84.180248 69.080888 83.866267 84.755
00:00:00
2010-03-01
80.571977 81.9077 94.574602 71.758178 77.714976 68.572661 82.644737 80.986
00:00:00
2021-01-01
112.784887 104.234748 100.751049 105.163215 106.75019 125.7493 115.778738 112.281
00:00:00
2021-02-01
113.988091 104.24903 100.24179 106.056125 106.583096 125.823288 117.878868 113.357
00:00:00
2021-03-01
112.535383 104.523092 101.41854 105.007766 107.017194 124.126904 115.048134 111.870
00:00:00
2021-04-01
110.961629 104.969086 104.961653 104.4615 105.210068 122.981002 111.871076 110.329
00:00:00
2021-05-01
113.848748 105.141976 101.191991 105.373949 108.663918 139.49505 112.760289 112.438
00:00:00
1. Al DF del punto 1), agregar la variación porcentual anual del imacec del punto 2), usando un
inner join .
In [40]:
#Reenombré el índice de descripción series a Año
DF_2_Rename
Out[40]: 0 1 2 3 4 5 6 7
Reg 1 2 3 4 5 6 7 8
Imacec a
Producción Resto de
Año Imacec Minería Industria Comercio Servicios costo de
de bienes bienes
factores
2010-
01-01 83.095413 86.952477 89.075201 87.60555 82.885023 70.635858 83.825378 83.770186
00:00:00
2010-
02-01 84.029517 89.851944 97.482443 86.682957 84.180248 69.080888 83.866267 84.755341
00:00:00
2010-
03-01 80.571977 81.9077 94.574602 71.758178 77.714976 68.572661 82.644737 80.986797
00:00:00
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 16/19
7/1/22 2:31 TAREA2
0 1 2 3 4 5 6 7
2021-
01-01 112.784887 104.234748 100.751049 105.163215 106.75019 125.7493 115.778738 112.281302
00:00:00
2021-
02-01 113.988091 104.24903 100.24179 106.056125 106.583096 125.823288 117.878868 113.357142
00:00:00
2021-
03-01 112.535383 104.523092 101.41854 105.007766 107.017194 124.126904 115.048134 111.870357
00:00:00
2021-
04-01 110.961629 104.969086 104.961653 104.4615 105.210068 122.981002 111.871076 110.329831
00:00:00
2021-
05-01 113.848748 105.141976 101.191991 105.373949 108.663918 139.49505 112.760289 112.438244
00:00:00
In [81]:
#Luego para poder juntar ambos archivos y que los encabezados coincidieran eliminé la f
DF_2 = DF_2_Rename.drop(['Reg'], axis=0)
DF_2
Out[81]: 0 1 2 3 4 5 6 7
Imacec a
Producción Resto de
Año Imacec Minería Industria Comercio Servicios costo de
de bienes bienes
factores
2010-
01-01 83.095413 86.952477 89.075201 87.60555 82.885023 70.635858 83.825378 83.770186
00:00:00
2010-
02-01 84.029517 89.851944 97.482443 86.682957 84.180248 69.080888 83.866267 84.755341
00:00:00
2010-
03-01 80.571977 81.9077 94.574602 71.758178 77.714976 68.572661 82.644737 80.986797
00:00:00
2010-
04-01 85.325207 89.463873 99.427377 85.068457 82.839368 75.274799 84.160414 85.413809
00:00:00
2021-
01-01 112.784887 104.234748 100.751049 105.163215 106.75019 125.7493 115.778738 112.281302
00:00:00
2021-
02-01 113.988091 104.24903 100.24179 106.056125 106.583096 125.823288 117.878868 113.357142
00:00:00
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 17/19
7/1/22 2:31 TAREA2
0 1 2 3 4 5 6 7
2021-
03-01 112.535383 104.523092 101.41854 105.007766 107.017194 124.126904 115.048134 111.870357
00:00:00
2021-
04-01 110.961629 104.969086 104.961653 104.4615 105.210068 122.981002 111.871076 110.329831
00:00:00
2021-
05-01 113.848748 105.141976 101.191991 105.373949 108.663918 139.49505 112.760289 112.438244
00:00:00
In [83]:
#Pero me dice error al no existir Año, lo cual en la tabla de IMACEC la categoría no es
pd.merge(DF_1,DF_2, on = 'Año')
---------------------------------------------------------------------------
~\AppData\Local\Temp/ipykernel_6900/1285654660.py in <module>
107 left,
108 right,
697 self.right_join_keys,
698 self.join_names,
700
~\anaconda3\lib\site-packages\pandas\core\reshape\merge.py in _get_merge_keys(self)
1097 else:
~\anaconda3\lib\site-packages\pandas\core\generic.py in _get_label_or_level_values(self,
key, axis)
1778 else:
1780
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 18/19
7/1/22 2:31 TAREA2
1781 # Check for duplicates
KeyError: 'Año'
localhost:8888/lab/tree/Downloads/TAREA2.ipynb 19/19