• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. Numpy: trabalhando computação científica com Python

    Numpy: trabalhando computação científica com Python

    8 min8 minutos de leitura

    8 min8 minutos de leitura

    Publicado: 12/03/2023

    Última atualização: 10/03/2026

    1. O que é o NumPy?
    2. Estruturas básicas do NumPy
    3. Broadcasting
    4. NumPy na computação científica
    5. Indo além

    Em aplicações científicas, de engenharia e principalmente de ciência de dados existe a necessidade de realizar cálculos numéricos especializados.

    Quando você faz a soma de todos os valores de uma coluna em um software de planilhas ou mesmo operações matemáticas entre as diferentes colunas, existe um código implementado para tornar essas operações possíveis.

    Da mesma forma, se você já usou uma função de uma biblioteca Python que faz regressão linear ou um algoritmo de machine learning qualquer, saiba que esses códigos são a tradução de um conjunto de equações matemáticas para código.

    Essas implementações precisam ser eficientes e fáceis de compreender. Quanto mais próximo o código escrito estiver da escrita da matemática, melhor.

    Nesse contexto, em Python, surge a NumPy. Essa é uma biblioteca poderosa e amplamente utilizada que revolucionou o segmento de computação científica. Isso, principalmente, pelo caráter aberto da linguagem Python. Com a NumPy, é possível realizar operações matemáticas complexas com objetos do tipo array de forma eficiente e otimizada. Mas o que exatamente é e como funciona a Numpy?

    O que é o NumPy?

    Logotipo da biblioteca Numpy.

    NumPy, uma abreviação de Numerical Python, é uma biblioteca de código aberto do Python para computação científica, campo de estudo que utiliza recursos computacionais para entender e resolver problemas.

    Essa biblioteca permite trabalhar com a manipulação de objetos array multidimensionais, além de seus objetos derivados, como matrizes, sequências, e outros. Além disso, também possui uma grande variedade de operações rápidas com os arrays, incluindo operações matemáticas e lógicas, manipulações de formato, ordenação e seleção, ferramentas de estatística e cálculo, e muito mais.

    A biblioteca NumPy foi lançada em 2005, pelo cientista de dados Travis Oliphant, com a proposta de ser uma ferramenta rápida, eficiente e fácil de usar, permitindo assim a realização de cálculos numéricos e matemáticos em larga escala, por meio da funcionalidade chamada vetorização.

    Por isso, tornou-se uma das bases fundamentais para análise de dados, aprendizado de máquina (machine learning) e computação científica em geral, estando presente também na construção de várias bibliotecas de ciência de dados, incluindo: Pandas, Matplotlib, Scikit-learn, SciPy, e muitas outras.

    Uma curiosidade sobre essa biblioteca é que ela também esteve presente nos trabalhos de descobertas científicas recentes importantes, como a detecção da primeira imagem de um buraco negro, e também a detecção de ondas gravitacionais.

    Mas como exatamente funciona o NumPy?

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Estruturas básicas do NumPy

    A Numpy funciona por meio de estruturas chamadas arrays, que são estruturas de dados homogêneas, isto é, onde os elementos possuem o mesmo tipo. Essas estruturas podem ter vários formatos e dimensões, que variam com a necessidade de cada tipo de projeto. De maneira geral, para vários tipos de aplicações, trabalhamos até a terceira dimensão, mas existem casos onde podemos necessitar de mais.

    O conceito de dimensão pode ser aplicado no Python a partir do conceito das listas aninhadas (nested lists). Para isso, vamos usar as seguintes estruturas:

    Imagem com textos em preto e fundo branco. Na imagem, temos uma estrutura que mostra três colunas contendo diferentes representações para o mesmo objeto. Na primeira linha, o texto “Escalar (0-d”), seguido de um termo a0 entre colchetes, seguido de um termo 42, entre colchetes. Na segunda linha, o texto “Array unidimensional (1-d)”, seguido de uma sequência com os termos a0 a1 a2 entre colchetes, seguido de uma sequência 4 5 22 entre colchetes. Na terceira linha, o texto “Array bidimensional (2-d)”, seguido de uma matriz 3 x 3, com os termos a00 a01 a02 na primeira linha, a10 a11 a12 na segunda linha, a20 a21 a22 na terceira linha. E na próxima coluna, uma matriz 3x3, com os termos 3 2 7 na primeira linha, 4 9 1 na segunda linha, e 5 6 8 na terceira linha.

    Escalar: um elemento único, adimensional. Pode ser um inteiro, float, hexadecimal, caractere, e vários outros tipos de dado.

    No Python, após importar a biblioteca, nós definimos um escalar como:

    import numpy as np
    np.array(42)
    

    Array unidimensional: uma lista de escalares onde podemos identificar cada um deles pela sua posição, ou índice, na lista. É preciso ressaltar que todos os elementos escalares aqui possuem o mesmo tipo, e que se não for especificado durante a definição do array, o Numpy trabalhará uma rotina para determinar o tipo que garanta a característica homogênea.

    np.array([4, 5, 22, 20])
    

    Array bidimensional: uma lista de arrays unidimensionais, com o formato de uma matriz (tabela), onde precisamos especificar uma posição de linha e uma posição de coluna para localizar um elemento escalar.

    np.array([[3, 2, 7],
              [4, 9, 1],
              [5, 6, 8]])
    
    Imagem colorida em fundo branco. Na imagem, três representações para as estruturas de escalar, array unidimensional e array bidimensional. Cada estrutura é mostrada como a união de figuras geométricas de cubos verdes empilhados, contendo textos em branco. A primeira estrutura, da esquerda para direita, é um cubo com texto 42, e a legenda “Escalar (array 0d)”. A segunda é a união de três cubos na horizontal, respectivamente com os textos 4, 5 e 22. Há uma seta abaixo apontando para direta, com o texto “axis 0“ e legenda “A. unidimensional (1-d)”. A terceira imagem é a união de 9 cubos, no formato 3x3, com os textos, de cima para baixo, 3, 2, 7; 4, 9, 1; 5, 6, 8. Há uma seta horizontal abaixo, apontando para a direita, com a legenda “axis 1”, e outra seta à esquerda do cubo, indo de cima para baixo, com a legenda “axis 0”. Abaixo do cubo, uma legenda “A. bidimensional (2-d)”.

    Array tridimensional: uma lista de arrays bidimensionais. Um exemplo de aplicação de array tridimensional é a matriz de imagem RGB, possível de se observar no funcionamento de uma televisão.

    Nesse caso, nós temos uma estrutura bidimensional (o formato da tela), em que podemos localizar uma unidade de pixel com uma referência na vertical, e outra na horizontal. Para cada unidade de pixel, também temos uma representação de um array de 3 elementos, que é a junção de três leds de cores vermelha, verde e azul. Então, a nível fundamental, podemos interpretar uma imagem como:

    Três imagens em sequência com um fundo branco. A primeira imagem é a foto de um gato, representando uma imagem colorida RGB genérica. A segunda imagem representa a decomposição da primeira em três canais RGB. A terceira imagem detalha a decomposição RGB em três tabelas de dados, uma para cada canal.

    Array multidimensional (n-dimensional): as operações de criação de arrays no Numpy não estão limitadas apenas às dimensões anteriores: é possível construir estruturas de quantias maiores, tanto quanto mais forem necessárias, desde que o critério dos objetos de mesmo nível possuam o mesmo formato. Uma maneira de ilustrar esses novos níveis é através do seguinte esquema:

    Figura com fundo branco mostrando três arrays, cada um com um número de dimensões diferentes. O primeiro array, da esquerda para direta, possui três dimensões. O segundo array possui 4 dimensões, sendo exemplificado como a composição de dois arrays tridimensionais, um sobre o outro; temos uma nova dimensão que pode ser formada por

    Nesse esquema, quando chegamos à quarta dimensão e além, é mais difícil visualizar a matriz como um objeto geométrico. Em vez disso, podemos interpretar uma matriz de ordem superior como um objeto matemático que contém informações sobre outros objetos matemáticos.

    Por exemplo, uma matriz de quarta ordem pode ser vista como uma matriz de matrizes de matrizes, ou seja, cada elemento da matriz é uma matriz de matrizes. Podemos interpretar essa matriz como um objeto matemático que contém informações sobre vários objetos matemáticos mais simples.

    Broadcasting

    O broadcasting é uma funcionalidade do Numpy que permite trabalhar com operações em arrays de formas e tamanhos diferentes, sem que seja necessário criar cópias dos dados. Por esse motivo, é uma técnica que economiza tempo e memória. Em muitos casos, o broadcasting pode reduzir o número de linhas de código necessárias para realizar uma determinada operação.

    Por exemplo, na operação abaixo:

    import numpy as np
    a = np.array([[1, 2], [3, 4]])
    b = np.array([10, 20])
    a + b
    

    No exemplo acima, trabalhamos com a soma de dois arrays com dimensões diferentes, no caso, um array unidimensional e uma matriz. No entanto, o Numpy consegue analisar as dimensões, através de regras pré-estabelecidas, e executar a operação, retornando:

    array([[11, 22],
           [13, 24]])
    

    NumPy na computação científica

    Por ser uma biblioteca do Python, uma grande vantagem de trabalhar com o NumPy é a possibilidade de integração com outras bibliotecas do grande ecossistema do Python.

    Isso abre espaço para trabalhar com soluções end-to-end, que atendem desde o início, com coletas de dados, processamento, até a entrega do produto final, por exemplo, uma dashboard ou sistema com uma análise detalhada de modelos de aprendizado de máquina.

    Essas características, somadas ao fato da biblioteca ser de código aberto e livre, tornam o NumPy um grande concorrente de outras soluções presentes no mercado e meio acadêmico, tais como o MATLAB, Octave, Scilab, entre outros.

    Instalação do NumPy

    Assim como em algumas outras bibliotecas importantes na Ciência de Dados, como o Pandas, a instalação sugerida como sendo a mais simples na documentação do NumPy é através da instalação do Anaconda.

    Logotipo do Anaconda.

    O Anaconda é um ambiente de desenvolvimento voltado para Ciência de Dados com Python e R, que trás instaladas várias bibliotecas e softwares de uso popular no ramo. Dentre as bibliotecas instaladas, temos também o NumPy. Você pode aprender como instalar o Anaconda no Windows através da documentação oficial do Anaconda.

    Uma outra maneira de instalar a biblioteca NumPy é utilizando o gerenciador de pacotes do Python, o PIP.

    Desde que você tenha feito o download do Python a partir do site oficial, podemos utilizar o seguinte procedimento:

    Atenção: Caso você tenha mais de um disco rígido na sua máquina, é preciso garantir que a instalação está sendo feita no mesmo disco onde o Python foi instalado.

    1. Para começar, devemos abrir o Prompt de Comando do seu sistema operacional. No Windows, pressione as teclas de atalho Windows + R, digite “Prompt de Comando”, e clique na opção “Executar como administrador”:
    Captura de tela em recorte. Na imagem, é mostrado o buscador do Windows com o texto “Prompt de Comando” no campo de busca no canto superior. Na lateral direita, é mostrado um quadro com o aplicativo do Prompt de Comando, onde aparecem as opções “Abrir”, “Executar como administrador”, “Abrir local do arquivo”, “Fixar em iniciar” e “Fixar na barra de tarefas”. A segunda opção, “Executar como administrador”, é destacada com um quadro retangular vermelho.

    1. O Prompt de Comando será aberto e surgirá a tela preta do terminal. Nesse momento, podemos verificar a versão do Python instalada na máquina com o comando python --version e garantir que podemos continuar:
    python --version
    
    Python 3.9.7
    
    1. Caso você ainda não tenha o PIP instalado na máquina, pode instalá-lo utilizando um módulo nativo do Python para isso, com o comando:
    python -m ensurepip --upgrade
    
    1. E, agora que já temos o PIP instalado na máquina, podemos utilizá-lo para instalar o NumPy, com o comando:
    pip install numpy
    
    1. Pronto, agora nós já temos o NumPy instalado na máquina.

    Indo além

    Se você deseja mergulhar ainda mais nos conteúdos de Pandas e Ciência de Dados, aqui na Alura nós temos a Formação Python para Data Science. A formação aborda as principais ferramentas utilizadas em Ciência de Dados com Python, tais como Pandas, Numpy, Matplotlib, Seaborn, e muito mais. Nela, construímos vários projetos práticos para compor o seu portfólio como profissional de dados.

    E se você já deu seus primeiros passos nessa ferramenta, te convidamos a participar dos Challenges de Data Science. Neles, você pode trabalhar na construção de um portfólio de projetos, desenvolvendo habilidades em limpeza, tratamento e visualização de dados, e também competências em Machine Learning.

    Links úteis:

    • Computação Evolucionária: Aplique os algoritmos genéticos com Python e Numpy
    • Numpy Guide (livro do autor)
    • Livro Python for Data Analysis 3rd online version

    Créditos

    Conteúdo:

    • Marcus Almeida
    • Allan Spadini

    Produção técnica:

    • Rodrigo Dias

    Produção didática:

    • Thaís de Faria

    Designer gráfico:

    • Alysson Manso
    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Marcus Almeida

      Autor(a)

      Marcus Almeida

      Bacharelando em Engenharia Elétrica pelo Instituto Federal do Maranhão. Atuou como parte do Scuba Team da Escola de Dados na Alura, trabalhando com conteúdos voltados a Data Science, Machine Learning, Python e SQL. Adora conversar tecnologia, universo geek, games e também aprender coisas novas.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • Alura
      05/05/2020

      Transações no SQL: Garantindo integridade e consistência dos dados

      Ler mais
    • 15/08/2021

      Data Lake vs Data Warehouse

      Ler mais
    • Alura
      14/04/2020

      #QuarentenaDados: dê seus primeiros passos em Data Science

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura