NumPy Tutorials

NumPy Ndarray: Um Guia Completo

Spread the love

NumPy é a pedra angular da computação científica em Python, e seu poder reside em grande parte em seu objeto de array N-dimensional, o ndarray. Dominar ndarrays é essencial para o uso eficaz do NumPy. Este tutorial fornece uma introdução abrangente aos ndarrays, cobrindo sua criação, atributos e operações fundamentais.

Sumário

Definição de Ndarray

Um NumPy ndarray (array N-dimensional) é um contêiner multidimensional homogêneo que contém elementos do mesmo tipo e tamanho. Considere-o uma versão altamente otimizada e sofisticada de uma lista Python, capaz de lidar com dados em várias dimensões (1D, 2D, 3D e superiores). Ao contrário das listas Python, que podem conter elementos de tipos de dados variados, os ndarrays impõem homogeneidade de tipo, resultando em ganhos de desempenho substanciais. Essa homogeneidade permite operações vetorizadas — aplicando operações a todo o array simultaneamente em vez de elemento por elemento, melhorando drasticamente a velocidade.

Características principais do ndarray:

  • Homogêneo: Todos os elementos compartilham o mesmo tipo de dados.
  • Multidimensional: Representa dados em várias dimensões (vetores 1D, matrizes 2D, tensores 3D, etc.).
  • Tamanho fixo: O tamanho do array é fixado na criação e o redimensionamento geralmente envolve a criação de um novo array.
  • Operações vetorizadas: Suporta operações eficientes elemento a elemento e em nível de array.
  • Eficiência de memória: Armazena dados em blocos de memória contíguos, melhorando o desempenho.

Criação de Ndarray

Criar ndarrays é simples usando as funções do NumPy:


import numpy as np

# A partir de uma lista
arr_1d = np.array([1, 2, 3, 4, 5])
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Usando funções especializadas
arr_zeros = np.zeros((2, 3))  # Array de zeros
arr_ones = np.ones((3, 2))   # Array de uns
arr_arange = np.arange(10)    # Sequência de números
arr_linspace = np.linspace(0, 1, 5) # Números igualmente espaçados
arr_random = np.random.rand(2, 2) # Números aleatórios

print(arr_1d)
print(arr_2d)
print(arr_zeros)
print(arr_ones)
print(arr_arange)
print(arr_linspace)
print(arr_random)

Atributos de Ndarray

Os objetos Ndarray oferecem vários atributos cruciais que fornecem informações sobre sua forma, tipo de dados, tamanho e muito mais. Entender esses atributos é fundamental para a manipulação eficaz de ndarrays.

  • ndim: O número de dimensões do array (eixos).
  • shape: Uma tupla indicando o tamanho do array ao longo de cada dimensão (por exemplo, (3, 4) para uma matriz 3×4).
  • size: O número total de elementos.
  • dtype: O tipo de dados dos elementos (por exemplo, int32, float64, bool).
  • itemsize: O tamanho (em bytes) de cada elemento.
  • nbytes: O tamanho total (em bytes) do array (itemsize * size).

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

print("Número de dimensões:", arr.ndim)
print("Forma:", arr.shape)
print("Tamanho:", arr.size)
print("Tipo de dados:", arr.dtype)
print("Tamanho do item:", arr.itemsize)
print("Bytes totais:", arr.nbytes)

Operações Básicas de Ndarray

NumPy fornece operações eficientes elemento a elemento e em nível de array. Operações aritméticas simples (+, -, *, /, //, %, **) são vetorizadas:


import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

print("Adição:", arr1 + arr2)
print("Subtração:", arr1 - arr2)
print("Multiplicação:", arr1 * arr2)
print("Divisão:", arr1 / arr2)

Operações mais avançadas (como multiplicação de matrizes, produto escalar, etc.) também estão prontamente disponíveis.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *