Biblioteca NumPy: o que Ă©, vantagens e como usar
Se você já trabalha com Python, provavelmente já ouviu falar da biblioteca NumPy.
Mas vocĂŞ sabe realmente para que serve a biblioteca NumPy e como ela pode transformar a forma como lida com grandes volumes de dados?
Essa biblioteca é essencial para quem busca otimizar o processamento de dados e trabalhar de forma mais eficiente, especialmente em áreas como ciência de dados.
Usar NumPy corretamente pode acelerar seus projetos e evitar problemas de desempenho com grandes quantidades de dados.
Nesta aula, eu vou te mostrar como essa poderosa ferramenta pode fazer a diferença no seu dia a dia, e você vai aprender tudo, desde a criação de arrays até operações mais avançadas.
Instalada com pip install numpy, a biblioteca NumPy cria arrays multidimensionais (ndarrays) que ocupam menos memória e processam cálculos muito mais rápido que as listas comuns do Python, graças às operações vetorizadas. Importe com import numpy as np e use np.array() para criar seu primeiro array.
Vamos lá?
O que vocĂŞ vai ver hoje?
O que Ă© o NumPy e para que serve?
O NumPy Ă© uma biblioteca do ecossistema Python focada em operações numĂ©ricas e computação cientĂfica.Â
Ela permite a criação e manipulação de arrays multidimensionais, oferecendo uma performance superior em relação às listas nativas do Python.
Isso ocorre porque o NumPy utiliza memória de maneira mais eficiente e executa operações matemáticas de forma mais rápida.
NĂŁo Ă toa, ela Ă© amplamente usada em áreas como análise de dados, estatĂsticas e machine learning, sendo compatĂvel com outras bibliotecas como Pandas e Matplotlib.
Em resumo, a biblioteca NumPy serve para otimizar cálculos e processamento de grandes volumes de dados, facilitando a vida de quem lida com ciĂŞncia de dados e programação cientĂfica.
Como funciona a Biblioteca NumPy?
A biblioteca NumPy funciona ao fornecer uma estrutura eficiente para trabalhar com arrays multidimensionais, chamados de ndarrays.
Esses arrays são mais rápidos e consomem menos memória do que as listas tradicionais do Python, permitindo o processamento de grandes volumes de dados de forma otimizada.
Utilizando operações vetorizadas, o NumPy realiza cálculos em blocos de dados simultaneamente, dispensando loops explĂcitos.
A biblioteca tambĂ©m oferece diversas funções matemáticas, lĂłgicas e estatĂsticas, que simplificam a execução de tarefas complexas.
E como já pontuei, a possibilidade de integração com outras ferramentas, como Pandas e Matplotlib, amplia suas capacidades, tornando-a uma solução flexĂvel e poderosa para quem trabalha com ciĂŞncia de dados.
Agora que você já sabe o que é a biblioteca Numpy em Python e para que serve, vou te contar melhor as vantagens da ferramenta.
Quais sĂŁo as vantagens de usar o NumPy em Python?
Usar o NumPy em Python oferece uma série de vantagens, especialmente para quem lida com grandes volumes de dados ou realiza cálculos complexos.
A biblioteca foi projetada para otimizar operações numéricas, proporcionando um desempenho significativamente melhor em comparação com as listas tradicionais do Python.
As principais vantagens incluem:
- Integração: Ă© altamente compatĂvel com outras bibliotecas de ciĂŞncia de dados, como Pandas e Matplotlib.
- Funcionalidade: o NumPy inclui uma vasta gama de funções matemáticas e estatĂsticas que facilitam cálculos complexos;
Eficiência de memória: Arrays multidimensionais consomem menos memória do que listas, o que é crucial em grandes projetos de dados; - Desempenho superior: operações em arrays do NumPy são mais rápidas devido ao uso de processamento vetorizado e memória otimizada.
Se vocĂŞ precisa de desempenho e eficiĂŞncia, certamente deve utilizar a biblioteca NumPy.
Quais são as estruturas básicas da Biblioteca NumPy?
O NumPy oferece duas principais estruturas de dados que são fundamentais para a manipulação de dados numéricos:
- ndarray (Array N-dimensional): esta é a estrutura central do NumPy. É uma matriz multidimensional que permite armazenar e manipular grandes volumes de dados de forma eficiente. O ndarray é mais rápido e usa menos memória do que as listas padrão do Python.
- Matriz: embora similar ao ndarray, a matriz no NumPy é uma versão especializada que se comporta como uma matriz matemática, sendo muito utilizada para álgebra linear.
Além dessas, o NumPy também oferece uma série de funções para transformar, manipular e realizar operações sobre essas estruturas, como a criação de arrays, concatenar, dividir e realizar operações matemáticas em massa, permitindo grande flexibilidade no tratamento de dados.
Vamos falar disso a partir de agora.
Como usar a Biblioteca NumPy no Python?
Como acabamos de ver, a biblioteca Numpy Ă© muito utilizada quando falamos de um grande volume de dados.
Afinal, ela possui um tempo de processamento de dados maior, e você já sabe: quando temos mais dados, o que queremos é exatamente uma quantidade maior de processamento!
EntĂŁo ela vai ser bem Ăştil quando estivermos falando de modelagem de dados muito grandes, pandas, inteligĂŞncia artificial.
Se você tem interesse nessa área, essa biblioteca será muito útil pra você. Mas mesmo que não tenha interesse, a ferramenta pode te ajudar a melhorar o tempo de processamento dos seus códigos.
O primeiro passo é instalar a biblioteca; para isso basta ir até o anaconda prompt (caso você tenha o Jupyter instalado) e digitar pip install numpy.
Feito isso podemos iniciar o cĂłdigo importado a biblioteca com o comando import numpy as np.
Agora já podemos começar, e para entender o que é biblioteca NumPy e para que serve, você deve saber melhor os tipos de Array.
Caso prefira esse conteĂşdo no formato de videoaula, assista ao vĂdeo abaixo ou acesse o nosso canal do YouTube!
O que vocĂŞ aprende neste vĂdeo
Resposta rápida: O NumPy troca a lista comum pelo array, que aceita um tipo de dado só e por isso processa muito mais rápido. Dá para criar por valores, por formato, com zeros ou uns, ou por sequência, consultar formato e dimensões, acrescentar eixo e filtrar por condição. A aula termina medindo: a mesma multiplicação leva segundos em lista e centésimos em array.
Neste vĂdeo (62 min):
- 1:00 - Para que a biblioteca serve e onde ela aparece: dados grandes, ciĂŞncia de dados e IA.
- 3:00 - Instalar pelo gerenciador de pacotes, uma vez só na máquina.
- 5:00 - Importar com o apelido curto, que é convenção e aparece em todo código.
- 6:40 - O conceito de array e o nome que ele recebe dentro da biblioteca.
- 8:00 - Os nomes por número de dimensões: vetor, matriz e tensor.
- 10:00 - Criar o primeiro array, e provar pelo tipo que ele nĂŁo Ă© uma lista.
- 12:00 - Criar um array com mais de uma dimensĂŁo.
- 13:00 - Outras formas de criar: sĂł com zeros, sĂł com uns, e vazio.
- 14:00 - O argumento de formato, e o que cada nĂşmero dele significa.
- 18:00 - Criar uma sequĂŞncia definindo inĂcio, fim e passo.
- 27:00 - Consultar o formato, o total de dados e o número de dimensões.
- 32:00 - Acrescentar um eixo novo, e como a posição dele muda a orientação.
- 40:00 - Filtrar por condição, trazendo apenas os valores que interessam.
- 53:00 - A prova de velocidade: a mesma operação feita em lista e em array.
Trechos do vĂdeo:
- O array só aceita um tipo de dado. Ao inserir um texto no meio de números, todos os valores viram texto, e é justamente essa uniformidade que torna o processamento mais rápido.
- Na medição feita na aula, multiplicar duas sequências grandes levou cerca de três segundos e meio com listas e quatro centésimos de segundo com arrays.
Para receber a planilha que usamos na aula no seu e-mail, preencha:
Tipos de Array
Antes de dar inĂcio ao cĂłdigo Ă© importante que vocĂŞ saiba o que Ă© um Array: um conjunto de dados que pode estar disposto em diferentes dimensões.
Temos alguns tipos de array nessas diferentes dimensões e você já deve ter ouvido falar de pelo menos um deles.
- 1D array – Possui apenas uma dimensão. Será comumente chamado de vetor ou vector;
- 2D array – Possui 2 dimensões. Será comumente chamado de matriz ou matrix;
- 3D ou Mais array – Possui 3 ou mais dimensões. Será comumente chamado de tensor.
Criar uma Array
Agora eu vou te mostrar como criar um Array no Python (como criar um vetor no Python).
a = np.array([1,2,3,4,5,6])
print(a)
print(type(a))Aqui vamos utilizar o np.array para criar um conjunto de dados de uma dimensão e atribuir esse conjunto a uma variável.
OBS: Lembrando que deixamos todos os links das documentações no arquivo para que você possa acessar sempre que precisar para tirar suas dúvidas e fazer suas consultas.
Como os conjuntos de informações iguais a 0 ou iguais 1 sĂŁo muito utilizados nesses processos, temos tambĂ©m alguns cĂłdigos especĂficos para essa criação.
zero_array = np.zeros(shape = (5,3,6))
print(zero_array)
Nesse caso, por exemplo, estamos utilizando o np.zeros para criar um conjunto com zeros (pode-se utilizar o np.ones para criar um conjunto com 1).
A diferença é que agora estamos adicionando o shape. Mas o que é isso?
Na verdade, é uma forma de informar ao Python as dimensões do nosso array. Então é como se fossem 5 matrizes de 3 linhas e 6 colunas.
Para que você visualize melhor isso, imagine que você tenha um objeto em 3 dimensões, com altura, largura e profundidade.
Para facilitar, pense em um cubo mágico, e cada quadradinho desse cubo é uma informação. Então você tem um bloco de informações.

