Olá, estudante! Agora que você aprendeu sobre modelos preditivos, vamos trabalhar um pouco com a base do Python para melhor implementar os exemplos já estudados? O objetivo desta lição é revisar e aprofundar os conceitos introdutórios de Python, com ênfase nas suas aplicações no campo da ciência de dados. O propósito desta aula é consolidar o conhecimento adquirido, proporcionando uma compreensão mais clara sobre como a linguagem Python pode ser utilizada para manipulação, análise e visualização de dados.
Durante a lição, você revisitará os principais aspectos da sintaxe de Python, incluindo estruturas de controle, tipos de dados, funções e bibliotecas essenciais para o trabalho com dados. A abordagem será focada em práticas que envolvem a manipulação de dados em Python, utilizando ferramentas como Pandas, para análise de dados, e Matplotlib, para criação de gráficos e visualizações.
A lição visa também lhe preparar, futuro técnico em desenvolvimento de sistemas, para a aplicação de técnicas mais avançadas de análise de dados e aprendizado de máquina, reforçando a importância de dominar esses conceitos fundamentais para o sucesso em projetos de ciência de dados.
Um dos grandes desafios enfrentados na ciência de dados é a manipulação e a análise eficiente de grandes volumes de informações provenientes de diversas fontes, como bancos de dados, sensores IoT, redes sociais e logs de sistemas. Muitas vezes, esses dados são desorganizados, incompletos e exigem transformação antes de qualquer análise significativa.
Nesse cenário, Python surge como uma solução para lidar com esses desafios! A linguagem oferece uma combinação de simplicidade, versatilidade e vasta biblioteca de ferramentas específicas para ciência de dados, como Pandas, NumPy, Scikit-learn e Matplotlib. Com Pandas, por exemplo, é possível realizar a limpeza, a transformação e a análise de dados de forma ágil e eficiente, mesmo em conjuntos de dados complexos. NumPy oferece recursos para computação numérica de alto desempenho, enquanto Scikit-learn facilita a implementação de algoritmos de aprendizado de máquina para prever tendências e padrões.
Assim, podemos dizer que Python simplifica o fluxo de trabalho do cientista de dados, visto que permite que soluções complexas sejam implementadas de maneira acessível, eficiente e escalável, tornando-se uma ferramenta indispensável na prática diária da ciência de dados.
Vamos aprender mais sobre isso?
Vamos entender como a linguagem de programação Python funciona na prática? Vamos conhecer a empresa fictícia DataFresh, fornecedora de alimentos frescos, que enfrentava desafios na gestão da cadeia de suprimentos devido à sazonalidade, às rotas de entrega e às previsões de demanda. O grande volume de dados inviabilizava análises manuais, gerando perdas e indisponibilidades. Para resolver esses problemas, a empresa adotou um projeto de ciência de dados com Python, utilizando Pandas e NumPy para organizar e limpar dados operacionais e externos, como previsões climáticas e tendências de consumo.
A empresa então utilizou algoritmos de aprendizado de máquina com Scikit-learn para criar modelos preditivos precisos, considerando variações sazonais e preferências regionais, além de otimizar rotas de entrega com PuLP, reduzindo custos logísticos em 20%. A visualização dos resultados foi aprimorada com Matplotlib, Seaborn, Plotly e Dash, permitindo à gestão monitorar métricas e tomar decisões baseadas em dados de forma eficiente e intuitiva.
Após a implementação do projeto, a empresa conseguiu reduzir as perdas de alimentos perecíveis em 30% e aumentar a satisfação de seus clientes finais, que passaram a encontrar os produtos desejados com maior frequência. Observe que esse caso apresenta como a utilização da linguagem Python viabilizou a transformação digital da empresa, provando ser uma ferramenta essencial para integrar ciência de dados à estratégia operacional.
Agora, conhecendo como o conteúdo a ser estudado, aqui, é aplicado, vamos nos aprofundar!
Dando início à parte conceitual da lição, vamos revisar os fundamentos de Python, começando pelo entendimento das estruturas básicas de controle, que incluem condicionais e loops. As condicionais (if, elif, else) permitem executar blocos de código de acordo com condições específicas, oferecendo flexibilidade para tomar decisões no programa. De acordo com Matthes (2023), testes condicionais permitem verificar qualquer condição que seja de seu interesse. Já os loops (for e while) são usados para repetir blocos de código, sendo essenciais para processar conjuntos de dados e realizar operações iterativas. Conforme destacado por Matthes (2023), entender o conceito de laços é importante, pois se trata de uma das maneiras mais comuns para um computador automatizar tarefas repetitivas.
Em relação aos tipos de dados primitivos, Python suporta variáveis como inteiros (int), usados para números inteiros; floats (float), indicado para números decimais; strings (str), que representam textos; e booleanos (bool), que expressam valores de verdade, como True ou False. Resumidamente, podemos dizer que esses tipos são a base para a manipulação de qualquer dado em Python.
As estruturas compostas são fundamentais para o trabalho com conjuntos de dados. Entre elas, temos as listas (list), que são coleções de itens em uma ordem em particular podendo conter múltiplos tipos de dados e permitindo adição, remoção e ordenação de elementos; e os dicionários (dict), que são uma coleção de pares de chave-valor, ideais para associar informações (Matthes, 2023). Outro tipo importante de estrutura são as tuplas (tuple) que se parecem exatamente com uma lista, exceto por usar parênteses no lugar de colchetes e que são coleções imutáveis, úteis para armazenar dados que não devem ser alterados (Matthes, 2023). Por fim, temos os conjuntos (set) que, segundo Ramalho (2015), são um acréscimo relativamente novo na história do Python e, de certo modo, são subutilizados e armazenam elementos únicos, permitindo operações matemáticas como união e interseção.
Compreender e dominar esses conceitos é essencial para criar bases sólidas que apoiem o trabalho com análise e manipulação de dados em Python, especialmente no contexto da ciência de dados.
As funções em Python são blocos de código reutilizáveis que executam tarefas específicas, promovendo a organização e a eficiência no desenvolvimento. Uma função é um bloco de código que executa uma tarefa específica quando é chamada, visando atingir um objetivo específico, e é definida em Python com a palavra-chave def, seguida pelo nome da função e, opcionalmente, parâmetros que ela pode receber (Pereira, 2010). Por exemplo, uma função simples que soma dois números seria escrita como demonstrado na Figura 1:
Observe que a função da Figura 1 aceita dois argumentos (a e b) e retorna o resultado da soma com a instrução return. O uso do return é fundamental para que o valor produzido pela função esteja disponível em outros trechos do código. Uma boa prática na criação de funções é mantê-las pequenas e com uma única responsabilidade, facilitando sua compreensão e reutilização. O uso de docstrings, por meio de strings entre aspas triplas logo após a definição da função, também é recomendado para documentar sua finalidade e uso.
A modularização é outro aspecto essencial para organizar e escalar projetos. Segundo o site do software Python, um módulo é um objeto que serve como uma unidade organizacional de código (Módulo, 2025). Basicamente, eles são arquivos que contêm definições e implementações de funções, classes e variáveis, e podem ser reutilizados em diferentes partes do programa. Por exemplo, ao salvar uma função em um arquivo chamado utilidades.py, ela pode ser importada em outro script com: from utilidades import soma[1] .
Além dos módulos criados pelo desenvolvedor, Python oferece uma ampla biblioteca-padrão com pacotes prontos para diversas tarefas, como math para operações matemáticas ou datetime para manipulação de datas e horários. Esses pacotes podem ser importados conforme a necessidade (observe a Figura 2).
A modularização se expande ainda mais com o uso de pacotes, que são coleções de módulos organizados em diretórios, o que é especialmente útil em projetos maiores, promovendo a separação lógica do código. É importante ressaltar que revisitar conceitos de funções e modularização é fundamental, pois fortalece a capacidade de construir programas claros, eficientes e facilmente mantidos, além de estabelecer uma base sólida para integrar bibliotecas e ferramentas externas no trabalho com ciência de dados.
Na ciência de dados, o uso de bibliotecas especializadas permite realizar operações complexas de maneira eficiente, tornando Python uma das linguagens mais populares no campo. Entre as bibliotecas, três são fundamentais para a manipulação, a análise e a visualização de dados: Pandas, NumPy e Matplotlib.
A biblioteca Pandas é utilizada na manipulação e na análise de dados. Ela introduz estruturas, como o DataFrame, que funciona como uma tabela de dados bidimensional, com rótulos para linhas e colunas, facilitando a manipulação. Corrêa (2020) afirma que se trata de um software livre, do tipo open source, que ao longo dos últimos anos se consolidou como a biblioteca para ciência de dados mais utilizada no ambiente Python. Com Pandas, é possível realizar tarefas como:
Filtragem: selecionar subconjuntos de dados com base em condições específicas, como: df[df[‘idade’] > 30], que filtra linhas em que a idade é maior que 30.
Agrupamento: resumir dados com base em categorias, como calcular a média de vendas por região. Por exemplo: df.groupby(‘regiao’)[‘vendas’].mean().
Transformações: modificar os dados diretamente no DataFrame, como adicionar uma nova coluna calculada. Por exemplo: df[‘desconto’] = df[‘preco’] * 0.1.
A biblioteca NumPy, que segundo McKinney (2023) é abreviação de Numerical Python, é a base do processamento numérico que fornece o código aglutinador das estruturas de dados, dos algoritmos e da biblioteca. Sua utilização é essencial para a maioria das aplicações científicas que envolvem dados numéricos em Python, pois oferece suporte a arrays multidimensionais, que são mais rápidos e eficientes em comparação com as listas convencionais. Além disso, a biblioteca é ideal para operações matemáticas e álgebra linear. Alguns exemplos de utilização incluem:
Criação de arrays: import numpy as np arr = np.array([1, 2, 3, 4]).
Operações vetoriais: arr * 2 que multiplica cada elemento do array por 2.
Cálculos estatísticos: np.mean(arr) que calcula a média dos elementos.
Por fim, temos a biblioteca Matplotlib, que segundo Matthes (2023) é uma biblioteca matemática para construção de gráficos e visualizações personalizadas, fundamentais para a comunicação dos resultados da análise de dados. A biblioteca oferece controle total sobre os elementos dos gráficos, como títulos, eixos e legendas. Exemplos básicos de uso são demonstrados a seguir:
Gráficos de linha:
Gráficos de barras:
Personalização: altera cores, estilos de linha e marcadores para criar gráficos informativos e visualmente agradáveis.
Em resumo, as bibliotecas apresentadas formam a base técnica para projetos de ciência de dados, permitindo que dados brutos sejam transformados em percepções acionáveis e visualizações claras e impactantes!
Compreender e aplicar os conceitos de Python, no contexto da ciência de dados, é essencial para você, enquanto futuro técnico em desenvolvimento de sistemas, pois a linguagem se destaca pela versatilidade e pela eficiência no processamento de grandes volumes de informações. Dominar essas habilidades permitirá que você, enquanto profissional, manipule dados de maneira estruturada, realize análises precisas e crie visualizações impactantes, essenciais para embasar a tomada de decisões em projetos reais.
Agora, vamos colocar a mão na massa e criar um exemplo de aplicação em Python, utilizando a biblioteca NumPy para realizar operações matemáticas em arrays! O objetivo dessa prática é consolidar o uso dessa biblioteca essencial para cálculos e manipulação de dados em Python. Para iniciar, siga o passo a passo a seguir:
1. Abra o navegador e acesse o site OnlineGDB. Escolha a linguagem Python no menu suspenso à esquerda.
2. Na área de edição de código, você verá um arquivo de exemplo pré-preenchido. Apague esse conteúdo para começar do zero.
3. Importe a biblioteca NumPy digitando o comando import numpy as np.
4. Crie um array NumPy e realize as operações matemáticas simples, conforme a Figura 5 a seguir:
5. Clique no botão Run (Executar), no topo da página, e o resultado das operações aparecerá no console abaixo.
6. Observe como o NumPy facilita operações matemáticas e estatísticas, otimizando o trabalho com arrays.
Por meio desse exemplo, você verá na prática a praticidade do NumPy para cálculos vetoriais e análises básicas. Agora que aprendeu o passo a passo, desafie seus colegas e professores, experimentando alterar os valores no array ou adicionando novas operações para explorar mais funcionalidades da biblioteca.
Bom trabalho!
CORRÊA, E. Pandas Python. São Paulo, SP: Casa do Código, 2020.
MATTHES, E. Curso Intensivo de Python: uma introdução prática e baseada em projetos à programação. 3. ed. São Paulo, SP: Novatec, 2023.
MCKINNEY, W. Python para análise de dados: tratamento de dados com Pandas, Numpy & Jupyter. 3. ed. São Paulo, SP: Novatec, 2023.
MÓDULO. In: GLOSSÁRIO: documentação Python. [S. l.]: Python Software Foundation, c2025. Disponível em: https://docs.python.org/pt-br/3/glossary.html#term-module. Acesso em: 11 fev. 2025.
PEREIRA, S. L. Algoritmos e lógica de programação em C: uma abordagem didática. São Paulo, SP: Érica, 2010.
RAMALHO, L. Python fluente: programação clara, concisa e eficiente. São Paulo, SP: Novatec, 2015.