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.

Dos fechas de febrero, sin formato

Ejemplo 1 de 3

sin_formato.py
import pandas as pdfechas = pd.Series(["05/02/2026", "06/02/2026"])print(pd.to_datetime(fechas))

Adivinar está bien. Lo que escribas se queda en este navegador y te espera en tu curso.

Ejemplo 2 de 3, se abre cuando expliques este

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 un valor válido mayor que 12 apunta al día. Eso no demuestra que toda la columna use un solo formato: si aparecen mayores que 12 en ambas posiciones, puede haber formatos mezclados o valores inválidos. Sepáralos para revisar y confirma el formato con quien exportó el archivo; no decidas las filas ambiguas por mayoría.

  1. Revisa todos los valores de la columna

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

    • Camino 1 de 3: solo en el primero

      1. Día primero

        formato dd/mm/aaaa

      Sigue en: Escribe el formato explícito al convertir

    • Camino 2 de 3: solo 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

Antes de usar este esquema confirma que hay un solo formato. Mayores que 12 en ambas posiciones: revisa mezcla o valores inválidos.

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.

Tu turno

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?

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

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. Los datos son compatibles con esa lectura, y en esta fixture el origen confirma un formato uniforme. En un archivo nuevo, esa cuenta sola no descarta filas ambiguas mezcladas.

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, 1 de 2: El origen confirma que esta columna usa un único formato y contiene fechas válidas: 03/04/2026, 15/04/2026, 07/05/2026 y 22/05/2026. ¿Qué formato tiene?