Capítulo 1 de 15 9 secciones 12 min

Para qué sirve Python

Qué es, qué resuelve de verdad, qué no hace bien, y cuándo te conviene más quedarte en Excel.

Python es un lenguaje de programación que se lee casi como inglés, y en la práctica lo veo hacer cuatro cosas: analizar datos, automatizar tareas repetidas, construir cosas con inteligencia artificial y levantar webs. Yo lo uso sobre todo para las dos primeras. Y te lo digo de una porque casi nadie lo dice: si tu problema cabe en Excel y no lo repites nunca, quédate en Excel. Python empieza a ganar cuando la tarea se repite o cuando el archivo ya no entra.

Antes de instalar nada, contestemos la pregunta que casi ningún curso contesta 🐣

Y no es "qué es Python". Esa te la sabes más o menos: un lenguaje de programación. La que importa es la otra: ¿para qué me sirve a mí? Porque aprender un lenguaje entero para algo que hacías en veinte minutos con una tabla dinámica no tiene ningún sentido, y nadie te lo va a decir mientras te vende el curso.

Así que contéstate una antes de seguir: ¿qué tarea de tu trabajo repites todas las semanas exactamente igual? Guárdala en la cabeza. Al terminar el capítulo vas a saber si Python es para eso o no 🎯

Qué es, en una frase

Python es un lenguaje que se lee casi como inglés. Y eso no es marketing, míralo:

ventas = [480.37, 154.83, 2480.84]

print(sum(ventas) / len(ventas))
print(max(ventas))
print([v for v in ventas if v > 400])
1038.68
2480.84
[480.37, 2480.84]

La suma dividida entre cuántos hay. El máximo. Y "cada venta de las ventas si la venta pasa de 400" 🙂

No hace falta que entiendas la sintaxis todavía. Lo único que quiero que veas es que se parece a lo que dirías en voz alta, y esa es la razón por la que Python se volvió el lenguaje con el que empieza casi todo el mundo.

Los cuatro trabajos donde de verdad se usa

Para quéQué significa en la práctica¿Lo vemos en este libro?
Analizar datosAbrir archivos, limpiarlos, cruzarlos, resumirlos y graficarlosSí, es de lo que va el libro entero
AutomatizarLo que haces todos los lunes a mano, hecho soloSí, desde el capítulo de archivos
Inteligencia artificialModelos que predicen, y todo lo que hay detrás de un chatbotNo aquí, pero este libro es el paso previo
Webs y sistemasEl programa que está detrás de una páginaNo, es otro camino

Yo me dedico a los dos primeros, y el 90% de lo que hago con Python en consultoría cabe en esa primera fila 💜

Árbol para elegir entre Python y Excel: si no vas a repetir la tarea, Excel, salvo que pase del millón de filas o que te vayan a pedir de dónde sale el número, y entonces Python. Si la vas a repetir, Python directamente.
La primera pregunta decide casi todos los casos, y no es cuál herramienta es más potente: es cuántas veces vas a hacer esto. Si la respuesta es una sola vez, Excel gana y no pasa nada.

Python o Excel, contestado en serio

Esta es la pregunta de verdad, y la respuesta honesta no es "Python siempre". Te doy la que uso yo:

Si...Entonces
Lo haces una vez y no lo vas a repetirExcel. Sin dudarlo
Lo repites cada semana o cada mesPython. Se escribe una vez y corre siempre
El archivo pasa del millón de filasPython. A Excel se le acaba la hoja
Necesitas que alguien más lo revise a ojoExcel. Todo el mundo sabe abrirlo
Tienes que explicar cómo llegaste al númeroPython. El código es la explicación
Hay que juntar seis archivos distintosPython. Y sin volverte loca

Fíjate en el patrón, porque es el que decide casi siempre: Python gana cuando la tarea se repite o cuando hay que poder demostrar de dónde salió el número. Excel gana cuando es rápido, único y para mirar 📊

Y no son enemigos. Yo leo Excel con Python y escribo Excel con Python casi todos los días. Lo vemos en el capítulo 10.

Y Python o R

Los dos sirven para datos y los dos son buenos. La diferencia real: R nació para estadística y ahí sigue siendo precioso, y Python nació para todo lo demás y por eso te deja pasar del análisis a automatizar, a una API o a un modelo sin cambiar de idioma.

Si vas a hacer estadística académica toda tu vida, R. Si quieres trabajar en empresa, Python, y no porque sea mejor: porque es lo que piden 🧭

Lo que Python hace mal

