Fala, meus consagrados! Beleza?
NumPy (Numerical Python) é uma biblioteca essencial da linguagem Python voltada para a computação científica e manipulação de dados numéricos em arrays multidimensionais.
Ao contrário das listas do Python, que são versáteis mas lentas, o NumPy oferece alta performance para operações vetorizadas, manipulação de grandes matrizes, funções matemáticas complexas e é a base de bibliotecas como Pandas, Scikit-learn, TensorFlow e Matplotlib.
O ndarray (N-dimensional array) é a estrutura de dados central da biblioteca NumPy. Ele representa um array multidimensional de elementos homogêneos, ou seja, todos os elementos do array devem ser do mesmo tipo (inteiros, floats, strings, etc.). Diferentemente das listas do Python, o ndarray permite realizar operações matemáticas vetorizadas de forma eficiente e rápida, utilizando menos memória e com melhor desempenho computacional. Cada ndarray possui atributos importantes, como:
- .ndim (número de dimensões);
- .shape (formato ou tamanho em cada dimensão);
- .size (número total de elementos); e
- .dtype (tipo de dados dos elementos).
Além de ser mais eficiente, o ndarray permite manipulações avançadas como fatiamento, indexação lógica, broadcasting e reestruturação com reshape. Isso torna o NumPy ideal para aplicações em ciência de dados, aprendizado de máquina, bioinformática e processamento de imagens. Por exemplo, enquanto uma lista comum exigiria laços explícitos para somar todos os elementos, um ndarray permite usar array.sum() com apenas uma linha de código. Essa expressividade e poder tornam o ndarray indispensável para quem deseja trabalhar com grandes volumes de dados de forma eficiente em Python.
Exemplo 1:
import numpy
arrei = numpy.array([10, 12, 14])
print(arrei)
print(type(arrei))
print(arrei.dtype)
print(arrei.size)
print(arrei.ndim)
print(arrei.shape)
Resultado da execução:
[10 12 14]
<class ‘numpy.ndarray’>
int64
3
1
(3,)
Exemplo 2:
import numpy as np
lista = [[1, 2, 3, 4], [15, 16, 17, 18]]
arrei = np.array(lista)
print(arrei)
print(type(arrei))
print(arrei.dtype)
print(arrei.size)
print(arrei.ndim)
print(arrei.shape)
Resultado da execução:
[[ 1 2 3 4]
[15 16 17 18]]
<class ‘numpy.ndarray’>
int64
8
2
(2, 4)
O ndarray (N-dimensional array) é a estrutura de dados central da biblioteca NumPy. Ele representa um array multidimensional de elementos homogêneos, ou seja, todos os elementos do array devem ser do mesmo tipo (inteiros, floats, strings, etc.). Diferentemente das listas do Python, o ndarray permite realizar operações matemáticas vetorizadas de forma eficiente e rápida, utilizando menos memória e com melhor desempenho computacional. Cada ndarray possui atributos importantes, como .ndim (número de dimensões), .shape (formato ou tamanho em cada dimensão), .size (número total de elementos) e .dtype (tipo de dados dos elementos).
Além de ser mais eficiente, o ndarray permite manipulações avançadas como fatiamento, indexação lógica, broadcasting e reestruturação com reshape. Isso torna o NumPy ideal para aplicações em ciência de dados, aprendizado de máquina, bioinformática e processamento de imagens. Por exemplo, enquanto uma lista comum exigiria laços explícitos para somar todos os elementos, um ndarray permite usar array.sum() com apenas uma linha de código. Essa expressividade e poder tornam o ndarray indispensável para quem deseja trabalhar com grandes volumes de dados de forma eficiente em Python.
Exemplo 1:
import numpy
arrei = numpy.array([10, 12, 14])
print(arrei[0])
print(arrei[1])
print(arrei[2])
print(arrei[1] + arrei[2])
Resultado da execução:
10
12
14
26
Exemplo 2:
import numpy as np
linguagens = [“Python”, “Java”, “PHP”, “C”]
arrei = np.array(linguagens)
print(arrei[-1])
print(arrei[-2])
print(arrei[-3])
print(arrei[-4])
print(arrei[-1] + arrei[-2])
Resultado da execução:
C
PHP
Java
Python
CPHP
O fatiamento (ou slicing) em arrays NumPy permite extrair subconjuntos dos dados com extrema facilidade e desempenho, utilizando a sintaxe array[início:fim:passo]. Essa estrutura indica o intervalo de índices que será acessado, iniciando em início (inclusivo), parando antes de fim (exclusivo), e avançando de acordo com o passo. Por exemplo, array[0:4:2] acessa os elementos nas posições 0 e 2. Todos os três parâmetros são opcionais: se início for omitido, assume-se o início do array; se fim for omitido, vai até o final; e se passo for omitido, assume-se 1. Isso torna o fatiamento muito flexível e útil para explorar grandes volumes de dados.
Além disso, o NumPy permite o uso de fatiamento negativo, como array[::-1], que inverte a ordem dos elementos, ou array[-1:-4:-1], que percorre de trás para frente. Esse recurso é especialmente útil em tarefas de pré-processamento de dados, como inversão de vetores, separação de colunas, seleção de linhas pares ou ímpares, entre outros. Em arrays multidimensionais, o fatiamento pode ser aplicado em múltiplos eixos simultaneamente, como em array[1:3, ::2], que seleciona linhas e colunas de forma independente. Essa versatilidade do fatiamento é um dos motivos pelos quais o NumPy é amplamente adotado em projetos de ciência de dados, engenharia, estatística e aprendizado de máquina.
Exemplo:
import numpy as np
linguagens = [“Python”, “Java”, “PHP”, “C”]
arrei = np.array(linguagens)
print(arrei[0:3])
print(arrei[:])
print(arrei[:4])
print(arrei[0:])
print(arrei[::-1])
print(arrei[::2])
print(arrei[-1:-4:-1])
print(arrei[-1:-4:-2])
Resultado da execução:
[‘Python’ ‘Java’ ‘PHP’]
[‘Python’ ‘Java’ ‘PHP’ ‘C’]
[‘Python’ ‘Java’ ‘PHP’ ‘C’]
[‘Python’ ‘Java’ ‘PHP’ ‘C’]
[‘C’ ‘PHP’ ‘Java’ ‘Python’]
[‘Python’ ‘PHP’]
[‘C’ ‘PHP’ ‘Java’]
[‘C’ ‘Java’]
Espero que tenham gostado!
Forte abraço e até a próxima jornada!
_________________________
Professor Rogerão Araújo
![[BLACK FRIDAY 2025] Ilimitada Dupla Prorrogado – Cabeçalho](https://blog-static.infra.grancursosonline.com.br/wp-content/uploads/2025/11/27151344/bf25-ai-dupla-prorrogado-cabecalho.webp)
![[BLACK FRIDAY 2025] Ilimitada Dupla Prorrogado – Post](https://blog-static.infra.grancursosonline.com.br/wp-content/uploads/2025/11/27151935/bf25-ai-dupla-prorrogado-post.webp)