Pandas 3.0 salió el 21 de enero de 2026 y, a diferencia de releases anteriores, esta sí rompe código que llevaba años funcionando. Si usas pandas a diario para limpiar y analizar datos, hay patrones comunes que dejan de funcionar como antes, y vale la pena saber cuáles antes de actualizar en producción.
El curso Análisis de Datos con Python enseña pandas desde la lectura de fuentes hasta el manejo de datasets grandes, y justo por eso importa entender qué cambió: si estás aprendiendo ahora, mejor aprender los patrones correctos desde el día uno que desaprender malas costumbres después.
Los 4 cambios que más te van a afectar
- ▸Tipo de dato str dedicado: las columnas de texto ahora infieren a str en vez de object, con mejor rendimiento y menos ambigüedad de tipos
- ▸Copy-on-write por defecto: todas las operaciones de indexado ahora se comportan como copias, lo que rompe la asignación encadenada df[col][row] = valor
- ▸pd.merge() con how="left_anti": ahora puedes pedir directamente las filas de la izquierda que NO tienen match en la derecha, sin el truco de merge + filtro de nulos
- ▸Interfaz Arrow PyCapsule: DataFrame.from_arrow() y Series.from_arrow() permiten pasar datos a otras librerías sin copiarlos en memoria
El que más dolores de cabeza va a causar es el copy-on-write. Si alguna vez escribiste algo como df["columna"][0] = nuevo_valor y te funcionó (aunque pandas ya te advertía con un SettingWithCopyWarning), en 3.0 simplemente deja de modificar el DataFrame original. No es un bug, es el comportamiento nuevo por diseño: todo indexado se trata como una copia, para eliminar justamente esa ambigüedad de "¿esto modifica el original o no?" que llevaba años generando bugs silenciosos.
También llega una sintaxis nueva para .assign(): la expresión pd.col(), que te deja escribir transformaciones encadenadas de forma más clara, sin repetir el nombre del DataFrame en cada paso. Es un cambio menor comparado con el copy-on-write, pero si trabajas con pipelines de transformación largos, vas a notar que el código queda más legible.
Cómo migrar tu código sin que se rompa todo
- ▸Primero actualiza a pandas 2.3 (no saltes directo a 3.0) y corre tu código completo
- ▸Revisa y elimina cada SettingWithCopyWarning que aparezca: esas líneas son justo las que va a romper 3.0
- ▸Reemplaza cualquier asignación encadenada (df[a][b] = x) por .loc[b, a] = x, que sigue funcionando igual
- ▸Recién entonces actualiza a pandas 3.0 y vuelve a correr toda tu suite de pruebas o tus notebooks clave
Si trabajas con notebooks sueltos sin pruebas automatizadas (que es la realidad de la mayoría de analistas, no solo de ingenieros), el truco más simple es correr el notebook completo de principio a fin después de cada actualización y fijarte si los resultados cambian sin que tú hayas tocado nada. Si cambian, ahí está tu asignación encadenada escondida.
Por qué importa si recién estás empezando
Acá hay una ventaja real de aprender pandas recién ahora: no cargas el hábito de la asignación encadenada, que durante años fue "la forma rápida" de modificar un DataFrame y que ahora directamente no funciona. Si aprendes desde el inicio a usar .loc y .iloc en vez de indexar con corchetes dobles, no vas a tener que desaprender nada cuando tu empresa eventualmente actualice a pandas 3.0 o superior.
El módulo de Pandas para Big Data del curso, que trabaja con datasets que no entran cómodos en memoria, también se beneficia directo del Arrow PyCapsule: poder mover datos entre pandas y otras librerías sin duplicarlos en memoria es justo el tipo de optimización que marca la diferencia cuando el dataset pesa varios gigabytes.
¿Esto hace innecesario aprender Polars?
No. Pandas 3.0 cierra parte de la brecha de rendimiento con Polars al adoptar Arrow como base, pero Polars sigue siendo más rápido en operaciones paralelas sobre datasets grandes, y su API lazy evita cálculos innecesarios de una forma que pandas todavía no replica del todo. Lo que sí cambia es que la decisión entre uno y otro ya no es tan tajante como hace un año: para la mayoría de análisis exploratorios y reportes del día a día, pandas 3.0 es suficientemente rápido, y seguirás encontrando pandas en el 90% de los tutoriales, notebooks y entrevistas técnicas del mercado.
Si ya completaste los fundamentos de Python y quieres reforzar la base antes de meterte a pandas en serio, Python para todos cubre justo eso. Y si tu meta final es el rol completo de Analista de Datos, no solo la librería, la ruta Analista de Datos con IA conecta Python con SQL, Power BI y el resto de herramientas del día a día.
Lo honesto es que ninguna de estas features es "nueva" en el sentido de que ya existían como opcionales en versiones 2.x. Lo que hizo pandas 3.0 fue hacerlas obligatorias y por defecto, que es la parte que más sorprende a quien actualiza sin leer el changelog primero.



