Arrays de NumPy y dtypes
Cree ndarrays, comprenda los dtypes y explore las propiedades de los arrays.
Arrays de NumPy y dtypes es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
¿Qué es NumPy?
NumPy proporciona ndarray: un array de tipo fijo y memoria contigua que admite operaciones vectorizadas varios órdenes de magnitud más rápidas que las listas de Python.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr) # [1 2 3 4 5]
print(arr * 2) # [ 2 4 6 8 10] (no Python loop)Creación de arrays
Entre las funciones habituales de creación se encuentran: np.array(), np.zeros(), np.ones(), np.arange() y np.linspace().
import numpy as np
print(np.zeros((2, 3))) # 2x3 array of 0.0
print(np.ones(5)) # [1. 1. 1. 1. 1.]
print(np.arange(0, 10, 2)) # [0 2 4 6 8]
print(np.linspace(0, 1, 5)) # [0. 0.25 0.5 0.75 1. ]dtypes
Cada array de NumPy tiene un único dtype. Algunos dtypes habituales son: int32, int64, float32, float64, bool y complex128.
import numpy as np
a = np.array([1, 2, 3]) # int64 by default
b = np.array([1.0, 2.0]) # float64
c = np.array([1, 2], dtype=np.float32)
print(a.dtype) # int64
print(c.dtype) # float32Forma del array y ndim
shape es una tupla con los tamaños de las dimensiones. ndim es el número de dimensiones. size es el número total de elementos.
import numpy as np
m = np.ones((3, 4))
print(m.shape) # (3, 4)
print(m.ndim) # 2
print(m.size) # 12
print(m.dtype) # float64Cambio de forma
reshape() devuelve una vista con una nueva forma (los mismos datos). flatten() devuelve una copia como array unidimensional.
import numpy as np
arr = np.arange(12)
mat = arr.reshape(3, 4)
print(mat)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(mat.flatten()) # [ 0 1 2 3 ...]Conversión de tipos
Use arr.astype(dtype) para convertir un array a otro tipo. Siempre devuelve una copia.
import numpy as np
arr = np.array([1, 2, 3])
float_arr = arr.astype(np.float64)
print(float_arr) # [1. 2. 3.]
print(float_arr.dtype) # float64Arrays aleatorios
Genere arrays aleatorios con np.random: uniformes, normales o de enteros.
import numpy as np
rng = np.random.default_rng(seed=42) # reproducible
print(rng.random(5)) # 5 uniform [0,1)
print(rng.standard_normal(3)) # 3 normal(0,1)
print(rng.integers(1, 10, 4)) # 4 ints [1,10)Inspección de la memoria de los arrays
itemsize indica los bytes por elemento; nbytes indica el total de bytes.
import numpy as np
arr = np.zeros(1_000_000, dtype=np.float64)
print(arr.itemsize) # 8
print(arr.nbytes) # 8_000_000 (8 MB)
small = arr.astype(np.float32)
print(small.nbytes) # 4_000_000 (4 MB)np.empty y np.full
np.empty reserva memoria sin inicializarla (es rápido). np.full rellena el array con un valor constante.
import numpy as np
e = np.empty((2,3)) # uninitialised — random garbage values
f = np.full((2,3), fill_value=7)
print(f)
# [[7 7 7]
# [7 7 7]]Copia frente a vista
El slicing de un array de NumPy devuelve una vista (sin realizar una copia). Modificar la vista modifica el original. Use .copy() para obtener un array independiente.
import numpy as np
arr = np.array([1, 2, 3, 4])
view = arr[1:3]
view[0] = 99
print(arr) # [ 1 99 3 4] — original changed!
copy = arr[1:3].copy()
copy[0] = 0
print(arr) # unchangedArrays estructurados
Los arrays estructurados almacenan datos heterogéneos (como una estructura de C) en un único ndarray con campos con nombre.
import numpy as np
dt = np.dtype([('name', 'U10'), ('age', np.int32), ('score', np.float64)])
people = np.array([
('Alice', 30, 95.5),
('Bob', 25, 87.3),
], dtype=dt)
print(people['name']) # ['Alice' 'Bob']Comprobación rápida
¿Qué devuelve arr.reshape(3, 4)?
Resumen
El ndarray de NumPy es un array de tipo fijo y memoria contigua. Sus atributos principales son: shape, dtype, ndim y nbytes. El slicing devuelve vistas; use .copy() para obtener independencia. Elija el dtype más pequeño que sea suficiente para ahorrar memoria.
Preguntas frecuentes
¿La lección «Arrays de NumPy y dtypes» es gratis?
Sí — el texto completo de «Arrays de NumPy y dtypes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Arrays de NumPy y dtypes»?
Cree ndarrays, comprenda los dtypes y explore las propiedades de los arrays. Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Arrays de NumPy y dtypes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Arrays de NumPy y dtypes
- Operaciones con arrays y broadcasting
- Indexación, segmentación e indexación avanzada
- Álgebra lineal con NumPy