Ningún curso te cuenta esta parte y a mí me parece la más útil:

  • 🐌 Es lento comparado con C o Java. Muchísimo. Lo que pasa es que casi nunca importa, y cuando importa se resuelve con NumPy, que por dentro no es Python. Está medido en el capítulo 11.
  • 📱 No es para apps de celular. Ahí es otro mundo.
  • 📦 Repartir un programa es incómodo. Mandarle un .py a alguien que no tiene Python no funciona igual que mandar un Excel.
  • 🧩 Los entornos se enredan. El famoso "en mi máquina funcionaba" existe, y por eso hay un capítulo entero dedicado a eso, el 8.

Nada de eso es un problema para analizar datos. Pero prefiero que lo sepas por mí y no por un video de alguien diciendo que Python es la solución a todo 🙃

Y si lo escribiste "phyton"

No eres la única, de lejos. Es de las palabras que más se escriben mal en español, junto con "pyton" y "payton", y no pasa absolutamente nada.

Se escribe P-Y-T-H-O-N, y el nombre no viene de la serpiente: viene de Monty Python, el grupo de humor británico que le gustaba a Guido van Rossum, que fue quien lo creó en 1991. Lo de la serpiente vino después, por el logo 🐍

Te lo cuento por dos razones. La primera es que ahora ya no se te va a olvidar cómo se escribe. Y la segunda es más importante: si te da vergüenza googlear algo, googléalo igual. Todo el mundo empezó sin saber, y la gente que aprende rápido es la que pregunta sin pena, no la que ya sabía 💛

Qué vas a poder hacer al terminar este libro

Trece capítulos después vas a poder abrir el archivo sucio que te mandan por correo, limpiarlo, cruzarlo con otro, sacar el resumen que te pidieron, hacer el gráfico y explicar de dónde salió cada número.

Y lo vas a hacer con el mismo archivo de ventas de una distribuidora peruana todo el libro, con la suciedad puesta a propósito, porque es la que te vas a encontrar 🧹

El orden es este y no es casual: primero lo que hay dentro de una variable, después cómo se guardan muchas cosas juntas, después cómo se decide y se repite, después cómo se empaqueta el trabajo, y solo entonces pandas. Todos los cursos empiezan por pandas y por eso mucha gente lo usa sin entender qué está pasando debajo.

Ejercicios

Los ejercicios son la mitad del libro. Intenta antes de abrir.

1. Tu primera línea, y la que importa

Escribe algo que salude y algo que calcule. Que veas que las dos cosas son igual de fáciles.

print('Hola, soy Yera')
print(8 * 34.90 * 1.18)
Hola, soy Yera
329.45599999999996

Ocho unidades a 34,90 con IGV. Ya hiciste una cuenta que en una calculadora habrías tecleado y en Python queda escrita, que es toda la diferencia: mañana la vuelves a correr y ves qué hiciste 🧾

Y sí, mira esa cola de decimales: 329.45599999999996. No es un error tuyo ni de Python, es cómo guardan los decimales todas las computadoras del mundo, y tiene una explicación entera en el capítulo 3. Por ahora quédate con que el dinero se redondea al mostrarlo, nunca al calcularlo 💰

2. Repite una tarea sin repetir el trabajo

Calcula el IGV de cuatro montos, sin escribir la cuenta cuatro veces.

montos = [480.37, 154.83, 2480.84, 524.90]

for m in montos:
    print(m, '->', round(m * 1.18, 2))
480.37 -> 566.84
154.83 -> 182.7
2480.84 -> 2927.39
524.9 -> 619.38

Cuatro montos o cuarenta mil, el código es el mismo 🔁 Eso es lo que quiere decir "automatizar", y ya lo acabas de hacer en el primer capítulo.

3. Cuándo Excel gana

Cuenta cuántas líneas de código necesitas para sumar cuatro números, y compáralo con hacerlo en Excel.

print(sum([480.37, 154.83, 2480.84, 524.90]))
3640.94

Una línea. Y en Excel es escribir =SUMA(A1:A4), que también es una y sin instalar nada 🙂

Para esto Excel gana y punto. Python empieza a ganar en el ejercicio siguiente, cuando ese archivo llega todas las semanas y hay que limpiarlo antes de sumar.

4. Y cuándo gana Python

Los montos llegan con coma decimal, como los exporta medio Perú. Súmalos.

crudos = ['480,37', '154,83', '2480,84', '524,90']

limpios = [float(c.replace(',', '.')) for c in crudos]
print(round(sum(limpios), 2))
3640.94

Ahí está la diferencia 💡 En Excel esto es buscar y reemplazar a mano, y acordarte de hacerlo todas las semanas. Acá se escribe una vez y ya no se te olvida nunca.

Y ese replace de la coma no es un ejemplo inventado: el archivo de este libro trae 612 montos así, y los vas a sufrir en el capítulo 12.

5. Mira qué versión de Python estás usando

Toda ayuda de internet depende de la versión. Pregúntale a Python cuál es.

import sys
import platform

print(sys.version.split()[0])
print(platform.python_implementation())
3.11.15
CPython

