Path: blob/main/Trabajo_grupal/WG6/Grupo_3_py_Ejercicio2.py
2714 views
#!/usr/bin/env python1# coding: utf-823# In[7]:456#Primero importamos las librerías con la que vamos a trabajar:78import pandas as pd9import numpy as np101112# In[8]:131415#Es preciso mencionar que la base de datos con la que vamos a trabajar16#es el módulo de empleo(modulo05,enaho01a-2020-500):1718#Dato que el archivo de la base de datos se nos presenta en formato stata,19#tendremos que utilizar el comando pd.read_stata para que python pueda leer dicha base de datos:2021enahomódulo05_2020 = pd.read_stata(r"/Users/diegoyeliseo/Desktop/Archivo Stata Ejercicio Salario/enaho01a-2020-500.dta",22convert_categoricals=False)232425print (enahomódulo05_2020.dtypes)2627# Para poder mostrar la base de datos:2829enahomódulo05_2020303132# In[9]:333435#Es preciso mencionar, que como nota nos indica de que debemos filtrar la base de datos con las variables36#que necesitará para que sus programas no vuelvan lentos por lo pesado de los datos. En este sentido,37#para quedarnos con las variables a utilizar, escribimos el siguiente código:3839#Cabe mencionar, que las variables que aparecen entre corchetes están ordenadas de izquierda a derecha:4041enahomódulo05_2020 = enahomódulo05_2020[["aÑo", "mes", "conglome", "vivienda", "hogar" ,42"ubigeo", "dominio" ,"estrato", "i524e1", "i538e1", "i513t", "i518"]]4344#Para mostrar la base de datos:4546enahomódulo05_2020474849# In[16]:505152#El primer paso para calcular el salario por hora es reemplazar por 0 todos los NA o missing en las variables relevantes53#que ya fueron mencionadas anteriormente. Para lograr ello, utilizamos los siguientes códigos:5455#Estas son las 4 variables que son como insumos para calcular el salario por hora:5657enahomódulo05_2020["i524e1"].replace({np.nan: 0},inplace =True)58enahomódulo05_2020["i538e1"].replace({np.nan: 0},inplace =True)59enahomódulo05_2020["i513t"].replace({np.nan: 0},inplace =True)60enahomódulo05_2020["i518"].replace({np.nan: 0},inplace =True)616263# In[14]:646566#El segundo paso para calcular el salario por hora, es realizar los cálculos respectivos:6768#Según los datos del problema, salario por hora del trabajador dependiente: suma de i524e1 i538e1/ ( ( suma i513t i518)*52)69#En este sentido apuntamos a lograr dicho cálculo:7071#Por ello, en primera instancia vamos a crear una variable llamada ingreso_anual_principal_segundoempleo72#que sea la suma de las variables i524e1 y i538e1:7374enahomódulo05_2020['ingreso_anual_principal_segundoempleo'] = enahomódulo05_2020["i524e1"] + enahomódulo05_2020["i538e1"]7576#En segunda instancia, vamos a crear una variable llamada cantidad_horastrabajadas_principal_segundoempleo77#que sea la suma de las variables i513t y i518:7879enahomódulo05_2020['cantidad_horastrabajadas_principal_segundoempleo'] = enahomódulo05_2020["i513t"] + enahomódulo05_2020["i518"]8081#De esta manera, ya podemos pasar a resolver el cálculo deseado que era el siguiente:8283#suma de i524e1 i538e1/ ( ( suma i513t i518)*52)8485#Entonces, vamos a reemplazar la suma de i524e1 i538e1 por ingreso_anual_principal_segundoempleo86#y vamos a reemplazar la suma i513t i518 por cantidad_horastrabajadas_principal_segundoempleo:8788enahomódulo05_2020['salarioporhora'] = enahomódulo05_2020['ingreso_anual_principal_segundoempleo'] / (enahomódulo05_2020['cantidad_horastrabajadas_principal_segundoempleo']*52)899091# In[15]:929394#El último paso para calcular el salario por hora, es que si un salario por hora resulta 0, hay que convertirlo a missing:9596enahomódulo05_2020['salarioporhora'].replace({0: np.nan}, inplace =True)9798print(enahomódulo05_2020['salarioporhora'].value_counts())99100101102