0Pricing
Python Academy · Aula

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

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

Redimensionando

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

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

Arrays 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

  1. Arrays NumPy e dtypes
  2. Operações com arrays e broadcasting
  3. Indexação, fatiamento e indexação avançada
  4. Álgebra linear com NumPy
← Voltar para Python Academy