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 datos | Abrir archivos, limpiarlos, cruzarlos, resumirlos y graficarlos | Sí, es de lo que va el libro entero |
| Automatizar | Lo que haces todos los lunes a mano, hecho solo | Sí, desde el capítulo de archivos |
| Inteligencia artificial | Modelos que predicen, y todo lo que hay detrás de un chatbot | No aquí, pero este libro es el paso previo |
| Webs y sistemas | El programa que está detrás de una página | No, 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 💜
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 repetir | Excel. Sin dudarlo |
| Lo repites cada semana o cada mes | Python. Se escribe una vez y corre siempre |
| El archivo pasa del millón de filas | Python. A Excel se le acaba la hoja |
| Necesitas que alguien más lo revise a ojo | Excel. Todo el mundo sabe abrirlo |
| Tienes que explicar cómo llegaste al número | Python. El código es la explicación |
| Hay que juntar seis archivos distintos | Python. 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
.pya 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! 🌸