Criando e Acessando um Array Estruturado
Primeiro, vamos criar um array estruturado simples. O tipo de dados (dtype) de um array estruturado é definido como uma lista de tuplas. Cada tupla especifica um campo com seu (nome, tipo_de_dados). Isso nos permite armazenar diferentes tipos de dados, como strings e inteiros, no mesmo array.
Abra o arquivo structured_arrays.py no explorador de arquivos no painel esquerdo. Adicione o seguinte código para criar um array estruturado representando uma lista de pessoas com seus nomes e idades.
## 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)
Explicação do Código:
import numpy as np: Esta linha importa a biblioteca NumPy.
np.array([...], dtype=[...]): Criamos um array. O primeiro argumento é uma lista de tuplas, onde cada tupla ('Alice', 25, 55.5) representa uma linha de dados.
dtype=[('name', 'U10'), ('age', 'i4'), ('weight', 'f4')]: Esta é a parte crucial. Definimos três campos:
'name': Uma string Unicode com um comprimento máximo de 10 caracteres (U10).
'age': Um inteiro de 4 bytes (32 bits) (i4).
'weight': Um float de 4 bytes (32 bits) (f4).
data['name']: Podemos acessar todos os valores de um campo específico (coluna) usando seu nome como índice, o que retorna um novo array NumPy.
Agora, salve o arquivo e execute-o no terminal para ver a saída.
python structured_arrays.py
Você deverá ver a seguinte saída, que mostra o array estruturado completo e o array contendo apenas os nomes.
Original Array:
[('Alice', 25, 55.5) ('Bob', 30, 68. )]
Names field:
['Alice' 'Bob']