Representação de Arrays em 3 dimensões. Fonte da imagem (modificada).
Essa imagem é perfeita para te mostrar como ficam as 3 dimensões.
Nessa parte de imagens você verá muito isso. Uma imagem colorida é composta de 3 dimensões de matrizes, cada uma com as cores Vermelho, Verde e Azul, que são as cores conhecidas como RGB.
Criando uma sequĂŞncia de nĂşmeros
# Dá uma sequência de números:
zero_dez = np.arange(10)
print(zero_dez)
pula_dois = np.arange(3,15,2)
print(pula_dois)
Para o np.arange, nĂłs conseguimos criar conjunto de dados em sequĂŞncia sem que vocĂŞ perca tempo tendo que escrever esse conjunto.
Então, podemos informar a quantidade de dados que teremos e será feita uma sequência de 0 até aquele valor (como no primeiro exemplo de 0 a 9, totalizando 10 elementos).
No segundo exemplo, temos a informação que queremos do número 3 ao 15, aumentando de 2 em 2.
Essas sĂŁo formas mais rápidas para construir um array sem que vocĂŞ tenha que escrever tudo de forma manual, o que seria horrĂvel para conjuntos de dados muito grandes.
Criando uma sequĂŞncia linear
array_linear = np.linspace(0, 100 , num = 20, endpoint = False, retstep = True)
print(array_linear)
O np.linspace permite que você crie uma sequência linear de valores espaçados igualmente entre si.
Aqui, queremos uma sequência de 0 a 100 com 20 elementos. Então o próprio código fará esse espaçamento igual e te dará todos os elementos desse conjunto de dados.
Nesse caso nĂłs temos o endpoint = False, e isso significa que nĂŁo vamos considerar o valor 100.
Ele não precisa aparecer dentro do nosso conjunto, então o espaçamento linear seria de 5 em 5; caso contrário, você pode fazer um teste para ver como ficaria esse conjunto se considerar o ponto final!
Outro ponto bem importante é o retstep = True, que é esse número mostrado após o nosso conjunto de dados. Ele nada mais é do que o espaçamento que foi dado entre cada um dos números.
No exemplo, Ă© de 5 em 5 (e facilmente vocĂŞ percebe isso), mas, em alguns casos, basta utilizar esse recurso para nĂŁo ter que fazer conta, ok?
Descobrindo o tamanho de um Array
zero_array = np.zeros(shape = (5,3,6))
print(zero_array)
print(zero_array.shape)
print(zero_array.size)
print(zero_array.ndim)
Para essa próxima etapa, temos alguns comandos para descobrir as informações de um array além do print. Afinal, podemos ter um conjunto de dados muito grande e pode não ser muito útil utilizar o print.
Temos então o shape, size e ndim, que informarão o formato, o tamanho e o número de dimensões dos conjuntos de dados.
Concatenar Arrays
Outro ponto bem interessante para abordar em arrays Ă© a parte de concatenar, pois podemos juntar dois arrays em um sĂł.
a = np.array([1,2,3])
b = np.array([4,5,6])
c = np.concatenate((a,b))
d = np.concatenate((b,a))
print(c)
print(d)
Às vezes, é necessário juntar as informações para construir outro array. dependendo do que está trabalhando.
EntĂŁo Ă© importante saber nĂŁo sĂł como construir eles, mas como trabalhar com eles dentro do Python.
Consultar itens de um Arrays
a = np.array([[1,2,3,4], [5,6,7,8],[9,10,11,12]])
print(a)
print('------------')
print(a[a<8])
Se você quer mais ferramentas úteis para trabalhar com esses arrays tranquilamente na biblioteca NumPy, vamos entender como consultar informações dentro de um conjunto de dados.
Aqui, estamos verificando quais os valores dentro do nosso conjunto de dados que sĂŁo menores do que 8.
Fazer operações com Arrays
a = np.array([1,2,3])
print(a.max())
print(a.min())
print(a.mean())
print(a.sum())
Como qualquer tratamento ou análise de dados, é necessário fazer algumas operações e com arrays não seria diferente.
Acima, mostrei algumas das principais operações que podemos fazer com os arrays.
Gerar amostras aleatĂłrias
from numpy.random import default_rng
rng = default_rng()
aleatorio = rng.integers(10, size=(2,3))
print(aleatorio)
Outro ponto bem interessante dentro da análise de dados é que, algumas vezes, precisamos de valores aleatórios, seja para testar algum código ou até mesmo testar uma ferramenta.
Então, ao invés de criar uma sequência ou algo muito “trivial” para o código ou ferramenta utilizar, podemos criar arrays com valores aleatórios.
SĂł que, para esse caso, temos que importar a biblioteca default_rng e utilizar o rng.integers que vai gerar nĂşmeros inteiros aleatĂłrios.
Se você nunca utilizou números aleatórios assim, não se preocupe, pois é algo bastante comum em análise de dados.
Diferença entre Arrays e Listas

