Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_grupal/WG6/Grupo_3_py_Ejercicio2.py
2714 views
1
#!/usr/bin/env python
2
# coding: utf-8
3
4
# In[7]:
5
6
7
#Primero importamos las librerías con la que vamos a trabajar:
8
9
import pandas as pd
10
import numpy as np
11
12
13
# In[8]:
14
15
16
#Es preciso mencionar que la base de datos con la que vamos a trabajar
17
#es el módulo de empleo(modulo05,enaho01a-2020-500):
18
19
#Dato que el archivo de la base de datos se nos presenta en formato stata,
20
#tendremos que utilizar el comando pd.read_stata para que python pueda leer dicha base de datos:
21
22
enahomódulo05_2020 = pd.read_stata(r"/Users/diegoyeliseo/Desktop/Archivo Stata Ejercicio Salario/enaho01a-2020-500.dta",
23
convert_categoricals=False)
24
25
26
print (enahomódulo05_2020.dtypes)
27
28
# Para poder mostrar la base de datos:
29
30
enahomódulo05_2020
31
32
33
# In[9]:
34
35
36
#Es preciso mencionar, que como nota nos indica de que debemos filtrar la base de datos con las variables
37
#que necesitará para que sus programas no vuelvan lentos por lo pesado de los datos. En este sentido,
38
#para quedarnos con las variables a utilizar, escribimos el siguiente código:
39
40
#Cabe mencionar, que las variables que aparecen entre corchetes están ordenadas de izquierda a derecha:
41
42
enahomódulo05_2020 = enahomódulo05_2020[["aÑo", "mes", "conglome", "vivienda", "hogar" ,
43
"ubigeo", "dominio" ,"estrato", "i524e1", "i538e1", "i513t", "i518"]]
44
45
#Para mostrar la base de datos:
46
47
enahomódulo05_2020
48
49
50
# In[16]:
51
52
53
#El primer paso para calcular el salario por hora es reemplazar por 0 todos los NA o missing en las variables relevantes
54
#que ya fueron mencionadas anteriormente. Para lograr ello, utilizamos los siguientes códigos:
55
56
#Estas son las 4 variables que son como insumos para calcular el salario por hora:
57
58
enahomódulo05_2020["i524e1"].replace({np.nan: 0},inplace =True)
59
enahomódulo05_2020["i538e1"].replace({np.nan: 0},inplace =True)
60
enahomódulo05_2020["i513t"].replace({np.nan: 0},inplace =True)
61
enahomódulo05_2020["i518"].replace({np.nan: 0},inplace =True)
62
63
64
# In[14]:
65
66
67
#El segundo paso para calcular el salario por hora, es realizar los cálculos respectivos:
68
69
#Según los datos del problema, salario por hora del trabajador dependiente: suma de i524e1 i538e1/ ( ( suma i513t i518)*52)
70
#En este sentido apuntamos a lograr dicho cálculo:
71
72
#Por ello, en primera instancia vamos a crear una variable llamada ingreso_anual_principal_segundoempleo
73
#que sea la suma de las variables i524e1 y i538e1:
74
75
enahomódulo05_2020['ingreso_anual_principal_segundoempleo'] = enahomódulo05_2020["i524e1"] + enahomódulo05_2020["i538e1"]
76
77
#En segunda instancia, vamos a crear una variable llamada cantidad_horastrabajadas_principal_segundoempleo
78
#que sea la suma de las variables i513t y i518:
79
80
enahomódulo05_2020['cantidad_horastrabajadas_principal_segundoempleo'] = enahomódulo05_2020["i513t"] + enahomódulo05_2020["i518"]
81
82
#De esta manera, ya podemos pasar a resolver el cálculo deseado que era el siguiente:
83
84
#suma de i524e1 i538e1/ ( ( suma i513t i518)*52)
85
86
#Entonces, vamos a reemplazar la suma de i524e1 i538e1 por ingreso_anual_principal_segundoempleo
87
#y vamos a reemplazar la suma i513t i518 por cantidad_horastrabajadas_principal_segundoempleo:
88
89
enahomódulo05_2020['salarioporhora'] = enahomódulo05_2020['ingreso_anual_principal_segundoempleo'] / (enahomódulo05_2020['cantidad_horastrabajadas_principal_segundoempleo']*52)
90
91
92
# In[15]:
93
94
95
#El último paso para calcular el salario por hora, es que si un salario por hora resulta 0, hay que convertirlo a missing:
96
97
enahomódulo05_2020['salarioporhora'].replace({0: np.nan}, inplace =True)
98
99
print(enahomódulo05_2020['salarioporhora'].value_counts())
100
101
102