La versión y la implementación 🧰 Todo lo de este libro corre de la 3.9 en adelante, así que si la tuya empieza por 3 y el segundo número es 9 o más, vas bien.

Y si alguna vez copias código de internet y no te corre, esta es la primera pregunta: ¿para qué versión estaba escrito? Mucho de lo que circula es de Python 2, que se dejó de mantener en 2020.

6. El error que vas a cometer el primer día

Suma un número y un texto que parece número.

print(8 + '2')
TypeError: unsupported operand type(s) for +: 'int' and 'str'

unsupported operand, o sea "no sé sumar estas dos cosas". Y es de los mensajes más honestos que hay: para Python, 8 y '2' no son la misma clase de cosa, aunque a ti te parezcan lo mismo 😅

Ese error va a ser tu compañero la primera semana, y se arregla convirtiendo. Todo el capítulo 3 va de esto.

7. Decide tú: ¿Python o Excel?

Coge la tarea que guardaste al empezar el capítulo y pásala por las tres preguntas.

preguntas = [
    'la repito cada semana o cada mes',
    'el archivo pasa del millon de filas',
    'me piden explicar de donde sale el numero',
]
for p in preguntas:
    print('-', p)
- la repito cada semana o cada mes
- el archivo pasa del millon de filas
- me piden explicar de donde sale el numero

Con que contestes que sí a una sola, Python te va a devolver el tiempo que inviertas aprendiéndolo. Con las tres que no, quédate en Excel tranquila y vuelve cuando cambie 💛

Y ojo: contestar que no hoy no significa que no para siempre. La mayoría de la gente que conozco llegó a Python el día que una de las tres se volvió que sí.

La función que parecía funcionar

Antes de cerrar, la trampa del capítulo. Es la primera que vas a cometer y la más difícil de ver, porque en la pantalla sale bien 🫥

La trampa

Escribes tu primera función para calcular el IGV. La pruebas, sale el número correcto en la pantalla, y sigues tan contenta.

def con_igv(monto):
    print(round(monto * 1.18, 2))

total = con_igv(100)
# 118.0

print(total)
# None
Qué está mal

El 118 salió en la pantalla y total está vacío 🫥

print y return parecen lo mismo y no lo son. print muestra el número, o sea que se lo enseña a la persona que está mirando. return lo devuelve, o sea que se lo entrega al programa para que siga trabajando con él.

Una función que solo imprime devuelve None, que es la forma que tiene Python de decir "nada". Y como en la pantalla sí ves el 118, no hay ninguna señal de que algo esté mal hasta tres líneas después, cuando intentas sumar ese total con otro y revienta.

La regla que no falla: si el resultado lo va a usar el programa, va return. Si lo va a mirar una persona, va print. Y casi siempre quieres las dos cosas, así que la función devuelve y quien la llama imprime.

Esto es lo primero que reviso cuando alguien me dice "mi función no funciona y no entiendo por qué". Nueve de cada diez veces es esto.

Comprueba que lo tienes

Tu jefe te pide el mismo reporte de ventas todos los lunes. Lo haces en Excel en cuarenta minutos y siempre igual. ¿Te conviene pasarlo a Python?

  • Sí, porque se repite. Se escribe una vez y después son segundos
  • No, cuarenta minutos no es tanto
  • Solo si el archivo pasa del millón de filas
  • Sí, porque Python siempre es mejor que Excel

Lo que te llevas

  • 🐍 Python se lee casi como inglés, y por eso es con el que empieza casi todo el mundo.
  • 🧰 Cuatro trabajos: analizar datos, automatizar, inteligencia artificial y webs. Este libro va de los dos primeros.
  • 📊 Si lo haces una vez y no lo repites, Excel. Si se repite, si no cabe o si hay que explicar de dónde sale el número, Python.
  • 🧭 R es precioso para estadística. Python es lo que piden en empresa.
  • 🐌 Python es lento, no sirve para apps de celular y repartirlo es incómodo. Nada de eso estorba para analizar datos.
  • ✍️ Se escribe P-Y-T-H-O-N, y el nombre viene de Monty Python, no de la serpiente.
  • 🙋 Si te da vergüenza googlear algo, googléalo igual.

Y si de todo el capítulo te llevas una sola frase, que sea esta:

Python no gana por ser más potente. Gana el día que la tarea se repite.

Y si todavía estás decidiendo si este camino es para ti, te dejo lo que hace de verdad una analista de datos en el día a día, sin la versión bonita: ser analista de datos 💛

En el capítulo 2 nos ponemos manos a la obra, y te adelanto que no vamos a instalar nada todavía: se puede escribir Python en el navegador y empezar hoy mismo.

Que tengas lindo día! 🌸

¿Tienes alguna duda o consulta?