Skip to content
Empieza gratis

¿Qué representa una fila de una tabla y cómo lo compruebo?

Lee filas de verdad, di qué representa cada una y compruébalo con la columna que la identifica. Empiezas tu bitácora.

Curso gratis. Tu Maestro, una IA, .

Antes de leer nada más, contesta estas tres preguntas. No cuentan para nada: sirven para que al final del curso compares lo que piensas hoy con lo que pienses después. Elige lo primero que harías en tu trabajo; tu Maestro te dice por qué en un par de líneas y el curso vuelve a cada una más adelante.

Comprueba lo que sabes: En la tabla de viajes, 73 filas no tienen año de nacimiento. ¿Qué haces primero?

Comprueba lo que sabes: La duración promedio de los viajes es de 34 minutos. ¿Qué te dice eso de un viaje típico?

Comprueba lo que sabes: Un viaje dura 1,452 minutos: más de 24 horas. ¿Qué haces?

La primera pregunta: qué representa una fila

Parece obvia y casi nunca lo es. Una fila puede ser una persona, una compra, un producto dentro de una compra o un día de una sucursal. De esa respuesta depende todo lo demás: si cuentas filas, cuentas eso; si sumas una columna, sumas eso.

Durante el curso trabajas con la tabla de viajes de Rueda, un sistema de bicis compartidas. Rueda y sus datos son inventados (datos sintéticos, CC0), pero la tabla tiene los mismos problemas que las de tu trabajo. Imagina que tu jefa te la acaba de mandar con un mensaje: "Échale un ojo y dime qué ves antes de que hagamos el reporte del mes".

Empieza por mirar filas de verdad, no resúmenes. En el ejercicio, data ya es la tabla de Rueda, cargada con .

Corre la celda y lee las diez filas como si cada una fuera algo que pasó en la calle. Después cambia head(10) por sample(8, randomstate=3) para ver filas de en medio y del final, no solo las primeras. Ya terminaste cuando puedas contar con tus palabras qué pasó en una fila cualqu

Corre la celda y lee las diez filas como si cada una fuera algo que pasó en la calle. Después cambia head(10) por sample(8, random_state=3) para ver filas de en medio y del final, no solo las primeras. Ya terminaste cuando puedas contar con tus palabras qué pasó en una fila cualquiera.

Ejecuta tu código para ver lo que imprime y el valor de su última expresión. Cada ejecución empieza de nuevo.

Listo para ejecutar tu código.

Ejecuta tu código para ver su salida aquí.

Datos: viajes-rueda, 311 filas

Enter guarda una celda y Escape la deja como estaba. Deja una celda vacía para un valor faltante.

Los datos del ejercicio, "viajes-rueda". Tus cambios corren con tu código.
FilaQuitar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Página 1 de 16

Ejecútalo tú

Lee una fila en voz alta. La primera dice: "El 2 de marzo a las 8:11, alguien con membresía sacó la bici B-0717 de la Terminal de Autobuses y la dejó en Parque Alameda 24.7 minutos después". Eso es un viaje. Lo que acabas de hacer con sample tiene nombre: una . Las primeras filas de una tabla suelen ser las más limpias, así que conviene mirar también las de en medio y las del final.

Si una fila es un viaje, dos cosas deberían cumplirse:

  • Cada viaje_id aparece una sola vez. Es el identificador del viaje, y cada viaje pasa una vez.
  • bici_id sí puede repetirse. Una bici hace muchos viajes en dos semanas.

Antes de comprobarlo en la tabla de Rueda, practica con una de cinco filas. Escribe qué crees que imprime cada línea y por qué; después se corre y comparas.

Una tabla de cinco filas, con un problema escondido.

Una tabla de cinco filas, con un problema escondido.

Filas, viajes y bicis

Ejemplo 1 de 2

example.py
import pandas as pd

viajes = pd.DataFrame({
    "viaje_id": [501, 502, 502, 503, 504],
    "bici_id": ["B-01", "B-07", "B-07", "B-01", "B-03"],
    "duracion_min": [12.5, 20.1, 20.1, 8.0, 31.4],
})

print(len(viajes))
print(viajes["viaje_id"].nunique())
print(viajes["bici_id"].nunique())

Adivinar está bien: se guarda tal como la escribiste para compararla. Solo tú y tu Maestro ven tus predicciones.

Ejemplo 2 de 2, se abre cuando expliques este

Haz tu predicción

Ahora en la tabla completa. El código cuenta las filas y los valores distintos de viaje_id. Si una fila es un viaje, los dos números deberían ser iguales.

Corre la celda y compara los dos números. Si no coinciden, agrega al final una línea que muestre las filas repetidas: data[data.duplicated(keep=False)]. Ya terminaste cuando veas las filas repetidas y sepas cuántos viajes distintos hay.

Corre la celda y compara los dos números. Si no coinciden, agrega al final una línea que muestre las filas repetidas: data[data.duplicated(keep=False)]. Ya terminaste cuando veas las filas repetidas y sepas cuántos viajes distintos hay.

Ejecuta tu código para ver lo que imprime y el valor de su última expresión. Cada ejecución empieza de nuevo.

Listo para ejecutar tu código.

Ejecuta tu código para ver su salida aquí.

Datos: viajes-rueda, 311 filas

Enter guarda una celda y Escape la deja como estaba. Deja una celda vacía para un valor faltante.

Los datos del ejercicio, "viajes-rueda". Tus cambios corren con tu código.
FilaQuitar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Página 1 de 16

Ejecútalo tú

La tabla tiene 311 filas pero 308 viajes distintos. Tres viajes (el 40327, el 40456 y el 40465) aparecen dos veces, idénticos en todas sus columnas. Si alguien cuenta filas para reportar "viajes del periodo", reporta 311 cuando son 308. Aquí la diferencia es chica; en una tabla con miles de copias no lo sería, y nadie lo notaría mirando el total.

Fíjate en lo que no hiciste: no borraste nada. Todavía no sabes por qué están repetidas. Puede ser un error al exportar, o puede ser que el sistema registre dos veces un viaje que se reinició. Quien conoce el sistema lo sabe; tú todavía no. Por ahora lo que te toca es anotarlo.

Empieza tu bitácora

Un análisis exploratorio deja dos cosas: lo que ya sabes de la tabla y lo que tienes que preguntar. Las dos se pierden si no las escribes. Durante el curso vas a llevar una bitácora: una lista corta de observaciones, cada una con su evidencia y la pregunta que te deja. Puede ser un archivo de texto, una celda de notas en tu notebook o una hoja de papel; en el último módulo la escribes en un archivo de proyecto.

Tu primera entrada podría verse así:

Observación: hay 3 filas repetidas, idénticas en todas las columnas (viajes 40327, 40456 y 40465). Evidencia: 311 filas y 308 valores distintos de viaje_id. Pregunta: ¿el sistema exporta dos veces algunos viajes? Para el reporte, ¿contamos 308?

La pregunta es tan importante como la observación. Una bitácora con puras observaciones es un inventario; con preguntas, es lo que le llevas a tu jefa para decidir con ella qué hacer.

Si tienes en mente una tabla de tu trabajo, cuéntale a tu Maestro qué columnas tiene y pregúntale qué representaría una fila.

Inténtalo con otra tabla

La misma pregunta sirve para cualquier tabla. Prueba con una de ventas.

Comprueba lo que sabes: Una tabla de ventas tiene las columnas ticket_id, producto y cantidad, y el mismo ticket_id aparece en varias filas. ¿Qué representa una fila?