Table of contents
Open Table of contents
2025 S1 Taller en clase
Habiendo descargado el archivo Nacimientos_1998.csv, se carga en un
DataFrame que se llama df así:
import pandas as pd
df = pd.read_csv('Nacimientos_1998.csv',sep=';')
Particularidades de cargar los DataFrames
-
Hay diferentes funciones para leer los datos de un archivo. Todas comienzan por
read_. -
csvquiere decir “archivo separado por comas”, pero también se puede separar por punto y coma, o por tabulador. Si pandas no reconoce las columnas lo más problable es que tengamos que especificar otro separador. Esto se hace con la opciónsep. -
El segundo erro posible es la codificación. En
encoding. Usualmente no se especifica. Si hay errores se puede cambiar en la opciónencoding. O se puede usar un programa externo para guardar el archivo con la codificación correcta. En libreoffice:File :arrow_right: Save as (opción :black_square_button: “edit filter settings”).
pd.read_csv("Nacimientos_1998.txt",encoding="ISO-8859-1", sep="\t")
Filtros sobre las variables.
Se pueden filtrar valores con los operadores lógicos. Por ejemplo, para filtrar todos los nacimientos en que el código de municipio es 88 se crea primero un vector que indique si el código es ese:
filtro1 = df.cod_munic == 88
Y ahora se usa para filtrar
muncod88 = df[filtro1]
Si queremos usar dos filtros, podemos usar el operador & para unir dos vectores de filtro:
filtro2 = (df.cod_munic == 88) & (df.cod_dpto ==5)
Y luego podemos filtrar con este vector
m88d5 = df[filtro2]
Tabla de probabilidad marginal
Consideraciones generales
-
De nuevo, trabajamos en grupos.
- G1
- G2 Michell y Ubaldo ✅
- G3 Jhon Fredy e Isabel ✅
- G4 Neil, Diego y Manuel ✅
- G5 David Santiago y Ana María ✅
- G6 Pablo y Leidy ✅
- G7 Yuly y Sebastián ✅
- G8 Lorena y Germán ✅
- G9 Danna y Camilo ✅
-
Que trabajarán las siguientes variables:
- G1: Peso, menos de 1000 o más de 1000;Sexo asignado, M o F.
- filtropeso = peso_nac == 1
- G3: Multiplicidad del parto, simple o no simple; Sexo asignado, M o F.
- G5: Multiplicidad del parto, doble o no doble; Sexo asignado, M o F.
- G7: Edad madre: 10-14, o mayor a 14; Nivel educativo Madre, preescolar o no preescolar
- G9: Edad madre: 15-19, o diferente a 15-19; Multiplicidad del parto, triple o no triple
- G2: Peso, menos de 1000 o más de 1000; Talla, menos de 20 o más de 20
- G4: Sexo asignado, M o F; Multiplicidad del parto, triple o no triple
- G6: Multiplicidad del parto, doble o no doble; Nivel educativo Madre, preescolar o no preescolar
- G8: Talla, menos de 20 a 29 o fuera de ese rango; Multiplicidad del parto, doble o no doble;
- G1: Peso, menos de 1000 o más de 1000;Sexo asignado, M o F.
-
Recuerde nombrar el archivo de manera similar al anterior (fecha en formato iso, apellidos)
-
Recuerde entregar un ipynb
-
Recuerde poner sus nombres completos
-
🆕 recuerde, el diccionario de datos en https://microdatos.dane.gov.co/index.php/catalog/366/data-dictionary/F1?file_name=Nacimientos_1998
-
🆕 Fecha de entrega: 25 de Noviembre, extendida máximo al 2 de Diciembre del 2025
Preguntas específicas
usando lo que vimos en clase, no otras herramientas
-
Usando las funciones que vimos en clase (por ejemplo la función
sum, cuente las frecuencias de cada variable. En el archivo usando una casillas de texto, escriba la tabla de frecuencias.1 -
Calcule las diferentes probabilidades marginales, dependientes, etc.
🆕 es decir, calcule:
- la probabilidad conjunta de que un dato al azar cumpla ambas características
- la probabilidad marginal de que un dato al azar cumplan alguna característica,
- la probabilidad condicional de la primera caracerística dada la segunda
-
¿tiene evidencia de que las variables son independientes?
-
¿qué puede concluir sobre estos datos con referencia a las probabilidades de las variables?
Rúbrica
-
Reglas generales (formato del archivo, etc): +1.0
-
Tabla de frecuencias perfecta: +1.0
-
Probabilidades marginales : +1.0
-
Análisis de independencia : +1
-
Conclusiones: +1
Notas a Pie
Footnotes
-
🆕AYUDA: Propongo que lo haga de la siguiente manera:
- Llame las librerías (pandas especialmente)
- Carge el dataframe, llámelo “df”
- Genere un primer filtro para la primera característica. Ejemplo,
si las variables son “padre es menor de edad” y “apgar1”, podemos
crear los filtros así:
filtropmenor = ...
filtropmayor = ~filtropmenorfiltroapgar1 = ...filtronoapgar1 = ~filtroapgar1-
Tenga en cuenta filtrar los datos faltantes. Puede hacerlo modificando estos filtros.
-
Para las categorías cruzadas, puede usar ambos filtros, por ejemplo
filtopmenoryapgar1 = filtropmenor & filtroapgar1- Ahora simplemente puede contar los valres de cada uno de los filtros cruzados, para generar los valores de la tabla. Por ejemplo:
npmenoryapgar1 = sum(filtopmenoryapgar1)↩