Pensamiento Computacional (090) · Unidad 6 — Bibliotecas de Python
Bibliotecas y NumPy
Una biblioteca es código que ya está hecho. NumPy trae arrays, que se parecen a las listas pero operan sobre todos los elementos a la vez.
La explicación
Importar
import numpy as np → np.array(...)
from numpy import array → array(...)
La segunda forma es la convención universal. np para NumPy y pd para
Pandas se escriben así en todos lados; conviene respetarlo para que tu código se lea como el de
todo el mundo.
Arrays: parecen listas, pero no lo son
a = np.array([1, 2, 3])
Se indexa y se recorre igual. La diferencia está en las operaciones:
[1,2,3] * 2 → [1,2,3,1,2,3] repite la lista
[1,2] + [3,4] → [1,2,3,4] pega una atrás de otra
+ y el mismo
* hacen cosas distintas según qué tengas. Un programa que "da cualquier cosa" con
números suele ser una lista donde había que usar un array, o al revés.
Operar sin ciclo
Con listas, duplicar cada elemento pide un for. Con arrays no:
dobles = []
for n in numeros:
dobles.append(n * 2)
# array
dobles = numeros * 2
Eso se llama vectorizar, y además de ser más corto es muchísimo más rápido cuando hay muchos datos, porque la cuenta se hace por fuera de Python.
Funciones útiles
np.arange(0, 10, 2) como range, pero array
np.zeros(5) cinco ceros
Tenés las temperaturas de la semana en grados Celsius y las querés en Fahrenheit. ¿Cuál es la diferencia entre hacerlo con lista y con array?
La fórmula es F = C × 9/5 + 32.
Con lista, hace falta un ciclo:
fahrenheit = []
for c in celsius:
fahrenheit.append(c * 9/5 + 32)
Con array, es una línea:
celsius = np.array([20, 25, 18])
fahrenheit = celsius * 9/5 + 32
Las dos dan [68, 77, 64.4].
celsius * 9/5 multiplica cada
temperatura, y + 32 le suma 32 a cada resultado. Si celsius
fuera una lista común, esa misma línea daría cualquier cosa: lista * 9 repetiría la
lista nueve veces y después /5 tiraría TypeError.
Cuándo usar cada una. Para pocos datos y cosas variadas, lista. Para muchos números sobre los que hacés cuentas, array. La unidad 6 entera va en esa dirección: herramientas para cuando los datos son muchos.
Control: 20 °C tienen que dar 68 °F, que es el dato que todos conocen. Si te da otra cosa, revisá el orden de las operaciones.
Dónde se cae la mayoría
- Esperar que lista * 2 duplique los valores. Repite la lista; sólo un array multiplica elemento a elemento.
- Olvidar el import, o escribir numpy.array cuando se importó como np.
- Sumar dos listas creyendo que suma posición a posición. Las concatena.
Hasta acá la explicación. La práctica es la otra mitad: 7 ejercicios de este tema, en cuatro niveles, que no te dicen sólo si está bien al final sino que te corrigen en cada paso y te explican por qué. Además trae una animación que muestra la idea en movimiento.
Practicar Bibliotecas y NumPy →