Para finalizar nosso estudo sobre a biblioteca NumPy, vou te mostrar algumas diferenças entre arrays e listas. As estruturas são muito parecidas, mas possuem algumas diferenças.
A primeira delas Ă© a forma como o Python representa. Abaixo, temos o tipo como o Python classifica as duas.
a = np.array([1,2,3,4,5,6,7,8])
print("Esse Ă© o array 'a':",a)
print("Esse Ă© o tipo de 'a':", type(a))
print('-----------------------------------------')
lista_a = [1,2,3,4,5,6,7,8]
print("Essa Ă© a 'lista_a':", lista_a)
print("Esse Ă© o tipo de 'lista_a':", type(lista_a))
#arrays nĂŁo permitem tipos de dados distintos:
a = np.array([1,'Daniel',2,3,4,5,6,7,8])
print(a)
print(type(a[0]))
#já as listas sim:
lista_a = [1,'Daniel',2,3,4,5,6,7,8]
print(a)
print(type(lista_a[0]))Aprendendo essas duas maneiras, você já consegue identificar se é uma lista ou um array (mesmo que não tenha a classificação).
Outro ponto muito importante é que o array não permite tipos de dados diferentes. Então, se colocarmos um texto dentro desse conjunto de dados, o Python passa a classificar os dados dentro dele como string ao invés de inteiro.
Já nas listas isso não acontece: cada elemento vai ser classificado de acordo com o seu conteúdo, então um elemento pode ser classificado como inteiro enquanto o outro pode ser classificado como string.
Como aprender mais sobre Python?
Aprender Python Ă© uma jornada contĂnua, e existem várias formas de expandir seus conhecimentos.
Uma das melhores maneiras de avançar é praticando constantemente, criando projetos próprios e resolvendo problemas do dia a dia.
Explore também as principais bibliotecas de Python, como NumPy, Pandas, Matplotlib e outras, que são essenciais para diferentes áreas como ciência de dados, automação e desenvolvimento web.
Participar de comunidades online, como fóruns e grupos de estudo, também é uma excelente forma de trocar experiências e aprender com outros programadores.
Para acelerar sua evolução, você pode contar com o curso da Hashtag Treinamentos.
Nossos especialistas oferecem um conteĂşdo didático e prático, voltado para o domĂnio de Python e suas bibliotecas mais importantes.
Comece agora sua jornada! Inscreva-se em nosso curso e leve suas habilidades em Python para o prĂłximo nĂvel!
Perguntas frequentes
1. Qual a diferença entre um array NumPy e uma lista do Python?
O array exige que todos os elementos sejam do mesmo tipo e é processado de forma vetorizada, o que o torna muito mais rápido e econômico em memória. A lista aceita tipos misturados, como números e textos juntos, mas fica lenta em cálculos com grandes volumes de dados.
2. Como instalar a biblioteca NumPy?
Execute pip install numpy no terminal ou no Anaconda Prompt. Em seguida, importe no código com import numpy as np: o apelido np é a convenção usada na documentação e nos projetos. Em distribuições como o Anaconda, a biblioteca já costuma vir instalada por padrão.
3. O que significam shape, size e ndim no NumPy?
São atributos que descrevem um array: shape mostra as dimensões (por exemplo, 5 matrizes de 3 linhas e 6 colunas), size traz o total de elementos e ndim informa o número de dimensões. Eles ajudam a inspecionar conjuntos grandes sem precisar imprimir tudo na tela.
4. Quando usar NumPy e quando usar Pandas?
Use o NumPy para cálculos numĂ©ricos puros com arrays homogĂŞneos, como operações matemáticas em massa, estatĂsticas e álgebra linear. O Pandas, construĂdo sobre o NumPy, Ă© a escolha para dados tabulares com rĂłtulos, como planilhas e arquivos CSV. Em projetos de ciĂŞncia de dados, os dois trabalham juntos.
ConclusĂŁo
Nesta aula, exploramos a biblioteca NumPy no Python, uma ferramenta essencial para quem lida com grandes volumes de dados ou busca otimizar o tempo de processamento.
Você aprendeu sobre tipos de arrays, como criar e manipular dados de forma eficiente, além de realizar operações essenciais para transformar e analisar conjuntos de dados.
Agora, o próximo passo é colocar em prática tudo o que foi abordado. Quanto mais você praticar, mais natural se tornará trabalhar com NumPy.
Lembre-se de sempre consultar a documentação oficial para tirar dúvidas e entender melhor cada método.
Ela Ă© sua aliada na jornada de aprendizado.
E, claro, não tenha medo de testar diferentes abordagens e fazer experimentos. O Python é uma linguagem poderosa, e com as habilidades adquiridas aqui, você está pronto para avançar em projetos reais.
Continue praticando e explore o potencial do Python com o apoio da Hashtag Treinamentos.
Descubra o poder da automação com Python com 4 códigos simples!
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercĂcios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercĂcios e gabarito. Escolha a sua e comece hoje.








