EVIDENCIA AA3-EV02.
INFORME EN EL QUE SE IDENTIFIQUEN LAS VARIABLES Y LOS
COMPONENTES ESTADÍSTICOS A PARTIR DE UNA SITUACIÓN PLANTEADA
SENA
ANÁLISIS EXPLORATORIO DE DATOS EN PYTHON
PRESENTADO POR:
GINETH TRUJILLO ARISTIZABAL
PRESENTADO A: JULIÁN GARCÍA
SANTIAGO DE CALI-JULIO DEL 2026
- Procedimiento para la importación del archivo en formato CSV:
Inicialmente se intentó abrir el enlace que permitiría descargar la información, pero no
cargó el link. Por lo que se trabajará con el archivo que se encuentra en los anexos del
curso.
- Plantear una pregunta objetivo:
¿Qué calidad presentan los datos de precios de viviendas y locales destinados a la
venta y al arriendo, para poder realizar un análisis exploratorio de datos?
- Número total de registros
Se creó un Notebook en Jupyter Lab (Evid3), con el fin de generar un código que
permitiera generar el total de registros. En este caso, se importó la librería de Pandas,
para trabajar con la tabla de datos.
Para la lectura de datos se usó un data frame, en la que quedó guardada la lectura de
la tabla de datos evidenciada en el archivo CSV.
Finalmente, para conocer el total de registros, se usó len(df), enumera cuántos
elementos tiene el objeto que recibe. En el caso de un DataFrame, cuenta el número de
filas, es decir, el número de registros. Con el print se mostró la información en la
pantalla.
- Número total de columnas
Para la lectura de datos se usó un data frame, en la que quedó guardada la lectura de
la tabla de datos evidenciada en el archivo CSV.
Finalmente, para conocer el total de registros, se usó len([Link]), el cual obtiene
los nombres de todas las columnas del DataFrame. En el caso de un DataFrame,
cuenta el número de columnas. Con el print se mostró la información en la pantalla.
- Detalle de cada columna
Se realizó la lectura de los datos dentro del archivo de texto .CSV. Se aplicó el
comando [Link](), con el fin de mostrar un resumen técnico del Data Frame. Es
importante porque permite conocer el número de filas, de columnas, qué tipo de datos
tiene cada uno y si hay valores vacíos. Se observa que hay doce columnas, con datos
tipo flotante, entero y objeto.
- Identificar cuáles de las columnas son categóricas y numéricas
Las columnas categóricas son:
Ciudad, Departamento, Barrio, Dirección, Detalle Disponibilidad, Estrato, Tipo de
Inmueble, Datos Adicionales.
Las columnas numéricas son:
Código, Área Terreno, Área Construida y Precio.
- Identificar en qué columnas existen datos nulos
Para detectar valores vacíos se usó el comando [Link]().sum(). Para determinar
cuáles de los registros son nulos en cada una de las columnas. Además, se sumó el
total de los registros nulos por cada columna.
En este caso, las columnas Barrio y Datos Adicionales son las que presentan esta
condición. Con un total de 423 y 345 datos vacíos, respectivamente.
- Identificar si existen registros duplicados:
En un análisis exploratorio de datos, es muy importante verificar si existen registros
duplicados, ya que estos pueden afectar los resultados del análisis y de un modelo de
Machine Learning.
Se usó el comando [Link](), el cual revisa cada fila y determina si es un
duplicado de una fila anterior. Devuelve valores de duplicados o no duplicados y con
.sum() se cuentan cuántos registros hay duplicados. En este caso no hubo registros
duplicados.
- Realice un reporte estadístico de los datos numéricos (media, moda,
mediana, desviación estándar, cuartiles, entre otros):
Se usó el comando [Link]() para generar el reporte estadístico. Si no se agregan
los paréntesis al final, al correr el código se genera una tabla sin la información
solicitada.
Se obtuvo la cantidad de datos (sin contar valores nulos), la media, la desviación
estándar, el valor mínimo, el primer cuartil, la mediana, el tercer cuartil y el valor
máximo.
Se realizó un análisis descriptivo de las variables numéricas del conjunto de datos
utilizando la librería pandas. Se calcularon medidas de tendencia central (media,
mediana y moda), medidas de dispersión (desviación estándar) y medidas de posición
(cuartiles, valores mínimos y máximos). Estas estadísticas permiten comprender la
distribución de los datos, identificar posibles valores atípicos y servir de base para las
etapas posteriores del análisis exploratorio y la construcción de modelos de Machine
Learning.
- Identificar columnas con valores erróneos:
- Utilizar gráficos para identificar valores atípicos:
Inicialmente se estaba corriendo cada línea del código por celda. Entonces, al generar
la gráfica aparecía el título, pero los datos no. Para evitar este tipo de inconvenientes se
debe ejecutar el código en toda la celda.
En la gráfica (diagrama de caja o boxplot) de “Detección de valores atípicos” se aprecia
que la columna “Precio” es la única que presenta datos erróneos.
- Realizar histogramas de frecuencia:
Para el Análisis Exploratorio de Datos (EDA), los histogramas de frecuencia permiten
visualizar cómo se distribuyen los valores de las variables numéricas. En este caso, se
generarán histogramas para variables como Precio, Área Terreno y Área Construida.
¿Qué hace este código?
● select_dtypes(include='number'): selecciona únicamente las columnas
numéricas.
● hist(): crea un histograma para cada variable.
● figsize=(12,8): define el tamaño de la figura.
● bins=20: divide los datos en 20 intervalos (puedes cambiar este número).
● [Link](): agrega un título general.
● plt.tight_layout(): organiza los gráficos para que no se sobrepongan.
● [Link](): muestra los histogramas.
- Usar la herramienta de gráficos para determinar la correlación entre las
variables:
Se utilizó una matriz de correlación representada mediante un mapa de calor para
analizar la relación entre las variables numéricas del conjunto de datos. Los coeficientes
de correlación permitieron identificar la intensidad y dirección de la relación entre
variables como el precio, el área del terreno y el área construida. Adicionalmente, se
emplearon diagramas de dispersión para visualizar estas relaciones y detectar posibles
patrones o comportamientos lineales.
En el código usado se seleccionan únicamente las variables numéricas, se calcula la
correlación entre ellas y se dibuja el mapa de color.
Con base en la gráfica, se encontró que:
● Área Terreno y Área Construida (0.76): presentan una correlación positiva fuerte. En
general, los inmuebles con mayor área de terreno tienden a tener una mayor área
construida.
● Área Construida y Precio (0.68): presentan una correlación positiva moderadamente
fuerte. Esto indica que, en promedio, el precio aumenta a medida que aumenta el
área construida.
● Área Terreno y Precio (0.55): presentan una correlación positiva moderada. El área
del terreno influye en el precio, aunque en menor medida que el área construida.
- Realizar y explicar la eliminación de datos nulos y duplicados
En un Análisis Exploratorio de Datos, la limpieza de datos es una etapa fundamental.
Consiste en identificar y tratar los valores nulos y los registros duplicados para mejorar
la calidad del conjunto de datos.
Primero, se verificó cuántos valores nulos tiene cada columna:
Para eliminar los valores nulos es usó el comando df,dropna() y se verificó que no
existieran en las columnas ‘Barrio’ y ‘Datos Adicionales’, usando el comando df =
[Link](subset=['Barrio', 'Datos Adicionales’']) y se verificó que fueran eliminados.
Para identificar los registros duplicados se usó el comando duplicados=
[Link]().sum():
No fue necesario mostrar y eliminar duplicados, pues no hubo en este caso.