¡Hola! Entender la diferencia entre una Serie y un DataFrame es el paso más importante para dominar la librería Pandas en Python. Para que nunca lo olvides, usaremos una analogía muy sencilla de la vida real: imagina una hoja de cálculo de Excel.

El Concepto Fundamental: Serie vs. DataFrame

1. ¿Qué es una Serie (pd.Series)?

Una Serie es una estructura de datos de una sola dimensión. Piensa en ella como una única columna en tu hoja de Excel.

  • Contiene una secuencia de valores (todos del mismo tipo de datos, por lo general).
  • Tiene etiquetas asociadas a cada fila llamadas índice (index).

2. ¿Qué es un DataFrame (pd.DataFrame)?

Un DataFrame es una estructura de datos de dos dimensiones (filas y columnas). Piensa en él como la tabla completa de Excel.

  • Es esencialmente un contenedor de múltiples Series alineadas una al lado de la otra, donde cada Serie comparte el mismo índice y representa una columna diferente.

Tutorial Paso a Paso en Código

Primero, asegúrate de importar la librería en tu script:

import pandas as pd

Paso 1: Creando una Serie

Creemos una Serie que represente las edades de un grupo de personas:

edades = pd.Series([30, 25, 40], name="Edad")
print(edades)

Salida en consola:

0    30
1    25
2    40
Name: Edad, dtype: int64

Nota que a la izquierda aparece automáticamente un índice numérico (0, 1, 2).

Paso 2: Creando un DataFrame

Ahora, unamos nombres y edades en una estructura tabular completa usando un diccionario:

datos = {
    "Nombre": ["Ana", "Luis", "Carlos"],
    "Edad": [30, 25, 40]
}
df = pd.DataFrame(datos)
print(df)

Salida en consola:

   Nombre  Edad
0     Ana    30
1    Luis    25
2  Carlos    40

La conexión oculta: Si extraes una sola columna de este DataFrame (por ejemplo, df["Edad"]), lo que Pandas te devolverá es exactamente una Serie.

Métodos y Atributos más Comunes

A continuación, veremos las herramientas esenciales divididas por su categoría de uso.

1. Exploración Inicial (Inspección del terreno)

  • .head(n) / .tail(n): Te muestran las primeras o últimas n filas de tus datos. Es lo primero que debes ejecutar para verificar qué pinta tiene tu estructura.
  • .shape: Un atributo que te devuelve una tupla con las dimensiones. Para un DataFrame te dirá (filas, columnas); para una Serie, solo (filas,).
  • .columns: Atributo exclusivo del DataFrame que te lista los nombres de todas las cabeceras.
  • .info(): Muestra un resumen del DataFrame: tipos de datos, cantidad de valores no nulos y uso de memoria.
  • .describe(): Genera estadísticas descriptivas rápidas (promedio, desviación estándar, valores mínimos, máximos, etc.) tanto para Series numéricas como para el DataFrame entero.

2. Limpieza y Manejo de Nulos

  • .isnull() (o .isna()): Crea una máscara de tipo Verdadero/Falso (True/False) sobre tus celdas, colocando un True donde hay un dato faltante (NaN o None).
  • .isnull().sum() encadenado: Cuenta exactamente cuántas celdas vacías hay por cada columna.
  • .dropna(): Elimina automáticamente cualquier fila que contenga valores nulos.
  • .fillna(valor): Reemplaza las celdas vacías por el valor estático o calculado que tú decidas (como un 0 o el promedio de la columna).

3. Gestión de Duplicados

  • .drop_duplicates(): Sumamente potente para limpiar registros repetidos que surgen por errores de sistema. Puedes indicarle mediante parámetros si deseas evaluar todo el DataFrame o usar columnas específicas como referencia.

4. Selección y Filtrado Avanzado

  • .loc e .iloc: Se utilizan para seleccionar filas y columnas específicas.
    • loc: Busca por etiquetas (nombres de las filas o columnas).
    • iloc: Busca por posiciones numéricas (índices enteros basados en cero).

Resumen para llevar a casa

Característica / MétodoSerie (pd.Series)DataFrame (pd.DataFrame)
Dimensiones1D (Una sola columna)2D (Tabla completa con filas y columnas)
Atributo .columns❌ No tiene (tiene .name)Tiene la lista de nombres de columnas
Manejo de nulos / duplicadosSoporta .isnull(), .fillna(), etc.Soporta los mismos métodos aplicados a toda la tabla de manera masiva.
Uso PrincipalRepresentar variables aisladas o vectores.Representar bases de datos y matrices relacionales estructuradas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *