Arrays NumPy e dtypes
Crie ndarrays, entenda dtypes e explore as propriedades dos arrays.
Arrays NumPy e dtypes é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.
O que é NumPy?
O NumPy fornece o ndarray — um array de tipo fixo e memória contígua que oferece operações vetorizadas muitas ordens de grandeza mais rápidas do que as listas do 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)Criando arrays
Funções comuns de criação: np.array(), np.zeros(), np.ones(), np.arange(), 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. ]Tipos de dados
Todo array do NumPy tem um único dtype. Tipos de dados comuns: int32, int64, float32, float64, bool, 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 do array e ndim
shape é uma tupla com os tamanhos das dimensões. ndim é o número de dimensões. size é a quantidade 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) # float64Redimensionando
reshape() retorna uma visualização com uma nova forma (os mesmos dados). flatten() retorna uma cópia como um 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 ...]Conversão de tipos
Use arr.astype(dtype) para converter um array para outro tipo. Isso sempre retorna uma cópia.
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 aleatórios
Gere arrays aleatórios com np.random: distribuições uniforme e normal, além de inteiros.
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)Inspecionando a memória do array
itemsize fornece os bytes por elemento; nbytes fornece o 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 e np.full
np.empty aloca memória sem inicializá-la (é rápido). np.full preenche o array com um 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]]Cópia versus visualização
Fatiar um array do NumPy retorna uma visualização (sem cópia). Modificar a visualização modifica o original. Use .copy() para obter um array independente.
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 estruturados
Arrays estruturados armazenam dados heterogêneos (como uma struct de C) em um único ndarray com campos nomeados.
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']Verificação rápida
O que arr.reshape(3, 4) retorna?
Recapitulação
O ndarray do NumPy é um array de tipo fixo e memória contígua. Atributos principais: shape, dtype, ndim, nbytes. O fatiamento retorna visualizações; use .copy() para obter independência. Escolha o menor dtype suficiente para economizar memória.
Perguntas Frequentes
A aula “Arrays NumPy e dtypes” é grátis?
Sim — o texto completo de “Arrays NumPy e dtypes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.
O que vou aprender em “Arrays NumPy e dtypes”?
Crie ndarrays, entenda dtypes e explore as propriedades dos arrays. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Python Academy?
Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Arrays NumPy e dtypes”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Python Academy?
Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Arrays NumPy e dtypes
- Operações com arrays e broadcasting
- Indexação, fatiamento e indexação avançada
- Álgebra linear com NumPy