Creación y Acceso a un Array Estructurado
Primero, creemos un array estructurado simple. El tipo de datos (dtype) de un array estructurado se define como una lista de tuplas. Cada tupla especifica un campo con su (nombre, tipo_de_dato). Esto nos permite almacenar diferentes tipos de datos, como cadenas de texto y enteros, en el mismo array.
Abra el archivo structured_arrays.py desde el explorador de archivos en el panel izquierdo. Agregue el siguiente código para crear un array estructurado que represente una lista de personas con sus nombres y edades.
## Create a structured array
data = np.array([('Alice', 25, 55.5), ('Bob', 30, 68.0)],
dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')])
print("Original Array:")
print(data)
## Access a specific field by its name
names = data['name']
print("\nNames field:")
print(names)
Explicación del Código:
import numpy as np: Esta línea importa la biblioteca NumPy.
np.array([...], dtype=[...]): Creamos un array. El primer argumento es una lista de tuplas, donde cada tupla ('Alice', 25, 55.5) representa una fila de datos.
dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')]: Esta es la parte crucial. Definimos tres campos:
'name': Una cadena de texto Unicode con una longitud máxima de 10 caracteres (U10).
'age': Un entero de 4 bytes (32 bits) (i4).
'weight': Un número flotante de 4 bytes (32 bits) (f4).
data['name']: Podemos acceder a todos los valores de un campo (columna) específico utilizando su nombre como índice, lo que devuelve un nuevo array de NumPy.
Ahora, guarde el archivo y ejecútelo desde la terminal para ver la salida.
python structured_arrays.py
Debería ver la siguiente salida, que muestra el array estructurado completo y el array que contiene solo los nombres.
Original Array:
[('Alice', 25, 55.5) ('Bob', 30, 68. )]
Names field:
['Alice' 'Bob']