Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Trabajo_grupal/WG5/Grupo9_py.ipynb
2714 views
Kernel: Python 3 (ipykernel)
from IPython.display import display, HTML display(HTML(data=""" <style> div#notebook-container { width: 75%; } div#menubar-container { width: 95%; } div#maintoolbar-container { width: 65%; }a </style> """))
import numpy as np import pandas as pd from pandas import DataFrame,Series
data = pd.read_spss( r"../../data/data_administrativa.sav" ) data

Pregunta 1

# Mostrar las variables que presentan missing values # opc1. mostrar solo nombre de variables donde hay missings x = list(data.isna().any()) #da un vector de True/False, donde True es 'hay missings' y False es 'no hay missings' i=0 lista=[] print('Variables con missings:') for x in x: if x==True: print(data.columns.values[i]) #imprimir nombre de variables con missings lista.append(data.columns.values[i]) i=i+1
Variables con missings: P203A P203B P204 P205 P206 P207 P208A P208B P209
# op2. mostrar columnas completas de variables donde hay missings data.loc[:, lista]

Pregunta 2

# Identificar etiquetas import savReaderWriter as sav with sav.SavHeaderReader( r"../../data/data_administrativa.sav", ioUtf8=True) as header: metadata = header.all() labels_data = metadata.valueLabels var_labels_data = metadata.varLabels
#Etiquestas de variables var_labels_data['DOMINIO'] #1.
'Dominio geográfico'
#Etiqueta de variables var_labels_data['P203'] #2.
'¿Cuál es la relación de parentesco con el jefe(a) del hogar'
#Etiquetas de los valores de variables labels_data['DOMINIO'] #1.
{1.0: 'Costa Norte', 2.0: 'Costa Centro', 3.0: 'Costa Sur', 4.0: 'Sierra Norte', 5.0: 'Sierra Centro', 6.0: 'Sierra Sur', 7.0: 'Selva', 8.0: 'Lima Metropolitana'}
#Etiquetas de valores de variables labels_data['P203B'] #2.
{1.0: 'Jefe/jefa de hogar', 2.0: 'Esposa(o)', 3.0: 'Hijo(a)', 6.0: 'Padres/suegros'}

Pregunta 3

# Si la persona fue entrevistada ambos años, entonces, los mismos identificadores de conglome, vivienda, hogar y codeperso # se repite en ambos años.
data[ data.loc[:, ['CONGLOME' ,'VIVIENDA' , 'HOGAR' ,'CODPERSO']].duplicated(keep="first") ] # data filtrada con personas que fueron entrevistadas ambos años, # la persona solo aparece una vez cuando se filtra porque la opción usada fue .duplicate(keep="first")

Pregunta 3

# Ordene la base de datos # 1. Convertir identificadores en números data=data.astype({'CONGLOME':int,'VIVIENDA':int,'HOGAR': int, 'CODPERSO': int,'year': int})
# 2. Usar base con duplicados para poder ver secuencia data=data[ data.loc[:, ['CONGLOME' ,'VIVIENDA' , 'HOGAR' ,'CODPERSO']].duplicated(keep=False) ] # 3. Ordenar acorde a identificadores (se reemplazó base) data.sort_values(['CONGLOME','VIVIENDA','HOGAR','CODPERSO','year'], ascending = True, inplace=True) # 4. Se observa el individuo los dos años data.head(20)

Pregunta 4

# Crear base de datos 2019 data_2019_9=data[ data["year"] == 2019 ] data_2019_9.tail(50) #Nota, se pone == 2019 y no == "2019" porque la variable 'year' ha sido cambiada a string en la pregunta anterior.
# Crear base de datos 2020 data_2020_9=data[data["year"] == 2020] data_2020_9.tail(50)
# Guardar bases de datos #1. en csv data_2019_9.to_csv("../../data/data_2019_9.csv") data_2020_9.to_csv("../../data/data_2020_9.csv") #2. en excel data_2019_9.to_excel("../../data/data_2019_9.xlsx") data_2020_9.to_excel("../../data/data_2020_9.xlsx")