¿Qué significa una celda vacía? Cero, "no se sabe" o "no aplica"
Distingue los tres significados de una celda vacía, mira cómo cambia un promedio según cuál elijas, y pregúntale a quien conoce los datos.
Curso gratis. Tu Maestro, una IA, .
En el inventario salieron 44 huecos en descuento, uno en kilos y uno en monto. En el padrón de socios de la cooperativa hay 5 huecos en hectareas y 6 en telefono. Todos se ven igual: una celda vacía, NaN en pandas, NULL en SQL. Pero no quieren decir lo mismo, y lo que hagas con ellos cambia los números que vas a reportar.
Mira primero lo que le pasa a un promedio. Son las hectáreas de cinco socios; dos están vacías.
El promedio con huecos
Ejemplo 1 de 2
import pandas as pd
hectareas = pd.Series([2.0, None, 4.0, None, 3.0])
print(hectareas.mean())
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
Tres significados, tres tratamientos
Un hueco quiere decir una de tres cosas, y cada una se trata distinto:
| Lo que quiere decir | Ejemplo en la cooperativa | Qué haces |
|---|---|---|
| Cero | descuento vacío: esa venta no tuvo descuento | Lo llenas con 0 y lo anotas en la bitácora |
| No se sabe | hectareas de un productor que nunca la dio; el monto de la venta V-0036 | Lo dejas vacío y lo dices en el reporte: "de 2 productores no tenemos el dato" |
| No aplica | hectareas de quien trabaja en la bodega (rol acopio): no tiene parcela | Lo dejas vacío y lo separas: el promedio de parcelas es solo de productores |
La tabla no te dice cuál es cuál. Las tres celdas se ven idénticas. Lo que distingue un "cero" de un "no se sabe" es cómo se capturó la hoja, y eso lo sabe quien la captura o quien la usa todos los días.
Hay un cuarto caso que no es un significado sino un disfraz: la celda que dice "N/A", "-" o solo un espacio. Si pandas la contó como hueco (el "N/A" sí), cae en esta tabla. Si la dejó como texto (el guion, el espacio), la encuentras con value_counts, como en la página anterior, y después decides igual que con cualquier hueco: ¿cero, no se sabe o no aplica?
Una celda vacía
NaN en pandas, NULL en SQL
¿Qué quiere decir?
pregúntale a quien captura
Camino 1 de 3: cero
Llénala con 0
y anótalo en la bitácora
Aquí termina.
Camino 2 de 3: no se sabe
Déjala vacía
y di cuántas faltan en el reporte
Aquí termina.
Camino 3 de 3: no aplica
Sepárala del cálculo
por ejemplo, filtra por rol
Aquí termina.
Pregunta, y pregunta todo junto
La persona que conoce los datos casi nunca es quien los limpia. En la cooperativa es Marisol. Un buen mensaje le ahorra tiempo a ella y a ti: dice qué encontraste, cuántos casos son, qué crees que quiere decir y qué vas a hacer mientras contesta. Algo así:
Hola, Marisol. Estoy limpiando la hoja de ventas de marzo y tengo tres dudas antes de hacer el reporte:
1. En 44 de 60 ventas el descuento está vacío. ¿Quiere decir que no hubo descuento (0)?
2. La venta V-0036 no tiene monto. ¿Se cobró? ¿Sabes de cuánto fue?
3. A la venta V-0012 le faltan los kilos. ¿Los tienes en otro lado?
Mientras me contestas, dejo esos huecos como están y los marco en el reporte.En la historia del curso, Marisol contesta: el descuento vacío es 0 (nadie escribe "0" cuando no hay descuento); la venta V-0036 está pendiente de factura y todavía no tiene monto; los kilos de V-0012 nadie los tiene. Así que el descuento se llena con 0, y los otros dos huecos se quedan vacíos y se reportan.
¿Tienes un hueco en tus datos y no sabes a quién preguntarle? Cuéntale a tu Maestro de dónde sale la tabla.
Consejo: Cuando nadie te puede contestar
No adivines. Deja el hueco y di cuántos hay: "promedio de 25 productores; de 2 no tenemos el dato" se defiende frente a cualquiera; un cero inventado no.
Inténtalo
Ahora con el padrón de socios completo, 30 renglones. Tres socios trabajan en la bodega (rol acopio) y no tienen parcela. Cuenta cuántos huecos de hectáreas hay en cada rol y calcula el promedio de hectáreas solo de los productores, sin llenar ningún hueco. Si no sabes cómo separar los huecos por rol, pídele una pista a tu Maestro.
Imprime cuántos huecos de hectareas hay por rol, y luego el promedio de hectáreas de los productores, sin llenar ningún hueco. Terminaste cuando ves 3 huecos en acopio (no aplica), 2 en productor (no se sabe) y un promedio de productores. ¿Te parece mucho? Guarda el número: en el
Imprime cuántos huecos de hectareas hay por rol, y luego el promedio de hectáreas de los productores, sin llenar ningún hueco. Terminaste cuando ves 3 huecos en acopio (no aplica), 2 en productor (no se sabe) y un promedio de productores. ¿Te parece mucho? Guarda el número: en el módulo 2 vas a ver de dónde sale.
Ejecuta tu código para ver lo que imprime y el valor de su última expresión. Cada ejecución empieza de nuevo. Ctrl+Enter ejecuta tu código. Tab agrega sangría; para salir del editor, presiona Escape y luego Tab.
Listo para ejecutar tu código.
Ejecuta tu código para ver su salida aquí.
Datos: socios-cooperativa, 30 filas
Enter guarda una celda y Escape la deja como estaba. Deja una celda vacía para un valor faltante.
| Fila | Quitar | ||||||
|---|---|---|---|---|---|---|---|
| 1 | |||||||
| 2 | |||||||
| 3 | |||||||
| 4 | |||||||
| 5 | |||||||
| 6 | |||||||
| 7 | |||||||
| 8 | |||||||
| 9 | |||||||
| 10 | |||||||
| 11 | |||||||
| 12 | |||||||
| 13 | |||||||
| 14 | |||||||
| 15 | |||||||
| 16 | |||||||
| 17 | |||||||
| 18 | |||||||
| 19 | |||||||
| 20 |
El promedio que te salió no incluye a los de acopio (no aplica) y se salta a los 2 productores sin dato (no se sabe). Es el promedio correcto para esta pregunta, aunque todavía esconde otro problema que vas a encontrar en la página de valores imposibles.