Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_grupal/WG8/Grupo_7_py.ipynb
2714 views
Kernel: Python 3 (ipykernel)

Gráficos

import pandas as pd import numpy as np import pyreadr #plots library import matplotlib.pyplot as plt import seaborn as sns import os
# Set Directorio y leyendo datos user = os.getlogin() # Username os.chdir(f"C:/Users/{user}/Documents/GitHub") # Set directorio data_env = pyreadr.read_r("1ECO35_2022_2/data/wage2015_subsample_inference.Rdata") # Subir base de datos
data = data_env[ 'data' ].reset_index(drop=True)
data # esta será nuestra base de datos

1) Histograma

Histograma de frecuencias absolutas del salario

fig, ax = plt.subplots( figsize=(7,5) ) # definiendo objeto figura data['wage'].plot(kind = 'hist', bins = 30) # plotear salario plt.title('Salario por hora') plt.show() # el gráfico muestra el número de personas que tienen un salario igual a cada uno de esos rangos
Image in a Jupyter notebook

Histograma de frecuencias absolutas del logaritmo del salario

fig, ax = plt.subplots( figsize=(7,5) ) # definiendo objeto figura data['lwage'].plot(kind = 'hist', bins = 30) # plotear salario plt.title('Logaritmo del salario por hora') plt.show()
Image in a Jupyter notebook

Comentario:

Luego de graficar ambos histogramas queda claro que el segundo, en el que se emplea el logaritmo de los salarios (lwage), es el más recomendable. Esto se debe a que el eje x se reduce y es observa mejor el gráfico. De la misma forma, se observa que el logaritmo del salario se semejaría a una normal.

2) Gráfico de densidad

plt.figure(figsize=(10, 6)) # Adding densities sns.kdeplot(data.lwage[data.sex==1], label='Construcción', shade=True) sns.kdeplot(data.lwage[data.sex==0], label='Minería ', shade=True) plt.legend(labels=['Hombre','Mujer'], title = "", frameon=True, bbox_to_anchor=(1.0, 0.98)) plt.title('Logarito del salario por hora según el sexo') plt.xlabel('Logaritmo del salario by Industry') plt.ylabel('Densidad') plt.show()
Image in a Jupyter notebook

3) Gráfico Pie

# Agrupamos las dummies y obtenemos su tamaño base = data.groupby(['shs','hsg','scl','clg','ad']).size() base
shs hsg scl clg ad 0.0 0.0 0.0 0.0 1.0 706 1.0 0.0 1636 1.0 0.0 0.0 1432 1.0 0.0 0.0 0.0 1256 1.0 0.0 0.0 0.0 0.0 120 dtype: int64
# Le damos nombres a las partes del gráfico labels=['Secundaria incompleta', 'Secundaria completa' , 'Universidad incompleta', 'Universidad completa', 'Grado educativo avanzado'] # Generamos el gráfico pie plt.figure(figsize=(9,9)) # tamaño de gráfico ax = plt.pie(base, labels=labels, autopct='%.1f %%') plt.title('Distribución del porcentaje de personas según nivel educativo') plt.show()
Image in a Jupyter notebook

4) Diagrama de cajas

# Generamos el gráfico solicitado fig, ax = plt.subplots(figsize=(10,6)) box = sns.boxplot(data = data[data.ad == 1], x='sex', y='lwage', palette='rainbow') (box.set_xticklabels(["Hombre", "Mujer"])) # etiqueta del eje x plt.title('Logaritmos del salario de personas con mayor nivel educativo según género') plt.xlabel('Sexo') plt.ylabel('Logaritmo del salario por hora') plt.show()
Image in a Jupyter notebook