Path: blob/main/Trabajo_grupal/WG5/Grupo2_ tarea 5.py
2714 views
#!/usr/bin/env python1# coding: utf-823# ### Parte de la Tarea 5 - SPPS File45# In[27]:678pip install pyreadstat910# Tarea 5 - SPSS File11# Integrantes:12# Enrique Ríos13# Fabio Salas14# Amalia Castillo15# Angie Quispe1617# Usted debe trabajar una base data_administrativa que está en la carpeta data. Esta base de datos contiene es una encuesta realizado a miembros del hogar durante años años 2019 y 2020.18# Mostrar las variables que presentan missing values19# Se le pide mostrar las etiquetas de dos variables (var labels) y las etiquetas de los valores en dos variables (value's labels).20# Se le pide detectar personas que fueran entrevistadas en ambos años. Para ello, se pide detectar duplicados a partir del identificador por persona : conglome, vivienda, hogar y codperso.21# Ordene la base de datos a partir de las variables que identifican cada miembro y la variable de año (year). Así podrá observar a cada individuo en ambos años.22# Finalmente crear una base de datos para cada año y guardar en la carpeta data con los siguientes nombres data_2019_(numero de grupo) y data_2020_(numero de grupo).232425# In[29]:262728import numpy as np29import pandas as pd30import os31import pyreadstat as py3233user = os.getlogin() # Username3435# Setear directorio363738# ### Se importa los datos a analizar3940# In[33]:414243os.chdir(f"/Users/enriquerios/Desktop/PUCP 2022.2/R y Python/1ECO35_2022_2/data") # Fijar directoriO444546# In[34]:474849df,meta=py.read_sav('data_administrativa.sav')505152# ### Se revisa la dimensión de la data5354# In[35]:555657df.shape585960# ### Se evalua los datos faltantes6162# In[36]:636465vacios = pd.DataFrame(df.isnull().sum()).sort_values(0,ascending=False)66vacios.columns = ['vacios']67vacios['vacios%'] = round(vacios['vacios']/df.shape[0], 2)*10068vacios # Datos vacios y vacios % en la tabla697071# ### Etiquetas de las dos variables: Var labels y values labels7273# #### Primero : Value labels7475# In[37]:767778meta.value_labels['labels0'] # Variable geográficaa798081# In[38]:828384meta.value_labels['labels1'] # variable de habitantes858687# #### Segundo: Variable labels8889# In[39]:909192meta.variable_value_labels['DOMINIO'] #variable del dominio939495# In[40]:969798meta.variable_value_labels['ESTRATO'] # ahora es variable denominada estrato99100101# ### Se procede a detectar y eliminar los duplicados102103# In[41]:104105106m=df.duplicated(df.columns[~df.columns.isin(['conglome','vivienda','hogar','codperso'])],107keep='first')108109110# In[42]:111112113m_true=m[m==True]114115116# #### Se encuentra que NO existen duplicados117118# In[43]:119120121m_true122123124# #### Código para borrar duplicados125126# In[44]:127128129# df = df.drop_duplicates(df.columns[~df.columns.isin(['conglome','vivienda','hogar','codperso'])],130# keep='first')131# Se agregó el código para borrar duplicados132133134# ### Creación de dataframe 2019 y 2020135136# In[45]:137138139df2019=df.copy()140df2020=df.copy()141142143# In[46]:144145146df2019.drop(df[df['year']=='2020'].index,inplace=True)147df2020.drop(df[df['year']=='2019'].index,inplace=True)148149150# In[47]:151152153df2019.head()154155156# In[48]:157158159df2020.head()160161162# #### Guardamos la nueva data creada163164# In[49]:165166167py.write_sav(df2019,'data_2019_2.sav')168py.write_sav(df2020,'data_2020_2.sav')169170171# In[ ]:172173174175176177# In[ ]:178179180181182183184