Skip to content
Empieza gratis

¿Por qué pandas confunde el día y el mes? Fechas ambiguas e ISO 8601

El mismo texto puede ser dos fechas. Aprende a saber cuál es y a escribir fechas que nadie lee al revés.

Curso gratis. Tu Maestro, una IA, .

El mismo texto, dos fechas

En México escribimos el día primero: 05/02/2026 es el 5 de febrero. En Estados Unidos se escribe el mes primero, y el mismo texto es el 2 de mayo. El texto no dice cuál de las dos es; lo sabe quien lo escribió.

Un programa que recibe ese texto tiene que elegir. Si no le dices cómo leerlo, elige él. Predice qué elige pandas.

Tres programas cortos. Escribe qué crees que imprime cada uno y por qué, y después córrelo.

Tres programas cortos. Escribe qué crees que imprime cada uno y por qué, y después córrelo.

Dos fechas de febrero, sin formato

Ejemplo 1 de 3

sin_formato.py
import pandas as pd

fechas = pd.Series(["05/02/2026", "06/02/2026"])
print(pd.to_datetime(fechas))

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

Ejemplo 2 de 3, se abre cuando expliques este

Haz tu predicción

Silencio o error

Los dos primeros programas muestran los dos finales posibles de una fecha ambigua:

  • Silencio. Si todos los números caben en el formato que el programa eligió, convierte todo, mal, sin avisar. Un archivo de los primeros doce días de cada mes se convierte entero al revés.
  • Error. Si aparece un número que no cabe, como un 13 donde el programa esperaba un mes, se detiene.

El silencio es el caso peligroso, porque nada te obliga a revisar. Pregúntale a tu Maestro si un archivo tuyo pudo convertirse al revés.

Cómo saber qué formato tiene tu columna

No adivines con una fila. Mira toda la columna y busca un número mayor que 12: un mes nunca pasa de 12, así que donde aparezca ese número está el día.

  1. Revisa todos los valores de la columna

  2. ¿Dónde hay un número mayor que 12?

    • Camino 1 de 3: en el primer número

      1. Día primero

        formato dd/mm/aaaa

      Sigue en: Escribe el formato explícito al convertir

    • Camino 2 de 3: en el segundo

      1. Mes primero

        formato mm/dd/aaaa

      Sigue en: Escribe el formato explícito al convertir

    • Camino 3 de 3: en ninguno

      1. No se puede saber

        pregunta a quien exportó el archivo

      Sigue en: Escribe el formato explícito al convertir

  3. Escribe el formato explícito al convertir

Revisa la columna completa, no una fila.

Inténtalo

El código separa cada fecha de ventas_exportadas en sus tres números y cuenta cuántas filas tienen el primero mayor que 12. Agrega la cuenta del segundo número y decide el formato del archivo.

Una buena respuesta imprime dos cuentas: una mayor que cero y otra en cero. Con eso sabes qué número es el día.

Cuenta cuántas fechas de ventasexportadas tienen el primer número mayor que 12 y cuántas tienen el segundo mayor que 12. ¿Qué formato tiene el archivo?

Cuenta cuántas fechas de ventas_exportadas tienen el primer número mayor que 12 y cuántas tienen el segundo mayor que 12. ¿Qué formato tiene el archivo?

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: ventas-exportadas, 29 filas

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

Los datos del ejercicio, "ventas-exportadas". 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 2

Ejecútalo tú

En el archivo de Café Altura, 13 de las 29 fechas tienen el primer número mayor que 12 y ninguna tiene el segundo. El primer número es el día: el archivo es dd/mm/aaaa, como esperabas de una caja en México. Ahora lo sabes por los datos, no por suposición.

ISO 8601: año, mes, día

La forma de escribir una fecha que nadie lee al revés es la de la norma ISO 8601: 2026-02-05. Año con cuatro dígitos, mes con dos, día con dos, separados por guiones. Tiene dos ventajas:

  • Nadie la lee al revés: el año va primero y no hay convención que ponga el día en medio.
  • Como texto se ordena bien, como viste en el tercer programa.

Python la usa cuando imprime una fecha: date.isoformat() devuelve YYYY-MM-DD. DuckDB muestra las fechas igual, y pandas las escribe así en un CSV. Cuando guardes o compartas fechas, guárdalas así. Si tu equipo usa otro formato y no sabes cómo convencerlos, platícalo con tu Maestro.

Comprueba lo que sabes: Una columna trae 03/04/2026, 15/04/2026, 07/05/2026 y 22/05/2026. ¿Qué formato tiene?

Comprueba lo que sabes: ¿Cuál de estas formas de escribir el 5 de febrero de 2026 nadie lee al revés y además se ordena bien como texto?