0Pricing
Python Academy · Lección

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)  # float32

Forma 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)   # float64

Cambio 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)   # float64

Arrays 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)    # unchanged

Arrays 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

  1. Arrays de NumPy y dtypes
  2. Operaciones con arrays y broadcasting
  3. Indexación, segmentación e indexación avanzada
  4. Álgebra lineal con NumPy
← Volver a Python Academy