Explorar un dataset con pandas

Básico
Scikit Learn
Scikit Learn
Actualizado: 09/05/2026

Dataset, filas y columnas

Un dataset supervisado contiene ejemplos históricos donde cada fila representa una observación y algunas columnas describen sus características. La columna que queremos predecir se llama normalmente variable objetivo, target o y.

En Scikit-learn, muchos datasets didácticos se pueden cargar directamente como DataFrame de pandas. Esto facilita inspeccionar nombres de columnas, tipos de datos y valores antes de entrenar ningún modelo.

from sklearn.datasets import load_iris

iris = load_iris(as_frame=True)
df = iris.frame

print(df.head())
print(df.shape)

El objetivo inicial no es entrenar todavía, sino entender qué representa cada fila, qué representa cada columna y cuál es la variable que se quiere predecir.

En el dataset Iris, cada fila describe una flor. Las columnas sepal length (cm), sepal width (cm), petal length (cm) y petal width (cm) son las variables predictoras. La columna target contiene la especie codificada como número.

print(df.columns)
print(iris.target_names)

Separar X e y

El patrón más habitual en Scikit-learn consiste en separar los datos en dos objetos: X para las variables predictoras e y para la variable objetivo. Esta separación aparece una y otra vez porque la API de los estimadores espera esa estructura.

X = df.drop(columns="target")
y = df["target"]

print(X.head())
print(y.head())

La matriz X suele tener forma (n_muestras, n_caracteristicas). El vector y suele tener forma (n_muestras,). La primera dimensión debe coincidir porque cada fila de X tiene su etiqueta correspondiente en y.

print("Forma de X:", X.shape)
print("Forma de y:", y.shape)
flowchart LR
    dataset["DataFrame completo"] --> features["X: variables predictoras"]
    dataset --> target["y: variable objetivo"]
    features --> estimator["Estimador supervisado"]
    target --> estimator

Si X e y no están bien separados, el modelo puede aprender una columna incorrecta, incluir la respuesta entre las variables de entrada o producir métricas engañosas.

Revisar tipos, nulos y clases

Antes de entrenar un modelo conviene hacer una inspección mínima. No se trata aún de limpiar el dataset en profundidad, sino de saber si las columnas son numéricas, categóricas, si hay valores faltantes y cómo se reparte la variable objetivo.

print(X.dtypes)
print(X.isna().sum())

En Iris todas las variables predictoras son numéricas y no hay valores faltantes. Esto permite entrenar un primer modelo sin entrar todavía en imputación, escalado o codificación.

Para problemas de clasificación, también es útil revisar cuántos ejemplos hay por clase:

print(y.value_counts().sort_index())

Cuando una clase tiene muchos menos ejemplos que otra, el modelo puede aprender a favorecer la clase mayoritaria. Ese problema se estudia con más detalle al trabajar métricas y datos desbalanceados.

Convertir códigos en etiquetas legibles

Muchos datasets guardan la variable objetivo como números porque los algoritmos trabajan con valores codificados. Para interpretar resultados, conviene conservar el mapa entre código numérico y etiqueta humana.

target_map = dict(enumerate(iris.target_names))

df_etiquetado = df.copy()
df_etiquetado["species"] = df_etiquetado["target"].map(target_map)

print(df_etiquetado[["target", "species"]].head())

Esta pequeña tabla evita una confusión habitual: el modelo no predice la palabra setosa, sino un código que nosotros traducimos después a una etiqueta comprensible.

print(target_map)
Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Scikit Learn es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de Scikit Learn

Explora más contenido relacionado con Scikit Learn y continúa aprendiendo con nuestros tutoriales gratuitos.

Aprendizajes de esta lección

Comprender cómo pasar de un dataset de Scikit-learn a un DataFrame analizable con pandas, identificar X e y y revisar la estructura mínima antes del modelado.