Path: blob/main/Trabajo_grupal/WG8/Grupo5_Tarea8.py
2714 views
# -*- coding: utf-8 -*-1"""2Created on Sat Nov 12 19:49:51 202234@author: Usuario5"""67import os # for usernanme y set direcotrio8import pandas as pd9import numpy as np10import weightedcalcs as wc11import pyreadr12import matplotlib.pyplot as plt # libreria de gráficos13import seaborn as sns # libreria 2 para gráficos14import datetime as dt # manejar fechas15import warnings16warnings.filterwarnings('ignore') # eliminar warning messages1718user = os.getlogin()1920os.chdir(f"C:/Users/{user}/Documents/GitHub/1ECO35_2022_2/Lab7")2122poblacion_USA = pyreadr.read_r("../data/wage2015_subsample_inference.Rdata")2324poblacion_USA.keys()2526poblacion_USA_2 = poblacion_USA['data']2728#Pregunta 12930poblacion_USA_2.head()3132get_ipython().run_line_magic('matplotlib', 'inline')33params = {'legend.fontsize': 'x-large',34'figure.figsize': (10, 7.5),35'axes.labelsize': 'x-large',36'axes.titlesize':'x-large',37'xtick.labelsize':'x-large',38'ytick.labelsize':'x-large'}39plt.rcParams.update(params)4041#histograma del salario por hora42(counts, bins, patches) = plt.hist(poblacion_USA_2['wage'], bins = 100, color ='lightblue', rwidth=0.8)43plt.xlabel('Salario por Hora')44plt.ylabel('')45plt.title('Pregunta 1 - Histograma de salario')46plt.show()4748#histograma del salario por hora en logaritmos49(counts, bins, patches) = plt.hist(poblacion_USA_2['lwage'], bins = 100, color ='pink', rwidth=0.8)50plt.xlabel('Salario por Hora en Logaritmos')51plt.ylabel('')52plt.title('Pregunta 1 - Histograma de logaritmo del salario')53plt.show()5455#Claramente, se aprecia que al comparar el logaritmo del salario con el salario observamos que el dato con logaritmos56#parece tener una distribución más cercana a la de una distribución normal. Esta es la conocido distribución log-normal57#y se reduce la variación típica de los salarios por los valores muy altos en pocas personas.5859#Pregunta 26061fig = plt.subplots(figsize=(10,6))6263#Solo tomamos como data a la población con universidad completa64sns.kdeplot (data = poblacion_USA_2[poblacion_USA_2['clg'] == 1],65x = 'lwage',66hue = 'sex',67alpha = 0.6,68edgecolor="0.1",69linewidth=1,70fill=True71)727374plt.legend(labels=['mujeres','hombres'], title = "", frameon=True, bbox_to_anchor=(1.0, 0.95))75plt.title('Log salario por hora', size=10)76plt.ylabel('D')77plt.xlabel('')7879# Entonces, obtenemos la distribución del salario de mujeres y hombre con universidad completa.80# A simple vista, pareciera que la media del salario en logaritmo de los hombres es mayor.8182#Pregunta 38384poblacion_USA_3 = poblacion_USA_28586#Generamos valores distintos para cada nivel educativo87poblacion_USA_3.loc[poblacion_USA_3["hsg"] == 1, "hsg"] = 188poblacion_USA_3.loc[poblacion_USA_3["hsg"] == 1, "hsg"] = 289poblacion_USA_3.loc[poblacion_USA_3["scl"] == 1, "scl"] = 390poblacion_USA_3.loc[poblacion_USA_3["clg"] == 1, "clg"] = 491poblacion_USA_3.loc[poblacion_USA_3["ad"] == 1, "ad"] = 59293#Generamos una variable que campture estas diferencias sumando los valores anteriores94poblacion_USA_3['nivel_educativo'] = poblacion_USA_3['shs'] + poblacion_USA_3["hsg"] + poblacion_USA_3["scl"] + poblacion_USA_3["clg"] + poblacion_USA_3["ad"]9596#97base = poblacion_USA_3.groupby('nivel_educativo')['nivel_educativo'].size() # cantidad de personas por tipo nivel educativo9899fig, ax = plt.subplots( figsize=(10,10) )100101base.plot(kind='pie', autopct='%.1f %%')102plt.title("nivel_educativo")103plt.ylabel("")104plt.show()105106fig.savefig(r'../plots/imagen_python.png', dpi=800, bbox_inches='tight')107# Esta sería la leyenda108#"secundaria_incompleta" si tenemos el valor de 1109#"secundaria_completa" si tenemos el valor de 2110#"universidad_incompleta" si tenemos el valor de 3111#"universidad_completa" si tenemos el valor de 4112#"posgrado" si tenemos el valor de 5113114# dpi: la resolución ; es decir, la calidad o nitidez de la imagen115# bbox_inches:tight Ninguna parte del grpáfico se pierde116117#Pregunta 4118119fig, ax = plt.subplots(figsize=(10,6))120box = sns.boxplot(x='sex', y='lwage', data = poblacion_USA_2[ poblacion_USA_2['ad'] == 5] ,palette='rainbow')121plt.xlabel('Sexo del individuo')122plt.ylabel('Logaritmo del salario por hora')123(box.set_xticklabels(["Hombre", "Mujer"])) # etiqueta eje x124125#Recordemos que la dummy toma el valor de 1 si hablamos de una mujer. Entonces, observamos que los hombres con el mismo126#nivel educativo tienen una media del logaritmo del salario por hora mayor que el de las mujeres. Entonces, podemos127#decir que la media del logaritmo del salario de los hombres perdura a lo largo de los niveles educativos universidad128#completa y posgrado. De todas formas habría que analizar a fondo esta dsiparidad. Algunos círculos académicos sostienen129#que esta diferencia podría explicarse por los trabajos que desempeñan los dos sexos. Es decir, las mujeres tienden a130#elegir trabajos peor remunerados. Esto no justifica la disparidad de salarios, pero, en cualquier caso, el tema es popular131#actualmente y necesita investigación a fondo para determinar si lo único que determina el salario es el sexo del individuo.132133134135136137138139140141142